SAST x DAST: Qual o melhor?

Entre as muitas maneiras de se testar o quão segura é uma aplicação, temos o SAST e o DAST.

Mas, dessas duas, qual a melhor? A resposta mais curta e simples é… “depende”. A resposta mais completa, que vai ajudar você a saber quando usar cada uma das metodologias, está logo a seguir.

O que é SAST e DAST, afinal?

São metodologias de testagem de segurança de aplicações (daí o “AST”, que ambas têm em comum e que significa “Application Security Testing”) com abordagens distintas. O S no SAST vem de “Static” e o D no DAST vem de “Dynamic”, e o próprio nome já dá uma pista sobre as diferenças entre elas.

O SAST é uma metodologia white box, em que o testador tem acesso direto à estrutura da aplicação, e pode testá-la de dentro para fora. Justamente por isso não é necessário que a aplicação seja executável, e o SAST pode ser usado logo cedo no processo de desenvolvimento.

Já o DAST é uma metodologia black box, em que o testador não tem conhecimento sobre a estrutura interna da aplicação – o que ajuda a simular o comportamento de um invasor. As análises são feitas com a aplicação sendo executada (daí o “dinâmica” do nome), e por isso o DAST só é aplicável quando o processo de desenvolvimento já está mais avançado.

O segredo da combinação

Se você prestou atenção até aqui (e eu tenho certeza de que o fez), já deve ter concluído que a abordagem mais interessante é usar tanto o SAST como o DAST, porém em momentos diferentes do desenvolvimento, para ter uma cobertura mais ampla de testes e aproveitar os pontos fortes das duas metodologias.

Falamos que o SAST pode ser usado logo no começo do desenvolvimento. Isso não é apenas uma possibilidade: é, de fato, uma ótima ideia, porque permite encontrar e consertar vulnerabilidades precocemente; e também ajuda os desenvolvedores a prevenir problemas que poderiam ocorrer mais à frente. Além disso, as ferramentas SAST são capazes de marcar a localização precisa das vulnerabilidades, economizando tempo e facilitando a correção propriamente dita.

Quando a aplicação puder ser executada, é hora de aplicar o DAST e analisar uma ampla gama de vulnerabilidades: vazamentos de memória, injeções SQL, ataques cross-site scripting (XSS), falhas de criptografia e autenticação… DAST pode ser usado para testar qualquer sistema, API ou WebServices que sua aplicação utilize; para testar infraestrutura física e sistemas de hospedagem; e para testar recursos virtuais.

Naturalmente, as duas metodologias têm suas limitações. O SAST, por exemplo, tem um escopo limitado de vulnerabilidades que é capaz de identificar, o que pode gerar uma falsa sensação de segurança; e sua eficácia depende muito do conjunto de regras usado nos testes – falsos positivos/negativos demandam interpretação humana e podem diminuir a eficiência do processo.

Já o DAST demanda um ambiente de execução e, também, que a aplicação seja executável; providenciar essas duas condições é especialmente trabalhoso. E, como os testes são realizados já em um estado avançado de desenvolvimento, é mais difícil e custoso identificar e corrigir as vulnerabilidades encontradas.

Em resumo, as duas metodologias têm seus pontos fortes e fracos, e combiná-las é a melhor maneira de garantir maior qualidade e segurança na sua aplicação.

 

 

SAST

DAST

Testagem white box, em que a aplicação é testada “de dentro para fora” e o analista tem acesso à sua estrutura 

Testagem black box, em que o analista não tem acesso à estrutura e realiza os testes “de fora para dentro”

Não precisa que a aplicação seja executável

A aplicação deve ser executável para poder ser testada

Encontra vulnerabilidades no início do desenvolvimento

Encontra vulnerabilidades em fases avançadas do desenvolvimento

As vulnerabilidades encontradas normalmente são mais simples de corrigir

As vulnerabilidades encontradas normalmente são trabalhosas de corrigir

Pode ser usado em uma grande variedade de tipos de software (aplicações web, serviços web e aplicações locais)

Normalmente é usado apenas em aplicações e serviços web

Quer levar a um novo patamar a qualidade dos seus softwares? Clique aqui e agende uma consulta com um especialista Prime Control!

Newsletter

Assine nossa newsletter e seja avisado sobre novos artigos, cases, eventos e muito mais.

E-books e Relatórios

Conheça nossa base de ebooks, artigos, relatórios e cases. Aprenda sobre as boas práticas de testes, qualidade de software e muito mais.

Tudo disponível para download gratuitamente.