Back
Id4a7b3c9e-2d15-4e8f-b6a3-9c2e7d5a1b4f
RulenameSOCRadar Alarm Volume Spike
DescriptionDetects unusual spikes in SOCRadar alarm volume that may indicate an active campaign, coordinated attack, or data breach. Triggers when alarm count in the last hour exceeds the 7-day hourly average by more than 3x.
SeverityMedium
TacticsImpact
Exfiltration
TechniquesT1485
T1567
KindScheduled
Query frequency1h
Query period7d
Trigger threshold0
Trigger operatorgt
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/SOCRadar/Analytic%20Rules/SOCRadarAlarmVolumeSpike.yaml
Version1.0.0
Arm template4a7b3c9e-2d15-4e8f-b6a3-9c2e7d5a1b4f.json
Deploy To Azure
let baseline = SOCRadar_Alarms_CL
| where TimeGenerated > ago(7d) and TimeGenerated < ago(1h)
| summarize AvgHourly = count() / 168.0;
let recent = SOCRadar_Alarms_CL
| where TimeGenerated > ago(1h)
| summarize RecentCount = count() by AlarmMainType;
recent
| extend BaselineAvg = toscalar(baseline)
| where RecentCount > (BaselineAvg * 3) and RecentCount > 5
| extend SpikeRatio = round(RecentCount / BaselineAvg, 2)
| extend timestamp = now()
| extend AccountName = AlarmMainType
name: SOCRadar Alarm Volume Spike
triggerOperator: gt
query: |
  let baseline = SOCRadar_Alarms_CL
  | where TimeGenerated > ago(7d) and TimeGenerated < ago(1h)
  | summarize AvgHourly = count() / 168.0;
  let recent = SOCRadar_Alarms_CL
  | where TimeGenerated > ago(1h)
  | summarize RecentCount = count() by AlarmMainType;
  recent
  | extend BaselineAvg = toscalar(baseline)
  | where RecentCount > (BaselineAvg * 3) and RecentCount > 5
  | extend SpikeRatio = round(RecentCount / BaselineAvg, 2)
  | extend timestamp = now()
  | extend AccountName = AlarmMainType
queryFrequency: 1h
description: |
  'Detects unusual spikes in SOCRadar alarm volume that may indicate an active campaign, coordinated attack, or data breach. Triggers when alarm count in the last hour exceeds the 7-day hourly average by more than 3x.'
id: 4a7b3c9e-2d15-4e8f-b6a3-9c2e7d5a1b4f
triggerThreshold: 0
queryPeriod: 7d
version: 1.0.0
kind: Scheduled
status: Available
severity: Medium
requiredDataConnectors: []
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/SOCRadar/Analytic%20Rules/SOCRadarAlarmVolumeSpike.yaml
relevantTechniques:
- T1485
- T1567
tactics:
- Impact
- Exfiltration
entityMappings:
- fieldMappings:
  - identifier: Name
    columnName: AccountName
  entityType: Malware
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspace": {
      "type": "String"
    }
  },
  "resources": [
    {
      "apiVersion": "2024-01-01-preview",
      "id": "[concat(resourceId('Microsoft.OperationalInsights/workspaces/providers', parameters('workspace'), 'Microsoft.SecurityInsights'),'/alertRules/4a7b3c9e-2d15-4e8f-b6a3-9c2e7d5a1b4f')]",
      "kind": "Scheduled",
      "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/4a7b3c9e-2d15-4e8f-b6a3-9c2e7d5a1b4f')]",
      "properties": {
        "alertRuleTemplateName": "4a7b3c9e-2d15-4e8f-b6a3-9c2e7d5a1b4f",
        "customDetails": null,
        "description": "'Detects unusual spikes in SOCRadar alarm volume that may indicate an active campaign, coordinated attack, or data breach. Triggers when alarm count in the last hour exceeds the 7-day hourly average by more than 3x.'\n",
        "displayName": "SOCRadar Alarm Volume Spike",
        "enabled": true,
        "entityMappings": [
          {
            "entityType": "Malware",
            "fieldMappings": [
              {
                "columnName": "AccountName",
                "identifier": "Name"
              }
            ]
          }
        ],
        "OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/SOCRadar/Analytic%20Rules/SOCRadarAlarmVolumeSpike.yaml",
        "query": "let baseline = SOCRadar_Alarms_CL\n| where TimeGenerated > ago(7d) and TimeGenerated < ago(1h)\n| summarize AvgHourly = count() / 168.0;\nlet recent = SOCRadar_Alarms_CL\n| where TimeGenerated > ago(1h)\n| summarize RecentCount = count() by AlarmMainType;\nrecent\n| extend BaselineAvg = toscalar(baseline)\n| where RecentCount > (BaselineAvg * 3) and RecentCount > 5\n| extend SpikeRatio = round(RecentCount / BaselineAvg, 2)\n| extend timestamp = now()\n| extend AccountName = AlarmMainType\n",
        "queryFrequency": "PT1H",
        "queryPeriod": "P7D",
        "severity": "Medium",
        "status": "Available",
        "subTechniques": [],
        "suppressionDuration": "PT1H",
        "suppressionEnabled": false,
        "tactics": [
          "Exfiltration",
          "Impact"
        ],
        "techniques": [
          "T1485",
          "T1567"
        ],
        "templateVersion": "1.0.0",
        "triggerOperator": "GreaterThan",
        "triggerThreshold": 0
      },
      "type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
    }
  ]
}