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 de seguran?a de aplicativos mais críticos 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
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