Probely: Análise Completa do Scanner DAST para APIs e Apps Web

Considerando que aproximadamente um terço de todas as brechas de segurança conhecidas resultam diretamente de ataques bem-sucedidos a aplicativos web, torna-se essencial testar a segurança tanto dos seus aplicativos quanto das APIs.

A garantia da segurança dos seus aplicativos web é crucial não apenas por razões regulamentares, mas também, e talvez mais importante, pela proteção dos dados dos seus clientes e a minimização da exposição da sua empresa a riscos.

Existem diversas alternativas para proteger seus aplicativos web, cada uma com seus méritos e desvantagens. Algumas soluções focam na identificação de falhas de segurança no código-fonte dos aplicativos. Outras, atuam na proteção contra ataques. E há aquelas que empregam testes dinâmicos de segurança dos aplicativos em tempo de execução, simulando o comportamento de um atacante.

Este artigo se concentra nessa última abordagem, especificamente em Probely. O que diferencia o Probely de outras ferramentas é a sua capacidade de endereçar dois grandes desafios dos scanners de vulnerabilidade web: a cobertura de escaneamento em aplicações web modernas e a precisão dos resultados.

O Probely oferece duas versões: uma self-service, ideal para pequenas e médias empresas, e outra voltada para grandes organizações ou empresas com um grande número de aplicações web e APIs.

O principal objetivo do Probely é oferecer uma cobertura excepcional em ambientes de desenvolvimento contemporâneos e reduzir falsos positivos através de resultados de verificação baseados em evidências. Isso permite a integração de verificações DAST no seu ciclo de desenvolvimento.

Será tudo isso bom demais para ser verdade?

Continue lendo para descobrir mais detalhes sobre a minha análise do Probely.

O que o Probely realmente faz?

O Probely foi desenvolvido para atender desenvolvedores e empresas de todos os tamanhos, testando aplicativos e APIs em busca de vulnerabilidades e problemas de segurança. Após o teste, a plataforma fornece orientações sobre como solucionar os problemas identificados.

Seus desenvolvedores e engenheiros de segurança podem interagir com o Probely por meio de sua interface de usuário intuitiva. No entanto, para quem busca maior poder e flexibilidade, a API completa da ferramenta é a opção ideal, já que o desenvolvimento da plataforma prioriza a API. A API oferece todas as funcionalidades encontradas na interface do usuário, facilitando a integração do Probely a pipelines de CI/CD, ferramentas de gerenciamento de vulnerabilidades, orquestradores e rastreadores de problemas. Integrações prontas estão disponíveis para ferramentas populares como JIRA, Jenkins, Azure DevOps, DefectDojo, CircleCI e Slack. Caso utilize seu próprio rastreador ou orquestrador de problemas, a API é o caminho a seguir.

Cobertura, Rastreamento e Precisão

O Probely utiliza um spider de última geração para navegar em aplicações Javascript complexas, simulando o comportamento de um navegador comum. Isso resulta em uma cobertura de site excepcional, um ponto fraco de muitas outras ferramentas DAST. Esse spider é perfeito para aplicações de página única, como aquelas baseadas em React ou Angular JS.

É importante lembrar que um scanner só consegue identificar vulnerabilidades nas páginas que foram descobertas. Portanto, um spider eficiente é fundamental.

O Probely também oferece diferentes perfis de escaneamento, permitindo escolher o nível de intrusão dependendo do ambiente que você deseja testar. Você pode optar por um perfil menos intrusivo para escanear seu ambiente de produção ou selecionar um perfil mais completo para verificações mais profundas em ambientes de controle de qualidade. Ao testar um ambiente de pré-produção, é possível identificar e corrigir vulnerabilidades antes de implementar o aplicativo em produção.

Relatórios

Embora o Probely detecte uma ampla gama de vulnerabilidades, ele se concentra em relatar apenas as relevantes, minimizando falsos positivos. Para certas categorias de vulnerabilidades, o Probely fornece evidências que comprovam a sua existência, economizando tempo da sua equipe na validação da relevância e da veracidade das vulnerabilidades.

