Skip to content

Commit 44cc69f

Browse files
authored
Merge pull request #11766 from mgstate/master
Create Machine_Learning_Creation.yaml
2 parents acaa5c9 + cf86217 commit 44cc69f

File tree

6 files changed

+325
-116
lines changed

6 files changed

+325
-116
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
id: 68c89998-8052-4c80-a1f6-9d81060b6d57
2+
name: Azure Machine Learning Write Operations
3+
description: |
4+
'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.'
5+
severity: Low
6+
status: Available
7+
requiredDataConnectors:
8+
- connectorId: AzureActivity
9+
dataTypes:
10+
- AzureActivity
11+
tactics:
12+
- InitialAccess
13+
- Execution
14+
- Impact
15+
relevantTechniques:
16+
- T1078
17+
- T1059
18+
- T1496
19+
queryFrequency: 1d # Added queryFrequency property
20+
queryPeriod: 1d
21+
triggerOperator: gt
22+
triggerThreshold: 0
23+
query: |
24+
AzureActivity
25+
| where ResourceProviderValue == "MICROSOFT.MACHINELEARNINGSERVICES" // Filter activities related to Microsoft Machine Learning Services
26+
| extend SCOPE = tostring(parse_json(Authorization).scope) // Parse Authorization scope as string
27+
| extend subname = split(Hierarchy, "/") // Split Hierarchy to extract Subscription Name and ID
28+
| extend ['Subscription Name'] = subname[-2], ['Subscription ID'] = subname[-1] // Extract Subscription Name and ID
29+
| extend Properties = parse_json(Properties) // Parse Properties as JSON
30+
| extend Properties_entity = tostring(Properties.entity) // Cast Properties.entity to string
31+
| where isnotempty(Properties_entity) // Filter activities where Properties.entity is not empty
32+
// | where Properties_entity contains "deepseek" // Filter activities where Properties.entity contains "deepseek"
33+
| where OperationNameValue contains "write" // Filter activities where OperationNameValue contains "write"
34+
| where OperationNameValue !contains "MICROSOFT.AUTHORIZATION/ROLEASSIGNMENTS/WRITE" // Exclude role assignments
35+
| extend LLM = tostring(split(Properties_entity, "/")[-1]) // Extract the last segment of Properties_entity and cast it to string
36+
| distinct TimeGenerated, tostring(['Subscription Name']), ResourceGroup, tostring(['Subscription ID']), Caller, CallerIpAddress, OperationNameValue, LLM, _ResourceId // Select distinct relevant fields for output
37+
eventGroupingSettings:
38+
aggregationKind: SingleAlert
39+
entityMappings:
40+
- entityType: Account
41+
fieldMappings:
42+
- identifier: Name
43+
columnName: Caller
44+
- entityType: IP
45+
fieldMappings:
46+
- identifier: Address
47+
columnName: CallerIpAddress
48+
- entityType: AzureResource
49+
fieldMappings:
50+
- identifier: ResourceId
51+
columnName: _ResourceId
52+
version: 1.0.0
53+
kind: Scheduled

Solutions/Azure Activity/Data/Solution_AzureActivity.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
"Analytic Rules/NewResourceGroupsDeployedTo.yaml",
3737
"Analytic Rules/RareOperations.yaml",
3838
"Analytic Rules/TimeSeriesAnomaly_Mass_Cloud_Resource_Deletions.yaml",
39-
"Analytic Rules/SubscriptionMigration.yaml"
39+
"Analytic Rules/SubscriptionMigration.yaml",
40+
"Analytic Rules/Machine_Learning_Creation.yaml"
4041

4142
],
4243
"Workbooks": [
869 Bytes
Binary file not shown.

Solutions/Azure Activity/Package/createUiDefinition.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"config": {
77
"isWizard": false,
88
"basics": {
9-
"description": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Workbooks/Images/Logos/azureactivity_logo.svg\" width=\"75px\" height=\"75px\">\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/Azure%20Activity/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe [Azure Activity](https://docs.microsoft.com/azure/azure-monitor/essentials/activity-log) solution for Microsoft Sentinel enables you to ingest Azure Activity Administrative, Security, Service Health, Alert, Recommendation, Policy, Autoscale and Resource Health [logs](https://docs.microsoft.com/azure/azure-monitor/reference/tables/azureactivity) using Diagnostic Settings into Microsoft Sentinel.\n\n**Data Connectors:** 1, **Workbooks:** 2, **Analytic Rules:** 13, **Hunting Queries:** 15\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)",
9+
"description": "<img src=\"https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Workbooks/Images/Logos/azureactivity_logo.svg\" width=\"75px\" height=\"75px\">\n\n**Note:** Please refer to the following before installing the solution: \n\n• Review the solution [Release Notes](https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/Azure%20Activity/ReleaseNotes.md)\n\n • There may be [known issues](https://aka.ms/sentinelsolutionsknownissues) pertaining to this Solution, please refer to them before installing.\n\nThe [Azure Activity](https://docs.microsoft.com/azure/azure-monitor/essentials/activity-log) solution for Microsoft Sentinel enables you to ingest Azure Activity Administrative, Security, Service Health, Alert, Recommendation, Policy, Autoscale and Resource Health [logs](https://docs.microsoft.com/azure/azure-monitor/reference/tables/azureactivity) using Diagnostic Settings into Microsoft Sentinel.\n\n**Data Connectors:** 1, **Workbooks:** 2, **Analytic Rules:** 14, **Hunting Queries:** 15\n\n[Learn more about Microsoft Sentinel](https://aka.ms/azuresentinel) | [Learn more about Solutions](https://aka.ms/azuresentinelsolutionsdoc)",
1010
"subscription": {
1111
"resourceProviders": [
1212
"Microsoft.OperationsManagement/solutions",
@@ -338,6 +338,20 @@
338338
}
339339
}
340340
]
341+
},
342+
{
343+
"name": "analytic14",
344+
"type": "Microsoft.Common.Section",
345+
"label": "Azure Machine Learning Write Operations",
346+
"elements": [
347+
{
348+
"name": "analytic14-text",
349+
"type": "Microsoft.Common.TextBlock",
350+
"options": {
351+
"text": "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."
352+
}
353+
}
354+
]
341355
}
342356
]
343357
},

0 commit comments

Comments
 (0)