Content
The goal of the OWASP Top 10 Proactive Controls project (OPC) is to raise awareness about application security by describing the most important areas of concern that software developers must be aware of. We encourage you to use the OWASP Proactive Controls to get your developers started with application security. We hope that the OWASP Proactive Controls is useful to your efforts in building secure software. The OWASP Top Ten Proactive Controls 2018 is a list of security techniques that should be considered for every software development project. This document is written for developers to assist those new to secure development. This approach is suitable for adoption by all developers, even those who are new to software security.
An easy way to secure applications would be to not accept inputs from users or other external sources. Checking and constraining those inputs against the expectations for those inputs will greatly reduce the potential for vulnerabilities in your application. APIs are used in modern software as a means to allow different software components to communicate with one another. While APIs make building complex applications easier, they also create broader data security risks.
Thoroughly Review the Authorization Logic of Chosen Tools and Technologies, Implementing Custom Logic if Necessary¶
Here’s how to apply OWASP Proactive Control C5 (Validate All Inputs) to your code. Our freedom from commercial pressures allows us to provide unbiased, practical, cost effective information about application security. The OWASP Top Ten Proactive Controls describes the most important controls and control categories that every architect and developer should absolutely, 100% include in every project.
Authorization is distinct from authentication which is the process of verifying an entity’s identity. When designing and developing a software solution, it is important to keep these distinctions in mind. https://remotemode.net/ A user who has been authenticated (perhaps by providing a username and password) is often not authorized to access every resource and perform every action that is technically possible through a system.
Implement Security Logging and Monitoring¶
In order to achieve secure software, developers must be supported and helped by the organization they author code for. As software developers author the code that makes up a web application, they need to embrace and practice a wide variety of secure coding techniques. All tiers of a web application, owasp proactive controls the user interface, the business logic, the controller, the database code and more all need to be developed with security in mind. This can be a very difficult task and developers are often set up for failure. Most developers did not learn about secure coding or crypto in school.
- Second, the OWASP API Top Ten is useful for security professionals who want to assess the security of existing APIs.
- This includes making sure no sensitive data, such as passwords, access tokens, or any Personally Identifiable Information (PII) is leaked into error messages or logs.
- It is also very rare when organizations provide developers with prescriptive requirements that guide them down the path of secure software.
- Flaws related to authorization logic are a notable concern for web apps.
- Instead, you build proper controls in the presentation layer, such as the browser, to escape any data provided to it.
- The document was then shared globally so even anonymous suggestions could be considered.

