Microsoft Sentinel Analytic Rules
cloudbrothers.infoAzure Sentinel RepoToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

Awake Security - High Match Counts By Device

Back
Id90b7ac11-dd6c-4ba1-a99b-737061873859
RulenameAwake Security - High Match Counts By Device
DescriptionThis query searches for devices with unexpectedly large number of activity match.
SeverityMedium
Required data connectorsAristaAwakeSecurity
CefAma
KindScheduled
Query frequency1h
Query period1h
Trigger threshold0
Trigger operatorgt
Source Urihttps://github.com/Azure/Azure-Sentinel/blob/master/Solutions/AristaAwakeSecurity/Analytic Rules/HighMatchCountsByDevice.yaml
Version1.0.1
Arm template90b7ac11-dd6c-4ba1-a99b-737061873859.json
Deploy To Azure
CommonSecurityLog
| where DeviceVendor == "Arista Networks" and DeviceProduct == "Awake Security"
| summarize StartTime=min(TimeGenerated), EndTime=max(TimeGenerated), Models=make_set(Activity), ASPMatchURLs=make_set(DeviceCustomString2), SourceIPs=make_set(SourceIP),
  DestinationIPs=make_set(DestinationIP), ModelMatchCount=sum(EventCount), MaxSeverity=max(toint(LogSeverity)) by SourceHostName
| where ModelMatchCount > 1000 and MaxSeverity > 2
| extend SeverityName=iff(MaxSeverity == 0, "Informational", iff(MaxSeverity < 5, "Low", iff(MaxSeverity < 8, "Medium", "High")))
name: Awake Security - High Match Counts By Device
alertDetailsOverride:
  alertDisplayNameFormat: Awake Security - High Model Match Counts On Device {{SourceHostName}}
  alertSeverityColumnName: SeverityName
  alertDescriptionFormat: |-
    The following Awake model(s):

    {{Models}}

    matched {{ModelMatchCount}} activities, an unexpectedly large number. The destination IPs associated with these matches were:

    {{DestinationIPs}}    
  alertTacticsColumnName: 
severity: Medium
queryFrequency: 1h
triggerOperator: gt
customDetails:
  Matches_Count: ModelMatchCount
  Matched_Models: Models
  Device: SourceHostName
  Matches_Max_Severity: MaxSeverity
  Matches_ASP_URLs: ASPMatchURLs
  Matches_Dest_IPs: DestinationIPs
version: 1.0.1
relevantTechniques: []
status: Available
description: This query searches for devices with unexpectedly large number of activity match.
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/AristaAwakeSecurity/Analytic Rules/HighMatchCountsByDevice.yaml
requiredDataConnectors:
- connectorId: AristaAwakeSecurity
  dataTypes:
  - CommonSecurityLog (AwakeSecurity)
- connectorId: CefAma
  dataTypes:
  - CommonSecurityLog
entityMappings:
- fieldMappings:
  - identifier: HostName
    columnName: SourceHostName
  entityType: Host
- fieldMappings:
  - identifier: Address
    columnName: SourceIPs
  entityType: IP
tactics: []
queryPeriod: 1h
query: |
  CommonSecurityLog
  | where DeviceVendor == "Arista Networks" and DeviceProduct == "Awake Security"
  | summarize StartTime=min(TimeGenerated), EndTime=max(TimeGenerated), Models=make_set(Activity), ASPMatchURLs=make_set(DeviceCustomString2), SourceIPs=make_set(SourceIP),
    DestinationIPs=make_set(DestinationIP), ModelMatchCount=sum(EventCount), MaxSeverity=max(toint(LogSeverity)) by SourceHostName
  | where ModelMatchCount > 1000 and MaxSeverity > 2
  | extend SeverityName=iff(MaxSeverity == 0, "Informational", iff(MaxSeverity < 5, "Low", iff(MaxSeverity < 8, "Medium", "High")))  
