Schemi ASIM (Advanced Security Information Model)

Uno schema ASIM (Advanced Security Information Model) è un set di campi che rappresentano un'attività o un'entità. L'uso dei campi di uno schema normalizzato in una query garantisce che la query funzioni con ogni origine normalizzata.

Per informazioni sull'adattamento degli schemi all'interno dell'architettura ASIM, vedere il diagramma dell'architettura ASIM.

Schemi di attività/eventi

I riferimenti allo schema delineano i campi che comprendono ogni schema. ASIM definisce attualmente gli schemi seguenti per gli eventi:

Schema Nome dello schema per i test Versione Stato
Avviso, evento AlertEvent 0.1 GA
Audit, evento AuditEvent 0.1.2 GA
Authentication, evento Authentication 0.1.4 GA
Attività DHCP DhcpEvent 0.1.1 GA
Attività DNS Dns 0.1.7 GA
Attività file FileEvent 0.2.2 GA
Sessione di rete NetworkSession 0.2.7 GA
Evento Process ProcessEvent 0.1.4 GA
Evento del Registro di sistema RegistryEvent 0.1.3 GA
Gestione degli utenti UserManagement 0.1.2 GA
Sessione Web WebSession 0.2.7 GA

Schemi di entità

ASIM definisce attualmente gli schemi seguenti per le entità:

Schema Nome dello schema per i test Versione Stato
Entità asset AssetEntity 0.1.0 GA

Per le entità che fanno parte di altri schemi ASIM, vedere Entità evento.

Denominazione dei campi

Alla base di ogni schema ci sono i relativi nomi di campo. I nomi dei campi appartengono ai gruppi seguenti:

  • Campi comuni a tutti gli schemi.
  • Campi specifici di uno schema.
  • Campi che rappresentano entità, ad esempio utenti, che partecipano allo schema. I campi che rappresentano le entità sono simili tra gli schemi.

Quando le origini hanno campi non presentati nello schema documentato, vengono normalizzate per mantenere la coerenza. Se i campi aggiuntivi rappresentano un'entità, vengono normalizzati in base alle linee guida per i campi dell'entità. In caso contrario, gli schemi si sforzano di mantenere la coerenza tra tutti gli schemi.

Ad esempio, mentre i log attività del server DNS non forniscono informazioni sull'utente, i log attività DNS di un endpoint possono includere informazioni utente, che possono essere normalizzate in base alle linee guida sulle entità utente.

Campi comuni

Alcuni campi sono comuni a tutti gli schemi ASIM. Ogni schema potrebbe aggiungere linee guida per l'uso di alcuni dei campi comuni nel contesto dello schema specifico. Ad esempio, i valori consentiti per il campo EventType possono variare in base allo schema, così come il valore del campo EventSchemaVersion .

Classi di campo

I campi possono avere diverse classi, che definiscono quando i campi devono essere implementati da un parser:

  • I campi obbligatori devono essere visualizzati in ogni parser. Se l'origine non fornisce informazioni per questo valore o i dati non possono essere aggiunti in altro modo, non supporta la maggior parte degli elementi di contenuto che fanno riferimento allo schema normalizzato.
  • I campi consigliati devono essere normalizzati, se disponibili. Tuttavia, potrebbero non essere disponibili in ogni origine. Qualsiasi elemento di contenuto che fa riferimento allo schema normalizzato deve tenere conto della disponibilità.
  • I campi facoltativi , se disponibili, possono essere normalizzati o lasciati nel formato originale. In genere, un parser minimo non li normalizzerebbe per motivi di prestazioni.
  • I campi condizionali sono obbligatori se il campo che seguono viene popolato. I campi condizionali vengono in genere usati per descrivere il valore in un altro campo. Ad esempio, il campo comune DvcIdType descrive il valore nel campo comune DvcId ed è quindi obbligatorio se quest'ultimo viene popolato.
  • Alias è un tipo speciale di campo condizionale ed è obbligatorio se il campo con alias viene popolato.

Entità evento

Gli eventi si evolvono intorno a entità, ad esempio utenti, host, processi o file. Ogni entità potrebbe richiedere diversi campi per descriverla. Ad esempio, un host potrebbe avere un nome e un indirizzo IP.

Un singolo record può includere più entità dello stesso tipo, ad esempio un host di origine e di destinazione.

ASIM definisce come descrivere le entità in modo coerente e le entità consentono di estendere gli schemi.

Ad esempio, anche se lo schema della sessione di rete non include informazioni sul processo, alcune origini eventi forniscono informazioni sul processo che è possibile aggiungere. Per altre informazioni, vedere Entità.

Per abilitare la funzionalità dell'entità, la rappresentazione delle entità ha le linee guida seguenti:

Linee guida Descrizione
Prefissi e aliasing Poiché un singolo evento include spesso più entità dello stesso tipo, ad esempio host di origine e di destinazione, vengono usati prefissi per identificare l'entità a cui è associato un campo.

Per mantenere la normalizzazione, ASIM usa un piccolo set di prefissi standard, scegliendo quelli più appropriati per il ruolo specifico delle entità.

Se una singola entità di un tipo è rilevante per un evento, non è necessario usare un prefisso. Inoltre, un set di campi senza alias di prefisso corrisponde all'entità più usata per ogni tipo.
Identificatori e tipi Uno schema normalizzato consente diversi identificatori per ogni entità, che si prevede coesistano negli eventi. Se l'evento di origine ha altri identificatori di entità che non possono essere mappati allo schema normalizzato, mantenerli nel modulo di origine o usare il campo dinamico AdditionalFields .

Per mantenere le informazioni sul tipo per gli identificatori, archiviare il tipo, se applicabile, in un campo con lo stesso nome e il suffisso Type. Ad esempio, UserIdType.
Attributi Le entità hanno spesso altri attributi che non fungono da identificatore e possono anche essere qualificati con un descrittore. Ad esempio, se l'utente di origine dispone di informazioni sul dominio, il campo normalizzato è SrcUserDomain.

Per altre informazioni sui tipi di entità specifici, vedere:

Per altre informazioni sugli schemi di entità completi, vedere:

Alias

Gli alias consentono più nomi per un valore specificato. In alcuni casi, utenti diversi si aspettano che un campo abbia nomi diversi. Ad esempio, nella terminologia DNS si potrebbe prevedere un campo denominato DnsQuery, mentre più in generale contiene un nome di dominio. Il dominio alias aiuta l'utente consentendo l'uso di entrambi i nomi.

Nota

Gli alias hanno lo scopo di aiutare un analista con query interattive. Quando si usano query in contenuto riutilizzabile, ad esempio rilevamenti personalizzati, regole di analisi o cartelle di lavoro, usare il campo con alias anziché l'alias. L'uso del campo con alias garantisce prestazioni migliori, meno errori e una migliore leggibilità delle query.

In alcuni casi, un alias può avere il valore di uno dei diversi campi, a seconda dei valori disponibili nell'evento. Ad esempio, l'alias Dvc , aliasa i campi DvcFQDN, DvcId, DvcHostname o DvcIpAddr o Event Product . Quando un alias può avere diversi valori, il relativo tipo deve essere una stringa per contenere tutti i possibili valori con alias. Di conseguenza, quando si assegna un valore a tale alias, assicurarsi di convertire il tipo in stringa usando la funzione KQL tostring.

Le tabelle normalizzate native non includono alias, perché implicano un'archiviazione dei dati duplicata. I parser stub aggiungono invece gli alias. Per implementare alias nei parser, creare una copia del valore originale usando l'operatore extend .

Tipi logici

Ogni campo dello schema ha un tipo. L'area di lavoro Log Analytics dispone di un set limitato di tipi di dati. Per questo motivo, Microsoft Sentinel usa un tipo logico per molti campi dello schema, che Log Analytics non applica, ma è necessario per la compatibilità dello schema. I tipi di campo logici assicurano che i valori e i nomi di campo siano coerenti tra le origini.

Tipo di dati Tipo fisico Formato e valore
Booleano Valore booleano Usare il tipo di dati KQL bool predefinito anziché una rappresentazione numerica o stringa di valori booleani.
Enumerato Stringa Elenco di valori definiti in modo esplicito per il campo. La definizione dello schema elenca i valori accettati.
Data/ora A seconda della funzionalità del metodo di inserimento, usare una delle rappresentazioni fisiche seguenti con priorità decrescente:

- Tipo datetime predefinito di Log Analytics
- Campo intero che usa la rappresentazione numerica datetime di Log Analytics.
- Campo stringa che usa la rappresentazione numerica datetime di Log Analytics
- Campo stringa che archivia un formato di data/ora di Log Analytics supportato.
La rappresentazione di data e ora di Log Analytics è simile ma diversa dalla rappresentazione dell'ora Unix. Per altre informazioni, vedere le linee guida per la conversione.

Nota: se applicabile, l'ora deve essere regolata per il fuso orario.
Indirizzo MAC Stringa Colon-Hexadecimal notazione.
Indirizzo IP Stringa Microsoft Sentinel gli schemi non hanno indirizzi IPv4 e IPv6 separati. Qualsiasi campo di indirizzo IP può includere un indirizzo IPv4 o un indirizzo IPv6, come indicato di seguito:

- IPv4 in una notazione punto-decimale.
- IPv6 in notazione a 8 esadecimali, consentendo la forma breve.

Ad esempio:
- IPv4: 192.168.10.10
- IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
- Forma breve IPv6: 1080::8:800:200C:417A
FQDN Stringa Nome di dominio completo che usa una notazione punto, ad esempio learn.microsoft.com. Per altre informazioni, vedere L'entità Device.
Hostname Stringa Un nome host che non è un nome di dominio completo, include fino a 63 caratteri, tra cui lettere, numeri e trattini. Per altre informazioni, vedere L'entità Device.
Dominio Stringa la parte di dominio di un FQDN, senza il nome host, ad esempio . learn.microsoft.com Per altre informazioni, vedere L'entità Device.
Domaintype Enumerato Tipo di dominio archiviato nei campi dominio e FQDN. Per un elenco di valori e altre informazioni, vedere L'entità Device.
DvcIdType Enumerato Tipo dell'ID dispositivo archiviato nei campi DvcId. Per un elenco dei valori consentiti e altre informazioni, vedere DvcIdType.
Devicetype Enumerato Tipo del dispositivo archiviato nei campi DeviceType. I valori possibili includono:
- Computer
- Mobile Device
- IOT Device
- Other. Per altre informazioni, vedere L'entità Device.
Nome utente Stringa Nome utente valido in uno dei tipi supportati. Per altre informazioni, vedere L'entità Utente.
UsernameType Enumerato Tipo di nome utente archiviato nei campi nome utente. Per altre informazioni ed elenco dei valori supportati, vedere L'entità Utente.
UserIdType Enumerato Tipo dell'ID archiviato nei campi ID utente.

I valori supportati sono SID, UIS, AADID, OktaIdAWSId, e PUID. Per altre informazioni, vedere L'entità Utente.
Usertype Enumerato Tipo di utente. Per altre informazioni ed elenco dei valori consentiti, vedere L'entità Utente.
AppType Enumerato Tipo di applicazione. Per un elenco dei valori supportati, vedere L'entità dell'applicazione.
Paese Stringa Stringa che usa ISO 3166-1, in base alla priorità seguente:

- Codici Alfa-2, ad US esempio per il Stati Uniti.
- Codici Alfa-3, ad USA esempio per il Stati Uniti.
- Nome breve.

L'elenco dei codici è disponibile nel sito Web ISO (International Standards Organization).
Area Stringa Nome della suddivisione paese/area geografica, usando ISO 3166-2.

L'elenco dei codici è disponibile nel sito Web ISO (International Standards Organization).
Città Stringa
Longitudine Double Rappresentazione di coordinate ISO 6709 (decimale con segno).
Latitudine Double Rappresentazione di coordinate ISO 6709 (decimale con segno).
MD5 Stringa 32 caratteri esadecimali.
SHA1 Stringa 40 caratteri esadecimali.
SHA256 Stringa 64 caratteri esadecimali.
SHA512 Stringa 128 caratteri esadecimali.
ConfidenceLevel Numero intero Livello di attendibilità normalizzato nell'intervallo compreso tra 0 e 100.
RiskLevel Numero intero Livello di rischio normalizzato nell'intervallo compreso tra 0 e 100.
SchemaVersion Stringa Una versione dello schema ASIM nel formato <major>.<minor>.<sub-minor>
DnsQueryClassName Stringa Nome della classe DNS.
Username Stringa Nome utente semplice o qualificato del dominio

Mapping di entità di esempio

Questa sezione usa l'evento 4624 di Windows come esempio per descrivere come vengono normalizzati i dati dell'evento per Microsoft Sentinel.

Questo evento ha le entità seguenti:

Terminologia Microsoft Prefisso del campo dell'evento originale Prefisso del campo ASIM Descrizione
Oggetto Subject Actor L'utente che ha segnalato informazioni su un accesso riuscito.
Nuovo accesso Target TargetUser Utente per cui è stato eseguito l'accesso.
Procedura - ActingProcess Processo che ha tentato l'accesso.
Informazioni di rete - Src Computer da cui è stato eseguito un tentativo di accesso.

In base a queste entità, l'evento 4624 di Windows viene normalizzato come indicato di seguito (alcuni campi sono facoltativi):

Campo normalizzato Campo originale Valore nell'esempio Note
ActorUserId SubjectUserSid S-1-5-18
ActorUserIdType - SID
ActorUserName SubjectDomainName\ SubjectUserName WORKGROUP\WIN-GG82ULGC9GO$ Compilata concatenando i due campi
ActorUserNameType - Windows
ActorSessionId SubjectLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
UserId TargetUserSid Alias
TargetUserIdType - SID
TargetUserName TargetDomainName\ TargetUserName Administrator\WIN-GG82ULGC9GO$ Compilata concatenando i due campi
Username TargetDomainName\ TargetUserName Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName Processname C:\Windows\System32\svchost.exe
ActingProcessId Processid 0x44c
SrcHostname WorkstationName Windows
SrcIpAddr Ipaddress 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Computer WIN-GG82ULGC9GO
Hostname Computer Alias

Passaggi successivi

Questo articolo offre una panoramica della normalizzazione in Microsoft Sentinel e ASIM.

Per altre informazioni, vedere: