APIs have become the prominent technology of choice for achieving inter-service communications. The growth of API deployments has driven the urgency in addressing its lack of security standards. API Security is a topic for concern given the absence of standardized authorization in the OpenAPI standard, improper authorization opens the possibility for known and unknown vulnerabilities, which in the past years have been exploited by malicious actors resulting in data loss. This paper examines the number one vulnerability in API Security: Broken Object Level Authorization(BOLA), and proposes methods and tools to reduce the prevalence of this vulnerability. BOLA affects various API frameworks, our scope is fixated on the OpenAPI Specification(OAS). The OAS is a standard for describing and implementing APIs; popular OAS Implementations are FastAPI, Connexion (Flask), and many more. These implementations carry the pros and cons that are associated with the OASs knowledge of API properties. The Open API Specifications security properties do not address object authorization and provide no standardized approach to define such object properties. This leaves object-level security at the mercy of developers, which presents an increased risk of unintentionally creating attack vectors. Our aim is to tackle this void by introducing 1) the OAS ESS (OpenAPI Specification Extended Security Scheme) which includes declarative security controls for objects in OAS (design-based approach), and 2) an authorization module that can be imported to API services (Flask/FastAPI) to enforce authorization checks at the object level (development-based approach). When building an API service, a developer can start with the API design (specification) or its code. In both cases, a set of mechanisms are introduced to help developers mitigate and reduce the prevalence of BOLA.
翻译:API部署的增加促使人们急于解决缺乏安全标准的问题。API安全是一个值得关注的问题,因为开放API标准缺乏标准化的授权,不适当的授权为已知和未知的脆弱性提供了可能性,过去几年来恶意行为者利用了这些弱点导致数据丢失。本文审查了API安全中的第一个弱点:破碎的物体级别授权(BOLA),并提出了降低这种脆弱性普遍性的方法和工具。BOLA影响各种API框架,我们的范围固定在OAS规格上。OAPI安全是一个描述和执行API标准的一个标准;广受欢迎的OAS执行是快速API、Connexion(Flask)和许多其他弱点的可能性。这些执行带有与ASPI财产知识相关的利弊因素。开放API安全特性没有针对物体授权,也没有为界定这种对象财产提供标准化的方法。这把目标一级的安全级别留给开发者,这给OPIA提供了更高的目标,在OPIA上引入了无端的指令,而OPIA(OA的指令可以降低这种安全风险)。