O Probely oferece relatórios abrangentes através da sua interface. Ele também pode sincronizar informações de vulnerabilidade com um rastreador de problemas ou ferramenta de gerenciamento de vulnerabilidades, permitindo que você incorpore o Probely aos seus fluxos de trabalho de segurança e desenvolvimento.

O Probely pode testar seu software contra vulnerabilidades como as listadas no OWASP TOP 10, além de muitas outras. Ele também auxilia na obtenção de conformidade com padrões como PCI-DSS, GDPR, HIPAA e ISO270-01, verificando requisitos específicos.

A partir do relatório OWASP TOP 10, você poderá ter uma visão geral das áreas problemáticas em relação à conformidade.

Interface

A interface é intuitiva e fácil de usar, permitindo uma rápida familiarização com a ferramenta. A edição Enterprise possibilita controlar usuários, funções e definir permissões personalizadas. É possível usar rótulos para organizar usuários, ativos e vulnerabilidades, facilitando a gestão da segurança do seu aplicativo web. Como todas as funcionalidades estão acessíveis através da API, o Probely pode ser integrado com outros aplicativos e processos de segurança corporativa.

Se você utiliza Jira ou Azure Boards, o Probely pode ser configurado para enviar automaticamente todas as vulnerabilidades ao seu rastreador de problemas. Quando o desenvolvedor corrige e fecha o problema no rastreador, o Probely executa automaticamente um novo teste para verificar se a correção foi bem-sucedida. Caso a vulnerabilidade persista, o problema é reaberto no rastreador. Isso permite que sua equipe de desenvolvimento lide com relatórios de vulnerabilidade como se fossem bugs comuns, diretamente no rastreador de problemas, sem a necessidade de usar a interface do Probely. Interessante, não? 🙂

Começando 🚀

Para fins de avaliação, eu utilizei a versão Enterprise do Probely.

O Probely também oferece uma edição padrão e vários planos, incluindo um plano gratuito. No plano gratuito, o escaneamento verifica apenas três categorias de vulnerabilidade: flags de cookies, cabeçalhos de segurança e problemas de SSL/TLS. O plano Pro oferece a maioria das funcionalidades e é focado em pequenas e médias empresas e organizações com até cinco alvos para verificação.

A versão Enterprise é voltada para organizações com um grande número de alvos e inclui recursos adicionais, como usuários, grupos, funções e permissões, comuns em softwares empresariais. Ela também permite que você verifique alvos internos (dentro da sua rede privada) através da instalação de um agente fornecido.

Adicionando um Alvo

Adicionar um alvo é bastante simples. Após fazer login em sua conta, navegue até a página de Alvos e clique em “Adicionar”. Em seguida, forneça um nome, um URL e um ou mais rótulos, como “Teste”, “Produção” ou “Desenvolvimento”, para o novo alvo. Para permitir que o Probely verifique esse alvo como uma API autônoma sem um aplicativo web de suporte, marque a opção correspondente para identificá-lo como um alvo de API.

Se seu alvo não estiver acessível na internet e você instalou um agente Probely em sua rede privada, é possível selecionar qual agente utilizar ao adicionar um alvo.

Após adicionar o alvo, é necessário validar sua propriedade, pois o Probely precisa da confirmação de que você tem os privilégios necessários para executar uma verificação nele. Existem duas formas de validação: carregar um arquivo com o conteúdo fornecido na raiz do alvo ou adicionar uma entrada TXT ao seu registro DNS com o nome do domínio e um conteúdo específico. Após a validação do alvo, você está pronto para escaneá-lo clicando no botão “Escanear”.

Você pode monitorar o progresso e o status do escaneamento na aba “Escaneamentos” do painel do Probely. Esta página mostra quando o escaneamento foi iniciado e o que já foi encontrado. As descobertas são codificadas por cores de acordo com a gravidade, permitindo identificar rapidamente os problemas críticos que exigem atenção imediata.

