O Dynamic Application Security Testing (DAST) está se tornando uma parte integral do ciclo de vida de desenvolvimento de software. Esse scanner de aplicação de segurança visa não apenas substituir o teste de penetração em aplicações, mas também melhorar a segurança e o processo de desenvolvimento de conformidade.
Introdução aos mecanismos de AppSec
As vulnerabilidades de aplicações são as maiores causas de ataques cibernéticos, com 84% dos incidentes em 2019 acontecendo na camada de aplicação. Para ajudar com isso, a Segurança de Aplicação (AppSec) traça os processos de coleta e ferramentas focadas em identificar, remediar e prevenir vulnerabilidades na camada de aplicação durante várias fases do desenvolvimento da aplicação.
Com o desenvolvimento de aplicações moderna alavancando o método de implementação e integração continua (CI/CD) para uma entrega mais rápida, o teste de segurança da aplicação requer que eles sejam automatizados e administrados durante o ciclo de vida do software. Como resultado, um AppSec compreensivo envolve diversos mecanismos, incluindo:
- Testes de segurança de aplicativos estáticos (SAST)
- Teste dinâmico de segurança de aplicativos (DAST)
- Auto proteção da aplicação em tempo de execução (RASP)
- Teste interativo de segurança de aplicativos (IAST)
O Dynamic Application Security Testing (DAST) envolve escanear uma aplicação por vulnerabilidades e simular um ataque enquanto o código é executado. As equipes de segurança usam ferramentas de DAST e técnicas que identificam vulnerabilidades em tempo de execução como configurações erradas no servidor, autenticação fraca e outros problemas que provavelmente serão encontrados uma vez que o usuário realizar o login. Este artigo é um guia compreensivo para o teste de aplicação dinâmico de segurança e como ele difere dos outros mecanismos de teste AppSec.
O que é o Teste Dinâmico de Segurança de Aplicativos (DAST)?
As ferramentas de DAST tipicamente não tem acesso ao código fonte da aplicação e são primariamente usados para estimular ataques externos. Testes de DAST são escritos por hackers éticos para atacar a aplicação externamente procurando por falhas críticas e potenciais vulnerabilidades de segurança em superfícies de ataque expostas. Esses especialistas então coletam a informação das vulnerabilidades de segurança da aplicação dependendo de como elas respondem a essas simulações.
Enquanto o DAST é executado no código em execução, ele não necessariamente precisa ser feito em instancias de produções. Esses testes são normalmente realizados por analistas de QA em ambientes de testes simulados para coletar informações sem realizar ataques estimulados na aplicação na produção.
O DAST é categorizado como método de teste de segurança black box para descobrir potenciais problemas de segurança. O DAST tem uma melhor taxa de falsos positivos em relação a outras ferramentas de teste de segurança de aplicações.
Conteúdo relacionado: Ferramentas e Soluções DAST
Por que as empresas precisam da DAST?
O DAST ajuda as organizações identificar as principais vulnerabilidades em tempo de execução e de aplicativos Web exploráveis perdidas durante o desenvolvimento e a verificação do código. Tais ferramentas também demonstram a resposta da aplicação a um ataque, que é o que a maioria dos ataques exploram para ganhar ainda mais controle.
O mecanismo DAST oferece diversos benefícios a organização, incluindo:
- Identificar continuamente novos vetores de ataque que podem comprometer a segurança do sistema
- Melhor método para teste de segurança de API
- Detectar requisitos de governança e conformidade de segurança que também podem incluir vulnerabilidades de tempo de execução auto-relatadas
- Obtenha insights sobre o desempenho do aplicativo e o consumo de recursos
- Menor número de falsos positivos.
DAST vs SAST
Testes dinâmicos e estáticos de segurança de aplicação são duas tecnologias de AppSec que utilizam métodos únicos de identificar as fraquezas e as potenciais vulnerabilidades. Algumas diferenças entre os dois mecanismos de testes incluem:
- O SAST usa um método White-box que se aproveita do código fonte e realiza scans internos enquanto o código permanece estático. Por outro lado, o DAST usa o método Black-box, onde o testador descobre as vulnerabilidades da aplicação de um ecossistema externo durante a execução da aplicação.
- Os testes de SAST procuram por vulnerabilidades na aplicação/código fonte enquanto o DAST procura por problemas na execução e no ambiente.
- O DAST avalia os riscos de segurança nos aplicativos web, bancos de dados, servidores e serviços, enquanto o SAST avalia primariamente a arquitetura da aplicação, o design do ambiente, as aplicações móveis e sistemas em tempo real.
Prós e Contras do Dynamic Application Security Testing
As ferramentas de DAST são adotadas de forma ampla para escanear aplicações web em busca de vulnerabilidades exploráveis por conta das diversas vantagens que isso oferece, que incluem:
- Elas são independentes da plataforma e podem ser usadas para testar aplicações independente do hardware, design, arquitetura interna ou linguagem de programação.
- Ver de forma eficiente os problemas de configuração durante a execução.
- Poder identificar o consumo de memória e utilização de recurso.
- Ao estimular elementos de autores de ameaças, o DAST ajuda a encontrar problemas que podem ter passado despercebidos pelas equipes de desenvolvimento em estágios iniciais
- Scan efetivo para ameaças de web API
Apesar das vantagens ultrapassarem em muito as limitações, elas ainda existem e alguns dos desafios de usar o mecanismo DAST inclui:
- O scan do DAST oferece escalabilidade limitada para simular ataques em larga escala
- Não tem visibilidade no código base da aplicação
Introduzindo o DAST ao Ciclo de vida de desenvolvimento do software
O DAST combina o scan de vulnerabilidade com teste de penetração para avaliar a postura de segurança de uma aplicação em execução. Para isso, as ferramentas de DAST tipicamente injetam códigos maliciosos e configurações na aplicação para detectar e identificar seguranças conhecidas na vulnerabilidade.
A sessão a seguir explora como as organizações podem incluir o scan DAST em estágios específicos do ciclo de vida de desenvolvimento de Software para garantir que vulnerabilidades reais sejam identificadas no estágio inicial do desenvolvimento antes que elas possam ser exploradas durante o teste de penetração.
Como o DAST aprimora a segurança da aplicação Web
Um dos métodos comuns do teste DAST depende de um registro centralizado da Common Weakness Enumeration (CWE) e Common Vulnerabilities and Exposures (CVE) para usar de referencia e validar a severidade dos pontos suscetíveis. Essas ferramentas geralmente escaneiam as interfaces HTML e HTTP para vulnerabilidades de segurança comuns e então realizar o teste de penetração automática em quaisquer superfícies expostas. Um relatório dessas vulnerabilidades auxilia as equipes a atualizarem a aplicação com patches para as vulnerabilidades identificadas, aprimorando a aplicação de segurança.
Quando integrar o DAST para o AppSec
DAST sucessivos requer uma equipe de segurança com conhecimento profundo em servidores web, fluxo de tráfego e vulnerabilidades comuns para escrever testes e refinar os métodos do teste. Já que o DAST examina a execução dinâmica, é normal introduzir o método uma vez que o código tenha sido desenvolvido e verificado. As ferramentas DAST são comumente implementadas quando a aplicação está indo para a produção, identificando ameaças que autores de ameaças podem explorar e então ilustrar com essas falhas podem ser usadas para acesso não autorizado.
Vulnerabilidades expostas pela DAST
O DAST explora vários cenários de ataque e técnicas que os atacantes usam para acessar as aplicações web. Vulnerabilidades e ataques descobertos pelo DAST incluem:
Cross-site Scripting (XSS) – Uma vulnerabilidade por parte de cliente que deixa o hacker incluir código malicioso em uma página web legítima para executar ações maliciosas no navegador da vítima.
Erros de injeção – Autores maliciosos, disfarçados de funcionários usam falhas de injeção para enviar dados não confiáveis para servidores web como parte de um comando. Ataques de injeção são normalmente direcionados a vários alvos:
- Consultas SQL (SQL injection)
- Consultas LDAP
- Consultas XPATH
- Comandos de sistema operacional
Erro de configuração no servidor – Nestes ataques, o autor da ameaça tenta explorar uma fraqueza na configuração nos componentes do servidor web.
Conteúdo relacionado: Ferramentas e Soluções DAST
Conclusão
O Dynamic Application Security Testing (DAST) está rapidamente se tornando um fator cada vez mais importante no AppSec, com cerca de 35% do investimento em segurança da Web e de aplicativos estimado em ser gasto em scanners dinâmicos de tempo de execução. Essas ferramentas permitem que as organizações e as equipes de segurança aprimorarem a segurança da aplicação ao estimular e remediar ataques em tempo de execução antes deles ocorrerem. As equipes modernas de segurança combinam o DAST e o SAST para o teste continuo e interativo, que se alinha com os objetivos dos DevOps e dos modernos pipelines CI/CD.
O Crashtest Security oferece uma avaliação de segurança abrangente para garantir que todas as transações em seu aplicativo Web sejam suficientemente registradas com controles de integridade. Para saber mais sobre como o Crashtest Security pode realizar uma verificação abrangente e proteger sua pilha de tecnologia contra ataques maliciosos, basta testar nosso scanner DAST gratuitamente aqui.


