In this article
5 dicas para escolher a ferramenta DAST certa
Proteger seus aplicativos web e APIs contra ameaças é essencial, e uma ferramenta de Dynamic Application Security Testing (DAST) tem um papel central nesse processo. Neste artigo, exploramos as principais características que uma ferramenta DAST moderna deve oferecer, especialmente à medida que as equipes de desenvolvimento usam cada vez mais assistentes de programação com IA. Também abordamos os desafios que você pode encontrar durante a implementação e como garantir que seus testes de segurança acompanhem o ritmo da inovação.
Com os recursos avançados e simplificados de Snyk API & Web, vamos explorar os principais elementos de uma implementação DAST bem-sucedida, como identificar ativos, realizar testes de segurança eficazes, gerenciar resultados com eficiência e integrar recursos ao pipeline de desenvolvimento.
1. Descoberta de ativos
As organizações estão sujeitas a ataques cibernéticos maliciosos por meio dos ativos expostos em sua superfície de ataque. Por isso, entender essa superfície e adotar medidas eficazes para protegê-la é fundamental. Isso se tornou ainda mais importante porque as ferramentas de IA podem acelerar a criação de novos microsserviços e APIs, às vezes mais rápido do que as equipes de segurança conseguem acompanhar.
Conheça sua superfície de ataque
Uma ferramenta DAST com descoberta de ativos é essencial para criar um inventário dos ativos da sua organização e entender sua superfície de ataque. Como as ameaças à segurança estão sempre evoluindo, a ferramenta DAST também precisa manter esse inventário atualizado, realizando descobertas de ativos regularmente.
Analise a superfície de ataque
A ferramenta DAST deve oferecer todos os recursos necessários para analisar os ativos descobertos e identificar e priorizar os mais críticos. Por exemplo, ela pode fornecer uma pontuação preliminar de risco para indicar a criticidade de um ativo, capturas de tela para facilitar sua identificação ou endereços IP para mostrar onde ele pode ser acessado.
Integração perfeita com testes de segurança
Depois de identificar os ativos mais críticos da sua superfície de ataque, você vai querer testá-los detalhadamente para detectar vulnerabilidades e protegê-los com eficácia. Por isso, ao escolher uma ferramenta DAST, procure a integração perfeita entre a descoberta de ativos e os testes de segurança.
2. Alvos dos testes de segurança
Um alvo é aquilo que você quer analisar para identificar vulnerabilidades de segurança. Quer você use ativos encontrados pela descoberta de ativos como alvos, quer crie alvos independentes, a ferramenta DAST deve oferecer suporte a diferentes tipos de alvos e todos os recursos necessários para configurá-los e obter os melhores resultados nos testes de segurança. Estes são os aspectos que você deve considerar ao escolher sua ferramenta DAST.
Tipos de alvos
Em essência, uma ferramenta DAST deve oferecer suporte aos seguintes tipos de alvos:
Alvos web
Uma ferramenta DAST deve oferecer suporte aos tipos mais comuns de aplicativos web executados em navegadores:
Modernos aplicativos de página única (SPAs): esses aplicativos oferecem uma ótima experiência do usuário e geralmente dependem muito da renderização no lado do cliente, com o suporte de uma API. A ferramenta DAST precisa analisar tanto o aplicativo no lado do cliente quanto a API que o alimenta, mesmo que ela esteja em outro host.
Aplicativos web tradicionais: esses aplicativos executam a maior parte da lógica no lado do servidor. Isso significa que cada página resulta de uma resposta do servidor a uma solicitação HTTP, o que faz com que a resposta às interações do usuário demore um pouco mais. Esse é o tipo básico de alvo que qualquer ferramenta DAST deve conseguir analisar.
Alvos de API
Procure uma ferramenta DAST que ofereça suporte às APIs nos formatos de especificação mais comuns:
OpenAPI: é uma especificação padrão de API que as ferramentas podem usar para gerar código, documentação, casos de teste e muito mais. A ferramenta DAST deve conseguir usar esse formato padrão para determinar quais endpoints da API analisar. Para garantir que suas especificações OpenAPI são válidas, experimente o Swagger Editor.
Coleção do Postman: é uma forma de acessar uma API por meio de uma coleção predefinida de solicitações aos endpoints da API usando o Postman. Também permite usar pré-solicitações e testes para definir variáveis de ambiente e manipular dados. A ferramenta DAST deve conseguir importar essas coleções e executar as solicitações para analisar os endpoints da API. É fundamental que a coleção do Postman contenha uma sequência funcional de solicitações aos endpoints da API, que possa ser executada várias vezes.
Alvos com autenticação
Se um alvo exige autenticação, isso significa que há áreas acessíveis somente a usuários autenticados. A ferramenta DAST deve permitir configurar a autenticação para fazer login e acessar essas áreas restritas. Considere os seguintes recursos de autenticação:
Formulário de login: quando o alvo tem um formulário de login, a ferramenta DAST deve permitir identificar a página de login e configurar as credenciais necessárias para entrar com sucesso.
Logins complexos: quando o alvo tem fluxos de login complexos (por exemplo, com várias etapas), a ferramenta DAST deve permitir configurar a sequência de etapas e os valores de entrada necessários para fazer login.
Cabeçalhos e cookies de autenticação personalizados: esse é outro recurso interessante para uma ferramenta DAST, pois oferece suporte a ainda mais cenários de autenticação, como fluxos em que o usuário recebe por e-mail um link para fazer login.
Login com autenticação de dois fatores: quando o alvo exige autenticação de dois fatores (2FA) para login, a ferramenta DAST deve permitir configurá-la, além dos dois recursos de autenticação mencionados anteriormente.
Detecção de logout: alguns alvos podem encerrar sua sessão automaticamente (por exemplo, quando ela expira após algum tempo). A ferramenta DAST deve permitir configurar e detectar situações de logout para fazer login novamente e manter o acesso às áreas restritas a usuários autenticados durante os testes.
Ajuste a cobertura do alvo
Os alvos podem ser complexos e exigir configurações específicas para ajustar a cobertura e analisar com eficácia o que você precisa. Por isso, a ferramenta DAST deve oferecer recursos para ajustar os testes e alcançar as áreas esperadas dentro do escopo do alvo:
Inclua acesso a áreas “ocultas”: às vezes, não é possível acessar determinadas áreas do escopo do alvo apenas rastreando o site. Por exemplo, imagine que um alvo como https://example.com tenha uma área acessível somente por um link direto, como https://example.com/back-office. Nesses casos, a ferramenta DAST deve permitir incluir essas áreas “ocultas” no escopo do alvo.
Restrinja o acesso a áreas críticas: se o alvo tiver áreas confidenciais que não devem ser incluídas nos testes de segurança (como páginas com formulários que enviam e-mails aos usuários), a ferramenta DAST deve permitir configurá-las e excluí-las do escopo do alvo.
Inclua acesso a outros hosts: alguns alvos dependem de funcionalidades oferecidas por serviços em outros hosts. Por exemplo, imagine que o alvo https://example.com faça solicitações a uma API em outro host, como https://api.example.com. A ferramenta DAST deve permitir ampliar o escopo do alvo para incluir outros hosts.
Navegações personalizadas para alvos complexos
Quando o alvo tem fluxos complexos ou que exigem valores específicos (como formulários com combinações de valores de entrada que dependem uns dos outros), a ferramenta DAST deve permitir criar e executar sequências de navegação personalizadas para percorrer esses fluxos como esperado e acessar mais áreas do alvo.
Cabeçalhos e cookies personalizados para comportamentos específicos
Uma ferramenta DAST que permite definir informações específicas em cabeçalhos ou cookies pode ser essencial para identificar as solicitações do DAST. Esse recurso pode ser usado de várias formas, por exemplo:
Um firewall está bloqueando as solicitações do DAST ao alvo por causa do agente de usuário. Você pode desbloquear as solicitações definindo um “User-Agent” personalizado no cabeçalho e configurando o firewall adequadamente.
O alvo tem uma verificação de “humanidade” (como um CAPTCHA) que bloqueia as solicitações do DAST. Ao enviar informações personalizadas em um cookie, o alvo pode usar uma lógica para desativar essa verificação e permitir que o teste de segurança continue.
Acesso a alvos bloqueados por WAFs
Se você usa um firewall de aplicação web (WAF) na frente do alvo, ele pode interpretar as solicitações da ferramenta DAST como ataques maliciosos. Isso pode bloquear as solicitações e fazer com que a análise do alvo não seja concluída. Para evitar esse problema, a ferramenta DAST deve informar seus endereços IP para que você possa incluí-los na lista de permissões do WAF e liberar as análises.
Alvos em redes privadas inacessíveis
Às vezes, os alvos não são públicos e ficam em redes privadas, inacessíveis de fora. A ferramenta DAST deve oferecer recursos para configurar o acesso a esses alvos privados.
eBook
7 hábitos de usuários avançados de DAST altamente bem-sucedidos
Você está aproveitando todo o potencial da sua ferramenta de DAST? Conheça 7 hábitos que vão transformar sua abordagem de DAST, ampliar seu impacto e fortalecer sua postura de segurança.
3. Análise dos alvos
Depois de definir um alvo, a ferramenta DAST precisa rastreá-lo e explorar todas as áreas acessíveis para cobrir o máximo possível do escopo. Em seguida, deve realizar testes de segurança abrangentes nessas áreas para identificar o maior número possível de vulnerabilidades.
Cobertura da análise
Um relatório abrangente de cobertura é indispensável em uma ferramenta DAST para que você tenha certeza de que todo o alvo está sendo analisado. Um excelente relatório deve facilitar a identificação das áreas que a análise está alcançando e permitir verificar se são as esperadas. Para isso, você também precisa conhecer a fundo o alvo e todas as áreas que deseja incluir, a fim de obter insights valiosos e aproveitar ao máximo o relatório de cobertura.
Vulnerabilidades testadas
É fundamental que a ferramenta DAST ofereça uma lista abrangente de vulnerabilidades para testar e seja atualizada regularmente para detectar as vulnerabilidades mais recentes. Ela deve permitir que você consulte essa lista e saiba com que frequência ela é atualizada, para avaliar se atende aos seus requisitos de segurança. Isso inclui tanto vulnerabilidades tradicionais quanto novos tipos de falhas lógicas que podem surgir em código gerado por IA.
Análise de tecnologias específicas
Uma ferramenta DAST que detecta as tecnologias usadas nos alvos (por exemplo, PHP, React ou Linux) fornece informações valiosas para os testes de segurança, permitindo ajustá-los para essas tecnologias e obter melhores resultados. Algumas ferramentas DAST também permitem configurar previamente as tecnologias usadas nos alvos para garantir que sejam consideradas.
Análises programadas
Executar análises periodicamente é importante para manter sempre atualizada a lista de vulnerabilidades identificadas nos alvos. Nesse sentido, análises programadas são um ótimo recurso de uma ferramenta DAST, pois automatizam esse processo sem exigir sua intervenção.
Pausar e retomar análises
A possibilidade de pausar e retomar análises é um recurso DAST que você deve considerar, pois permite lidar com situações críticas. Por exemplo, se você perceber que uma análise está afetando o funcionamento normal de um aplicativo, basta pausá-la e retomá-la em um momento mais conveniente.
Se a ferramenta DAST permitir definir períodos de bloqueio, melhor ainda. Assim, você garante que ela pause as análises automaticamente em períodos definidos (por exemplo, durante o horário de trabalho) e as retome em períodos “seguros” (por exemplo, à noite).
Análises parciais
Em geral, as varreduras cobrem todo o escopo do alvo, o que significa que podem demorar para terminar e para você receber os resultados. Em algumas situações, talvez não seja necessário varrer o alvo inteiro novamente após a primeira varredura completa. Nesse caso, pode ser útil restringir o escopo às áreas do alvo que interessam a você. Essas são chamadas de varreduras parciais e, se a ferramenta DAST permitir, você deve poder configurar opções como:
Escopo reduzido: as varreduras cobrem apenas um conjunto definido de áreas do alvo, configuradas por você como importantes para uma nova varredura.
Incremental: as varreduras cobrem apenas o que é novo e/ou foi atualizado no alvo.
Perfis de varredura personalizados
Ter perfis de varredura personalizados em uma ferramenta DAST é importante para ajustar comportamentos específicos da varredura. Veja alguns exemplos de uso comum desses perfis:
Priorizar vulnerabilidades críticas: você define um perfil de varredura personalizado para identificar apenas as vulnerabilidades mais críticas, ou seja, as que precisam ser corrigidas com mais urgência.
Priorizar a velocidade: se os seus alvos comportam muitas solicitações, você pode criar um perfil personalizado para executar varreduras que enviem mais solicitações em paralelo, reduzindo assim o tempo até obter os resultados.
Varreduras não intrusivas: para alvos nos quais você quer evitar operações destrutivas, pode criar um perfil personalizado para varrer os alvos sem testar solicitações destrutivas, como uma solicitação DELETE.
4. Resultados das varreduras
À medida que você varre os alvos, as vulnerabilidades identificadas devem ser reunidas em resultados com todas as informações necessárias para entender quais alvos precisam de proteção e como protegê-los. A ferramenta DAST deve fornecer essas informações valiosas e os recursos necessários para facilitar o tratamento e o gerenciamento dos resultados.
Precisão dos resultados
Esse é um dos fatores mais importantes relacionados aos resultados. Se as vulnerabilidades identificadas não forem confiáveis, isso pode gerar desconfiança e comprometer a credibilidade da ferramenta DAST. Você deve garantir que a ferramenta apresente resultados precisos, incluindo:
Uma baixa taxa de falsos positivos: quando a ferramenta DAST identifica incorretamente uma atividade normal ou inofensiva como uma vulnerabilidade, gera um falso positivo. Uma taxa alta de falsos positivos pode fazer com que você e a sua organização percam muito tempo investigando e tratando “problemas” que não são ameaças reais, além de comprometer a credibilidade da ferramenta.
Um número baixo de falsos negativos: isso acontece quando a ferramenta DAST não detecta vulnerabilidades reais que você sabe que existem. Tente comparar os resultados obtidos em um alvo real que você conhece e cujas vulnerabilidades reais sejam conhecidas. Evite usar alvos de teste comuns ou com vulnerabilidades fictícias (por exemplo, para fins educacionais), pois os resultados podem não ser confiáveis.
Detecção consistente: a ferramenta DAST deve manter a consistência e atualizar os resultados em varreduras posteriores enquanto as vulnerabilidades não forem corrigidas. Por outro lado, deve parar de reportá-los assim que a vulnerabilidade identificada for corrigida.
WHITE PAPER
Como Snyk API & Web alcança uma taxa de falsos positivos de apenas 0,08%, referência no setor
Descubra como a Snyk alcança uma taxa de falsos positivos de 0,08%, garantindo precisão, eficiência e detecção abrangente de vulnerabilidades para proteger aplicações.
Informações úteis e relevantes nos resultados
Ao analisar os resultados, a ferramenta DAST deve fornecer o máximo possível de informações úteis e relevantes. Só assim você poderá tomar decisões bem fundamentadas sobre cada resultado e adotar medidas eficazes e eficientes para proteger seus alvos.
Veja algumas informações importantes que devem constar nos achados:
A descrição da vulnerabilidade.
Onde ela foi encontrada no alvo.
O ponto de injeção vulnerável.
O risco e a pontuação CVSS do resultado.
As evidências que comprovam a vulnerabilidade.
Os detalhes das solicitações executadas e das respostas recebidas.
Informações sobre como corrigir a vulnerabilidade.
Compartilhamento de resultados
É importante que a ferramenta DAST forneça relatórios sobre os resultados e as condições das varreduras para que você possa compartilhá-los com outras equipes, dentro ou fora da organização. Esses relatórios devem conter as informações necessárias para que o público com quem você os compartilha possa analisar os dados e tomar decisões de forma autônoma, com pouco ou nenhum apoio da sua parte. Por exemplo, talvez você queira compartilhar apenas um resumo geral com a equipe executiva, mas enviar um relatório muito mais detalhado para a equipe de segurança.
Conforme as necessidades da sua organização, também pode ser interessante incluir nos relatórios informações sobre a conformidade com algumas das principais normas, como PCI DSS, OWASP Top 10, ISO 27001 e HIPAA.
Tratamento dos resultados
Ao analisar os resultados e decidir o que fazer com eles, a ferramenta DAST deve oferecer os recursos necessários para que você possa agir conforme as decisões tomadas. Algumas ações úteis incluem:
Testar novamente: em vez de executar uma varredura completa, você pode testar novamente um resultado específico e verificar facilmente se a vulnerabilidade identificada foi corrigida de fato.
Aceitar o risco: em alguns contextos específicos, a vulnerabilidade não representa risco para a organização ou já é conhecida e pode ser considerada aceitável. Nesse caso, você deve poder marcar o risco do resultado como aceitável.
Marcar como inválido: se você concluir que a vulnerabilidade identificada em um resultado não pode ser explorada, deve poder marcá-lo como inválido e reportá-lo como falso positivo.
Adicionar observações: adicionar observações aos resultados pode ser uma forma eficaz de compartilhar informações importantes e manter um registro dentro da organização.
5. Integração e automação
Para aumentar a eficiência na sua organização, a ferramenta DAST deve oferecer maneiras de antecipar os testes de segurança. Isso significa introduzir os testes de segurança mais cedo no ciclo de vida do desenvolvimento de software (SDLC), por meio de integração e automação.
Integração com soluções de gerenciamento ou rastreadores de tarefas
Se a sua organização usa um rastreador de tarefas (ou uma ferramenta de gerenciamento de vulnerabilidades para centralizá-las), a ferramenta DAST escolhida deve permitir a sincronização bidirecional. Assim:
A ferramenta DAST pode criar tarefas automaticamente no rastreador quando encontra novas vulnerabilidades.
Quando a equipe corrige a nova vulnerabilidade, a ferramenta DAST realiza um novo teste.
Se a vulnerabilidade continuar presente após o novo teste, a ferramenta DAST reabre o problema.
Comece priorizando aplicações web ou APIs de alto risco e trabalhe primeiro com as equipes responsáveis por elas. Quando tudo estiver funcionando bem, expanda o processo para outras equipes. Assim, você pode aprimorar o processo de correção de problemas de segurança e integrá-lo ao ciclo de desenvolvimento das suas equipes.
Automação de pipelines de CI/CD
Como alternativa, você pode automatizar a ferramenta DAST nos seus pipelines de CI/CD. Se ela oferecer suporte a esse tipo de automação, você poderá iniciar testes de segurança automaticamente em diferentes ambientes, do desenvolvimento à produção.
Embora isso permita integrar os testes de segurança ao ciclo de vida do software sem intervenção manual, também acrescentará etapas aos processos de CI/CD e poderá alterar o fluxo de trabalho das suas equipes. Por isso, é muito importante avaliar o impacto da automação com cada equipe e envolver o time de DevOps na conversa para entender as mudanças necessárias e planejar adequadamente.
Simplificando a implementação de DAST com Snyk API & Web
Implementar com eficiência uma solução DAST com tecnologia de IA é essencial para proteger suas aplicações web e APIs contra possíveis ameaças. Tudo começa com uma descoberta completa dos ativos, que ajuda você a entender e gerenciar a superfície de ataque. Ao saber exatamente quais ativos precisa proteger, você pode configurar os alvos com mais precisão, garantir que as varreduras sejam abrangentes e, depois de obter os resultados, garantir que sejam precisos e gerenciá-los com eficiência. Tudo isso integrado aos fluxos de trabalho existentes.
Ao garantir que sua ferramenta DAST reúna todos os fatores essenciais descritos neste artigo, você pode fortalecer a postura de segurança da sua organização e proteger seus ativos contra ameaças cibernéticas em constante evolução, inclusive aquelas que envolvem código gerado por IA.
Snyk API & Web, parte essencial da Snyk AI Trust Platform, simplifica todo esse processo e facilita a identificação de vulnerabilidades e a proteção dos seus ativos. Ao integrar os recursos DAST que priorizam desenvolvedores aos seus fluxos de trabalho existentes, você pode proteger suas aplicações e dar às suas equipes condições para inovar com IA com segurança.
Que tal experimentar? Cadastre-se hoje e descubra o que Snyk API & Web pode fazer por você.
Inscreva-se no Snyk API & Web
Comece hoje mesmo a usar nosso mecanismo DAST desenvolvido para devs
Encontre e exponha vulnerabilidades automaticamente em escala com o mecanismo DAST baseado em IA da Snyk. Antecipe a segurança com automação e orientações para correção que se integram perfeitamente ao seu SDLC.