O que é OWASP? Introdução às 10 principais vulnerabilidades e riscos do OWASP

O OWASP é uma fundação sem fins lucrativos que trabalha para melhorar a segurança de software.

OWASP (Open Worldwide Application Security Project) é uma comunidade aberta dedicada a permitir que organizações projetem, desenvolvam, adquiram, operem e mantenham software para aplicativos seguros e confiáveis. Seus programas incluem projetos de software de código aberto liderados pela comunidade e conferências locais e globais, envolvendo centenas de capítulos em todo o mundo com dezenas de milhares de membros.

Por que o OWASP é importante?

O OWASP desempenha um papel crucial na conscientização sobre os riscos de segurança de aplicativos web e fornece recursos valiosos, ferramentas, documentação e melhores práticas para enfrentar os crescentes desafios de segurança de aplicativos web. OWASP ajuda desenvolvedores, profissionais de segurança e organizações a entender ameaças potenciais e adotar as melhores práticas de segurança.  

A OWASP mantém uma lista dos dez riscos de segurança de aplicativos web mais críticos, juntamente com processos, procedimentos e controles eficazes para mitigá-los. O OWASP também fornece uma lista dos 10 principais riscos de segurança de API para educar os envolvidos no desenvolvimento e manutenção de API e aumentar a conscientização sobre as fraquezas comuns de segurança de API.

A comunidade OWASP incentiva indivíduos e organizações a contribuírem com seus projetos e recursos. Essa abordagem colaborativa e baseada em pesquisas permite que a comunidade aproveite o conhecimento coletivo e a experiência de seus membros, resultando em recursos abrangentes e atualizados.

Há riscos de segurança comuns a aplicativos e APIs que devem ser considerados ao implementar soluções de segurança. Por exemplo: 

  • Controles de autenticação/autorização fracos
  • Configuração incorreta
  • Abuso da lógica de negócios (credential stuffing, account takeover)
  • Server-Side Request Forgery (SSRF).

 

Os 10 principais riscos de segurança de aplicações segundo o OWASP

O OWASP Top 10 é uma lista amplamente reconhecida dos riscos de segurança de aplicativos web mais críticos. A lista serve como um guia para desenvolvedores, profissionais de segurança e organizações à medida que priorizam seus esforços na identificação e mitigação de riscos críticos de segurança de aplicativos web. 

A presença de um risco na lista dos 10 principais da OWASP não indica necessariamente sua prevalência ou gravidade em todos os aplicativos da web, e os dez principais não são classificados em uma ordem específica ou por prioridade.  

