retornar retornar
Descodificação de ameaças cibernéticas  para 2023

POR:
Equipe de Engenharia de Segurança Cibernética

COMPARTILHAR

Twitter Facebook Linkedin
Referências

Implementação simplificada do OWASP WSTG

Melhorar a segurança dos aplicativos da Web é um aspecto importante das operações do processo de desenvolvimento de software. Para manter os testes de segurança no caminho certo e em ordem, a OWASP desenvolveu o Web Security Testing Guide (WSTG). Ele fornece orientação abrangente para profissionais e desenvolvedores de segurança.

O objetivo desta postagem é apresentar um guia simples para implementar e aproveitar os recursos do WSTG v4.2 em sua organização.

Principais recursos

A abordagem da estrutura de teste tem como objetivo transmitir de forma ordenada o quê, por quê? Quando? E onde? dos testes de segurança de aplicativos da Web.

Dentro do "o quê", podemos encontrar sistemas e aplicativos que serão comparados com um conjunto de critérios usando um procedimento para garantir a confiança; nessa abordagem, encontramos a tríade de pessoas, processos e tecnologia. O foco não é apenas técnico, mas também de gerenciamento e operação.

Dentro do Quando podemos nos alinhar ao nosso ciclo de desenvolvimento de software (SDLC), seja qual for a metodologia que estivermos adotando, o objetivo é considerar os momentos em que melhorar a segurança é "mais barato" em termos de esforço geral.

Modelo genérico de SDLC


Além disso, o WSTG possui recursos projetados especificamente, sendo que a última de suas atualizações inclui a introdução de novos cenários de teste, incluindo testes, por exemplo, em APIs GraphQL. Isso serve para fornecer uma abordagem de teste de segurança mais abrangente, cobrindo as mais recentes tecnologias da Web.

Para permitir um processo de teste mais sistemático, também foram adicionados objetivos a todos os cenários. A importância desses objetivos é que eles fornecem à equipe de teste metas claras e resultados esperados para cada cenário de teste.

A experiência de leitura também foi significativamente aprimorada com a padronização dos formatos dos cenários. Isso facilita a compreensão e o acompanhamento do guia de teste pela sua equipe.

Estrutura da estrutura de teste

O WSTG está estruturado em 5 fases marcadas por diferentes estágios típicos do ciclo de desenvolvimento de software:

Fase 1: Antes do início do desenvolvimento
O planejamento de testes inclui não apenas o alinhamento com a estrutura atual do SDLC, mas também a revisão de políticas e padrões aplicáveis ao aplicativo a ser testado, sua documentação existente e a definição de métricas ou elementos a serem medidos para avaliar a conformidade do teste.

Fase 2 durante a definição e o projeto
Nessa fase, são definidos os objetivos e os requisitos de segurança a serem avaliados, incluindo os mecanismos de segurança atuais, como: gerenciamento de usuários, autenticação, confidencialidade dos dados, segurança das comunicações, integridade, entre outros.

O design e a arquitetura dos aplicativos também são avaliados em relação aos modelos de ameaças, com o objetivo de encontrar lacunas nos estágios iniciais e críticos do desenvolvimento.

Fase 3 durante o desenvolvimento
As revisões rápidas de código são conduzidas em um formato de "tutorial" para entender a estrutura geral e, em seguida, aprofundar com revisões específicas quando necessário (é aqui que entra o OWASP Top 10!).

Fase 4 durante a implementação
Nesse estágio, já temos uma parte funcional do aplicativo na qual podemos realizar testes "dinâmicos". Testamos o design por meio de testes de penetração ou testes funcionais de diferentes tipos.

Fase 5 durante a manutenção e as operações
Essa fase costuma ser a mais complicada de sustentar ou garantir, pois abrange tudo o que acontece depois que o aplicativo foi implantado, como avaliações periódicas para garantir que o nível de segurança obtido durante o teste seja mantido.

Implementação do WSTG

Para implantar a WSTG em uma organização, de forma simplificada e geral, propomos as seguintes etapas:

