O Open Web Application Security Project (OWASP) é uma comunidade de segurança de aplicativos de código aberto com o objetivo de melhorar a segurança do software. O OWASP Top 10 é uma diretriz padrão do setor que lista os riscos mais críticos de segurança de aplicativos para ajudar os desenvolvedores a proteger melhor os aplicativos que projetam e implantam.
Como os riscos de segurança estão em constante evolução, a lista OWASP Top 10 é revisada periodicamente para refletir essas mudanças. Na versão mais recente da OWASP Top 10, lançada em 2021, alguns tipos de vulnerabilidades que não representam mais uma ameaça séria foram substituídos por outros que provavelmente representarão um risco significativo.
Embora o OWASP Top 10 seja um ótimo lugar para começar a proteger os aplicativos, ele certamente não deve ser considerado como um objetivo final, pois algumas das vulnerabilidades mais citadas não entraram no OWASP Top 10 2021. Para se protegerem contra os pontos fracos do software, os defensores precisam examinar de forma mais ampla toda a pilha de tecnologia da informação. Isso significa que os profissionais de segurança de TI precisam se concentrar em todo o ecossistema de software e olhar além das fontes "tradicionais" de vulnerabilidades.
As falhas de injeção podem ser introduzidas sempre que uma fonte de dados não confiável é enviada a um intérprete. Os exemplos são frequentemente encontrados em consultas a bancos de dados dinâmicos SQL, LDAP, XPath ou NoSQL com entrada fornecida pelo usuário. Os invasores injetam código na entrada do usuário, induzindo o interpretador de consultas a executar comandos maliciosos.
O que torna um aplicativo vulnerável a falhas de injeção?
Qual é o impacto das falhas de injeção?
Como o site Fortify pode ajudar com as falhas de injeção?
A autenticação quebrada pode ser introduzida ao gerenciar dados de identidade ou de sessão em aplicativos com estado. Exemplos são frequentemente encontrados quando o registro, a recuperação de credenciais e os caminhos de API são vulneráveis a tokens de sessão não expirados, força bruta ou enumeração de contas. Os invasores assumem a identidade de usuários legítimos, assumindo o controle de contas e comprometendo dados, processos ou sistemas.
O que torna um aplicativo vulnerável à quebra de autenticação?
Qual é o impacto da autenticação interrompida?
Como o site Fortify pode ajudar?
Problemas de exposição a dados confidenciais podem ser introduzidos quando os aplicativos acessam dados não criptografados, principalmente informações de identificação pessoal (PII) e outros tipos de dados regulamentados. Os exemplos são frequentemente encontrados quando cifras criptográficas fracas são usadas em aplicativos legados, protocolos de transporte seguro são implementados incorretamente ou a segurança centrada em dados não está em uso. Os invasores obtêm acesso a dados confidenciais do usuário que lhes dão controle na vida real.
O que torna um aplicativo vulnerável à exposição de dados confidenciais?
Qual é o impacto da exposição de dados confidenciais?
Como o site Fortify pode ajudar na exposição de dados confidenciais?
Os problemas de entidade externa XML podem ser introduzidos quando uma entrada XML que contém uma referência a uma entidade externa é processada por um analisador mal configurado. Os exemplos são frequentemente encontrados em aplicativos que analisam a entrada XML de fontes não confiáveis, quando as DTDs (Document Type Definitions, definições de tipos de documentos) estão ativadas ou que usam estruturas não corrigidas, como o SOAP 1.0. O XML está em toda parte, desde arquivos SVG e de imagem até protocolos de rede e formatos de documentos, como PDF e RSS. Os invasores fazem referência a entidades externas na entrada XML, o que resulta em processadores explorados para extrair dados, executar códigos remotamente ou afetar os serviços de rede.
O que torna um aplicativo vulnerável a entidades externas XML?
Qual é o impacto das entidades externas XML?
Como o site Fortify pode ajudar com entidades externas XML?
Problemas de controle de acesso podem ser introduzidos quando o código e as restrições ambientais se sobrepõem de forma incompleta ou são definidos em vários locais para uma funcionalidade semelhante. Exemplos são encontrados com frequência quando a segurança por obscuridade é quebrada por meio de navegação forçada em páginas restritas ou quando o aplicativo define métodos complexos para controle de acesso de várias maneiras e locais. Os invasores podem comprometer os limites de acesso para roubar dados confidenciais ou interromper as operações.
O que torna um aplicativo vulnerável a falhas no controle de acesso?
Qual é o impacto de um controle de acesso interrompido?
Como o site Fortify pode ajudar com o controle de acesso interrompido?
As falhas de configuração incorreta da segurança podem ser introduzidas durante a configuração do aplicativo ou de seu ambiente subjacente. A configuração incorreta pode ocorrer em qualquer nível de uma pilha de aplicativos, desde serviços de rede e servidores de aplicativos até contêineres e armazenamento. Os exemplos são frequentemente encontrados em contas e configurações padrão, mensagens de erro com "vazamento" ou estruturas e serviços sem patches. Os invasores podem obter informações de implementação e acesso a dados privilegiados para interromper as operações.
O que torna um aplicativo vulnerável à configuração incorreta da segurança?
Qual é o impacto da configuração incorreta da segurança?
O impacto pode variar desde a divulgação de informações até o comprometimento total do sistema.
Como o site Fortify pode ajudar com a configuração incorreta da segurança?
As falhas de XSS (Cross-Site Scripting) podem ser introduzidas quando uma entrada de usuário não confiável e não higienizada é executada como parte do HTML ou quando os usuários podem ser influenciados a interagir com links maliciosos. Exemplos são encontrados com frequência quando construções de código familiares de linguagens como JavaScript ou Flash são aceitas de fontes não confiáveis ou armazenadas para exibição posterior por outro agente de usuário. Os invasores podem executar códigos remotos no computador do usuário, roubar credenciais ou fornecer malware a partir de sites de redirecionamento.
O que torna um aplicativo vulnerável a cross-site scripting (XSS)?
Há três formas de XSS, geralmente direcionadas a agentes de usuário, como navegadores:
Qual é o impacto do XSS (cross-site scripting)?
Como o site Fortify pode ajudar com o XSS (cross-site scripting)?
Falhas inseguras de desserialização podem ser introduzidas quando linguagens e estruturas permitem que dados serializados não confiáveis sejam expandidos para um objeto, geralmente quando os aplicativos da Web estão comunicando o usuário ou salvando o estado do aplicativo. Os exemplos são encontrados com frequência quando os desenvolvedores não impõem restrições aos métodos que podem ser autoexecutados durante o processo de desserialização. Os invasores aproveitam essas "cadeias de gadgets" chamadas fora da lógica do aplicativo para executar códigos remotamente, negar serviços ou obter acesso não autorizado.
O que torna um aplicativo vulnerável à desserialização insegura?
Qual é o impacto da desserialização insegura?
Como o site Fortify pode ajudar com a desserialização insegura?
Essas falhas podem ser introduzidas quando estruturas e bibliotecas de código aberto ou de terceiros são introduzidas em um aplicativo e executadas com os mesmos privilégios. Exemplos são frequentemente encontrados quando o desenvolvimento baseado em componentes resulta em uma falta de compreensão dos riscos associados às dependências e componentes ou sistemas difíceis ou impossíveis de serem corrigidos. Os invasores utilizaram componentes vulneráveis para algumas das maiores violações da história, embora as vulnerabilidades possam variar do comprometimento do aplicativo à execução remota de código.
O que torna um aplicativo vulnerável a estruturas e bibliotecas de código aberto ou de terceiros?
Qual é o impacto do uso de componentes com vulnerabilidades conhecidas?
Embora algumas vulnerabilidades conhecidas causem apenas impactos menores, algumas das maiores violações conhecidas, como Heartbleed e Shellshock, basearam-se na exploração de vulnerabilidades conhecidas em componentes compartilhados. O uso de componentes com vulnerabilidades de código conhecidas pode resultar na execução remota de código no servidor afetado, dando ao invasor o controle total da máquina.
Como o site Fortify pode ajudar na segurança de código aberto?
Falhas insuficientes de registro e monitoramento podem ser introduzidas quando os vetores de ataque ou o mau comportamento do aplicativo não são bem compreendidos ou quando as práticas recomendadas de monitoramento de indicadores de comprometimento não são seguidas. Os exemplos são frequentemente encontrados em sistemas legados sem recursos de registro, quando os registros de testes de penetração de aplicativos não são examinados ou quando os registros não fornecem detalhes suficientes para entender o que os invasores fizeram. Os atacantes contam com uma média de cerca de 200 dias para a detecção, que normalmente é descoberta externamente, para estabelecer a persistência e se direcionar a outros sistemas vulneráveis.
O que torna um aplicativo vulnerável a registros e monitoramento insuficientes?
Qual é o impacto do registro e do monitoramento insuficientes?
A maioria dos ataques bem-sucedidos começa com a sondagem de vulnerabilidades. Permitir que essas sondagens continuem pode aumentar a probabilidade de explorações bem-sucedidas. Os invasores podem estabelecer persistência, fazer backdooring de aplicativos e sistemas operacionais, roubar dados ou, de outra forma, obter controle desapercebido e não autorizado dos sistemas. Se as informações críticas de segurança não forem registradas ou armazenadas adequadamente, não haverá nenhum rastro para que a análise forense descubra a origem do ataque. Entender que existe um problema pode se tornar mais difícil ou impossível se o invasor mantiver o controle dos recursos de registro.
Como o site Fortify pode ajudar com o registro e o monitoramento insuficientes?
Embora tenham se passado apenas quatro anos desde que o último top 10 foi lançado em 2017, houve muitas mudanças no setor de segurança cibernética, o que nos fez pensar duas vezes sobre as preocupações de prioridade máxima ou sobre quais novas preocupações adicionar.
Três novas categorias foram introduzidas:
A04:2021
Design inseguro: Essa categoria se concentra nas falhas de design. Isso é necessário porque o movimento de deslocamento para a esquerda no desenvolvimento exige um deslocamento para a esquerda também na modelagem de ameaças.
A08:2021
Falhas de integridade de software e dados: Concentra-se em suposições sobre atualizações de software, dados críticos e o pipeline de CI/CD sem verificar a integridade que eles podem afetar. Isso também incorpora a A08:2017 - Insecure Deserialization (desserialização insegura).
A10:2021
Falsificação de solicitação do lado do servidor (SSRF): Essa categoria está principalmente entre as 10 principais da pesquisa da comunidade. Eles realmente enfatizaram essa vulnerabilidade devido à capacidade de exploração e ao impacto acima da média.
Outras alterações
As outras categorias tiveram mudanças de nome, subiram de posição ou foram consolidadas em outras categorias:
Deseja ver como o Fortify pode ajudar sua organização? Inicie sua avaliação gratuita de 15 dias do Fortify on Demand pelo OpenText™ agora
Fortify permite que você crie software seguro rapidamente com uma plataforma de segurança de aplicativos que automatiza os testes em todo o pipeline de CI/CD para permitir que os desenvolvedores resolvam problemas rapidamente.
Desbloqueie os testes de segurança, o gerenciamento de vulnerabilidades e o conhecimento e suporte personalizados
Encontre e corrija problemas de segurança antecipadamente com os resultados mais precisos do setor
Identificar vulnerabilidades em aplicativos e serviços da Web implantados
Proteção mais inteligente e mais simples