In 2021, Broken Access Control moved up from 5th place to the #1 spot on the OWASP Top 10 as “the most serious web application security risk.” With broken access control being one of the most prevalent weaknesses for web applications, it’s important to not only understand this type of vulnerability but also how to prevent it.
To understand what broken access control is, let’s first understand access control.
Access control is the permissions granted that allow a user to carry out an action within an application. For example, web applications need access controls to allow users with varying privileges to use the application. Some users may only be able to access data, while others can modify or create data. A system administrator usually manages the application’s access control rules and the granting of permissions.
Broken access control is a critical security vulnerability in which attackers can perform any action (access, modify, delete) outside of an application’s intended permissions.
The design and management of access controls can be complex and as access control decisions are made by humans, there is a high margin for error.
The OWASP lists the following as common access control vulnerabilities:
It’s important to take a defense-in-depth approach as access control vulnerabilities can’t be prevented by applying a single formula due to the varying factors in access rights, permissions, principles, workflow, and purpose in applications.
Generally speaking, your access control strategy should cover three aspects:
As applications are increasingly built on APIs, it’s important to also understand the top vulnerabilities associated with APIs, the OWASP API Top 10. For example, when considering best practices for authentication and authorization, remember that you must account for both user and machine identities. Salt Security recommends the following for API authentication and authorization:
Here are some best practices that can be implemented to prevent broken access control:
To learn more about these best practices for your access control strategy, refer to the Authorization Cheat Sheet by OWASP.
Broken access control vulnerabilities can have far-reaching consequences. Privileged data could be exposed, malware could lead to further attacks and destruction. Beyond the data, companies face litigation, damage control, loss of market share and market valuation, repair of compromised systems, and delays in system improvements – the list goes on. With exploits and attacks more prevalent than ever, ensuring your system’s security is more important than ever. Although delivering robust access control can be quite complex, understanding common vulnerabilities and applying best practices will help you in designing your strategy.