Os 10 principais riscos de segurança de aplicativos da web da OWASP para 2021 são:

  1. Controles de acesso quebrados. Essa vulnerabilidade ocorre quando a aplicação insuficiente de controles de acesso e autorização permite que invasores acessem funcionalidades ou dados não autorizados. Isso pode ocorrer devido a referências diretas a objetos (IDORs) inseguras, que podem surgir quando um aplicativo falha ao validar ou autorizar a entrada do usuário usada como referência direta a um objeto interno. Isso também pode ocorrer devido à ausência de controles de acesso em nível de função, quando o aplicativo valida apenas os controles de acesso no estágio inicial de autenticação ou autorização, mas não aplica esses controles de forma consistente em todas as funções ou operações do aplicativo. Um firewall de aplicativo da Web (WAF) pode ajudar a proteger contra esses ataques monitorando e aplicando controles de acesso para impedir o acesso não autorizado a objetos ou recursos confidenciais.

  2. Falhas criptográficas. Esse risco ocorre devido à proteção inadequada de dados confidenciais durante o trânsito e em repouso. Falhas criptográficas podem levar a violações de dados, acesso não autorizado a informações confidenciais e não conformidade com regulamentações de privacidade de dados, como o Regulamento Geral de Proteção de Dados da UE (GDPR), e padrões financeiros como os Padrões de Segurança de Dados PCI (PCI DSS). Essas falhas podem resultar de armazenamento criptográfico inseguro, armazenamento de dados em texto simples ou gerenciamento de chaves inseguro. O risco também pode derivar de vazamento de informações, que pode ter origem na geração de chaves fracas ou números aleatórios ou em falhas em protocolos criptográficos. 
  3. Ataques de injeção. Falhas de injeção ocorrem quando invasores inserem dados não confiáveis ou hostis em linguagens de comando ou consulta, ou quando dados fornecidos pelo usuário não são validados, filtrados ou higienizados pelo aplicativo, levando à execução não intencional de comandos maliciosos. Esta categoria de risco abrange ataques NoSQL, comando do sistema operacional, LDAP e injeção de SQL, e também inclui Cross-Site Scripting (XSS) , no qual os invasores injetam scripts maliciosos do lado do cliente, como JavaScript, em páginas da web visualizadas por outros usuários. Isso pode resultar no roubo de informações confidenciais, como credenciais de login, dados pessoais ou cookies de sessão. Um WAF pode ajudar a detectar e bloquear tentativas de injeção de código malicioso inspecionando e filtrando solicitações de entrada, incluindo XSS refletido (não persistente), armazenado (persistente) e baseado em módulo de objeto de documento (DOM), impedindo que cheguem ao aplicativo.
  4. Design inseguro. Esta é uma categoria ampla que representa diferentes fraquezas, expressas como controles de segurança ausentes ou ineficazes e falhas arquitetônicas. Essas falhas podem ocorrer quando um aplicativo é projetado para depender de processos inerentemente inseguros ou quando os controles de segurança necessários para defesa contra ataques específicos não são implementados. Esses riscos podem ser reduzidos por meio do uso crescente de modelagem de ameaças, padrões de design seguros e arquiteturas de referência.  
  5. Configurações incorretas de segurança. A falta de reforço de segurança em estruturas de aplicativos web, plataformas, servidores ou controles de segurança pode levar ao acesso não autorizado, à exposição de informações confidenciais ou a outras vulnerabilidades de segurança. Riscos devido a configurações incorretas de segurança também podem resultar de permissões configuradas incorretamente em serviços de nuvem ou da instalação ou ativação de recursos desnecessários, como portas, serviços, contas ou privilégios não utilizados. A configuração incorreta de aplicativos da Web e APIs é um risco significativo porque os principais provedores de nuvem têm diferentes posturas de segurança padrão e a arquitetura está se tornando cada vez mais descentralizada e distribuída em uma estrutura de várias nuvens.    
  6. Componentes vulneráveis e desatualizados. O uso de componentes desatualizados, sem patches ou vulneráveis, como bibliotecas, estruturas ou plug-ins, pode expor aplicativos a falhas de segurança conhecidas, aumentando o risco de exploração. Esses riscos podem resultar de software sem suporte ou desatualizado, incluindo o sistema operacional (SO), servidor web/de aplicativos, sistema de gerenciamento de banco de dados (SGBD), aplicativos, APIs e todos os componentes, ambientes de execução e bibliotecas. Essas ameaças são particularmente perigosas quando as organizações não têm medidas oportunas e baseadas em risco para corrigir ou atualizar a plataforma, as estruturas e as dependências subjacentes de um sistema, deixando o sistema exposto a dias ou semanas de exposição desnecessária a riscos conhecidos. Cadeias de fornecimento de software complexas e automação por meio de pipelines de CI/CD aumentam o risco de introdução de software vulnerável na pilha de TI. Um WAF pode servir como uma solução paliativa essencial para proteger contra exploração de vulnerabilidades.  
  7. Falhas de identificação e autenticação. Fraquezas na autenticação, identidade e gerenciamento de sessão podem permitir que invasores comprometam contas de usuários, senhas, tokens de sessão ou explorem o tratamento inseguro de sessões. Falhas nessas áreas podem permitir ataques automatizados, como preenchimento de credenciais . Vulnerabilidades relacionadas a senhas são a fonte mais comum desses riscos, pois muitas pessoas reutilizam senhas ou usam senhas padrão, fracas ou bem conhecidas. Problemas de gerenciamento de sessão também podem levar a ataques relacionados à autenticação, principalmente se as sessões do usuário ou os tokens de autenticação não forem invalidados corretamente durante o logout ou um período de inatividade. Ataques que ignoram controles de autenticação são um risco crescente para aplicativos da web e APIs, conforme detalhado nos projetos OWASP Top 10, API Security Top 10 e Automated Threats.  
  8. Falhas de software e integridade de dados. Essas vulnerabilidades resultam de código e infraestrutura de aplicativos que não conseguem proteger contra violações de integridade de dados e software. Isso pode ocorrer quando um aplicativo depende de plugins, bibliotecas ou módulos de fontes, repositórios e CDNs não confiáveis. Isso também pode ocorrer durante atualizações de software, modificações de dados confidenciais e alterações de pipeline de CI/CD que não são validadas. Os invasores podem potencialmente enviar suas próprias atualizações para serem distribuídas e executadas em todas as instalações. A desserialização insegura, em que um aplicativo pega dados serializados não confiáveis e os consome sem garantir que sejam válidos, também faz parte dessa categoria de risco, permitindo ataques como execução remota de código (RCE) e escalonamento de privilégios. 
  9. Falhas no registro e monitoramento de segurança. Registro e monitoramento inadequados podem dificultar a detecção e a resposta oportunas a incidentes de segurança, dificultando a identificação e a mitigação de ataques ou atividades não autorizadas. Isso pode significar que eventos auditáveis, como logins, logins com falha e transações de alto valor não são identificados ou registrados, e que os aplicativos não detectam ataques ativos em tempo real.  
  10. Server-Side Request Forgery (SSRF).Essas vulnerabilidades ocorrem quando um aplicativo não valida ou higieniza uma URL inserida por um usuário antes de extrair dados de um recurso remoto. Os invasores podem usar essas falhas para forçar aplicativos a acessar destinos maliciosos da web, mesmo que protegidos por um firewall ou outra defesa. Esses ataques também podem acontecer se o recurso direcionado tiver relações de confiança com outros sistemas, como um serviço de metadados em nuvem ou APIs de back-end, permitindo que um invasor faça solicitações a esses serviços confiáveis e extraia informações confidenciais ou execute ações não autorizadas.Para ajudar a mitigar o SSRF, projete sistemas para acesso com privilégios mínimos e use um WAF para definir explicitamente os parâmetros do identificador uniforme de recursos (URI) em sua política de segurança e permitir/não permitir hosts que podem acessá-los.

