Insecure software is undermining our financial, healthcare, defense, energy, and other critical infrastructure. As our digital infrastructure gets increasingly complex and interconnected, the difficulty of achieving application security increases exponentially. We can no longer afford to tolerate relatively simple security problems like those presented in this OWASP Top 10.

+

To verify the security of a web application you have developed, or one you are considering purchasing, OWASP recommends that you review the application’s code (if available), and test the application as well. OWASP recommends a combination of secure code review and application penetration testing whenever possible, as that allows you to leverage the strengths of both techniques, and the two approaches complement each other. Tools for assisting the verification process can improve the efficiency and effectiveness of an expert analyst. OWASP’s assessment tools are focused on helping an expert become more effective, rather than trying to automate the analysis process itself.

−

The goal of the Top 10 project is to raise awareness about application security by identifying some of the most critical risks facing organizations. The Top 10 project is referenced by many standards, books, tools, and organizations, including MITRE, PCI DSS, DISA, FTC, and many more. This release of the OWASP Top 10 marks this project’s eleventh year of raising awareness of the importance of application security risks. The OWASP Top 10 was first released in 2003, with minor updates in 2004 and 2007. The 2010 version was revamped to prioritize by risk, not just prevalence. This 2013 edition follows the same approach.

+

Standardizing How You Verify Web Application Security: To help organizations develop consistency and a defined level of rigor when assessing the security of web applications, OWASP has produced the OWASP [https://www.owasp.org/index.php/ASVS Application Security Verification Standard (ASVS)]. This document defines a minimum verification standard for performing web application security assessments. OWASP recommends that you use the ASVS as guidance for not only what to look for when verifying the security of a web application, but also which techniques are most appropriate to use, and to help you define and select a level of rigor when verifying the security of a web application. OWASP also recommends you use the ASVS to help define and select any web application assessment services you might procure from a third party provider.

−

We encourage you to use the Top 10 to get your organization started with application security. Developers can learn from the mistakes of other organizations. Executives should start thinking about how to manage the risk that software applications create in their enterprise.

+

Assessment Tools Suite: The [https://www.owasp.org/index.php/Category:OWASP_Live_CD_Project OWASP Live CD Project] has pulled together some of the best open source security tools into a single bootable environment or virtual machine (VM). Web developers, testers, and security professionals can boot from this Live CD, or run the VM, and immediately have access to a full security testing suite. No installation or configuration is required to use the tools provided on this CD.

−

In the long term, we encourage you to create an application security program that is compatible with your culture and technology. These programs come in all shapes and sizes, and you should avoid attempting to do everything in a process model. Instead, leverage your existing organization’s strengths and measure what works for you.

−

We hope that the OWASP Top 10 is useful to your application security efforts. Please don’t hesitate to contact OWASP with your questions, comments, and ideas, either publicly to owasp-topten@lists.owasp.org or privately to dave.wichers@owasp.org.

Secure code review is particularly suited to verifying that an application contains strong security mechanisms as well as finding issues that are hard to identify by examining the application’s output. Testing is particularly suited to proving that flaws are actually exploitable. That said, the approaches are complementary and in fact overlap in some areas.

Reviewing the Code: As a companion to the [https://www.owasp.org/index.php/OWASP_Guide_Project OWASP Developer’s Guide], and the [https://www.owasp.org/index.php/OWASP_Testing_Project OWASP Testing Guide], OWASP has produced the [https://www.owasp.org/index.php/Code_Review_Guide OWASP Code Review Guide] to help developers and application security specialists understand how to efficiently and effectively review a web application for security by reviewing the code. There are numerous web application security issues, such as Injection Flaws, that are far easier to find through code review, than external testing.

−

The Open Web Application Security Project (OWASP) is an open community dedicated to enabling organizations to develop, purchase, and maintain applications that can be trusted. At OWASP you’ll find free and open …

+

Code Review Tools: OWASP has been doing some promising work in the area of assisting experts in performing code analysis, but these tools are still in their early stages. The authors of these tools use them every day when performing their secure code reviews, but non-experts may find these tools a bit difficult to use. These include [https://www.owasp.org/index.php/Category:OWASP_Code_Crawler CodeCrawler], [https://www.owasp.org/index.php/Category:OWASP_Orizon_Project Orizon], and [https://www.owasp.org/index.php/OWASP_O2_Platform O2]. Only [https://www.owasp.org/index.php/OWASP_O2_Platform O2] has been under active development since the last release of the Top 10 in 2010

+

There are other free, open source, code review tools. The most promising is [http://findbugs.sourceforge.net/index.html FindBugs], and its new security focused plugin called: [http://h3xstream.github.com/find-sec-bugs/ FindSecurityBugs], both of which are for Java.

Testing the Application: OWASP produced the [https://www.owasp.org/index.php/OWASP_Testing_Project Testing Guide] to help developers, testers, and application security specialists understand how to efficiently and effectively test the security of web applications. This enormous guide, which had dozens of contributors, provides wide coverage on many web application security testing topics. Just as code review has its strengths, so does security testing. It’s very compelling when you can prove that an application is insecure by demonstrating the exploit. There are also many security issues, particularly all the security provided by the application infrastructure, that simply cannot be seen by a code review, since the application is not providing all of the security itself.

−

* Standard security controls and libraries

−

* Local chapters worldwide

−

* Cutting edge research

−

* Extensive conferences worldwide

−

* Mailing lists

−

* And more … all at www.owasp.org/

−

* Including: www.owasp.org/index.php/Top_10

−

All of the OWASP tools, documents, forums, and chapters are free and open to anyone interested in improving application security. We advocate approaching application security as a people, process, and technology problem, because the most effective approaches to application security require improvements in all of these areas.

+

Application Penetration Testing Tools: [https://www.owasp.org/index.php/WebScarab WebScarab], which was one of the most widely used of all OWASP projects, and the new ZAP, which now is far more popular, are both web application testing proxies. Such tools allow security analysts and developers to intercept web application requests, so they can figure out how the application works, and then submit test requests to see if the application responds securely to such requests. These tools are particularly effective at assisting in identifying XSS flaws, Authentication flaws, and Access Control flaws. [https://www.owasp.org/index.php/ZAP ZAP] even has an [http://code.google.com/p/zaproxy/wiki/HelpStartConceptsAscan active scanner] built in, and best of all it’s FREE!

−

OWASP is a new kind of organization. Our freedom from commercial pressures allows us to provide unbiased, practical, cost-effective information about application security. OWASP is not affiliated with any technology company, although we support the informed use of commercial security technology. Similar to many open-source software projects, OWASP produces many types of materials in a collaborative, open way.

+

{{Top_10_2013:BottomAdvancedTemplate

−

+

|type={{Top_10_2010:StyleTemplate}}

−

The OWASP Foundation is the non-profit entity that ensures the project’s long-term success. Almost everyone associated with OWASP is a volunteer, including the OWASP Board, Global Committees, Chapter Leaders, Project Leaders, and project members. We support innovative security research with grants and infrastructure.

Latest revision as of 16:34, 14 June 2013

To verify the security of a web application you have developed, or one you are considering purchasing, OWASP recommends that you review the application’s code (if available), and test the application as well. OWASP recommends a combination of secure code review and application penetration testing whenever possible, as that allows you to leverage the strengths of both techniques, and the two approaches complement each other. Tools for assisting the verification process can improve the efficiency and effectiveness of an expert analyst. OWASP’s assessment tools are focused on helping an expert become more effective, rather than trying to automate the analysis process itself.

Standardizing How You Verify Web Application Security: To help organizations develop consistency and a defined level of rigor when assessing the security of web applications, OWASP has produced the OWASP Application Security Verification Standard (ASVS). This document defines a minimum verification standard for performing web application security assessments. OWASP recommends that you use the ASVS as guidance for not only what to look for when verifying the security of a web application, but also which techniques are most appropriate to use, and to help you define and select a level of rigor when verifying the security of a web application. OWASP also recommends you use the ASVS to help define and select any web application assessment services you might procure from a third party provider.

Assessment Tools Suite: The OWASP Live CD Project has pulled together some of the best open source security tools into a single bootable environment or virtual machine (VM). Web developers, testers, and security professionals can boot from this Live CD, or run the VM, and immediately have access to a full security testing suite. No installation or configuration is required to use the tools provided on this CD.

Code Review

Secure code review is particularly suited to verifying that an application contains strong security mechanisms as well as finding issues that are hard to identify by examining the application’s output. Testing is particularly suited to proving that flaws are actually exploitable. That said, the approaches are complementary and in fact overlap in some areas.

Reviewing the Code: As a companion to the OWASP Developer’s Guide, and the OWASP Testing Guide, OWASP has produced the OWASP Code Review Guide to help developers and application security specialists understand how to efficiently and effectively review a web application for security by reviewing the code. There are numerous web application security issues, such as Injection Flaws, that are far easier to find through code review, than external testing.

Code Review Tools: OWASP has been doing some promising work in the area of assisting experts in performing code analysis, but these tools are still in their early stages. The authors of these tools use them every day when performing their secure code reviews, but non-experts may find these tools a bit difficult to use. These include CodeCrawler, Orizon, and O2. Only O2 has been under active development since the last release of the Top 10 in 2010
There are other free, open source, code review tools. The most promising is FindBugs, and its new security focused plugin called: FindSecurityBugs, both of which are for Java.

Security and Penetration Testing

Testing the Application: OWASP produced the Testing Guide to help developers, testers, and application security specialists understand how to efficiently and effectively test the security of web applications. This enormous guide, which had dozens of contributors, provides wide coverage on many web application security testing topics. Just as code review has its strengths, so does security testing. It’s very compelling when you can prove that an application is insecure by demonstrating the exploit. There are also many security issues, particularly all the security provided by the application infrastructure, that simply cannot be seen by a code review, since the application is not providing all of the security itself.

Application Penetration Testing Tools: WebScarab, which was one of the most widely used of all OWASP projects, and the new ZAP, which now is far more popular, are both web application testing proxies. Such tools allow security analysts and developers to intercept web application requests, so they can figure out how the application works, and then submit test requests to see if the application responds securely to such requests. These tools are particularly effective at assisting in identifying XSS flaws, Authentication flaws, and Access Control flaws. ZAP even has an active scanner built in, and best of all it’s FREE!