A10 – Underprotected APIs is one of two new additions to the OWASP Top 10 list of threats to web applications. The other new addition is A7 – Insufficient Attack Protection, which we discuss in a separate post.
Modern applications use APIs from many sources either directly or as sub-components of 3rd party libraries linked in when building an application. All of these APIs can have unprotected vulnerabilities and, more worryingly, they can be opaque to standard security scanning tools used to highlight risks.
All the APIs used to build an application need to be tested for vulnerabilities just like all other components used to deliver web-based applications. The testing needs to encompass all of the common types of vulnerabilities like:
This list is not exhaustive and other types of vulnerabilities could exist in APIs. As also mentioned in our post about the A7 – Insufficient Attack Protection, this new addition to the OWASP 2017 top 10 list has the feel of a catchall category. The vulnerabilities are well known but the focus of the new categories seems to be to get developers and system administrators to focus on the internal building blocks of applications and platforms. Rather than just relying on existing security tools like network and web application firewalls.
Given the nature of APIs and the fact that they are mostly used via calls in code, there are usually no human-friendly UI’s that can be used to check for vulnerabilities. The UI to most APIs is the accompanying documentation, and this won’t highlight any unknown bugs or vulnerabilities. As a result, it can be difficult to check APIs, making their use a risk.
Ensuring that all the APIs that are in use in applications are risk-free means using a diverse strategy that will highlight and protect against any inherent vulnerabilities. Steps to take include:
The focus of this addition to the new OWASP top 10 list seems to be focused on getting developers to think more about built-in security in their applications and the third party APIs they use. Which is no bad thing in itself. The use of off the shelf APIs to quickly build and deploy new applications will only increase in the future. Fast Agile and DevOps based workflows will mandate it. The actual vulnerabilities developers will need to consider are included in the current