O OWASP Top 10 de 2021 reflete algumas novas categorias e mudanças de nomenclatura em relação ao OWASP Top 10 anterior de 2017. Essas mudanças incluíram a integração das Entidades Externas XML (XXE) de risco de 2017 na categoria Configuração Incorreta de Segurança de 2021 e a adição de Cross-Site Scripting (XSS) de 2017 na categoria Injeção de 2021. O risco de Desserialização Insegura de 2017 agora faz parte da categoria Falhas de Integridade de Software e Dados de 2021.    

Outras publicações do OWASP

Atualmente, o OWASP patrocina 293 projetos, incluindo os seguintes 16 projetos emblemáticos que agregam valor estratégico ao OWASP e à segurança de aplicações como um todo.

  1. Projeto OWASP Amass, que desenvolveu uma ferramenta para ajudar profissionais de segurança da informação a realizar mapeamento de rede de superfícies de ataque e realizar descoberta de ativos externos usando coleta de informações de código aberto e técnicas de reconhecimento ativo. 
  2. OWASP Application Security Verification Standard Project (ASVS), que fornece uma base para testar controles técnicos de segurança de aplicativos web e também fornece aos desenvolvedores uma lista de requisitos para desenvolvimento seguro.  
  3. Série de folhas de dicas do OWASP, criada para fornecer um conjunto de guias de boas práticas fáceis de seguir para desenvolvedores e defensores de aplicativos. Em vez de focar em práticas recomendadas detalhadas que são impraticáveis para muitos desenvolvedores e aplicativos, o objetivo é fornecer boas práticas que a maioria dos desenvolvedores realmente conseguirá implementar.  
  4. OWASP CycloneDX, que é um padrão de Lista de Materiais (BOM) completo que fornece recursos avançados de cadeia de suprimentos para redução de risco cibernético.   
  5. OWASP Defectdojo, que é uma ferramenta de gerenciamento de vulnerabilidades de código aberto que simplifica o processo de teste ao oferecer modelos, geração de relatórios, métricas e ferramentas de autoatendimento de linha de base. 
  6. OWASP Dependency-Check, que é uma ferramenta de análise de composição de software (SCA) que tenta detectar vulnerabilidades divulgadas publicamente contidas nas dependências de um projeto. Ele faz isso determinando se há um identificador de enumeração de plataforma comum (CPE) para uma determinada dependência. Se encontrado, ele gerará um relatório com links para as entradas de vulnerabilidades e exposições comuns (CVE) associadas.   
  7. OWASP Dependency-Track, que é uma plataforma inteligente de análise de componentes que permite que organizações identifiquem e reduzam riscos na cadeia de suprimentos de software.
  8. OWASP Juice Shop, que é talvez o aplicativo web inseguro mais moderno e sofisticado, usado em treinamentos de segurança, demonstrações de conscientização, competições de captura de bandeira e como cobaia para ferramentas de segurança. O Juice Shop abrange vulnerabilidades de todo o OWASP Top Ten, além de muitas outras falhas de segurança encontradas em aplicativos do mundo real.   
  9. OWASP Mobile Application Security, que é o principal projeto da OWASP para fornecer um padrão de segurança para aplicativos móveis. Ele também inclui um guia de testes abrangente que abrange os processos, técnicas e ferramentas usadas durante os testes de segurança de aplicativos móveis, bem como um conjunto exaustivo de casos de teste que permite que os testadores forneçam resultados consistentes e completos. 
  10. Conjunto de regras básicas do OWASP ModSecurity, que é um conjunto de regras genéricas de detecção de ataques para uso com o ModSecurity ou firewalls de aplicativos web compatíveis. O CRS tem como objetivo proteger aplicativos da web de uma ampla gama de ataques, incluindo o OWASP Top Ten, com um mínimo de alertas falsos.   
  11. Projeto OWASP OWTF (Offensive Web Testing Framework), que é uma estrutura de teste de penetração de aplicativos web de código aberto projetada para avaliar e testar a segurança de aplicativos web. O principal objetivo do OWTF é ajudar profissionais de segurança e testadores de penetração a automatizar o processo de avaliação e teste de vulnerabilidades em aplicativos da web, permitindo que eles identifiquem e solucionem fraquezas de segurança de forma mais eficaz.
  12. OWASP SAMM (Modelo de Maturidade de Garantia de Software), que fornece uma maneira eficaz e mensurável de analisar e melhorar a modelagem segura do ciclo de vida do desenvolvimento . O SAMM oferece suporte ao ciclo de vida completo do software e é independente de tecnologia e processo .  
  13. OWASP Security Knowledge Framework, que é um aplicativo web que explica princípios de codificação segura em diversas linguagens de programação e tem como objetivo ajudar desenvolvedores a criar aplicativos que sejam seguros por design.  
  14. OWASP Security Shepherd, uma plataforma de treinamento em segurança de aplicativos móveis e web projetada para promover e melhorar a conscientização sobre segurança entre um grupo demográfico com diversos conjuntos de habilidades. O objetivo deste projeto é recrutar novatos ou engenheiros experientes em AppSec e aprimorar suas habilidades em testes de penetração para o status de especialistas em segurança.   
  15. Guia de testes de segurança da Web OWASP , que é um guia abrangente para testar a segurança de aplicativos e serviços da Web. Ele fornece uma estrutura de melhores práticas usadas por testadores de penetração e organizações em todo o mundo.
  16. OWASP ZAP , que é uma ferramenta de teste de segurança de aplicativos web projetada para ajudar profissionais de segurança e desenvolvedores a identificar e mitigar vulnerabilidades de segurança em aplicativos web durante as fases de desenvolvimento e teste.   

O caso dos controles de segurança integrados

A OWASP desempenha um papel fundamental na busca contínua para melhorar a segurança do software, aumentando a conscientização sobre os riscos de segurança de aplicativos web e defendendo as melhores práticas entre desenvolvedores, profissionais de segurança e organizações. Como um projeto conduzido pela comunidade, o OWASP reúne especialistas e entusiastas para colaborar na melhoria da segurança de aplicativos web, ajudando a construir uma cultura consciente da segurança que promove práticas de codificação seguras e metodologias de desenvolvimento seguras.

Além disso, o OWASP fornece uma grande variedade de ferramentas, documentos e recursos gratuitos e de código aberto que capacitam as organizações a aprimorar sua postura de segurança, incluindo o OWASP Top 10, o OWASP API Security Top 10 e o Automated Threats to Web Applications Project. Outras iniciativas da OWASP incluem:

Envolva-se tornando-se membro da OWASP ou participando de uma reunião do capítulo local, que é gratuita e aberta a membros e não membros. Além disso, a OWASP organiza quase uma dúzia de eventos globais e regionais a cada ano, que são ótimas oportunidades para melhorar suas habilidades profissionais, construir sua rede profissional e aprender sobre novas tendências no setor.

A F5 aborda os riscos de segurança do OWASP