incidentConfiguration:
  createIncident: true
  groupingConfiguration:
    matchingMethod: Selected
    lookbackDuration: 3d
    enabled: true
    groupByEntities:
    - Host
    reopenClosedIncident: true
    groupByAlertDetails: []
    groupByCustomDetails:
    - Device
kind: Scheduled
eventGroupingSettings:
  aggregationKind: AlertPerResult
triggerThreshold: 0
id: 90b7ac11-dd6c-4ba1-a99b-737061873859
{
  "$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/90b7ac11-dd6c-4ba1-a99b-737061873859')]",
      "kind": "Scheduled",
      "name": "[concat(parameters('workspace'),'/Microsoft.SecurityInsights/90b7ac11-dd6c-4ba1-a99b-737061873859')]",
      "properties": {
        "alertDetailsOverride": {
          "alertDescriptionFormat": "The following Awake model(s):\n\n{{Models}}\n\nmatched {{ModelMatchCount}} activities, an unexpectedly large number. The destination IPs associated with these matches were:\n\n{{DestinationIPs}}",
          "alertDisplayNameFormat": "Awake Security - High Model Match Counts On Device {{SourceHostName}}",
          "alertSeverityColumnName": "SeverityName",
          "alertTacticsColumnName": null
        },
        "alertRuleTemplateName": "90b7ac11-dd6c-4ba1-a99b-737061873859",
        "customDetails": {
          "Device": "SourceHostName",
          "Matched_Models": "Models",
          "Matches_ASP_URLs": "ASPMatchURLs",
          "Matches_Count": "ModelMatchCount",
          "Matches_Dest_IPs": "DestinationIPs",
          "Matches_Max_Severity": "MaxSeverity"
        },
        "description": "This query searches for devices with unexpectedly large number of activity match.",
        "displayName": "Awake Security - High Match Counts By Device",
        "enabled": true,
        "entityMappings": [
          {
            "entityType": "Host",
            "fieldMappings": [
              {
                "columnName": "SourceHostName",
                "identifier": "HostName"
              }
            ]
          },
          {
            "entityType": "IP",
            "fieldMappings": [
              {
                "columnName": "SourceIPs",
                "identifier": "Address"
              }
            ]
          }
        ],
        "eventGroupingSettings": {
          "aggregationKind": "AlertPerResult"
        },
        "incidentConfiguration": {
          "createIncident": true,
          "groupingConfiguration": {
            "enabled": true,
            "groupByAlertDetails": [],
            "groupByCustomDetails": [
              "Device"
            ],
            "groupByEntities": [
              "Host"
            ],
            "lookbackDuration": "P3D",
            "matchingMethod": "Selected",
            "reopenClosedIncident": true
          }
        },
        "OriginalUri": "https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/AristaAwakeSecurity/Analytic Rules/HighMatchCountsByDevice.yaml",
        "query": "CommonSecurityLog\n| where DeviceVendor == \"Arista Networks\" and DeviceProduct == \"Awake Security\"\n| summarize StartTime=min(TimeGenerated), EndTime=max(TimeGenerated), Models=make_set(Activity), ASPMatchURLs=make_set(DeviceCustomString2), SourceIPs=make_set(SourceIP),\n  DestinationIPs=make_set(DestinationIP), ModelMatchCount=sum(EventCount), MaxSeverity=max(toint(LogSeverity)) by SourceHostName\n| where ModelMatchCount > 1000 and MaxSeverity > 2\n| extend SeverityName=iff(MaxSeverity == 0, \"Informational\", iff(MaxSeverity < 5, \"Low\", iff(MaxSeverity < 8, \"Medium\", \"High\")))\n",
        "queryFrequency": "PT1H",
        "queryPeriod": "PT1H",
        "severity": "Medium",
        "status": "Available",
        "subTechniques": [],
        "suppressionDuration": "PT1H",
        "suppressionEnabled": false,
        "tactics": [],
        "techniques": [],
        "templateVersion": "1.0.1",
        "triggerOperator": "GreaterThan",
        "triggerThreshold": 0
      },
      "type": "Microsoft.OperationalInsights/workspaces/providers/alertRules"
    }
  ]
}