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!