A F5 apoia a Fundação OWASP e sua dedicação em melhorar a segurança de software e aumentar a conscientização sobre riscos e vulnerabilidades de segurança de aplicativos web. As soluções de firewall de aplicativo Web da F5 bloqueiam e mitigam um amplo espectro de riscos decorrentes do OWASP Top 10 .

As soluções F5 WAF combinam proteções de assinatura e comportamentais, incluindo inteligência de ameaças do F5 Labs e segurança baseada em ML, para acompanhar as ameaças emergentes. Ele alivia o fardo e a complexidade de proteger consistentemente aplicativos em nuvens, ambientes locais e de ponta, ao mesmo tempo em que simplifica o gerenciamento por meio de uma infraestrutura SaaS centralizada. Os F5 WAFs também otimizam a segurança do aplicativo ao integrar proteções em estruturas de desenvolvimento e pipelines de CI/CD com funcionalidade de segurança central, orquestração centralizada e supervisão por meio de um único painel com uma visão de 360 graus do desempenho do aplicativo e eventos de segurança em aplicativos distribuídos. 

A F5 também aborda os riscos identificados no OWASP API Security Top 10 com soluções que protegem a crescente superfície de ataque e as ameaças emergentes à medida que os aplicativos evoluem e as implantações de API aumentam. As soluções de proteção de API e aplicativos da Web (WAAP) da F5 defendem toda a superfície de ataque de aplicativos modernos com proteções abrangentes que incluem WAF, segurança de API , mitigação de DDoS L3-L7 e defesa de bots contra ameaças automatizadas e fraudes. A plataforma distribuída simplifica a implantação de políticas consistentes e a escala de segurança em todo o seu conjunto de aplicativos e APIs, independentemente de onde estejam hospedados, além de integrar a segurança ao ciclo de vida da API e aos ecossistemas mais amplos.

A F5 também oferece soluções para lidar com os riscos descritos no Projeto Ameaças Automatizadas a Aplicativos Web da OWASP. O F5 Distributed Cloud Bot Defense previne fraudes e abusos que podem contornar as soluções de gerenciamento de bots existentes e fornece monitoramento e inteligência em tempo real, bem como análise retrospectiva baseada em ML para proteger organizações de ataques automatizados, sem causar atrito ao usuário ou interromper a experiência do cliente. A defesa distribuída de bots na nuvem mantém a eficácia independentemente de como os invasores se reorganizam, se os ataques mudam de aplicativos da web para APIs ou tentam contornar as defesas antiautomação falsificando telemetria ou usando solucionadores de CAPTCHA humanos.

A F5 também oferece proteção DDoS em várias camadas para segurança on-line avançada como um serviço de mitigação gerenciado e fornecido pela nuvem que detecta e atenua ataques de larga escala direcionados a redes, protocolos e aplicativos em tempo real; as mesmas proteções estão disponíveis como soluções de hardware, software e híbridas locais. O F5 Distributed Cloud DDoS Mitigation defende contra ataques volumétricos e específicos de aplicativos de camada 3-4 e ataques avançados de camada 7 antes que eles atinjam sua infraestrutura de rede e aplicativos.