Gestire i parser ASIM (Advanced Security Information Model)

Gli utenti di Advanced Security Information Model (ASIM) usano parser unificanti anziché nomi di tabella nelle query per visualizzare i dati in un formato normalizzato e ottenere tutti i dati rilevanti per lo schema in una singola query. Ogni parser unificante usa più parser specifici dell'origine che gestiscono i dettagli specifici di ogni origine.

Per capire come gli parser si inseriscono nell'architettura ASIM, consulta la sezione componenti ASIM nel diagramma dell'architettura ASIM.

Potrebbe essere necessario gestire i parser specifici dell'origine usati da ogni parser unificante per:

  • Aggiungi un parser personalizzato specifico per l'origine a un parser unificato.

  • Sostituire un parser integrato specifico dell'origine dati usato da un parser di unificazione con un parser personalizzato specifico dell'origine dati. Sostituire i parser predefiniti quando si vuole:

    • Usare una versione del parser predefinito diversa da quella usata per impostazione predefinita nel parser unificante.

    • Impedire gli aggiornamenti automatizzati mantenendo la versione del parser specifico dell'origine usato dal parser unificante.

    • Usare una versione modificata di un parser predefinito.

  • Configurare un parser specifico dell'origine, ad esempio per definire le origini che inviano informazioni rilevanti per il parser.

Questo articolo illustra la gestione dei parser specifici dell'origine usati dai parser unificanti.

Prerequisiti

Le procedure descritte in questo articolo presuppongono che tutti i parser specifici dell'origine siano già stati distribuiti nell'area di lavoro Microsoft Sentinel.

Per le istruzioni di deployment, consulta la sezione Deploy parser in Sviluppa parser ASIM.

Gestione dei parser di unificazione integrati

Poiché i parser unificanti predefiniti non possono essere modificati direttamente, è possibile gestirli distribuendo parser unificanti personalizzati, aggiungendo o escludendo parser specifici dell'origine e usando watchlist per controllare il comportamento del parser.

Configurare l'area di lavoro

Microsoft Sentinel gli utenti non possono modificare i parser unificanti predefiniti. Usare invece i meccanismi seguenti per modificare il comportamento dei parser unificanti predefiniti:

  • Per supportare l'aggiunta di parser specifici della sorgente, ASIM usa parser personalizzati unificati. Questi parser personalizzati sono distribuiti nell'area di lavoro e pertanto modificabili. I parser predefiniti e unificanti raccolgono automaticamente questi parser personalizzati, se esistenti.

    È possibile distribuire parser personalizzati iniziali, vuoti e unificanti nell'area di lavoro Microsoft Sentinel per tutti gli schemi supportati o singolarmente per schemi specifici. Per ulteriori informazioni, vedere Distribuire parser unificatori personalizzati vuoti iniziali ASIM nel repository GitHub di Microsoft Sentinel.

  • Per supportare l'esclusione dei parser predefiniti specifici della fonte, ASIM usa una watchlist. Distribuisci la watchlist nell'area di lavoro di Microsoft Sentinel dal modello di distribuzione della watchlist ASIM di Microsoft Sentinel su GitHub.

  • Per definire il tipo di origine per i parser predefiniti e personalizzati, ASIM usa un watchlist. Distribuisci la watchlist nell'area di lavoro di Microsoft Sentinel dal modello di distribuzione della watchlist ASIM di Microsoft Sentinel su GitHub.

Aggiungere un parser personalizzato a un parser unificante predefinito

Per aggiungere un parser personalizzato, inserire una riga nel parser unificante personalizzato per fare riferimento al nuovo parser personalizzato.

Assicurati di aggiungere sia un parser personalizzato per filtrare (uno che accetta parametri di filtraggio per ottimizzare le prestazioni) sia un parser personalizzato senza parametri (che restituisce tutti i risultati senza parametri di filtraggio). Per altre informazioni su come modificare i parser, fare riferimento al documento Funzioni nelle query di log di Monitoraggio di Azure.

La sintassi della riga da aggiungere è diversa per ogni schema:

