Skip to content

Commit 10590c2

Browse files
bola attack detection
1 parent 67413a9 commit 10590c2

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

src/content/docs/api-shield/management-and-monitoring/endpoint-labels.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ Cloudflare automatically runs risk scans every 24 hours on your saved endpoints.
6969

7070
`cf-risk-size-anomaly`: Automatically added when an endpoint experiences a spike in response body size over the last 24 hours.
7171

72+
`cf-risk-bola-enumeration`: Automatically added when an endpoint experiences successful responses with drastic differences in the number of unique elements requested by different user sessions.
73+
74+
`cf-risk-bola-pollution`: Automatically added when an endpoint experiences successful responses where parameters are found in multiple places in the request.
75+
7276
:::note
7377
Cloudflare will only add authentication labels to endpoints with successful response codes. Refer to the below table for more details.
7478
:::
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
pcx_content_type: concept
3+
type: overview
4+
title: Broken Object Level Authorization attack detection
5+
sidebar:
6+
badge:
7+
text: Beta
8+
order: 10
9+
label: BOLA attack detection
10+
---
11+
12+
import { Badge } from "~/components";
13+
14+
A Broken Object Level Authorization (BOLA) attack is where an application or API fails to properly verify if a user has permission to access specific private data.
15+
16+
Bugs in the application or API allow attackers to bypass authorization checks and access sensitive information by manipulating and iterating through object identifiers
17+
18+
Vulnerabilities can occur at any time, including in the original application's deployment. However, changes or upgrades to authentication and authorization policies can also introduce these bugs.
19+
20+
BOLA attacks are as dangerous as account takeover. A successful BOLA attack allows the attacker to access or change data that they should not have ownership over.
21+
22+
Cloudflare labels endpoints with BOLA risk when we detect two distinct signals common with BOLA attacks: **Parameter pollution** and **Enumeration**.
23+
24+
- **Parameter pollution**: Cloudflare detects anomalies where one or more successful requests containing a value in an expected path, query string, header, or body parameter have that value duplicated in an unexpected, similar location.
25+
26+
This behavior may be indicative of attackers trying to confuse the API’s authorization system and bypass security controls.
27+
28+
- **Enumeration**: Cloudflare detects anomalies where one or more sessions makes successful requests to any one API endpoint changing variable values out of the norm, trying to get information from the API.
29+
30+
:::note
31+
Sessions that have more random behavior or repetition have a higher chance of triggering an alert.
32+
:::
33+
34+
## Examples
35+
36+
### Parameter pollution attack
37+
38+
**Endpoint**: `GET /api/v1/credit-cards/{cardId}`
39+
40+
- **Normal behavior**: `cardId` is sent in a path variable.
41+
- **Attacker behavior**:`cardId` is also sent as a query parameter, which triggers old and undocumented code that looks for cards in the query parameter that lacks the authorization check: `GET /api/v1/credit-cards/{cardId}?cardId=12345`.
42+
43+
### BOLA enumeration attack
44+
45+
**Endpoint**: `GET /api/v1/credit-cards/{cardId}`
46+
47+
- **Normal behavior**: Users request one to two credit cards per session.
48+
- **Attack behavior**: Attackers request hundreds of credit card values per session.
49+
50+
## Process
51+
52+
For beta customers, API Shield searches for and highlights BOLA attacks on your APIs. Cloudflare learns visitor traffic patterns over time to know when API access to specific objects is likely a Broken Object Level Authorization enumeration attack. We inform you what API endpoints are being targeted by automatically labeling them using the following risk labels:
53+
54+
`cf-risk-bola-enumeration`: Automatically added when an endpoint experiences successful responses with drastic differences in the number of unique elements requested by different user sessions.
55+
56+
`cf-risk-bola-pollution`: Automatically added when an endpoint experiences successful responses where parameters are found in multiple places in the request.
57+
58+
If you see one of these labels on your API endpoints, check its authorization policy with your developer team to find any authorization bugs. Additionally, you can reach out to Cloudflare for a customized report about the behavior, including attacker identifiers that you can use to confirm attack reach and impact.
59+
60+
## Availability
61+
62+
BOLA attack detection is available in a closed beta. Contact your account team if you are interested in BOLA attack detection for your API.

0 commit comments

Comments
 (0)