OWASP Top 10 aplicativos de vulnerabilidade de segurança da web

O Open aplicativo da web Security Project (OWASP) é uma organização sem fins lucrativos com a missão de melhorar a segurança do aplicativo da web. A OWASP persegue essa missão fornecendo aos desenvolvedores acesso gratuito a uma ampla variedade de recursos de segurança, incluindo listas de vulnerabilidade, práticas recomendadas de segurança, sistemas deliberadamente vulneráveis para a prática de testes de aplicativos da web e muito mais. A OWASP também apoiou o desenvolvimento de ferramentas de teste de segurança de aplicativos e hospeda diversas conferências anuais em todo o mundo.

Baixe o artigo técnico Solicite uma demo

Qual é o Top 10 do OWASP?

A OWASP desenvolveu uma série de recursos que descrevem as vulnerabilidades mais comuns existentes em vários sistemas, incluindo aplicativo da web, API, dispositivo móvel e muito mais. O mais famoso deles é o OWASP Top Ten, que descreve as dez vulnerabilidades mais comuns e impactantes que aparecem em aplicativos da web em produção. Esta lista é atualizada a cada poucos anos com base em uma combinação de dados de testes de segurança e pesquisas com profissionais do setor.

A versão mais recente da lista OWASP Top 10 foi lançada em 2021. Este recurso fornece informações sobre as vulnerabilidades mais comuns, exemplos de cada tipo, práticas recomendadas para preveni-las e descrições de como a vulnerabilidade pode ser explorada. Além disso, cada vulnerabilidade inclui referências a especificações relacionadas de Common Weakness Enumeration (CWE), que descrevem uma instância específica de uma vulnerabilidade. Por exemplo, o uso de senhas codificadas (CWE-259) se enquadra na vulnerabilidade de falhas de identificação e autenticação na lista dos dez principais da OWASP.

Metodologia

A lista OWASP Top Ten é baseada em uma combinação de análise de dados fornecidos por usuários e uma pesquisa com profissionais do setor. Com base nos dados enviados pela comunidade, a equipe do OWASP determina as oito principais vulnerabilidades de sua lista, proporcionando visibilidade sobre as vulnerabilidades mais comuns no código de produção atualmente. As organizações foram solicitadas a enviar os CWEs que viram nos testes e o número de aplicativos testados que continham pelo menos uma instância de um CWE. Os 400 CWEs resultantes foram então analisados com base no impacto e na capacidade de exploração e classificados para produzir oito das dez principais categorias.

No entanto, com a atualização da lista de 2021, a equipe do OWASP reservou os dois últimos lugares da lista para contribuições de uma pesquisa comunitária. O objetivo disso era refletir tendências mais recentes e emergentes em vulnerabilidades, onde a falta de dados ou a incapacidade de testar uma vulnerabilidade poderia fazer com que ela fosse subestimada por um processo que dependesse exclusivamente de vulnerabilidades descobertas durante os testes.

Vulnerabilidade superior do OWASP

A versão mais recente do OWASP Top Ten continha várias alterações em relação à versão anterior. A lista de 2021 inclui as seguintes vulnerabilidades:

  1. Controle de acesso quebrado
  2. Falhas criptográficas
  3. Injeção
  4. Design Inseguro
  5. Configuração incorreta de segurança
  6. Componentes vulneráveis e desatualizados
  7. Falhas de identificação e autenticação
  8. Falhas de software e integridade de dados
  9. Falhas de registro e monitoramento de segurança
  10. Falsificação de solicitação do lado do servidor

Destas, quatro vulnerabilidades (4, 8 e 10) são totalmente novas, quatro permanecem inalteradas além da classificação e o restante consolida ou renomeia categorias da versão anterior da lista.

#1. Controle de acesso quebrado

Os sistemas de controle de acesso têm como objetivo garantir que apenas usuários legítimos tenham acesso aos dados ou funcionalidades. A vulnerabilidade na categoria de controle de acesso quebrado inclui qualquer problema que permita a um invasor contornar os controles de acesso ou que não consiga implementar o princípio do menor privilégio. Por exemplo, um aplicativo da web pode permitir que um usuário acesse a conta de outro usuário modificando a URL fornecida.

#2. Falhas criptográficas

Os algoritmos criptográficos são inestimáveis para proteger a privacidade e a segurança dos dados; entretanto, esses algoritmos podem ser muito sensíveis a erros de implementação ou configuração. As falhas criptográficas incluem a falha no uso da criptografia, configurações incorretas de algoritmos criptográficos e gerenciamento inseguro de chaves. Por exemplo, uma organização pode usar um algoritmo hash inseguro para armazenamento de senhas, falhar ao salgar senhas ou usar o mesmo sal para todas as senhas de usuários armazenadas.

#3. Injeção

A vulnerabilidade de injeção é possível devido a uma falha na higienização adequada da entrada do usuário antes de processá-la. Isso pode ser especialmente problemático em linguagens como SQL, onde dados e comandos são misturados, de modo que dados maliciosos e malformados fornecidos pelo usuário possam ser interpretados como parte de um comando. Por exemplo, o SQL normalmente usa aspas simples (') ou duplas (“) para delinear os dados do usuário em uma consulta, portanto, a entrada do usuário contendo esses caracteres pode ser capaz de alterar o comando que está sendo processado.

#4. Design Inseguro

A vulnerabilidade pode ser introduzida no software durante o processo de desenvolvimento de duas maneiras diferentes. Embora muitas das vulnerabilidades na lista Top Ten do OWASP tratem de erros de implementação, esta vulnerabilidade descreve falhas de design que prejudicam a segurança do sistema. Por exemplo, se o design de um aplicativo que armazena e processa dados confidenciais não inclui um sistema de autenticação, então uma implementação perfeita do software conforme projetado ainda será insegura e não protegerá adequadamente esses dados confidenciais.

#5. Configuração incorreta de segurança

Além de seu design e implementação, a segurança de um aplicativo também é determinada pela forma como ele é configurado. Um fabricante de software terá configurações padrão para seu aplicativo, e os usuários também poderão ativar ou desativar diversas configurações, o que pode melhorar ou prejudicar a segurança do sistema. Exemplos de configurações incorretas de segurança podem incluir a ativação de aplicativos ou portas desnecessárias, deixar contas e senhas padrão ativas e inalteradas ou configurar mensagens de erro para expor muitas informações a um usuário.

Nº 6 Componentes vulneráveis e desatualizados

A vulnerabilidade da cadeia de fornecimento surgiu como uma grande preocupação nos últimos anos, especialmente porque os agentes de ameaças tentaram inserir códigos maliciosos ou vulneráveis em bibliotecas comumente usadas e dependências de terceiros. Se uma organização não tiver visibilidade do código externo usado em seu aplicativo — incluindo dependências aninhadas — e não conseguir verificar se há dependências, ela poderá ficar vulnerável à exploração. Além disso, a falha na aplicação imediata de atualizações de segurança a essas dependências pode deixar uma vulnerabilidade explorável aberta a ataques. Por exemplo, um aplicativo pode importar uma biblioteca de terceiros que tenha suas próprias dependências que possam conter vulnerabilidades exploráveis conhecidas.

#7. Falhas de identificação e autenticação

Muitos aplicativos e sistemas exigem alguma forma de identificação e autenticação, como um usuário que comprova sua identidade a um aplicativo ou um servidor que fornece um certificado digital que verifica sua identidade a um usuário ao configurar uma conexão criptografada por TLS. Falhas de identificação e autenticação ocorrem quando um aplicativo depende de processos de autenticação fracos ou não consegue validar adequadamente as informações de autenticação. Por exemplo, um aplicativo que não possui Autenticação multifatorial (MFA) pode ser vulnerável a um ataque de preenchimento de credenciais, no qual um invasor tenta automaticamente combinações de nome de usuário e senha a partir de uma lista de credenciais fracas, comuns, padrão ou comprometidas.

#8. Falhas de software e integridade de dados

A vulnerabilidade de falhas de integridade de software e dados na lista dos 10 principais do OWASP aborda pontos fracos na segurança do pipeline DevOps de uma organização e nos processos de atualização de software semelhantes àqueles que tornaram possível o hack da SolarWinds. Esta classe de vulnerabilidade inclui depender de código de terceiros de fontes ou repositórios não confiáveis, não proteger o acesso ao pipeline de CI/CD e não validar adequadamente a integridade das atualizações aplicadas automaticamente. Por exemplo, se um invasor puder substituir um módulo ou dependência confiável por uma versão modificada ou maliciosa, os aplicativos criados com essa dependência poderão executar código malicioso ou ficar vulneráveis à exploração.

#9. Falhas de registro e monitoramento de segurança

As falhas de registro e monitoramento de segurança são a primeira das vulnerabilidades derivadas das respostas da pesquisa e subiram do décimo lugar na iteração anterior da lista. Muitos incidentes de segurança são ativados ou exacerbados pelo fato de um aplicativo não conseguir registrar eventos de segurança significativos ou de esses arquivos de log não serem monitorados e manipulados adequadamente. Por exemplo, um aplicativo pode não gerar arquivos de log, pode gerar logs de segurança sem informações críticas ou esses arquivos de log podem estar disponíveis apenas localmente em um computador, tornando-os úteis apenas para investigação após a detecção de um incidente. Todas estas falhas degradam a capacidade de uma organização detectar rapidamente um potencial incidente de segurança e responder em tempo real.

#10. Falsificação de solicitação do lado do servidor

A falsificação de solicitação do lado do servidor (SSRF) é incomum entre as vulnerabilidades listadas na lista dos dez principais do OWASP porque descreve uma vulnerabilidade ou ataque muito específico, em vez de uma categoria geral. A vulnerabilidade dos SSRF é relativamente rara; no entanto, têm um impacto significativo se forem identificados e explorados por um invasor. O hack do Capital One é um exemplo de incidente de segurança recente e de alto impacto que se aproveitou de uma vulnerabilidade SSRF.

A vulnerabilidade SSRF pode existir quando um aplicativo da web não valida adequadamente uma URL fornecida por um usuário ao buscar um recurso remoto localizado nessa URL. Se for esse o caso, então um invasor que explora a vulnerabilidade pode usar o aplicativo da web vulnerável para enviar uma solicitação elaborada pelo invasor para a URL indicada. Isso permite que o invasor contorne os controles de acesso, como um firewall, que bloquearia conexões diretas do invasor com a URL de destino, mas está configurado para fornecer acesso ao aplicativo da web vulnerável.

AppSec abrangente com CloudGuard AppSec

Os aplicativos da web de uma organização são algumas das partes mais visíveis e exploráveis de sua superfície de ataque digital. No entanto, esses aplicativos também costumam conter vulnerabilidades exploráveis, muitas vezes devido à falta de conhecimento dessas vulnerabilidades e às práticas recomendadas de segurança para evitá-las. A lista OWASP Top Ten é um esforço da OWASP Foundation para resolver esse problema e reduzir os riscos de segurança dos aplicativos da web, chamando a atenção para essas vulnerabilidades e fornecendo recursos que ajudam os desenvolvedores a identificá-las, evitá-las e remediá-las.

Verificar, remediar e proteger contra a vulnerabilidade descrita na lista OWASP Top Ten é um bom ponto de partida para o aplicativo da web DevSecOps. Essas vulnerabilidades são algumas das vulnerabilidades mais comuns e de alto impacto em aplicativos da web, e sua visibilidade as torna alvos comuns de agentes de ameaças cibernéticas.

À medida que os aplicativos migram cada vez mais para a nuvem, a proteção da carga de trabalho na nuvem é vital para protegê-los contra o OWASP Top Ten e outros riscos importantes de segurança de aplicativos. Para obter mais informações sobre as ameaças à segurança do seu aplicativo baseado em nuvem, confira este e-book.

Check Point CloudGuard AppSec fornece proteção abrangente contra o OWASP Top Ten e outras vulnerabilidades comuns de aplicativos da web. Saiba mais sobre como o CloudGuard AppSec pode proteger seu aplicativo em nuvem com este whitepaper. Em seguida, veja você mesmo seus recursos inscrevendo-se para uma demogratuita.

×
  Opinião
Este site usa cookies para sua funcionalidade e para fins de análise e marketing. Ao continuar a usar este site, você concorda com o uso de cookies. Para mais informações, leia o nosso Aviso de Cookies.
OK