Schema Parser Riga da aggiungere
AlertEvent Im_AlertEventCustom _parser_name_ (starttime, endtime, ipaddr_has_any_prefix, hostname_has_any, username_has_any, attacktactics_has_any, attacktechniques_has_any, threatcategory_has_any, alertverdict_has_any, eventseverity_has_any)
AuditEvent Im_AuditEventCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any)
Autenticazione Im_AuthenticationCustom _parser_name_ (starttime, endtime, targetusername_has_any, actorusername_has_any, srcipaddr_has_any_prefix, srchostname_has_any, targetipaddr_has_any_prefix, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype_in, eventresultdetails_in, eventresult)
DhcpEvent Im_DhcpEventCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, srchostname_has_any, srcusername_has_any, eventresult)
DNS Im_DnsCustom _parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
FileEvent Im_FileEventCustom _parser_name_ (starttime, endtime, eventtype_in, srcipaddr_has_any_prefix, actorusername_has_any, targetfilepath_has_any, srcfilepath_has_any, hashes_has_any, dvchostname_has_any)
NetworkSession Im_NetworkSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, ipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult)
ProcessEvent Im_ProcessEventCustom _parser_name_ (starttime, endtime, commandline_has_any, commandline_has_all, commandline_has_any_ip_prefix, actingprocess_has_any, targetprocess_has_any, parentprocess_has_any, targetusername_has, actorusername_has, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype)
RegistryEvent Im_RegistryEventCustom _parser_name_ (starttime, endtime, eventtype_in, actorusername_has_any, registrykey_has_any, registryvalue_has_any, registryvaluedata_has_any, dvchostname_has_any)
Gestione utenti Im_UserManagementCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, targetusername_has_any, actorusername_has_any, eventtype_in)
WebSession Im_WebSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, ipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult)

Quando si aggiunge un ulteriore parser a un parser di unificazione personalizzato che fa già riferimento a parser, assicurarsi di aggiungere una virgola alla fine della riga precedente.

Ad esempio, il codice seguente mostra un parser unificatore personalizzato dopo l'aggiunta di added_parser. L'istruzione union isfuzzy=true combina i risultati sia dell'analizzatore esistente che del nuovo custom in modo che entrambi contribuiscano all'output normalizzato, tollerando piccole differenze di schema tra loro:

union isfuzzy=true
existing_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype),
added_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)

Usare una versione modificata di un parser predefinito

Per modificare un parser integrato esistente specifico per l'origine:

  1. Creare un parser personalizzato basato sul parser originale e aggiungere il parser personalizzato al parser unificatore predefinito. È possibile usare la versione del parser ASIM distribuita nell'area di lavoro come punto di partenza.

  2. Aggiungi un record alla ASim Disabled Parsers watchlist.

  3. Definire il CallerContext valore come Exclude<parser name>, dove <parser name> è il nome dei parser unificanti da cui si vuole escludere il parser.

  4. Definire il SourceSpecificParser valore Exclude<parser name>, dove <parser name>è il nome del parser da escludere, senza un identificatore di versione.

Ad esempio, per escludere il parser DNS Firewall di Azure, aggiungere il record seguente all'elenco di controllo:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

Impedire un aggiornamento automatizzato di un parser predefinito

Per aggiungere un parser specifico dell'origine a una versione specifica e impedire gli aggiornamenti automatici, completare questi passaggi:

  1. Aggiungi la versione del parser integrata che desideri usare, ad esempio _Im_Dns_AzureFirewallV02, al parser unificatore personalizzato. Per altre informazioni, vedere Aggiungere un parser personalizzato a un parser unificatore predefinito.

  2. Aggiungere un'eccezione per il parser predefinito. Ad esempio, quando si vuole rifiutare completamente gli aggiornamenti automatici e quindi escludere un numero elevato di parser predefiniti, aggiungere:

  • Un record con Any come valore del campo SourceSpecificParser, per escludere tutti i parser per CallerContext.
  • Un record per Any nel CallerContext e nei campi SourceSpecificParser per escludere tutti i parser predefiniti.

Per dettagli sull'esclusione degli parser integrati che utilizzano la watchlist, vedi la sezione Usa una versione modificata di un parser integrato .

Configurare le fonti rilevanti per un parser specifico per la fonte

Alcuni parser richiedono l'aggiornamento dell'elenco di origini rilevanti per il parser. Ad esempio, un parser che usa dati Syslog potrebbe non essere in grado di determinare quali eventi Syslog sono rilevanti per il parser. Tale parser può usare l'elenco Sources_by_SourceType di controllo per determinare quali origini inviano informazioni rilevanti per il parser. Per tali analisi aggiungere un record per ogni origine pertinente all'elenco di controllo:

  • Impostare il campo SourceType sul valore specifico del parser indicato nella documentazione del parser.
  • Impostare il campo Source sull'identificatore della fonte usata negli eventi. Potrebbe essere necessario eseguire una query sulla tabella originale, ad esempio Syslog, per determinare il valore corretto.

Se nel sistema non è distribuita la watchlist Sources_by_SourceType, distribuiscila nell'area di lavoro di Microsoft Sentinel dal modello di distribuzione della watchlist ASIM su GitHub.

Altre informazioni sui parser ASIM:

Altre informazioni su ASIM in generale: