-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #11754 from mgstate/master
AI_Creation_Events
- Loading branch information
Showing
6 changed files
with
168 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
46 changes: 46 additions & 0 deletions
46
Solutions/Azure Activity/Hunting Queries/Machine_Learning_Creation.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
id: 26d116bd-324b-4bb8-b102-d4a282607ad7 | ||
name: Azure Machine Learning Write Operations | ||
description: | | ||
'Shows the most prevalent users who perform write operations on Azure Machine Learning resources. List the common source IP address for each of those accounts. If an operation is not from those IP addresses, it may be worthy of investigation.' | ||
requiredDataConnectors: | ||
- connectorId: AzureActivity | ||
dataTypes: | ||
- AzureActivity | ||
tactics: | ||
- InitialAccess | ||
- Execution | ||
- Impact | ||
relevantTechniques: | ||
- T1078 | ||
- T1059 | ||
- T1496 | ||
query: | | ||
AzureActivity | ||
| where ResourceProviderValue == "MICROSOFT.MACHINELEARNINGSERVICES" // Filter activities related to Microsoft Machine Learning Services | ||
| extend SCOPE = tostring(parse_json(Authorization).scope) // Parse Authorization scope as string | ||
| extend subname = split(Hierarchy, "/") // Split Hierarchy to extract Subscription Name and ID | ||
| extend ['Subscription Name'] = subname[-2], ['Subscription ID'] = subname[-1] // Extract Subscription Name and ID | ||
| extend Properties = parse_json(Properties) // Parse Properties as JSON | ||
| extend Properties_entity = tostring(Properties.entity) // Cast Properties.entity to string | ||
| where isnotempty(Properties_entity) // Filter activities where Properties.entity is not empty | ||
// | where Properties_entity contains "deepseek" // Filter activities where Properties.entity contains "deepseek" | ||
| where OperationNameValue contains "write" // Filter activities where OperationNameValue contains "write" | ||
| where OperationNameValue !contains "MICROSOFT.AUTHORIZATION/ROLEASSIGNMENTS/WRITE" // Exclude role assignments | ||
| extend LLM = tostring(split(Properties_entity, "/")[-1]) // Extract the last segment of Properties_entity and cast it to string | ||
| distinct TimeGenerated, tostring(['Subscription Name']), ResourceGroup, tostring(['Subscription ID']), Caller, CallerIpAddress, OperationNameValue, LLM, _ResourceId // Select distinct relevant fields for output | ||
entityMappings: | ||
- entityType: Account | ||
fieldMappings: | ||
- identifier: Name | ||
columnName: Caller | ||
- entityType: IP | ||
fieldMappings: | ||
- identifier: Address | ||
columnName: CallerIpAddress | ||
- entityType: Azure Resource | ||
fieldMappings: | ||
- identifier: ResourceId | ||
columnName: _ResourceId | ||
|
||
version: 1.0 |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.