Modificare il contenuto per usare il modello ASIM (Advanced Security Information Model)

Il contenuto di sicurezza normalizzato in Microsoft Sentinel include regole di analisi, query di ricerca e cartelle di lavoro che funzionano con i parser di normalizzazione unificanti.

È possibile trovare contenuti normalizzati e predefiniti nelle raccolte Microsoft Sentinel e nel catalogo delle soluzioni Microsoft Sentinel, creare contenuto normalizzato o modificare contenuto personalizzato esistente per l'uso di dati normalizzati.

Questo articolo illustra come convertire le regole di analisi di Microsoft Sentinel esistenti per usare i dati normalizzati ASIM con Advanced Security Information Model (ASIM).

Per informazioni sul contenuto normalizzato all'interno dell'architettura ASIM, vedere il diagramma dell'architettura ASIM.

Modificare il contenuto personalizzato per usare la normalizzazione

Per abilitare il contenuto Microsoft Sentinel personalizzato per l'uso della normalizzazione:

  • Modifica le query per usare eventuali parser di unificazione ASIM pertinenti alla query.

  • Modificare i nomi dei campi nella query per usare i nomi dei campi degli schemi normalizzati ASIM .

  • Se applicabile, modificare le condizioni per usare i valori normalizzati dei campi nella query.

Normalizzazione di esempio per le regole di analisi

Si consideri, ad esempio, la regola di analisi DNS del client raro osservata con numero di ricerche DNS inverso elevato , che funziona sugli eventi DNS inviati dai server DNS Infoblox:

let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
    | where ProcessName =~ "named" and Log_Type =~ "client"
    | where isnotempty(ResponseCode)
    | where ResponseCode =~ "NXDOMAIN"
    ) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP

Il codice seguente è la versione indipendente dall'origine, che usa la normalizzazione per fornire lo stesso rilevamento per qualsiasi origine che fornisce eventi di query DNS. Nell'esempio seguente vengono usati parser ASIM predefiniti:

_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

La versione normalizzata indipendente dall'origine presenta le differenze seguenti:

  • I parser _Im_Dns o imDns normalizzati vengono utilizzati al posto del parser Infoblox.

  • I parser normalizzati recuperano solo gli eventi di query DNS, quindi non è necessario controllare il tipo di evento, come eseguito da where ProcessName =~ "named" and Log_Type =~ "client" nella versione di Infoblox.

  • Il SrcIpAddr campo viene utilizzato al posto di Client_IP.

  • Il filtro dei parametri del parser viene usato per ResponseCodeName, eliminando la necessità di clausole esplicite where .

Nota

Oltre a supportare qualsiasi origine DNS normalizzata, la versione normalizzata è più breve e più facile da comprendere.

Se lo schema o i parser non supportano i parametri di filtro, le modifiche della query necessarie per normalizzare la regola sono simili, ad eccezione del fatto che le condizioni di filtro vengono mantenute dalla query originale. Ad esempio:

let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
    | where isnotempty(ResponseCodeName)
    | where ResponseCodeName =~ "NXDOMAIN"
    ) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

Per altre informazioni sugli elementi KQL seguenti usati negli esempi di normalizzazione delle query DNS, vedere la documentazione di Kusto:

Per altre informazioni su KQL, vedi panoramica di Kusto Query Language (KQL).

Altre risorse:

Per ulteriori informazioni, vedi le seguenti risorse: