Pensando em segurança no desenvolvimento de software, onde geralmente a incluímos? Como pessoa desenvolvedora, posso pensar na fase de codificação, testes e implementação. Mas, se pensarmos um pouco antes, será que o início do desenvolvimento do software é na codificação? Não, sabemos que a codificação não é o começo. Então, por que não pensar e incluir segurança desde o início?
Como incorporar segurança desde o começo, antes mesmo da codificação? Por que vulnerabilidades conhecidas, como XSS e SQL Injection, ainda estão presentes em software?
SQL Injection teve sua primeira identificação em 1998. Fonte: https://phrack.org/issues/54/8.html
Exemplo de report SQL Injection de julho de 2024. Fonte: https://hackerone.com/reports/2597543
Para responder a essas questões, vamos entender como funciona SSDLC (Secure Software Development Life Cycle) e como ele pode ser aplicado tanto em novos projetos quanto em softwares em desenvolvimento.
Antes de entrarmos em SSDLC, vamos entender alguns conceitos importantes.
Vulnerabilidade, Ameaça e Risco
No exemplo, temos uma página de login com os campos "username" e "password". Um agente mal-intencionado (a ameaça) deseja acessar o sistema para obter dados ou privilégios que ele não deveria ter. Ele pode tentar explorar brechas de segurança conhecidas. Quando ele encontra uma falha de segurança por exemplo no login (a vulnerabilidade), ele explora essa falha.
Se o agente consegue acessar o sistema, o risco não é só o ato de acessar o sistema em si, mas sim a possibilidade de que a ameaça explore a vulnerabilidade e cause um impacto negativo, como roubo de dados, comprometimento do sistema, ou controle total, especialmente se ele conseguir fazer login como administrador. O risco acontece quando uma vulnerabilidade é explorada, e o impacto desse risco varia conforme o tipo de acesso obtido (por exemplo, um login de administrador representa um risco maior para a empresa).
A vulnerabilidade é o ponto fraco que pode ser explorado por uma ameaça, resultando em risco de danos ao sistema.
Top comments (0)