Se o seu site tiver uma página de login e você desejar que o Probely realize um escaneamento além dessa página, forneça credenciais que permitam o rastreamento do site como um usuário autenticado. O Probely suporta a maioria dos métodos de autenticação para páginas de login.

Escaneando uma API

Para verificar um alvo de API, o Probely precisa que você forneça seu esquema. Isso é feito ao adicionar um alvo de API, seja fornecendo a URL do esquema OpenAPI ou carregando o esquema caso já o tenha salvo como um arquivo local. A opção de URL permite que o Probely busque o esquema antes de cada escaneamento, garantindo que ele esteja sempre trabalhando com a versão mais recente do seu esquema.

Há também diversas opções em termos de métodos de autenticação para acesso à API. O Probely não apenas suporta tokens estáticos, mas também permite a configuração de autenticação dinâmica ao escanear APIs. Você pode configurar um endpoint de login onde o Probely pode obter um token de autenticação ou definir um cabeçalho personalizado com uma chave de API fixa. Também é possível fornecer valores de parâmetros personalizados que o Probely utilizará para aqueles encontrados no esquema.

Após finalizar a configuração da autenticação e dos parâmetros da API, você pode iniciar o escaneamento pressionando o botão “Escanear Agora”. Após alguns segundos, você poderá acompanhar o progresso do escaneamento na mesma página de escaneamento. Ao término do escaneamento, é possível baixar um relatório de cobertura que exibe todos os endpoints encontrados e cada código de resposta. O relatório também informa se houve falhas em algum endpoint.

Analisando as Descobertas

A página de descobertas exibe os resultados do escaneamento assim que são encontrados, mesmo enquanto o escaneamento está em progresso. Cada descoberta mostra a gravidade (alta, média ou baixa), o alvo e URL correspondentes, a descrição da descoberta, a data e hora em que foi encontrada, o status (corrigido ou não corrigido), o responsável e se afeta a conformidade com PCI-DSS ou OWASP.

Além de manter você informado sobre as vulnerabilidades detectadas, a página de descobertas também é útil para atribuir vulnerabilidades à sua equipe para correção. Para isso, clique na caixa de seleção à esquerda e selecione o responsável em um menu suspenso.

O Probely também oferece informações sobre como corrigir as vulnerabilidades encontradas. Juntamente com essas instruções, é possível visualizar a requisição e a resposta completas, além de evidências.

No painel, você encontra gráficos que resumem o risco de segurança dos alvos verificados. Esses gráficos mostram tendências em diversas métricas importantes, como pontuações de risco, tempo médio para corrigir problemas e níveis de gravidade. Também é possível identificar os sites que demandam mais atenção e um ranking das 5 principais vulnerabilidades mais frequentes.

Por fim, na página de Integrações, é possível configurar o Probely para integrar-se a diversas ferramentas de gestão de projetos, comunicação da equipe, rastreamento de problemas e muito mais. As integrações disponíveis incluem Azure Boards, DefectDojo, Slack, Jira, Jenkins e CircleCI.

Uma Ferramenta para Desenvolvedores e Equipes de Segurança

Para equipes de desenvolvimento ágil, o tempo de lançamento no mercado é uma prioridade. Qualquer medida que minimize o tempo necessário para que o software entre em produção sem comprometer a qualidade é muito bem-vinda. O Probely oferece exatamente isso: uma maneira econômica de melhorar a segurança de seus sites e APIs, auxiliando no cumprimento de prazos e fornecendo produtos de software de alta qualidade.

Para equipes de segurança, o Probely oferece uma plataforma para proteger aplicativos web e gerenciar as vulnerabilidades que precisam ser corrigidas. Também possibilita transferir parte dos testes de segurança para as equipes de desenvolvimento, com uma função de supervisão.

O Probely oferece avaliações gratuitas, licenças de avaliação empresarial e demonstrações de produtos. Entre em contato com Probely para começar.