Eseguire la migrazione delle regole di rilevamento di QRadar a Microsoft Sentinel

Questo articolo descrive come identificare, confrontare ed eseguire la migrazione delle regole di rilevamento di QRadar a Microsoft Sentinel regole predefinite.

Identificare ed eseguire la migrazione delle regole

Microsoft Sentinel usa l'analisi di Machine Learning per creare eventi imprevisti ad alta fedeltà e interattivi e alcuni rilevamenti esistenti potrebbero essere ridondanti in Microsoft Sentinel. Pertanto, non eseguire la migrazione cieca di tutte le regole di rilevamento e analisi. Esaminare queste considerazioni durante l'identificazione delle regole di rilevamento esistenti.

  • Assicurarsi di selezionare i casi d'uso che giustificano la migrazione delle regole, considerando la priorità aziendale e l'efficienza.
  • Verificare di comprendere Microsoft Sentinel tipi di regole.
  • Verificare di comprendere la terminologia delle regole.
  • Esaminare le regole che non hanno attivato avvisi negli ultimi 6-12 mesi e determinare se sono ancora pertinenti.
  • Eliminare le minacce o gli avvisi di basso livello che si ignorano regolarmente.
  • Usare le funzionalità esistenti e verificare se le regole di analisi predefinite di Microsoft Sentinel potrebbero risolvere i casi d'uso correnti. Poiché Microsoft Sentinel usa l'analisi di Machine Learning per produrre eventi imprevisti ad alta fedeltà e interattivi, è probabile che alcuni rilevamenti esistenti non siano più necessari.
  • Confermare le origini dati connesse ed esaminare i metodi di connessione dati. Rivedere le conversazioni di raccolta dati per garantire profondità e ampiezza dei dati nei casi d'uso che si prevede di rilevare.
  • Esplorare le risorse della community, ad esempio soc Prime Threat Detection Marketplace , per verificare se le regole sono disponibili.
  • Valutare se un convertitore di query online, ad esempio Uncoder.io, potrebbe funzionare per le regole.
  • Se le regole non sono disponibili o non possono essere convertite, devono essere create manualmente usando una query KQL. Esaminare il mapping delle regole per creare nuove query.

Altre informazioni sulle procedure consigliate per la migrazione delle regole di rilevamento.

Per eseguire la migrazione delle regole di analisi a Microsoft Sentinel:

  1. Verificare di disporre di un sistema di test per ogni regola di cui si vuole eseguire la migrazione.

    1. Preparare un processo di convalida per le regole di cui è stata eseguita la migrazione, inclusi scenari di test completi e script.

    2. Assicurarsi che il team disponga di risorse utili per testare le regole di cui è stata eseguita la migrazione.

    3. Verificare di avere tutte le origini dati necessarie connesse ed esaminare i metodi di connessione dati.

  2. Verificare se i rilevamenti sono disponibili come modelli predefiniti nell'hub contenuto:

    • Se le regole predefinite sono sufficienti, installare le soluzioni pertinenti e usare i modelli per creare regole per l'area di lavoro.

      1. In Microsoft Sentinel passare a Content management Content hub (Hub del contenuto per la gestione > del contenuto).
      2. Cercare e installare la regola di analisi pertinente.

      Per altre informazioni, vedere Individuare e gestire Microsoft Sentinel contenuto predefinito e Creare regole di analisi pianificata dai modelli.

    • Se sono presenti rilevamenti non coperti dalle regole predefinite disponibili nell'hub dei contenuti, provare un convertitore di query online, ad esempio Uncoder.io per convertire le query in KQL.

      Identificare la condizione del trigger e l'azione della regola, quindi creare ed esaminare la query KQL.

    • Se né le soluzioni dell'hub contenuto né un convertitore di regole online sono sufficienti, è necessario creare manualmente la regola. In questi casi, seguire questa procedura per iniziare a creare la regola:

      1. Identificare le origini dati da usare nella regola. Si vuole creare una tabella di mapping tra origini dati e tabelle dati in Microsoft Sentinel per identificare le tabelle su cui si vuole eseguire una query.

      2. Identificare eventuali attributi, campi o entità nei dati che si desidera usare nelle regole.

      3. Identificare i criteri e la logica delle regole. In questa fase, è possibile usare i modelli di regola come esempi per creare le query KQL come esempi per la creazione di query KQL.

        Si considerino filtri, regole di correlazione, elenchi attivi, set di riferimento, watchlist, anomalie di rilevamento, aggregazioni e così via. È possibile usare i riferimenti forniti da SIEM legacy per comprendere come eseguire il mapping migliore della sintassi di query.

      4. Identificare la condizione del trigger e l'azione della regola, quindi creare ed esaminare la query KQL. Quando si esamina la query, prendere in considerazione le risorse guida per l'ottimizzazione KQL.

  3. Testare la regola con ognuno dei casi d'uso pertinenti. Se non fornisce i risultati previsti, è possibile esaminare il KQL e testarlo di nuovo.

  4. Quando si è soddisfatti, è possibile considerare la regola di cui è stata eseguita la migrazione. Creare un playbook per l'azione della regola in base alle esigenze. Per altre informazioni, vedere Automatizzare la risposta alle minacce con i playbook in Microsoft Sentinel.