Preparação:

 • Conheça seus objetivos: entenda o que você deseja alcançar com os testes de segurança. Isso pode incluir a identificação de vulnerabilidades, a conformidade com normas específicas ou simplesmente melhorar a segurança geral do seu aplicativo Web. Você pode estruturar o seu planejamento fazendo uma modelagem de ameaças e definindo algumas métricas que considera relevantes para a sua empresa.

 • Coleta de informações: reúna informações sobre o aplicativo que você vai testar. Isso inclui URLs, tecnologias usadas (por exemplo, estruturas, bancos de dados) e quaisquer outras informações relevantes.

 • Obter permissão: certifique-se de que você tem permissão explícita para realizar testes de segurança no aplicativo Web. O teste sem consentimento pode estar fora da estrutura legal ou ser eticamente incorreto.

Configuração do ambiente de teste:

 • Ferramentas: instale as ferramentas necessárias para os testes, como scanners de vulnerabilidade, proxies de interceptação (por exemplo, OWASP ZAP, Burp Suite) e ferramentas de análise de código estático ou dinâmico (a OWASP tem uma lista de opções para cada caso).

 • Ambiente de teste: sempre que possível, configure um ambiente de teste que seja uma réplica exata ou representativa do ambiente de produção. Isso permite que você faça testes sem o risco de afetar os dados ou a disponibilidade do sistema de produção.

Desempenho do teste:

 • Testes de reconhecimento: comece com testes de reconhecimento para obter mais informações sobre o aplicativo, como a identificação de pontos de entrada, serviços expostos e versões de software. Nesses testes, você pode executar diretamente uma revisão do código-fonte, o que lhe permitirá obter uma visão mais detalhada do aplicativo ou do trecho de código que está sendo testado.

 • Teste de vulnerabilidade: Use o OWASP WSTG Test Guide como referência para testes específicos, como injeção de SQL, XSS (cross-site scripting), autenticação insegura e manipulação de sessão, configuração incorreta de segurança e exposição de dados confidenciais, entre outros. Cada um desses testes conterá uma análise do ponto de vista da ameaça e um conjunto de possíveis atenuações aplicadas em algum ponto do ciclo de desenvolvimento.

Casos de uso, ameaças e atenuação


 • Automação e teste manual: combine o uso de ferramentas automatizadas com testes manuais para obter uma cobertura de teste mais abrangente. As ferramentas podem ajudá-lo a identificar vulnerabilidades conhecidas, enquanto o teste manual é fundamental para identificar problemas lógicos e outros problemas que as ferramentas não conseguem detectar. As abordagens de teste incluem:

 • Identidade, autenticação e controle de acesso

 • Validação de entrada

 • Criptografia

 • Gerenciamento de usuários e sessões

 • Tratamento de erros e exceções

 • Registros e auditoria

Relatório e correção de vulnerabilidades:

 • Documente suas descobertas: Crie um relatório detalhado das vulnerabilidades encontradas, incluindo a gravidade, a descrição do problema e as recomendações para correção.

 • Comunicar os resultados: apresente os resultados às equipes relevantes (desenvolvimento, segurança, operações) e discuta as ações corretivas.

 • Correção de vulnerabilidades: trabalhe com a equipe de desenvolvimento para corrigir as vulnerabilidades identificadas. Isso pode incluir a modificação do código, a alteração das configurações ou a aplicação de patches em componentes de terceiros.

Verificação e monitoramento:

 • Verificação das correções: Depois que as correções forem aplicadas, realize testes de acompanhamento para verificar se as vulnerabilidades foram efetivamente resolvidas.

Conclusão

O WSTG v4.2 é um recurso valioso para melhorar a segurança dos aplicativos da Web da sua organização. Sua metodologia e escopo simplificados o tornam aplicável a organizações de todos os tamanhos. Lembre-se de que a segurança de aplicativos Web não é um evento único, mas um processo contínuo.

Mantenha-se atualizado e seguro.