| ID | Technique | Tactic |
|---|
Detection: Baseline Of Cloud Infrastructure API Calls Per User
REMOVED DETECTION
This detection has been removed from the Splunk Threat Research content library and is no longer maintained or supported.
Reason: All detection(s) which leverage this baseline have been deprecated. As such, this baseline has been deprecated as well.
Removed in version: 5.26.0
If you have any questions or concerns, please reach out to us at research@splunk.com.
Description
This search is used to build a Machine Learning Toolkit (MLTK) model for how many API calls are performed by each user. By default, the search uses the last 90 days of data to build the model and the model is rebuilt weekly. The model created by this search is then used in the corresponding detection search, which identifies subsequent outliers in the number of instances created in a small time window.
Search
1
2| tstats count as api_calls from datamodel=Change where All_Changes.user!=unknown All_Changes.status=success by All_Changes.user _time span=1h
3| `drop_dm_object_name("All_Changes")`
4| eval HourOfDay=strftime(_time, "%H")
5| eval HourOfDay=floor(HourOfDay/4)*4
6| eval DayOfWeek=strftime(_time, "%w")
7| eval isWeekend=if(DayOfWeek >= 1 AND DayOfWeek <= 5, 0, 1)
8| table _time api_calls, user, HourOfDay, isWeekend
9| eventstats dc(api_calls) as api_calls by user, HourOfDay, isWeekend
10| where api_calls >= 1
11| fit DensityFunction api_calls by "user,HourOfDay,isWeekend" into cloud_excessive_api_calls_v1 dist=norm show_density=true
Data Source
No data sources specified for this detection.
Macros Used
| Name | Value |
|---|---|
| drop_dm_object_name | `` |
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
| Setting | Value |
|---|---|
| Disabled | true |
| Cron Schedule | N/A |
| Earliest Time | N/A |
| Latest Time | N/A |
| Schedule Window | N/A |
| Creates Finding (Notable) | No |
| Creates Intermediate Finding (Risk Event) | No |
Implementation
You must have Enterprise Security 6.0 or later, if not you will need to verify that the Machine Learning Toolkit (MLTK) version 4.2 or later is installed, along with any required dependencies. Depending on the number of users in your environment, you may also need to adjust the value for max_inputs in the MLTK settings for the DensityFunction algorithm, then ensure that the search completes in a reasonable timeframe. By default, the search builds the model using the past 90 days of data. You can modify the search window to build the model over a longer period of time, which may give you better results. You may also want to periodically re-run this search to rebuild the model with the latest data.
Known False Positives
No false positives have been identified at this time.
Associated Analytic Story
Detection Testing
| Test Type | Status | Dataset | Source | Sourcetype |
|---|---|---|---|---|
| Validation | Not Applicable | N/A | N/A | N/A |
| Unit | Not Applicable | N/A | N/A |
N/A |
| Integration | Not Applicable | N/A | N/A |
N/A |
Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI.
Alternatively you can replay a dataset into a Splunk Attack Range
Source: GitHub |
Version: 3