Altre informazioni sulle regole di analisi:

Confrontare la terminologia delle regole

Questa tabella consente di chiarire il concetto di regola in Microsoft Sentinel rispetto a QRadar.

QRadar Microsoft Sentinel
Tipo di regola •Eventi
•Flusso
•Comune
•Offesa
• Regole di rilevamento anomalie
• Query pianificata
•Fusione
• Sicurezza Microsoft
• Analisi del comportamento di Machine Learning (ML)
Criteria Definire nella condizione di test Definire in KQL
Condizione del trigger Definire nella regola Soglia: numero di risultati della query
Azione • Creare offesa
• Inviare un nuovo evento
• Aggiungere al set o ai dati di riferimento
• E altro ancora
• Creare avvisi o eventi imprevisti
• Si integra con App per la logica

Eseguire il mapping e il confronto di esempi di regole

Usare questi esempi per confrontare e mappare le regole da QRadar a Microsoft Sentinel in vari scenari.

Regola Sintassi Regola di rilevamento di esempio (QRadar) Query KQL di esempio Risorse
Test delle proprietà comuni Sintassi di QRadar Esempio di espressione regolare
Esempio di query di filtro AQL
esempio di uguale/diverso da uguale a
Esempio di espressione regolare
Esempio di query di filtro AQL
esempio di uguale/diverso da uguale a
• Espressione regolare: corrisponde a regex
• Query filtro AQL: operatori stringa
• uguale o diverso da uguale a: operatori stringa
Test di data/ora Sintassi di QRadar Esempio di giorno selezionato del mese
Esempio di giorno selezionato della settimana
esempio dopo/prima/in corrispondenza
Esempio di giorno selezionato del mese
Esempio di giorno selezionato della settimana
esempio dopo/prima/in corrispondenza
Operatori di data e ora
• Giorno selezionato del mese: dayofmonth()
• Giorno selezionato della settimana: dayofweek()
• after/before/at: format_datetime()
Test delle proprietà degli eventi Sintassi di QRadar Esempio di protocollo IP
Esempio di stringa del payload dell'evento
Esempio di protocollo IP
Esempio di stringa del payload dell'evento
• Protocollo IP: operatori di stringhe
• Stringa del payload dell'evento: ha
Funzioni: contatori Sintassi di QRadar Esempio di proprietà e ora dell'evento Esempio di proprietà e ora dell'evento Riassumere
Funzioni: condizioni negative Sintassi di QRadar Esempio di condizioni negative Esempio di condizioni negative join()
Operatori stringa
Operatori numerici
Funzioni: semplice Sintassi di QRadar Esempio di condizioni semplici Esempio di condizioni semplici or
Test IP/porta Sintassi di QRadar Esempio di porta di origine
Esempio di IP di origine
Esempio di porta di origine
Esempio di IP di origine
Test dell'origine del log Sintassi di QRadar Esempio di origine del log Esempio di origine del log

Sintassi dei test delle proprietà comuni

Ecco la sintassi QRadar per una regola di test delle proprietà comune.

Diagramma che illustra una sintassi comune delle regole di test delle proprietà.

Test delle proprietà comuni: esempio di espressione regolare (QRadar)

