Recomendações OWASP

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, 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 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 abril de 2010 por ordem de criticidade é a seguinte:

A1: Injection Flaws

Injection flaws, such as SQL, OS, and LDAP injection, occur when untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing unauthorized data

A2: Cross Site Scripting (XSS)

XSS flaws occur whenever an application takes untrusted data and sends it to a web browser without proper validation and escaping. XSS allows attackers to execute scripts in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites.

A3: Broken Authentication and Session Management

Application functions related to authentication and session management are often not implemented correctly, allowing attackers to compromise passwords, keys, session tokens, or exploit other implementation flaws to assume other users’ identities.

A4: Insecure Direct Object References

A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key. Without an access control check or other protection, attackers can manipulate these references to access unauthorized data.

A5: Cross-Site Request Forgery (CSRF)

A CSRF attack forces a logged-on victim’s browser to send a forged HTTP request, including the victim’s session cookie and any other automatically included authentication information, to a vulnerable web application. This allows the attacker to force the victim’s browser to generate requests the vulnerable application thinks are legitimate requests from the victim.

A6: Security Misconfiguration

Good security requires having a secure configuration defined and deployed for the application, frameworks, application server, web server, database server, and platform. All these settings should be defined, implemented, and maintained as many are not shipped with secure defaults. This includes keeping all software up to date, including all code libraries used by the application.

A7: Insecure Cryptographic Storage

Many web applications do not properly protect sensitive data, such as credit cards, SSNs, and authentication credentials, with appropriate encryption or hashing. Attackers may steal or modify such weakly protected data to conduct identity theft, credit card fraud, or other crimes.

A8: Failure to Restrict URL Access

Many web applications check URL access rights before rendering protected links and buttons. However, applications need to perform similar access control checks each time these pages are accessed, or attackers will be able to forge URLs to access these hidden pages anyway.

A9: Insufficient Transport Layer Protection

Applications frequently fail to authenticate, encrypt, and protect the confidentiality and integrity of sensitive network traffic. When they do, they sometimes support weak algorithms, use expired or invalid certificates, or do not use them correctly.

A10: Unvalidated Redirects and Forwards

Web applications frequently redirect and forward users to other pages and websites, and use untrusted data to determine the destination pages. Without proper validation, attackers can redirect victims to phishing or malware sites, or use forwards to access unauthorized pages.

A OWASP utiliza uma metodologia baseada na classificação do risco (Risk Rating Methodology) para priorizar sua lista Top 10, que é mantida atualizada periodicamente a partir de pesquisas e estatísticas sobre ataques identificados em todo o mundo.

Além de identificar os ataques de maior risco, a OWASP faz várias recomendações de segurança para que cada um daqueles ataques sejam evitados a partir das etapas do desenvolvimento das aplicações.

Para orientar o uso de critérios de segurança desde a codificação, a OWASP também recomenda adotar uma metodologia para modelagem de risco (Threat Risc Modeling) desde a fase de desenho da aplicação web, evitando assim desperdício de tempo, dinheiro, recursos e de controles inúteis, para que haja foco no mapeamento dos riscos reais já identificados.

O Sistema RedeSegura foi desenvolvido para testar e identificar vulnerabilidades nas aplicações web que representam risco de ataque em conformidade com a OWASP Top 10, além de outros padrões de segurança customizáveis. Para mais informações acesse o site oficial http://www.owasp.org, e saiba mais sobre o OWASP Top 10 Project.