Skip to content

Por Que Você Precisa de DAST, SAST, SCA e Pentest

Quando se trata de segurança de aplicativos (AppSec), a maioria dos especialistas recomenda o uso de Testes de Segurança de Aplicações Dinâmicas (DAST) e Testes de Segurança de Aplicações Estáticas (SAST) como abordagens “complementares” para uma AppSec robusta. No entanto, esses especialistas raramente especificam como executá-los de maneira complementar.

Usamos SAST, DAST, SCA e Pentest como os quatro pilares de nossa estratégia de defesa em profundidade para oferecer uma metodologia de AppSec “segura por design” ao longo de todo o ciclo de vida do desenvolvimento de software.

Pentest Manual

A maioria das organizações começa sua jornada de AppSec realizando pentests manuais (MPT). Os pentests manuais são necessários para detectar classes de vulnerabilidades, como problemas de autorização e falhas na lógica de negócios, que não podem ser encontrados apenas por avaliações automatizadas. Os pentesters altamente treinados podem revisar todo o ambiente, e não apenas o aplicativo, e podem seguir ou quebrar os fluxos de trabalho de uma maneira que é difícil para a automação replicar. Além disso, os pentests são necessários para cumprir regulamentos como PCI DSS, HIPAA etc.

No entanto, os pentests manuais são apenas um tipo de avaliação e podem limitar a velocidade de desenvolvimento, pois é um processo manual.

Como Funciona a Análise Dinâmica (DAST)?

O teste de segurança de aplicações dinâmicas (DAST) é uma avaliação de AppSec que verifica todos os aplicativos e estruturas interconectadas em um ambiente em execução, sem olhar profundamente no código-fonte. Os resultados da varredura dinâmica “de fora para dentro” ajudam a priorizar a remediação de vulnerabilidades exploráveis e reduzem imediatamente o risco de AppSec à medida que são corrigidas. No entanto, pode ser desafiador identificar a linha exata do código a ser trabalhada usando apenas DAST. Esta avaliação por si só é limitada pela configuração do seu scanner e pelo que você escolhe testar. Se você não configurar adequadamente suas varreduras, pode perder vulnerabilidades e ter uma falsa sensação de segurança.

Além disso, como o aplicativo é verificado no final do SDLC, há mais pressão sobre as equipes de desenvolvimento para remediar rapidamente as vulnerabilidades difíceis de encontrar. É geralmente aqui que aumenta o atrito entre desenvolvimento e segurança, muitas vezes resultando em riscos não mitigados.

Leia também:  Como Ter Visibilidade Completa do Tráfego Web

Como Funciona a Análise Estática (SAST)?

O teste de segurança de aplicações estáticas (SAST) é uma avaliação de AppSec que testa aplicativos de dentro para fora, verificando aplicativos, mas sem executá-los. Geralmente, visa o código-fonte, código de byte e código binário, e “senta” em um estágio anterior do SDLC para que os desenvolvedores possam procurar por problemas de segurança antes que o aplicativo esteja completo. O SAST também fornece feedback de segurança em tempo real durante a codificação, tornando-se um método mais proativo para corrigir falhas rapidamente. Esta abordagem “de dentro para fora” pode ajudar a reduzir a dívida técnica de segurança pelo menor custo.

Por outro lado, corrigir todas as falhas encontradas após uma varredura SAST pode ser um uso ineficiente de recursos que pode não reduzir seu risco de maneira significativa. E como a varredura não é executada em um ambiente em execução, pode ser difícil determinar quais falhas são imediatamente exploráveis ou entender como a exploração pode acontecer sem o treinamento adequado.

Análise de Composição de Software

Colocar recursos no mercado mais rapidamente que a concorrência quase sempre exige que as equipes de desenvolvimento usem pelo menos uma biblioteca de código aberto em seu código-fonte. O código de terceiros é uma necessidade no desenvolvimento de software moderno e, portanto, é necessário protegê-lo. Segundo o relatório “State of Software Security: Open-Source Edition” da Veracode, 97,4% dos 85.000 aplicativos verificados tinham uma falha de segurança não corrigida em uma biblioteca externa. A boa notícia é que quase 75% das falhas conhecidas podem ser corrigidas com uma atualização de versão. A Veracode Software Composition Analysis (SCA) e outras soluções semelhantes verificam automaticamente suas bibliotecas e suas dependências para encontrar vulnerabilidades e ajudá-lo a corrigi-las.

Defesa em Profundidade

Se você realizar apenas SCA, não estará protegendo todo o seu código-fonte. Se realizar apenas SAST, poderá introduzir ineficiências relacionadas a recursos no SDLC durante a remediação. Se realizar apenas MPT ou DAST, estará encontrando falhas em um estágio posterior, mais caro, e aumentando a pressão sobre as equipes de desenvolvimento para encontrar a falha no código-fonte e remediá-la rapidamente.

Leia também:  Flow Control: Novo Método de Detecção de Ameaças Web no Reblaze

Para garantir que você obtenha o máximo valor do seu programa de AppSec, deve usar as descobertas de DAST para configurar políticas de SAST e informar as atividades de SAST. Uma defesa rápida contra algo como um problema de validação de entrada/saída encontrado durante uma varredura de DAST é implementar uma regra WAF que impede que dados não autorizados saiam do aplicativo. Uma vez que a vulnerabilidade esteja segura nesse nível, use SAST para ir fundo no código-fonte para encontrar e corrigir a falha. Uma vez que o código de primeira linha esteja seguro, integre o SCA em seus fluxos de trabalho de desenvolvimento para proteger seu código de terceiros. Isso garante que você não está apenas confiando em um controle para prevenir um ataque.

Além disso, é fundamental continuar realizando avaliações de MPT para garantir as falhas que a automação não pode encontrar. Você quer olhar para as hierarquias da arquitetura para garantir que está fazendo tudo o que pode para proteger cada nível. Essa abordagem complementar facilita encontrar falhas exploráveis, remediá-las rapidamente e até mesmo aprender a codificação segura para preveni-las no futuro. Segundo a 11ª edição do relatório “State of Software Security”, as organizações que fazem varreduras com SAST e DAST são mais propensas a remediar 50% de suas falhas 24,5 dias mais rapidamente do que se realizassem a varredura com apenas uma tecnologia. Não é difícil entender por quê: ao ver como um ataque pode ser explorado em tempo de execução, os desenvolvedores aprendem a pensar como um atacante e podem até estar mais motivados para corrigir outras descobertas.

No cenário de ameaças em expansão de hoje, DAST, SAST, SCA e MPT fornecem um meio para que as equipes de DevSecOps protejam seu código e fortaleçam seus programas de AppSec antes que seja tarde demais.

Por Que Você Precisa de DAST, SAST, SCA e Pentest

Comente o que achou do artigo