A Open Web Application Security Project (OWASP) é uma entidade sem fins lucrativos e de reconhecimento internacional, que contribui para a melhoria da segurança de softwares aplicativos reunindo informações importantes que permitem avaliar riscos de segurança e combater formas de ataques através da internet.
Os estudos e documentos da OWASP são disponibilizadas para toda a comunidade internacional, e adotados como referência por entidades como U.S. Defense Information Systems Agency (DISA), U.S. Federal Trade Commission, e outras várias empresas e organizações mundiais das áreas de Tecnologia, Auditoria e Segurança, e também pelo PCI Council.
O trabalho mais conhecido da OWASP é sua famosa lista “The Top 10 Most Critical Web Application Security Risks”, que reúne os riscos de ataque mais críticos exploráveis a partir de vulnerabilidades nas aplicações web.
Atualizada periodicamente, a versão original (em inglês) publicada em outubro de 2013 por ordem de criticidade é a seguinte:
A1 – Injection
Falhas na injeção, tais como SQL, OS, e injeção LDAP ocorrem quando dados não confiáveis são enviado para um intérprete como parte de um comando ou consulta. Dados hostis do atacante podem enganar o interpretador para executar comandos não intencionais ou acessar os dados sem a devida autorização.
A2 – Broken Authentication and Sessiona Management
Funções de aplicação relacionadas com autenticação e gerenciamento de sessão, muitas vezes não são aplicadas corretamente, permitindo que os atacantes comprometem senhas, chaves ou tokens de sessão, ou para explorar outras falhas de implementação e assumir a identidade de outros usuários.
A3 – Cross Site Scripting (XSS)
Falhas XSS ocorrem sempre que uma aplicação recebe dados não confiáveis e envia para um navegador web sem a devida validação. XSS permite ao atacante executar scripts no navegador da vítima, que pode seqüestrar sessões de usuários, desfigurar sites, ou redirecionar o usuário para sites maliciosos.
A4 – Insecure Direct Object References
A referência de objeto direto ocorre quando um desenvolvedor expõe uma referência a um objeto de implementação interna, como um arquivo, diretório ou chave de banco de dados. Sem uma verificação de controle de acesso ou outra proteção, os atacantes podem manipular estas referências para acessar dados não-autorizados.
A5 – Secure Misconfigurations
Boa segurança exige ter uma configuração segura definida e implantada para a aplicação, frameworks, servidor de aplicação, servidor web, servidor de banco de dados. Configurações de segurança devem ser definidas, implementadas e mantidas, por padrão, essas configurações são muitas vezes inseguras.
A6 – Sensitive Data Exposure
Muitas aplicações web não protegem adequadamente os dados sensíveis, tais como cartões de crédito, IDs fiscais e credenciais de autenticação. Os atacantes podem roubar ou modificar esses dados fracamente protegidas para realizar a fraude de cartão de crédito, roubo de identidade, ou outros crimes. Os dados sensíveis merece proteção extra, como a criptografia em repouso ou em trânsito, bem como precauções especiais quando trocadas com o browser.
A7 – Missing Function Level Access Control
A maioria das aplicações web verificam os direitos de acesso de nível de função antes de fazer essa funcionalidade visível na interface do usuário. No entanto, as aplicações precisam de controles de acessos para executar as mesmas verificações no servidor quando cada função é acessado. Se os pedidos não forem verificadas, os atacantes serão capazes de forjar os pedidos, a fim de acessar a funcionalidade sem a devida autorização.
A8 – Cross-Site Request Forgery (CSRF)
Um ataque CSRF força o navegador da vítima conectado para enviar um pedido HTTP forjado, incluindo cookie de sessão da vítima e qualquer outra informação de autenticação incluídos automaticamente, para uma aplicação web vulnerável. Isso permite ao invasor forçar o navegador da vítima para gerar solicitações de aplicação vulnerável achando que são pedidos legítimos da vítima.
A9 - Using Components with Know Vulnerabilities
Componentes, como bibliotecas, frameworks, e outros módulos de software, quase sempre são executados com privilégios totais. Se um componente vulnerável é explorado, como um ataque pode facilitar a perda de dados grave ou aquisição de servidores. Aplicações usando componentes com vulnerabilidades conhecidas podem minar as defesas de aplicação e permitir uma gama de possíveis ataques e impactos.
A10 – Unavalidated Redirects and Forwards
Aplicações Web com freqüência redirecionam e encaminham os usuários para outras páginas e sites, e usam dados não confiáveis para determinar as páginas de destino.Sem validação adequada, os atacantes podem redirecionar as vítimas para sites de malware ou phishing ou para acessar páginas não autorizadas.
A1 – Injection
Falhas na injeção, tais como SQL, OS, e injeção LDAP ocorrem quando dados não confiáveis são enviado para um intérprete como parte de um comando ou consulta. Dados hostis do atacante podem enganar o interpretador para executar comandos não intencionais ou acessar os dados sem a devida autorização.
A2 – Broken Authentication and Sessiona Management
Funções de aplicação relacionadas com autenticação e gerenciamento de sessão, muitas vezes não são aplicadas corretamente, permitindo que os atacantes comprometem senhas, chaves ou tokens de sessão, ou para explorar outras falhas de implementação e assumir a identidade de outros usuários.
A3 – Cross Site Scripting (XSS)
Falhas XSS ocorrem sempre que uma aplicação recebe dados não confiáveis e envia para um navegador web sem a devida validação. XSS permite ao atacante executar scripts no navegador da vítima, que pode seqüestrar sessões de usuários, desfigurar sites, ou redirecionar o usuário para sites maliciosos.
A4 – Insecure Direct Object References
A referência de objeto direto ocorre quando um desenvolvedor expõe uma referência a um objeto de implementação interna, como um arquivo, diretório ou chave de banco de dados. Sem uma verificação de controle de acesso ou outra proteção, os atacantes podem manipular estas referências para acessar dados não-autorizados.
A5 – Secure Misconfigurations
Boa segurança exige ter uma configuração segura definida e implantada para a aplicação, frameworks, servidor de aplicação, servidor web, servidor de banco de dados. Configurações de segurança devem ser definidas, implementadas e mantidas, por padrão, essas configurações são muitas vezes inseguras.
A6 – Sensitive Data Exposure
Muitas aplicações web não protegem adequadamente os dados sensíveis, tais como cartões de crédito, IDs fiscais e credenciais de autenticação. Os atacantes podem roubar ou modificar esses dados fracamente protegidas para realizar a fraude de cartão de crédito, roubo de identidade, ou outros crimes. Os dados sensíveis merece proteção extra, como a criptografia em repouso ou em trânsito, bem como precauções especiais quando trocadas com o browser.
A7 – Missing Function Level Access Control
A maioria das aplicações web verificam os direitos de acesso de nível de função antes de fazer essa funcionalidade visível na interface do usuário. No entanto, as aplicações precisam de controles de acessos para executar as mesmas verificações no servidor quando cada função é acessado. Se os pedidos não forem verificadas, os atacantes serão capazes de forjar os pedidos, a fim de acessar a funcionalidade sem a devida autorização.
A8 – Cross-Site Request Forgery (CSRF)
Um ataque CSRF força o navegador da vítima conectado para enviar um pedido HTTP forjado, incluindo cookie de sessão da vítima e qualquer outra informação de autenticação incluídos automaticamente, para uma aplicação web vulnerável. Isso permite ao invasor forçar o navegador da vítima para gerar solicitações de aplicação vulnerável achando que são pedidos legítimos da vítima.
A9 - Using Components with Know Vulnerabilities
Componentes, como bibliotecas, frameworks, e outros módulos de software, quase sempre são executados com privilégios totais. Se um componente vulnerável é explorado, como um ataque pode facilitar a perda de dados grave ou aquisição de servidores. Aplicações usando componentes com vulnerabilidades conhecidas podem minar as defesas de aplicação e permitir uma gama de possíveis ataques e impactos.
A10 – Unavalidated Redirects and Forwards
Aplicações Web com freqüência redirecionam e encaminham os usuários para outras páginas e sites, e usam dados não confiáveis para determinar as páginas de destino.Sem validação adequada, os atacantes podem redirecionar as vítimas para sites de malware ou phishing ou para acessar páginas não autorizadas.
Nenhum comentário:
Postar um comentário