DAST, SAST e SCA são frequentemente citadas juntas como “as tres letras do AppSec”, o que sugere que sejam intercambiaveis. Não são: cada uma examina uma camada diferente da aplicação, e a pergunta certa não e “qual e a melhor”, e sim “qual problema cada uma resolve”.

DAST — testa a aplicação em execucao

DAST (Dynamic Application Security Testing) avalia a aplicação rodando, pela mesma interface que um usuário ou atacante usaria, sem acesso ao código-fonte. E a abordagem mais próxima da perspectiva externa, e por isso encontra bem problemas de configuracao de ambiente, certificados e comportamento de sessão — coisas que só existem quando a aplicação está de fato publicada. Veja o guia completo em O que e DAST.

SAST — examina o código-fonte

SAST (Static Application Security Testing) analisa o código sem executa-lo, procurando padroes inseguros de programacao. Sua vantagem e alcancar caminhos de código que talvez nunca sejam exercitados em tempo de execucao durante um teste dinâmico — inclusive código morto ou pouco usado que ainda representa risco se algum dia for ativado.

SCA — mapeia dependencias de terceiros

SCA (Software Composition Analysis) identifica os componentes de terceiros usados pela aplicação — bibliotecas, frameworks, pacotes — e verifica se algum deles tem vulnerabilidades conhecidas publicadas. Aplicações modernas incorporam um volume grande desses componentes, e uma vulnerabilidade em uma dependencia se torna uma vulnerabilidade da aplicação, ainda que ninguem do time a tenha escrito.

Como as tres se complementam

AbordagemO que examinaQuando comeca a ser possível
DASTAplicação em execucao, do lado de foraA partir do momento em que existe um ambiente publicado
SASTCódigo-fonteDesde o inicio do desenvolvimento
SCAComponentes de terceirosDesde a primeira dependencia adicionada

Nenhuma substitui a outra porque respondem perguntas diferentes. Um programa de AppSec maduro tende a incorporar as tres em momentos distintos do ciclo de desenvolvimento — SAST e SCA mais perto da escrita do código, DAST mais perto da publicação. Para quem está comecando com recursos limitados, avaliar primeiro o que ja está exposto (DAST) costuma trazer o retorno mais imediato, porque descreve o risco que existe agora, e não um risco potencial em código ainda não publicado.

Soluções como o Tenable One Web App Scanning cobrem a parte de DAST desse conjunto.


Perguntas frequentes

Uma organização pequena precisa das tres abordagens?

Não necessariamente ao mesmo tempo. Para quem está comecando, DAST tende a dar visibilidade mais rapida sobre o que ja está publicado e exposto. SAST e SCA se tornam mais relevantes conforme o volume de código próprio e de dependencias de terceiros cresce.

As tres ferramentas substituem revisão manual de código?

Não. Todas automatizam a deteccao de classes conhecidas de problema. Falhas de logica de negocio e decisoes de arquitetura continuam exigindo revisão humana.


Fontes

  1. OWASP Application Security Verification Standard (ASVS) — OWASP
  2. NIST SP 800-218 — Secure Software Development Framework (SSDF) — NIST