Ecco la sintassi per una regola di test delle proprietà comuni QRadar di esempio che usa un'espressione regolare:

when any of <these properties> match <this regular expression>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test delle proprietà comune che usa un'espressione regolare.

Test delle proprietà comuni: esempio di espressione regolare (KQL)

Ecco la regola dei test delle proprietà comuni con un'espressione regolare in KQL.

CommonSecurityLog
| where tostring(SourcePort) matches regex @"\d{1,5}" or tostring(DestinationPort) matches regex @"\d{1,5}"

Test delle proprietà comuni: esempio di query di filtro AQL (QRadar)

Ecco la sintassi per una regola di test delle proprietà comuni QRadar di esempio che usa una query di filtro AQL.

when the event matches <this> AQL filter query

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test delle proprietà comune che usa una query di filtro A Q L.

Test delle proprietà comuni: esempio di query di filtro AQL (KQL)

Ecco la regola dei test delle proprietà comuni con una query di filtro AQL in KQL.

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Test delle proprietà comuni: esempio uguale/diverso da uguale a (QRadar)

Ecco la sintassi per una regola di test delle proprietà comuni QRadar di esempio che usa l'operatore equals o not equals .

and when <this property> <equals/not equals> <this property>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test delle proprietà comune che usa uguale o non uguale a.

Test delle proprietà comuni: esempio di uguale o non uguale a (KQL)

Ecco la regola dei test delle proprietà comuni con l'operatore equals o not equals in KQL.

CommonSecurityLog
| where SourceIP == DestinationIP

Sintassi dei test di data/ora

Ecco la sintassi QRadar per una regola di test di data/ora.

Diagramma che illustra una sintassi delle regole di test di data/ora.

Test di data/ora: esempio di giorno selezionato del mese (QRadar)

Ecco la sintassi per una regola di test di data/ora QRadar di esempio che usa un giorno selezionato del mese.

and when the event(s) occur <on/after/before> the <selected> day of the month

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test di data/ora che usa un giorno selezionato.

Test di data/ora: giorno selezionato dell'esempio del mese (KQL)

Ecco la regola dei test di data/ora con un giorno del mese selezionato in KQL.

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

Test di data/ora: esempio del giorno della settimana selezionato (QRadar)

Ecco la sintassi per una regola di test di data/ora QRadar di esempio che usa un giorno selezionato della settimana:

and when the event(s) occur on any of <these days of the week{Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test di data/ora che usa un giorno selezionato della settimana.

Test di data/ora: esempio di giorno della settimana selezionato (KQL)

Ecco la regola dei test di data/ora con un giorno della settimana selezionato in KQL.

SecurityEvent
 | where dayofweek(TimeGenerated) between (3d .. 5d)

Test di data/ora: esempio dopo/prima/in corrispondenza (QRadar)

Ecco la sintassi per una regola di test di data/ora QRadar di esempio che usa l'operatore after, beforeo at .

and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test di data/ora che usa l'operatore after/before/at.

Test di data/ora: after/before/at example (KQL)

Ecco la regola dei test di data/ora che usa l'operatore after, beforeo at in KQL.

SecurityEvent
| where format_datetime(TimeGenerated,'HH:mm')=="23:55"

TimeGenerated è in formato UTC/GMT.

Sintassi dei test delle proprietà dell'evento

Ecco la sintassi QRadar per una regola di test della proprietà dell'evento.

Diagramma che illustra una proprietà dell'evento testa la sintassi delle regole.

Test delle proprietà degli eventi: esempio di protocollo IP (QRadar)

Ecco la sintassi per una regola di test della proprietà dell'evento QRadar di esempio che usa un protocollo IP.

and when the IP protocol is one of the following <protocols>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test della proprietà dell'evento che usa un protocollo I P.

Test delle proprietà degli eventi: esempio di protocollo IP (KQL)

CommonSecurityLog
| where Protocol in ("UDP","ICMP")

Test della proprietà dell'evento: esempio di stringa del payload dell'evento (QRadar)

Ecco la sintassi per una regola di test della proprietà dell'evento QRadar di esempio che usa un Event Payload valore stringa.

and when the Event Payload contains <this string>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di test della proprietà dell'evento che usa una stringa di payload dell'evento.

Test delle proprietà dell'evento: esempio di stringa del payload dell'evento (KQL)

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

Per ottimizzare le prestazioni, evitare di usare il search comando se si conosce già il nome della tabella.

Funzioni: sintassi dei contatori

Ecco la sintassi QRadar per una regola di funzioni che usa i contatori.

Diagramma che illustra la sintassi di una regola di funzioni che usa i contatori.

Contatori: esempio di proprietà e ora dell'evento (QRadar)

Ecco la sintassi per una regola di funzioni QRadar di esempio che usa un numero definito di proprietà dell'evento in un numero definito di minuti.

and when at least <this many> events are seen with the same <event properties> in <this many> <minutes>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di funzioni che usa le proprietà dell'evento.

Contatori: esempio di proprietà e ora dell'evento (KQL)

CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5

Funzioni: sintassi delle condizioni negative

Ecco la sintassi QRadar per una regola di funzioni che usa condizioni negative.

Diagramma che illustra la sintassi di una regola di funzioni che usa condizioni negative.

Esempio di condizioni negative (QRadar)

Ecco la sintassi per una regola di funzioni QRadar di esempio che usa condizioni negative.

and when none of <these rules> match in <this many> <minutes> after <these rules> match with the same <event properties>

Ecco due regole definite in QRadar. Le condizioni negative saranno basate su queste regole.

Diagramma che illustra una regola di test della proprietà dell'evento da usare per una regola di condizioni negative.

Diagramma che illustra una regola di test delle proprietà comune da usare per una regola di condizioni negative.

Ecco un esempio della regola delle condizioni negative in base alle regole precedenti.

Diagramma che illustra una regola di funzioni con condizioni negative.

Esempio di condizioni negative (KQL)

let spanoftime = 10m;
let Test2 = (
CommonSecurityLog
| where Protocol !in ("UDP","ICMP")
| where TimeGenerated > ago(spanoftime)
);
let Test6 = (
CommonSecurityLog
| where SourceIP == DestinationIP
);
Test2
| join kind=rightanti Test6 on $left. SourceIP == $right. SourceIP and $left. Protocol ==$right. Protocol

Funzioni: sintassi delle condizioni semplici

Ecco la sintassi di QRadar per una regola di funzioni che usa condizioni semplici.

Diagramma che illustra la sintassi di una regola di funzioni che usa condizioni semplici.

Esempio di condizioni semplici (QRadar)

Ecco la sintassi per una regola di funzioni QRadar di esempio che usa condizioni semplici.

and when an event matches <any|all> of the following <rules>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola di funzioni con condizioni semplici.

Esempio di condizioni semplici (KQL)

CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP

Sintassi dei test IP/porta

Ecco la sintassi QRadar per una regola di test IP/porta.

Diagramma che illustra la sintassi di una regola di test ip/porta.

Test IP/porta: esempio di porta di origine (QRadar)

Ecco la sintassi per una regola QRadar di esempio che specifica una porta di origine.

and when the source port is one of the following <ports>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola che specifica una porta di origine.

Test IP/porta: esempio di porta di origine (KQL)

CommonSecurityLog
| where SourcePort == 20

Test IP/porta: esempio di IP di origine (QRadar)

Ecco la sintassi per una regola QRadar di esempio che specifica un INDIRIZZO IP di origine.

and when the source IP is one of the following <IP addresses>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola che specifica un indirizzo IP di origine.

Test IP/porta: esempio di IP di origine (KQL)

CommonSecurityLog
| where SourceIP in ("10.1.1.1","10.2.2.2")

Sintassi dei test dell'origine del log

Ecco la sintassi di QRadar per una regola di test dell'origine log.

Diagramma che illustra la sintassi di una regola di test dell'origine log.

Esempio di origine log (QRadar)

Ecco la sintassi per una regola QRadar di esempio che specifica le origini di log.

and when the event(s) were detected by one or more of these <log source types>

Ecco la regola di esempio in QRadar.

Diagramma che illustra una regola che specifica le origini del log.

Esempio di origine del log (KQL)

OfficeActivity
| where OfficeWorkload == "Exchange"

Passaggi successivi

In questo articolo si è appreso come eseguire il mapping delle regole di migrazione da QRadar a Microsoft Sentinel.