EP4466826A1 - Detecting broken object level and function level authorization issues with api services - Google Patents
Detecting broken object level and function level authorization issues with api servicesInfo
- Publication number
- EP4466826A1 EP4466826A1 EP23703914.4A EP23703914A EP4466826A1 EP 4466826 A1 EP4466826 A1 EP 4466826A1 EP 23703914 A EP23703914 A EP 23703914A EP 4466826 A1 EP4466826 A1 EP 4466826A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- application
- authorization
- objects
- discrepancies
- behavior
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Definitions
- the present disclosure relates generally to computer systems, and, more particularly, to detecting broken object level authorization (BOLA) and broken function level authorization (BFLA) issues with application programming interface (API) services.
- BOLA broken object level authorization
- BFLA broken function level authorization
- API application programming interface
- the Internet and the World Wide Web have enabled the proliferation of web services available for virtually all types of businesses. Due to the accompanying complexity of the infrastructure supporting the web services, it is becoming increasingly difficult to maintain the highest level of service performance and user experience to keep up with the increase in web services. For example, it can be challenging to piece together monitoring and logging data across disparate systems, tools, and layers in a network architecture. Moreover, even when data can be obtained, it is difficult to directly connect the chain of events and cause and effect.
- API application programming interface
- RPC remote procedure call
- FIG. 1 illustrates an example computer network
- FIG. 2 illustrates an example computing device/node
- FIGS. 3A-3B illustrate an example basic call flow for generalized Broken Object Level Authorization (BOLA) and Broken Function Level Authorization (BFLA) testing for application programming interface (API) services in accordance with one or more embodiments described herein; and
- FIG. 4 illustrates an example simplified procedure for detecting BOLA and BFLA issues with API services in accordance with one or more embodiments described herein.
- the techniques herein also provide dynamically crafted application models, access control lists (ACLs), and authorization models (i.e., “application artifacts”), specifically for brown field deployments but also for green field deployments, which can be used to enforce a particular authorization handling for existing API services through their frameworks.
- ACLs access control lists
- authorization models i.e., “application artifacts”
- an illustrative method may comprise: monitoring, by a process, a behavior of an application between one or more client devices and an application programming interface service; establishing, by the process, an application model of objects and functions within the application based on the behavior; and determining, by the process, an authorization logic of the application for the objects and functions based on the application model.
- the illustrative method further comprises: testing one or more authorization approaches against the application to determine one or more discrepancies within the authorization logic indicative of faulty authorizations; and mitigating the one or more discrepancies.
- a computer network is a geographically distributed collection of nodes interconnected by communication links and segments for transporting data between end nodes, such as personal computers and workstations, or other devices, such as sensors, etc.
- end nodes such as personal computers and workstations, or other devices, such as sensors, etc.
- Many types of networks are available, ranging from local area networks (LANs) to wide area networks (WANs).
- LANs typically connect the nodes over dedicated private communications links located in the same general physical location, such as a building or campus.
- WANs typically connect geographically dispersed nodes over long-distance communications links, such as common carrier telephone lines, optical lightpaths, synchronous optical networks (SONET), synchronous digital hierarchy (SDH) links, and others.
- SONET synchronous optical networks
- SDH synchronous digital hierarchy
- the Internet is an example of a WAN that connects disparate networks throughout the world, providing global communication between nodes on various networks.
- a Mobile Ad- Hoc Network is a kind of wireless ad-hoc network, which is generally considered a self-configuring network of mobile routers (and associated hosts) connected by wireless links, the union of which forms an arbitrary topology.
- FIG. l is a schematic block diagram of an example simplified computing system 100 illustratively comprising any number of client devices 102 (e.g., a first through nth client device), one or more servers 104, and one or more databases 106, where the devices may be in communication with one another via any number of networks 110.
- the one or more networks 110 may include, as would be appreciated, any number of specialized networking devices such as routers, switches, access points, etc., interconnected via wired and/or wireless connections.
- devices 102-104 and/or the intermediary devices in network(s) 110 may communicate wirelessly via links based on WiFi, cellular, infrared, radio, near-field communication, satellite, or the like.
- the nodes/devices typically communicate over the network by exchanging discrete frames or packets of data (packets 140) according to predefined protocols, such as the Transmission Control Protocol/Intemet Protocol (TCP/IP) other suitable data structures, protocols, and/or signals.
- TCP/IP Transmission Control Protocol/Intemet Protocol
- a protocol consists of a set of rules defining how the nodes interact with each other.
- Client devices 102 may include any number of user devices or end point devices configured to interface with the techniques herein.
- client devices 102 may include, but are not limited to, desktop computers, laptop computers, tablet devices, smart phones, wearable devices (e.g., heads up devices, smart watches, etc.), set-top devices, smart televisions, Internet of Things (loT) devices, autonomous devices, or any other form of computing device capable of participating with other devices via network(s) 110.
- client devices 102 may include, but are not limited to, desktop computers, laptop computers, tablet devices, smart phones, wearable devices (e.g., heads up devices, smart watches, etc.), set-top devices, smart televisions, Internet of Things (loT) devices, autonomous devices, or any other form of computing device capable of participating with other devices via network(s) 110.
- wearable devices e.g., heads up devices, smart watches, etc.
- set-top devices e.g., smart televisions, Internet of Things (loT) devices, autonomous devices, or any other form of
- servers 104 and/or databases 106 may be part of a cloud-based service.
- the servers and/or databases 106 may represent the cloud-based device(s) that provide certain services described herein, and may be distributed, localized (e.g., on the premise of an enterprise, or “on prem”), or any combination of suitable configurations, as will be understood in the art.
- web services can be used to provide communications between electronic and/or computing devices over a network, such as the Internet.
- a web site is an example of a type of web service.
- a web site is typically a set of related web pages that can be served from a web domain.
- a web site can be hosted on a web server.
- a publicly accessible web site can generally be accessed via a network, such as the Internet.
- the publicly accessible collection of web sites is generally referred to as the World Wide Web (WW).
- WWW World Wide Web
- cloud computing generally refers to the use of computing resources (e.g., hardware and software) that are delivered as a service over a network (e.g., typically, the Internet). Cloud computing includes using remote services to provide a user’s data, software, and computation.
- computing resources e.g., hardware and software
- a network e.g., typically, the Internet
- distributed applications can generally be delivered using cloud computing techniques.
- distributed applications can be provided using a cloud computing model, in which users are provided access to application software and databases over a network.
- the cloud providers generally manage the infrastructure and platforms (e.g., servers/appliances) on which the applications are executed.
- Various types of distributed applications can be provided as a cloud service or as a Software as a Service (SaaS) over a network, such as the Internet.
- SaaS Software as a Service
- FIG. 2 is a schematic block diagram of an example node/device 200 that may be used with one or more embodiments described herein, e.g., as any of the devices 102-106 shown in FIG. 1 above.
- Device 200 may comprise one or more network interfaces 210 (e.g., wired, wireless, etc.), at least one processor 220, and a memory 240 interconnected by a system bus 250, as well as a power supply 260 (e.g., battery, plug-in, etc.).
- the network interface(s) 210 contain the mechanical, electrical, and signaling circuitry for communicating data over links coupled to the network(s) 110.
- the network interfaces may be configured to transmit and/or receive data using a variety of different communication protocols.
- device 200 may have multiple types of network connections via interfaces 210, e.g., wireless and wired/physical connections, and that the view herein is merely for illustration.
- Input devices may include an alpha-numeric keypad (e.g., a keyboard) for inputting alpha-numeric and other information, a pointing device (e.g., a mouse, a trackball, stylus, or cursor direction keys), a touchscreen, a microphone, a camera, and so on.
- output devices may include speakers, printers, particular network interfaces, monitors, etc.
- the memory 240 comprises a plurality of storage locations that are addressable by the processor 220 and the network interfaces 210 for storing software programs and data structures associated with the embodiments described herein.
- the processor 220 may comprise hardware elements or hardware logic adapted to execute the software programs and manipulate the data structures 245.
- An operating system 242 portions of which are typically resident in memory 240 and executed by the processor, functionally organizes the device by, among other things, invoking operations in support of software processes and/or services executing on the device. These software processes and/or services may comprise a one or more functional processes 246, and on certain devices, an illustrative “Security Issue Mitigation” process 248, as described herein.
- a router would be configured to operate as a router
- a server would be configured to operate as a server
- an access point (or gateway) would be configured to operate as an access point (or gateway)
- a client device would be configured to operate as a client device, and so on.
- API/RPC interfaces often need to verify the authenticity of users to enforce access control over managed objects. Otherwise, the data managed by a service is “at risk”.
- tools for properly coding authentication and authorization functionality in those service are absent, resulting in such authentication and authorization code in API-based services being ad-hoc and/or poorly implemented, leaving such services in a security vulnerable state.
- well- formed and implemented API services are key to securing the new Internet of API services.
- BOLA Broken Object Level Authorization
- BFLA Broken Function Level Authorization
- BOLA cases are cases where unauthorized users can access restricted objects implemented by an API service, accessing objects managed by a service these users are not supposed to create, read, update and/or delete.
- BFLA cases are where unauthorized users can execute functions implemented by a service that they are not supposed to execute (e.g., management functions).
- BOLA case An example of a BOLA case is a case where an authorized user gets access to bank account information this user is not supposed to have access to, e.g., by simply replacing their bank account number with someone else’s.
- a BFLA case can be a case where a management interface with access to all bank accounts can be used by a user who is not authorized to get access to that function.
- BOLA and BFLA cases are symptoms of poorly implemented API services, e.g., by way of incorrect requirements setting for the developer to implement the API service, sloppy programming, or bit-rot/security-rot through continuous updates to API service code.
- BOLA cases often occur when the programmer incorrectly programmed object authorization code (if at all) for objects that are addressed;
- BFLA cases occur when the programmer does not verify if a particular user should be able to access and execute a method in a service.
- Interface Definition Languages such as OpenAPI [OAS] and gRPC do not enable proper descriptions of the data that is being managed by these services; they only provide for an interface of the actual RPC service.
- tools such as Flask and FastAPI do not help with the generation of proper authentication and authorization code either - again, with the absence of proper data modeling procedures in the IDLs, API service tools have little to go on to automatically craft such procedures.
- a series of manual tests can be conducted to assess the quality of the software system, but such manual tests are often non-comprehensive. Additionally, given the absence of proper object definitions, automatic security testing of API services, generally, is difficult. If all the testing code must go on is a specification of the interface of a service, that even lacks proper object modeling functions, it is neigh impossible to understand what constitutes an authorization security gap and what not. For instance, a bank's API service may list an interface to obtain the value of a bank account. If two distinct users obtain this information, is this a security gap or not?
- SDK Software Development Kit
- the techniques herein therefore, provide a simple mechanism to security test API services for data and function authorization vulnerabilities (i.e., BOLA and/or BFLA issues). To do this, the techniques herein provide a mechanism that integrates the developer and/or security tester in dynamically building the object, authentication, and authorization model of a service. As described in greater detail below, the techniques herein generally comprise the following steps:
- Steps (a)-(d) can be performed repetitively to improve the application model over time.
- the developer/tester can then identify potential BOLA/BFLA issues in API services by reviewing the dynamic application model.
- the embodiments herein present a method to provide partially automated security testing of API services, combining dynamic tracing of the service, with developers and/or security testers guiding (semi-)automatic analysis of the traces of the API service specifications to form an application model, which includes access control lists and a CRUD model for the objects managed by the service. Then, these models are used for specific object and functions authorization testing to show the developer/tester what alternate access to objects and functions are available and, thus, assess the quality of the API service.
- a formalized version of this model can be used by extensions in popular API frameworks for automatically enforcing the authorization rules and thus for proper authorization handling in API services.
- these definitions today, almost universally do not exist.
- the techniques herein can feed those models directly into popular API framework extensions to create rules for such "brown field” deployments (where the API services have been poorly implemented), as well, in order to automatically enforce proper authorization. According to the techniques herein, therefore, in cases where application models exist (“green field deployments") the frameworks simply use the models, and for those cases where they do not exist (“brownfield deployments”), the techniques herein can dynamically create the application models.
- FIGS. 3A-3B illustrate an example basic call flow 3OOa-b for generalized BOLA/BFLA testing for API services, showing the message and operational flow of the techniques herein, namely as a “modeling phase” 300a in FIG. 3A, and a subsequent “testing phase” 300b in FIG. 3B. Note that there are several illustrative actors in the methods herein:
- a client application 305 that interacts with a service.
- the techniques herein integrate with the client to learn of the basic behavior of an API service.
- a proxy service 310 to capture traffic between clients and API services. This serves to learn of traffic: all traffic is intercepted and used to recreate OpenAPI specifications based on client/server traffic, and by assessing identifiers used in the operations, which API methods create objects, and which other API methods refer to those objects. Additionally, it ties the actual user to the operations by observing tokens, IP addresses or any other principal identifying information.
- Application modeling 315 that creates a set of documents that reflect the operations of the API service, including the OpenAPI specification itself, a create, read, update, and delete (CRUD) model of the application and an ACL model that goes with the service.
- the techniques herein refer to this as the “application model”.
- Application testing facilities 320 to execute a series of tests on the service to further application modeling. Its task is to drive tests given synthesized application models using synthetic user service accounts to further improve the application model.
- the API service 325 is the service under test. It is the subject of the application modeling.
- the developer/tester 330 is a person and/or process responsible for amending synthesized application models.
- An example of a client can be an application hosted on a mobile device operated by a user, or a container application calling upon another container application. Care needs to be taken to intercept and decipher and re-encrypt TLS traffic, but techniques exist to address this. It is understood that at best, only those API methods that are used can be modelled.
- the various steps of intercepting traffic are reflected in the modeling phase 300a of FIG. 3 A by messages [1] and [2], Namely, the client application 305 sends API calls (e g., GET, PUT, POST, DELETE) to API service 325, via proxy service 310, as messages [1] and [2], Then, the proxy service 310 uploads the learnt information / observations to application modeling 315 in message / step [3],
- API calls e g., GET, PUT, POST, DELETE
- the key to modeling user interactions is identifying what constitutes individual users. For this, used tokens, cookie tracking, authorization bits and even individual IP addressed can be used. By tracking those identifiers, and associating these with individual HTTP requests, a map be built up which "users" are accessing what API methods with what messages.
- HTTP REST for example, is specifically lax about Creating, Reading, Updating, and Deleting (CRUD) "objects", so it is important to use the data for crafting a CRUD model. Note that these operations are non-exact, and that developer/tester feedback is required to affirm and amend if the system modeled out the objects incorrectly. Note that an object ID not necessarily needs to be a UUID.
- a city name like "Amsterdam” can be just as much an object ID as a string like 123e4567-e89b- 12d3-a456-426614174000. Also note that the system may classify a parameter as an object whereas it was not even an object.
- Message [4] in FIG. 3 A shows the interaction with the developer/tester, where application modeling 315 uploads the application model for review to the developer/tester 330 (e.g., a user interface, a dashboard, an automated system, etc.).
- the flow below shows an example how to build a CRUD model. It is an excerpt of a sequence of transactions with an illustrative “Petstore” software. Note that the example below is simple and that these flows can be extensively complex, and objects created can be created referring to other created objects. Yet, at the end of the day, most API services adhere to the CRUD model. (Note that not all API services can be (semi-)automatically modeled).
- the above model shows the relationships between the objects, and how to create update, read and delete the objects. While it is easy to disambiguate the store and pet identities when they are using distinct values, as in the example, there is no such guarantee. If, by this example, a pet and an order both get identity "10", automatic disentanglement is complex. Hence, care needs to be taken to unravel the flows into their individual CRUD sequences and the developer/tester's help is needed to perform this disentanglement.
- object and object identifiers can be associated with users by way of the traces. Some objects will be addressed by individual users, some by more than a single user. This is then presented again to the developer/tester who can affirm and/or amend the sharing model of these objects in the form of an Access Control List (ACL) - below presented as an assertion list. At this point the developer/tester can already identify potential security vulnerabilities if access to functions is observed that should not be allowed for a certain set of users and when access to non-shareable objects is identified. For example:
- An X_id cannot be shared and is read-writeable by the creator of the object
- a Y_id is readable by all and is read-writeable by the creator of the object
- a Z_id is only accessible by user “Management” as asserted in the JWT token field "user-type"
- an application model of the API service is thus created. This application model forms the basis to assessing if the API service suffers from additional BOLA and/or BFLA issues. All additional clauses that are developer/tester changeable are additional assertions on the objects managed by the service(s).
- the techniques herein also then “fuzz” the service to test the application service model. That is, and with reference now to testing phase 300b of FIG. 3B, to fully assess BOLA/BFLA issues with the crafted application service model, access to objects managed by the API service and API methods themselves for individual users needs to be tested.
- the techniques herein define a set of synthesized "test" users akin to the methods described in project EVO Master and this paper. These test users are equivalent to real users and are provided with the appropriate credentials to exercise the API interface by performing Remote Procedure Calls (RPCs) with synthesized data.
- RPCs Remote Procedure Calls
- Simple object management (A, A(Y), A(U)): o Determine if sub-objects for object Y need to be present and if so, create those first o Create object Y for user U o Read the obj ect Y for user U o Update the obj ect Y for user U o Delete the object Y for user U o If sub-objects were created, delete those sub-objects
- A(svc) represents the application mode
- Y the object that needs to be tested in the service A
- U the specific user for which this needs to be tested.
- This user U is a synthetic service user specifically created for testing.
- the techniques herein need to create, read, update, and delete operations to understand which (synthesized) users can access and execute functions in the API service.
- the techniques herein can exercise and test all operations.
- the techniques herein start by creating, reading, updating, and deleting objects. Given that some objects may be dependent on other objects, creating an object may lead to the creation of other objects, all given the assertions as defined in the modeling phase. To make sure the techniques herein cover all cases, the techniques herein cycle through all users. This gives the techniques herein a complete overview which user can access what function in the actual API service.
- message [5] shows the downloading of all application model (e.g., OpenAPI spec, object model, ACL list, synthesized service user list, etc.) into the application modeling phase (to generate traffic that asserts or violates application model to test application model using predefined application templates).
- message [6] shows the creation of synthesized users on the system under test at API service 325.
- Message [7] shows how the testing tools are primed with the appropriate tests, uploading generated test scripts from the application model 315 to the testing facilities 320.
- Message [8] shows the actual testing (between testing facilities 320 and API service 325), whereas message [9] shows that the test results are made available for downloading to the application modeling phase.
- fuzzy techniques may be used to augment input parameters, even for and especially for invalid input as often authorization code is not reached at all.
- a separate set of tests can be established for detecting BOLA issues in selected API services.
- ACLs a set of sharing assertions (i.e., ACLs) have been created with the help of the developer/tester.
- ACLs sharing assertions
- the techniques herein create objects in the API service that are supposed to be non-shareable, non-readable, non-updateable, or nondelete-able given the identity of the user, the user that created the object, or any other assertions on the object model.
- the techniques herein craft templated programs using the assertions where, for example, user A creates an object, the techniques herein switch to user B by updating the credentials and then try to read, update and/or delete the object.
- the BOLA testing model can be made more elaborate by crafting a wide range of templates.
- the techniques herein use application modeling for automatically enforcing authorizations. That is, thus far, the techniques herein described mechanisms to learn of application models with all their artifacts. This learning leads to a set of documents that can be associated with the API service. Such documents are likely JSON or YAML files that can accompany the OpenAPI specification itself.
- FIG. 4 illustrates an example simplified procedure 400 for detecting BOLA and BFLA issues with API services in accordance with one or more embodiments described herein.
- a non-generic, specifically configured device e.g., device 200
- the procedure 400 may start at step 405, and continues to step 410, where, as described in greater detail above, the process monitors a behavior of an application between one or more client devices and an API service.
- monitoring the behavior of the application may be based on a plurality of messages consisting of one or both of intercepted client calls and generated synthetic traffic, to allow crosscorrelating the plurality of messages to synthesize one or more objects from the plurality of messages and assumed functions of the one or more objects (e.g., create CRUD operations).
- monitoring may comprise identifying individual users for individual HTTP requests between the one or more client devices and the API service (e.g., via tokens, cookie tracking, authorization bits, individual IP addresses, etc.).
- step 415 the process establishes an application model of objects and functions within the application based on the behavior, and in step 420 determines an authorization logic of the application for the objects and functions based on the application model, as described in greater detail above.
- the process may then test one or more authorization approaches against the application to determine one or more discrepancies (e.g., due to BOLA/BFLA) within the authorization logic indicative of faulty authorizations.
- the process may mitigate such discrepancies, such as by presenting them to a developer interface, automatically creating an enforcement mechanism to prevent the discrepancies, and so on.
- the illustrative simplified procedure 400 may then end in step 435.
- Other steps may also be included generally within procedure 400, e.g., as separate steps and/or as additions to steps already specifically illustrated above.
- the techniques described herein therefore, provide for detecting BOLA/BFLA issues with API services.
- the techniques herein not only detect, but mitigate, through dynamic enforcement of created security policies, reporting of issues, and so on.
- the techniques herein may scan an API for vulnerabilities, they have been based on having access to the API specification/documentation in order to attempt to bypass authentication at various locations in the API specification.
- the techniques herein provide behavior-based determination of authorization logic from learned application models, and also the subsequent testing of that authorization logic. That is, the techniques herein do not need access to the API specification, and can assess its behavior by watching client interactions, and then by testing the learned model to find BOLA/BFLA vulnerabilities, specifically.
- the techniques described herein may be performed by hardware, software, and/or firmware, such as in accordance with the illustrative security issue mitigation process 248, which may include computer executable instructions executed by the processor 220 to perform functions relating to the techniques described herein, e.g., in conjunction with corresponding processes of other devices in the computer network as described herein (e.g., on network agents, controllers, computing devices, servers, etc.).
- the components herein may be implemented on a singular device or in a distributed manner, in which case the combination of executing devices can be viewed as their own singular “device” for purposes of executing the process 248.
- an illustrative method herein may comprise: monitoring, by a process, a behavior of an application between one or more client devices and an application programming interface service; establishing, by the process, an application model of objects and functions within the application based on the behavior; and determining, by the process, an authorization logic of the application for the objects and functions based on the application model.
- the method further comprises: testing one or more authorization approaches against the application to determine one or more discrepancies within the authorization logic indicative of faulty authorizations; and mitigating the one or more discrepancies.
- the one or more discrepancies within the authorization logic indicative of faulty authorizations are due to Broken Object Level Authorization and/or Broken Function Level Authorization.
- mitigating comprises: presenting the one or more discrepancies to a developer interface.
- mitigating comprises: automatically creating an enforcement mechanism to prevent the one or more discrepancies.
- monitoring the behavior of the application is based on a plurality of messages consisting of one or both of intercepted client calls and generated synthetic traffic.
- the method comprises: cross-correlating the plurality of messages to synthesize one or more objects from the plurality of messages and assumed functions of the one or more objects.
- assumed functions are selected from a group consisting of: create operations; read operations; update operations; and delete operations.
- monitoring the behavior of the application comprises: identifying individual users for individual hypertext transfer protocol requests between the one or more client devices and the application programming interface service. In one embodiment, identifying individual users is based on or more of tokens, cookie tracking, authorization bits, and individual internet protocol addresses.
- the application comprises client application software hosted on one or more entities selected from a group consisting of client devices; microservices; and virtual machines.
- an illustrative tangible, non-transitory, computer-readable medium herein may have computer-executable instructions stored thereon that, when executed by a processor on a computer, may cause the computer to perform a method comprising: monitoring a behavior of an application between one or more client devices and an application programming interface service; establishing an application model of objects and functions within the application based on the behavior; and determining an authorization logic of the application for the objects and functions based on the application model.
- the method further comprises: testing one or more authorization approaches against the application to determine one or more discrepancies within the authorization logic indicative of faulty authorizations; and mitigating the one or more discrepancies.
- an illustrative apparatus herein may comprise: one or more network interfaces to communicate with a network; a processor coupled to the network interfaces and configured to execute one or more processes; and a memory configured to store a process that is executable by the processor, the process, when executed, configured to: monitor a behavior of an application between one or more client devices and an application programming interface service; establish an application model of objects and functions within the application based on the behavior; and determine an authorization logic of the application for the objects and functions based on the application model.
- the process, when executed, is further configured to: test one or more authorization approaches against the application to determine one or more discrepancies within the authorization logic indicative of faulty authorizations; and mitigate the one or more discrepancies.
- agents of the observability intelligence platform e.g., application agents, network agents, language agents, etc.
- any process step performed “by a server” need not be limited to local processing on a specific server device, unless otherwise specifically noted as such.
- agents e.g., application agents, network agents, endpoint agents, enterprise agents, cloud agents, etc.
- agents e.g., application agents, network agents, endpoint agents, enterprise agents, cloud agents, etc.
- the techniques may be generally applied to any suitable software/hardware configuration (libraries, modules, etc.) as part of an apparatus, application, or otherwise.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202263300359P | 2022-01-18 | 2022-01-18 | |
| US17/843,355 US12468855B2 (en) | 2022-01-18 | 2022-06-17 | Detecting broken object level and function level authorization issues with API services |
| PCT/US2023/010072 WO2023141014A1 (en) | 2022-01-18 | 2023-01-04 | Detecting broken object level and function level authorization issues with api services |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4466826A1 true EP4466826A1 (en) | 2024-11-27 |
Family
ID=85199282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23703914.4A Pending EP4466826A1 (en) | 2022-01-18 | 2023-01-04 | Detecting broken object level and function level authorization issues with api services |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4466826A1 (en) |
| WO (1) | WO2023141014A1 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9003543B2 (en) * | 2010-12-21 | 2015-04-07 | Microsoft Technology Licensing, Llc | Providing a security boundary |
| US11108803B2 (en) * | 2017-03-01 | 2021-08-31 | Synopsys, Inc. | Determining security vulnerabilities in application programming interfaces |
-
2023
- 2023-01-04 EP EP23703914.4A patent/EP4466826A1/en active Pending
- 2023-01-04 WO PCT/US2023/010072 patent/WO2023141014A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023141014A1 (en) | 2023-07-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11023301B1 (en) | Unified API platform | |
| US11409697B2 (en) | Efficient configuration compliance verification of resources in a target environment of a computing system | |
| JP7796739B2 (en) | Continuous integration and development of code in a secure environment | |
| US11233826B2 (en) | System and method of microservice-based application deployment with automating authorization configuration | |
| US20240106846A1 (en) | Approval Workflows For Anomalous User Behavior | |
| US11895121B1 (en) | Efficient identification and remediation of excessive privileges of identity and access management roles and policies | |
| Sicari et al. | Security policy enforcement for networked smart objects | |
| JP7837968B2 (en) | Service orchestration within a distributed pod-based system | |
| US12541384B2 (en) | Component testing framework | |
| US20200233699A1 (en) | Platform-based change management | |
| US12363126B2 (en) | Custom rest endpoints and extensible role-based access control (RBAC) for an extensibility platform | |
| US20230334478A1 (en) | Detecting anomalous transactions within an application by privileged user accounts | |
| US11711373B2 (en) | Platform-based authentication for external services | |
| WO2024010747A1 (en) | Approval workflows for anomalous user behavior | |
| US12585573B2 (en) | Assembling low-code applications with observability policy injections | |
| US12468855B2 (en) | Detecting broken object level and function level authorization issues with API services | |
| WO2023096748A1 (en) | Microservice-based multifactor authentication | |
| Marconi et al. | Research challenges on multi-layer and mixed-initiative monitoring and adaptation for service-based systems | |
| EP4466826A1 (en) | Detecting broken object level and function level authorization issues with api services | |
| US20250077380A1 (en) | Model driven agents for synthetic monitoring | |
| US12536255B2 (en) | Instrumenting applications to prevent abuse by privileged users | |
| Schmieders et al. | Architectural runtime models for privacy checks of cloud applications | |
| Sappa | Context-aware security policies for data-driven applications in cloud-native architectures | |
| US20260039647A1 (en) | Selective authorization control in multi-tenant applications | |
| Copeland | Cyber Security on Azure |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20240716 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20251002 |