Volte para o glossário
|
Dynamic Application Security Testing (DAST)

Dynamic Application Security Testing (DAST)

Sobre o DAST

DAST é a sigla em inglês para Dynamic Application Security Testing, que significa Teste de Segurança Dinâmico de Aplicações. É um método de teste que analisa uma aplicação web em execução para encontrar vulnerabilidades que um atacante poderia explorar. Esse tipo de abordagem avalia a aplicação de fora para dentro, simulando ataques como um usuário malicioso faria.

Ao realizar DAST durante o ciclo de vida do desenvolvimento de software (SDLC), é possível detectar vulnerabilidades em uma aplicação antes que esteja em produção. 

Vale destacar que ferramentas como DAST têm o propósito de ajudar profissionais capacitados a escalar e executar tarefas repetitivas, sendo um suporte às pessoas durante os processos de AppSec e não a solução final.

Como o DAST funciona

DAST é um método de análise de segurança que usa técnicas de black-box para simular ataques maliciosos na aplicação web em execução. De modo geral, não é preciso de acesso ao código-fonte ou à arquitetura da aplicação, apenas às interfaces HTTP e HTML expostas na web. 

Com isso, o DAST envia requisições maliciosas para a aplicação, e analisa as respostas para identificar anomalias ou indícios de vulnerabilidades, podendo assim, detectar vulnerabilidades como SQL Injection, XSS, CSRF, falhas de autenticação e autorização, entre outras. 

Esse teste dinâmico pode ser realizado em qualquer ambiente, encontrando vulnerabilidades que não são detectáveis por outras ferramentas de análise estática ou white-box.

Por outro lado, o DAST pode não encontrar todas as vulnerabilidades da sua aplicação, pois ele só testa as entradas que são comuns ou esperadas pelos usuários. Por exemplo, se a sua aplicação tem uma função que só é chamada em situações muito raras ou específicas, uma ferramenta do tipo DAST pode não testar essa função, e com isso acabar deixando passar alguma vulnerabilidade. 

Nesse sentido, é recomendado usar também outras ferramentas que analisam o código-fonte da aplicação, de análise estática e white-box, como SAST (Teste de Segurança Estático de Aplicações) e SCA (Análise de Composição de Software), além de outras medidas que envolve análise de código de forma manual. Essas ferramentas podem encontrar comportamentos problemáticos no código que podem causar falhas ou brechas de segurança, mesmo que eles não sejam testados por uma ferramenta DAST.

A diferença entre DAST e SAST

DAST tem as seguintes características em comparação com SAST:

Fase do ciclo de vida: DAST é executado geralmente na fase de produção, depois da aplicação estar disponível para uso. Já o SAST é executado frequentemente na fase de desenvolvimento, antes da aplicação ser implantada.

Método de análise: DAST não requer o acesso ao código fonte da aplicação, apenas à sua interface. Enquanto SAST analisa o código fonte da aplicação, procurando por vulnerabilidades na lógica, na sintaxe e na estrutura do código.

Tipo de vulnerabilidade: DAST pode identificar vulnerabilidades que SAST não pode, como problemas de autenticação, autorização, sessão ou injeção. Por outro lado, SAST pode identificar vulnerabilidades que DAST não pode, como falhas de criptografia, vazamento de informações sensíveis ou erros de configuração.

Custo e tempo: de modo geral, DAST é mais lento e caro do que SAST, pois requer a configuração de um ambiente de teste e o uso de ferramentas específicas. SAST é mais rápido e barato do que DAST, pois não requer a execução da aplicação nem recursos adicionais.

Aplicabilidade: DAST é mais adequado para aplicações antigas ou legadas, pois permite verificar o nível de segurança atual e detectar falhas que podem ter sido introduzidas após a implantação. SAST é mais adequado para aplicações novas ou em desenvolvimento, pois permite corrigir as vulnerabilidades antes que elas se tornem um risco.

Apesar das diferenças, complementar o DAST com o SAST e demais ferramentas de segurança é uma abordagem altamente recomendada para garantir a segurança abrangente das aplicações. De tal forma, combinando as duas técnicas, os desenvolvedores podem aumentar a cobertura dos testes de segurança, identificando uma variedade mais ampla de vulnerabilidades e reduzindo as lacunas de detecção. 

Como a Conviso pode ajudar

Entendemos que ferramentas de DAST e também de SAST devem receber sua atenção merecida dentro do processo de desenvolvimento seguro, e para isso a Conviso Platform é preparada para se integrar a essas ferramentas e muitas outras.

Através da Conviso Platform, uma plataforma de gestão de AppSec (Application Security Posture Management), é possível se integrar e automatizar diversas ferramenta como DAST, SAST, SCA e IAST;  centralizando os resultados em um único lugar. Alguns exemplos de ferramentas que temos integrada à nossa plataforma são: Veracode, Checkmarx, Fortify e Sonarqube, entre outras.

Além disso, na Conviso você encontra serviços de pentesting, que são testes manuais black-box, realizados por profissionais de AppSec, para analiser a segurança da aplicação em execução, sendo muito mais profunda e especializada.

Conheça os serviços de pentesting da Conviso!