OWASP Top 10:2021
Introdução
Bem-vindo ao Top 10 da OWASP - 2021
O que mudou no Top 10 de 2021
Há novas categorias, quatro categorias com nomes de mudanças de nenhuma menclatura e escopo e garantia no Top 10 para 2021. Mudamos os três para focar na causa sobre sintomatologia.
- A01:2021-O controle de acesso quebrado sobe da quinta posição para a categoria com o risco de segurança do aplicativo da web mais grave; os dados fornecidos indicam que, em média, 3,81% dos aplicativos testados tinham uma ou mais Enumerações de Fraqueza Comum (CWEs) com 318 mil ocorrências de CWEs nesta categoria de risco. Os 34 CWEs mapeados para Broken Access Control tiveram mais ocorrências em aplicativos que qualquer um.
- A02:2021-As falhas criptográficasem uma posição para a 2ª posição, anteriormente.
- A3:2017-Exposição de dados , que era uma sintomatologia ampla e não uma causa raiz. O nome renovado se concentra em falhas relacionadas à criptografia, como antes implicitamente. Essa categoria geralmente leva à exposição de dados ou comprometimento do sistema.
- A03: 2021- A infiltração para a terceira posição. 94% dos aplicativos foram testados para os aplicativos de forma de ocorrência máxima com um taxa de probabilidade de ocorrência de 19%, um taxa de especificação desta categoria e número 33 CWEs maiores de ocorrência em aplicativos têm o mapa de segunda ocorrência com 274k ocorrências. Cross-site Scripting agora faz parte desta categoria nesta edição.
- A04:2021-Design inseguro é uma nova categoria para 2021, com foco em riscos relacionados a falhas de projeto. Se realmente queremos "para a esquerda" como um setor, precisamos de mais modelagem de ameaças, padrões e princípios de seguros e arquiteturas de referência. Uma implementação corrigida de design correto pode ser definida com segurança, pois a solução por definição nunca foi criada para se defender por definição.
- A05:2021-Configuração incorreta de segurança subiu do 6º lugar na edição anterior; 90% dos aplicativos foram testados para algum tipo de configuração incorreta, com uma taxa de incidência média de 4,5%, e mais de 208 mil ocorrências de CWEs mapeadas para essa categoria de risco. Com mais mudanças em software altamente configurável, não é surpreendente ver essa categoria subir. A antiga categoria para Entidades Externas A4:2017-XML (XXE) agora faz parte desta categoria de risco.
- A06:2021-Vulnerable and Outdated Components foi anteriormente Using Component with Known Vulnerabilities e é o número 2 na pesquisa da comunidade Top 10, mas também tinha dados suficientes para entrar no Top 10 por meio de análise de dados. Essa categoria subiu do 9º lugar em 2017 e é um problema conhecido que lutamos para testar e avaliar o risco. É uma categoria única e não ter nenhuma Vulnerabilidade e Exposições Comuns (CVEs) mapeadas para os CWEs incluídos, portanto, uma exploração padrão e pesos de impacto de 5,0 são considerados em suas pontuações.
- A07:202-1 Como falhas de autenticação e agora eram anteriores à autenticação da posição e agora deslizando para a autenticação da posição e agora deslizando para a autenticação da posição e agora incluindo os CW segunda autenticação que está mais na autenticação da autenticação. Essa categoria ainda é parte exclusiva do Top 10, mas a disponibilidade de estruturas padronizadas maior parece estar ajudando.
- A08:2021-Software and Data Integrity Failures é uma nova categoria para 2021, com foco em fazer suposições relacionadas a atualizações de software, dados críticos e pipelines de CI/CD sem verificar a integridade. Um dos impactos mais ponderados dos dados do Common Vulnerability and Exposures/Common Vulnerability Scoring System (CVE/CVSS) mapeados para os 10 CWEs nesta categoria. A8:2017-A desserialização insegura agora faz parte dessa categoria maior.
- A09:2021-As falhas de registro e monitoramento de segurança eram anteriormente A10:2017-Registro e monitoramento insuficientes e são adicionadas da pesquisa da comunidade Top 10 (nº 3), passando do nº 10 anteriormente. Essa categoria é expandida para incluir mais tipos de falhas, é difícil de testar e não está bem representada nos dados CVE/CVSS. No entanto, falhas nesta categoria podem afetar diretamente a visibilidade, alertas de incidentes e perícia.
- A10:2021-Server-Side Request Forgery é adicionado da pesquisa da comunidade Top 10 (#1). Os dados mostram uma taxa de incidência relativamente baixa com cobertura de teste acima da média, juntamente com classificações acima da média para potencial de exploração e impacto. Esta categoria representa o cenário em que os membros da comunidade de segurança estão nos dizendo que isso é importante, embora não esteja ilustrado nos dados neste momento.
Metodologia
Esta edição do Top 10 é mais orientada por dados do que nunca, mas não cegamente orientada por dados. Selecionamos oito das dez categorias de dados contribuídos e duas categorias da pesquisa da comunidade Top 10 em alto nível. Faz isso por uma razão fundamental, olhar para os dados contribuídos é olhar para o passado. Os pesquisadores da AppSec dedicam tempo para encontrar novas vulnerabilidades e novas maneiras de testá-las. Leva tempo para integrar esses testes em ferramentas e processos. Quando testarmos uma segurança em escala, provavelmente já testamos. Para equilibrar essa visão, podemos usar uma pesquisa essencial para aplicativos especializados em segurança e desenvolvimento na linha que eles veem como pontos fracos que os dados ainda não mostram.
Existem alguns mudanças críticas que adotamos para continuar a amadurecer1 o Top 1.
Como as categorias são estruturadas
Algumas categorias do WA em relação à edição anterior Top Ten. Aqui está um resumo de alto nível das mudanças de categoria.
Os exercícios de coleta de dados anteriores foram focados em um subconjunto prescrito de aproximadamente 30 CWEs com um campo solicitando descobertas adicionais. Aprendemos que as organizações se concentram principalmente nestes 30 CWEs e, inclusive, acrescentam outros CWEs. Nesta iteração, abrimos apenas e solicitamos dados, sem restrição de CWEs. Solicitamos o número de aplicativos testados com pelo menos um determinado ano (a partir de 2017) e o número de aplicativos de um CWE encontrado nos testes. Esse formato nos permite a exploração de cada CWE na população de aplicativos. Ignoramos a frequência para nossos propósitos; ser necessário para outras situações, embora apenas possa existir uma população real de aplicação. Se um aplicativo tem quatro instâncias de um CWE ou 4, 00 instâncias não fazem parte do cálculo de quase 10 passagens Top 10 de aproximadamente30 CWE para analisar no conjunto de dados. Planejamos fazer um conjunto de dados adicionais como um suplemento no futuro. Esse aumento significativo no número de CWEs exige mudanças na forma como as categorias são estruturadas.
raiz são criográficas incorretos em contraste com os tipos de sintomas padrão como "Exposição de dados de serviço" e "Negação de serviço". Decidimos nos concentrar na causa raiz sempre que possível, pois é mais lógico fornecer orientação de identificação e correção. Concentrar-se na causa raiz sobre o sintoma não é um conceito novo; o Top Ten foi uma mistura de sintoma e causa raiz . CWEs também são uma mistura de sintoma e causa raiz; estamos sendo mais deliberados sobre isso simplesmente e denunciando-o. Há uma média de 19,6 CWEs por categoria nesta parcela, com os limites inferiores em 1 CWE para A10:2021-Server-Side Request Forgery (SSRF) a 40 CWEs em A04:2021-Insecure Design . Essa estrutura de categoria atualizada oferece benefícios adicionais de treinamento, pode se concentrar em CWEs que sentido para um idioma/estrutura.
Como os dados são usados para selecionar categorias
Em 2017, selecionamos categorias por taxa de incidência para determinar uma probabilidade e como classificamos por discussão em equipe com base em décadas de experiência em Explorabilidade , Detectabilidade (também probabilidade ) e Impacto técnico . Para 2021, queremos usar dados para Explorabilidade e Impacto (Técnico), se possível.
Baixamos o OWASP Dependency Check e extraímos o CVSS Exploit e as pontuações de impacto agrupadas por CWEs relacionados. Demorou um pouco de pesquisa e esforço, pois todos os CVEs têm pontuações CVSSv2, mas há falhas no CVSSv2 que o CVSSv3 deve resolver. Depois de um certo tempo, todos os CVEs também recebem uma qualidade CVSSv3. Além disso, alternativas e fórmulas de atualização foram atualizadas entre CVSSv2 e CVSSv3.
No CVSSv2, tanto o Exploit quanto o (Technical) Impact podem ser de até 10,0, mas a fórmula de reduziria para 60% para Exploit e 40% para Impact . No CVSSv3, o máximo teórico foi limitado a 6,0 para Exploit e 4,0 para Impact . Com uma ponderação considerada, quase uma avaliação de Impacto chegou, quase um ponto e meio em média no CVSSv3, e a capacidade de exploração caiu em média.
Há 125 mil registros de um CVE mapeado para um CWE nos dados do National Vulnerability Database (NVD) extraídos do OWASP Dependency Check, e há 241 CWEs exclusivos mapeados para um CVE. Os mapas CWE 62 mil têm uma população de CVSSv3, que é aproximadamente metade do conjunto de dados.
Para o Top Ten 2021, calculamos as pontuações médias de exploração e impacto da seguinte maneira. Agrupamos todas as pontuações da população com CVSS por CWE e ponderamos tanto quanto a exploração dos impactos pela população da população que tinha CVSSv3 + a restante de pontuações CVSSv2 para obter uma geral. Mapeamos essas médias no conjunto de dados CWE para uso, como exploração e impacto (té) para a outra metade da análise de dados de risco.
Por que não apenas dados estatísticos puros?
Os resultados nos dados são limitados ao que podemos testar de forma notável. Fale com um profissional experiente da AppSec, e ele contará sobre as coisas que encontrarão e como tendências que perceberão que ainda não estão nos dados. Leva tempo específico para desenvolver especificações de testes para pessoas em uma grande população de aplicativos. Tudo o que encontramos no passado está olhando para o passado e pode estar faltando tendências do ano, que não apresenta nos dados.
Portanto, escolhemos apenas oito das dez categorias dos dados porque estão incompletos. As outras categorias da pesquisa permitirão a comunidade Top 10. Ele que os linha votem no que nunca nunca protegerá os maiores riscos que podem estar nos dados (e podem estar nos dados).
Por que taxa de incidência em vez de frequência?
Existem três fontes primárias de dados. Nós identificamos como ferramentas assistidas por humanos (HaT), ferramentas assistidas por humanos (TaH) e brutas.
Ferramentas e HaT são geradores de detecção de alta frequência. As ferramentas de busca de vulnerabilidades específicas e de tipos de todas as instâncias dessa busca de vulnerabilidade e de geração de altas contaminações de descoberta para alguns de encontrar. Veja Cross-Site Scripting, que normalmente é um dos dois tipos: é um erro menor e isolado ou um problema sistêmico. Quando é um problema sistêmico, uma contagem de descobertas pode chegar a milhares para um único aplicativo. Essa alta frequência abafa outras vulnerabilidades em maioria ou das informações.
O TaH, por outro lado, procura uma gama mais ampla de vulnerabilidade, mas muito menor frequência a um lado de um tempo. Quando humanos testam um aplicativo e veem algo como Cross-Site Scripting, eles encontram-se três ou quatro instâncias e param. Eles podem determinar uma descoberta sistêmica e uma aplicação de proteção para uma escala de extensão ampla. Não há necessidade (ou tempo) para encontrar todas as instâncias.
que juntamos esses dois conjuntos de dados distintos e tentamos juntá-los na frequência. Nesse caso, os dados de ferramentas e os dados TaH são precisos (mas amplos) e são bons caso parte do motivo pelo qual algo como Cross-Site Scripting foi tão baixo em muitas listas quando o impacto é mais moderado. É por causa do grande volume de descobertas. (Cross-Site Scripting também é razoavelmente fácil de testar, então há muitos outros testes para ele também).
Em 207, introduzimos o uso taxa de dificuldade para dar uma nova imagem de dados de dados nos dados e mesclar forma limpa de ferramentas e HaT com dados de dados nos H. A taxa de incidência de uma pergunta pelo menos qualifica a população do aplicativo uma instância de um tipo de vulnerabilidade. Não nos importamos se foi pontual ou sistêmico. Isso é irrelevante para nossos propósitos; Só é preciso saber quantos aplicativos tinham pelo menos uma instância, o que ajuda a fornecer uma visão mais clara das descobertas dos testes em vários tipos de testes sem afogar os dados em resultados de alta frequência. Isso corresponde a uma visão relacionada ao risco, pois um invasor precisa apenas de uma instância para atacar um aplicativo com sucesso por meio da categoria.
Qual é o seu processo de coleta e análise de dados?
Formamos uma coleta de dados do OWASP Top 0 no Open Security Summit em 2017. Os líderes do OWASP Top 10 e a comunidade foram dois dias trabalhando na formalização de um processo transparente de coleta de dados. A edição de 2021 é a segunda vez que utilizamos esta metodologia.
Publicamos uma chamada de dados através dos canais de mídia social disponíveis para nós, tanto do projeto quanto do OWASP. Na página do Projeto OWASP, lista de elementos de dados e estrutura que estamos tentando e como submetê-los. No projeto GitHub, temos arquivos de exemplo que servem como templates. descobrir com as organizações para ajudar a estruturar o mapeamento CWEs.
Obtemos de organizações que testam fornecedores por comércio, fornecedores de bugs e organizações que contribuem com dados de testes internos. Uma vez que temos os dados, nós os carregamos juntos e executamos uma análise fundamental do que os CWEs mapeiam para as categorias de risco. Há sobreposição entre alguns CWEs, e outros estão intimamente relacionados (ex. Vulnerabilidades criptográficas). Quaisquer decisões relacionadas aos dados brutos enviados são documentadas e publicadas para serem abertas e transparentes com a forma de normalização dos dados.
Analisamos as oito categorias com as maiores taxas de inclusão para inclusão no Top 10. Também analisamos os resultados da pesquisa da comunidade Top 10 para ver quais já podem estar presentes nos dados. Os dois primeiros votos que ainda não estão presentes nos dados serão selecionados para os outros dois lugares no Top 10. Uma vez que todos os dez foram selecionados, aplicamos fatores generalizados para explorabilidade e impacto; para ajudar a classificar o Top 10 2021 em uma ordem baseada em risco.
Fatores de dados
Fatores de dados estão para cada uma das 1 categorias principais, aqui o eles significam:
- CWEs mapeados: o número de CWEs mapeados para uma categoria pela equipe do Top 10.
- Taxa de incidência: uma entidade de incidência é uma entidade de taxa de probabilidade provável por esse mesmo ano.
- Exploração: A CVSSv2 e CVSSv3 atribuídas a um mapa de CVEs ponderadas, normalizadas para CWs, normalizadas e pontosE pontosE em uma escala de 10 pontos.
- Impacto ponderado: A subpontação de Impacto das pontuações CVSSv2 e CVSSv3 marca um mapa de CVEs para CWEs, normalizadas e marcadas em uma escala de 10 pontos.
- (este) Cobertura:Teste de aplicativos para todas as organizações como uma determinada CWE.
- Total de Ocorrências: Número total de aplicativos encontrados com os CWEs mapeados para uma categoria.
- Total de CVEs: Número total de CVEs no NVD DB que foram mapeados para os CWEs mapeados para uma categoria.
Obrigado aos nossos contribuidores de dados
As seguintes organizações (juntamente com alguns doadores anônimos) gentilmente doaram dados para mais de 500.000 aplicativos para tornar este o maior e mais abrangente conjunto de dados de segurança de aplicativos. Sem você, isso não seria possível.