QRadar-detectieregels migreren naar Microsoft Sentinel

In dit artikel wordt beschreven hoe u uw QRadar-detectieregels kunt identificeren, vergelijken en migreren naar Microsoft Sentinel ingebouwde regels. Het leidt je bij het inventariseren van je bestaande detecties, het vergelijken van regelterminologie tussen QRadar en Microsoft Sentinel, en het kiezen van het juiste migratiepad—of dat nu het adopteren van ingebouwde analysetemplates van de Content Hub is, het converteren van queries met een online tool, of het schrijven van aangepaste Kusto Query Language (KQL)-queries. Aan het einde heb je een gestructureerde aanpak om je detectieregels te migreren, terwijl je gebruikmaakt van de machine learning-analyses van Microsoft Sentinel.

Regels identificeren en migreren

Microsoft Sentinel maakt gebruik van machine learning-analyse om incidenten met hoge kwaliteit en uitvoerbaar te maken. Sommige van uw bestaande detecties zijn mogelijk overbodig in Microsoft Sentinel. Migreer daarom niet al uw detectie- en analyseregels blindelings. Bekijk deze overwegingen bij het identificeren van uw bestaande detectieregels.

  • Zorg ervoor dat u use cases selecteert die regelmigratie rechtvaardigen, rekening houdend met bedrijfsprioriteit en efficiëntie.
  • Controleer of u Microsoft Sentinel regeltypen begrijpt.
  • Controleer of u de terminologie van de regel begrijpt.
  • Controleer eventuele regels die de afgelopen 6-12 maanden geen waarschuwingen hebben geactiveerd en bepaal of ze nog steeds relevant zijn.
  • Elimineer bedreigingen op laag niveau of waarschuwingen die u regelmatig negeert.
  • Gebruik bestaande functionaliteit en controleer of de ingebouwde analyseregels van Microsoft Sentinel uw huidige gebruiksscenario's kunnen aanpakken. Omdat Microsoft Sentinel gebruikmaakt van machine learning-analyse om incidenten met hoge kwaliteit en actie mogelijk te maken, zijn sommige van uw bestaande detecties waarschijnlijk niet meer vereist.
  • Bevestig verbonden gegevensbronnen en controleer uw gegevensverbindingsmethoden. Bekijk de gesprekken over gegevensverzameling opnieuw om ervoor te zorgen dat de data voldoende diepgang en breedte hebben voor de gebruiksscenario’s die u wilt kunnen detecteren.
  • Verken communitybronnen zoals de SOC Prime Threat Detection Marketplace om te zien of uw regels daar beschikbaar zijn.
  • Overweeg of een online queryconversieprogramma, zoals Uncoder.io, voor uw regels kan werken.
  • Als regels niet beschikbaar zijn of niet kunnen worden geconverteerd, moeten ze handmatig worden gemaakt met behulp van een KQL-query. Controleer de regelmapping om nieuwe queries te maken.

Lees meer over aanbevolen werkwijzen voor de migratie van detectieregels.

Uw analyseregels migreren naar Microsoft Sentinel:

  1. Controleer of u een testsysteem hebt voor elke regel die u wilt migreren.

    1. Bereid een validatieproces voor voor uw gemigreerde regels, inclusief volledige testscenario's en scripts.

    2. Zorg ervoor dat uw team nuttige bronnen heeft om uw gemigreerde regels te testen.

    3. Controleer of u alle vereiste gegevensbronnen hebt verbonden en controleer uw gegevensverbindingsmethoden.

  2. Controleer of uw detecties beschikbaar zijn als ingebouwde sjablonen in de Content Hub:

    • Als de ingebouwde regels voldoende zijn, installeert u de relevante oplossingen en gebruikt u de sjablonen om regels voor uw werkruimte te maken.

      1. Ga in Microsoft Sentinel naar Inhoudsbeheer > Inhoudshub.
      2. Zoek en installeer de relevante analyseregel.

      Zie Microsoft Sentinel Out-of-the-Box-inhoud detecteren en beheren en Geplande analyseregels maken op basis van sjablonen voor meer informatie.

    • Als u detecties hebt die niet worden gedekt door de ingebouwde regels die beschikbaar zijn in de Inhoudshub, probeert u een online queryconversieprogramma, zoals Uncoder.io om uw query's te converteren naar KQL.

      Identificeer de triggervoorwaarde en regelactie en stel vervolgens uw KQL-query samen en controleer deze.

    • Als noch Content Hub-oplossingen noch een online regelconversieprogramma voldoende zijn, moet u de regel handmatig maken. Gebruik in dergelijke gevallen de volgende stappen om te beginnen met het maken van uw regel:

      1. Identificeer de gegevensbronnen die u in uw regel wilt gebruiken. U wilt een toewijzingstabel maken tussen gegevensbronnen en gegevenstabellen in Microsoft Sentinel om de tabellen te identificeren die u wilt opvragen.

      2. Identificeer kenmerken, velden of entiteiten in uw gegevens die u in uw regels wilt gebruiken.

      3. Bepaal de criteria en logica voor uw regel. In deze fase kunt u regelsjablonen gebruiken als voorbeelden voor het samenstellen van uw KQL-query's als voorbeelden voor het samenstellen van uw KQL-query's.

        Denk aan filters, correlatieregels, actieve lijsten, verwijzingssets, volglijsten, detectieafwijkingen, aggregaties, enzovoort. U kunt verwijzingen van uw verouderde SIEM gebruiken om te begrijpen hoe u het beste de querysyntaxis kunt afstemmen.

      4. Identificeer de triggervoorwaarde en regelactie en stel vervolgens uw KQL-query samen en controleer deze. Wanneer u uw query bekijkt, kunt u rekening houden met hulpmiddelen voor KQL-optimalisatie.

  3. Test de regel met elk van uw relevante use cases. Als dit niet de verwachte resultaten oplevert, wilt u mogelijk de KQL nakijken en opnieuw testen.

  4. Wanneer u tevreden bent, kunt u de regel als gemigreerd beschouwen. Maak zo nodig een playbook voor uw regelactie. Zie Reactie op bedreigingen automatiseren met playbooks in Microsoft Sentinel voor meer informatie.

Zie de volgende bronnen voor meer informatie over Microsoft Sentinel analyseregels en KQL:

Regelterminologie vergelijken

Deze tabel helpt u het concept van een regel in Microsoft Sentinel te verduidelijken in vergelijking met QRadar. Microsoft Sentinel-regeltypes omvatten geplande queries, Fusion (dat automatisch waarschuwingen van meerdere databronnen correleert met incidenten met behulp van machine learning), Microsoft Beveiliging en Machine Learning (ML) Behavior Analytics.

QRadar Microsoft Sentinel
Regeltype -Gebeurtenissen
- Stroom
- Algemeen
- Aanval
- Regels voor het detecteren van anomalieën
- Geplande zoekopdracht
- Fusie
- Microsoft Beveiliging
- Machine Learning (ML) Gedragsanalyse
Criteria Definiëren in testvoorwaarde Definiëren in KQL
Triggervoorwaarde Definiëren in een regel Drempelwaarde: aantal queryresultaten
Actie - Aanval creëren
- Stuur een nieuw evenement uit
- Toevoegen aan referentieset of data
- En meer
- Waarschuwing of incident creëren
- Integreert met Logic Apps

Regelvoorbeelden koppelen en vergelijken

Gebruik deze voorbeelden om regels van QRadar te vergelijken en toe te wijzen aan Microsoft Sentinel in verschillende scenario's. De voorbeeldqueries zijn geschreven in Kusto Query Language (KQL), de querytaal die door Microsoft Sentinel wordt gebruikt.

Regel Syntaxis Voorbeelddetectieregel (QRadar) Voorbeeld van KQL-query Middelen
Algemene eigenschapstests QRadar-syntaxis - Voorbeeld van reguliere expressie
- AQL-filterqueryvoorbeeld
- Voorbeeld gelijk/niet gelijk
- Voorbeeld van reguliere expressie
- AQL-filterqueryvoorbeeld
- Voorbeeld gelijk/niet gelijk
- Reguliere expressie: komt overeen met regex
- AQL-filterquery: stringoperatoren
- gelijk/niet gelijk: Snaaroperatoren
Datum-/tijdtests QRadar-syntaxis - Voorbeeld van een geselecteerde dag van de maand
- Voorbeeld van geselecteerde dag van de week
- na/voor/bij voorbeeld
- Voorbeeld van een geselecteerde dag van de maand
- Voorbeeld van geselecteerde dag van de week
- na/voor/bij voorbeeld
- Datum- en tijdoperatoren
- Geselecteerde dag van de maand: dag van de maand()
- Geselecteerde dag van de week: dayofweek()
- na/voor/bij: format_datetime()
Tests van gebeurteniseigenschappen QRadar-syntaxis - Voorbeeld van IP-protocol
- Voorbeeld van event Payload string
- Voorbeeld van IP-protocol
- Voorbeeld van event Payload string
- IP-protocol: Stringoperatoren
- Event Payload string: heeft
Functies: tellers QRadar-syntaxis Gebeurteniseigenschap en tijdvoorbeeld Gebeurteniseigenschap en tijdvoorbeeld samenvatten
Functies: negatieve voorwaarden QRadar-syntaxis Voorbeeld van negatieve voorwaarden Voorbeeld van negatieve voorwaarden - join()
- Stringoperatoren
- Numerieke operatoren
Functies: eenvoudig QRadar-syntaxis Voorbeeld van eenvoudige voorwaarden Voorbeeld van eenvoudige voorwaarden of
IP/poorttesten QRadar-syntaxis - Voorbeeld van bronpoort
- Voorbeeld van bron-IP
- Voorbeeld van bronpoort
- Voorbeeld van bron-IP
Tests voor logbronnen QRadar-syntaxis Voorbeeld van logboekbron Voorbeeld van logboekbron

Algemene syntaxis voor eigenschapstests

Dit is de QRadar-syntaxis voor een algemene regel voor eigenschapstests.

Diagram dat de syntaxis van een algemene eigenschapstestregel illustreert.

Algemene eigenschapstests: Voorbeeld van reguliere expressie (QRadar)

Hier volgt de syntaxis voor een voorbeeld van een algemene QRadar-eigenschapstestregel die gebruikmaakt van een reguliere expressie:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een algemene eigenschapstestregel die gebruikmaakt van een reguliere expressie.

Algemene eigenschapstests: Voorbeeld van reguliere expressie (KQL)

Dit is de algemene eigenschapstestregel met een reguliere expressie in KQL.

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

Algemene eigenschapstests: voorbeeld van AQL-filterquery (QRadar)

Hier is de syntaxis van een voorbeeld van QRadar common property tests-regel die een AQL-filterquery gebruikt:

when the event matches <this> AQL filter query

Hier is de voorbeeldregel in QRadar:

Diagram met een algemene eigenschapstestregel die gebruikmaakt van een A Q L-filterquery.

Algemene eigenschapstests: voorbeeld van een AQL-filterquery (KQL)

Hier is de regel voor gemeenschappelijke eigenschapstests met een AQL-filterquery in KQL:

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Algemene eigenschapstests: is gelijk aan/niet gelijk aan voorbeeld (QRadar)

Hier is de syntaxis voor een voorbeeld van QRadar common property tests-regel die de equals or-operator not equals gebruikt:

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

Hier is de voorbeeldregel in QRadar: diagram dat een gemeenschappelijke eigenschapstest test gebruikt die gelijken/niet-gelijken gebruikt.

Algemene eigenschapstests: is gelijk aan/niet gelijk aan voorbeeld (KQL)

Hier is de regel voor gemeenschappelijke eigenschapstests met de equals of-operator not equals in KQL:

CommonSecurityLog
| where SourceIP == DestinationIP

Syntaxis van datum-/tijdtests

Hier is de QRadar-syntaxis voor een regel voor datum/tijd-tests:

Diagram dat de syntaxis van een datum-/tijdtestregel illustreert.

Datum-/tijdtests: geselecteerde dag van het maandvoorbeeld (QRadar)

Hier is de syntaxis voor een voorbeeld QRadar datum/tijd-testregel die een geselecteerde dag van de maand gebruikt:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een datum/tijd testregel die gebruikmaakt van een geselecteerde dag.

Datum-/tijdtesten: voorbeeld van een geselecteerde dag van de maand (KQL)

Hier is de regel voor datum/tijdtests bij een geselecteerde dag van de maand in KQL:

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

Datum-/tijdtests: voorbeeld van geselecteerde dag van de week (QRadar)

Hier volgt de syntaxis voor een voorbeeld van een QRadar-regel voor datum-/tijdtests die een geselecteerde dag van de week gebruikt:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een datum/tijd-testregel die gebruikmaakt van een geselecteerde dag van de week.

Datum-/tijdtests: voorbeeld van geselecteerde dag van de week (KQL)

Hier is de regel voor datum/tijdtests bij een geselecteerde dag van de week in KQL:

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

Datum-/tijdtests: na/voor/bij voorbeeld (QRadar)

Hier is de syntaxis voor een voorbeeld QRadar datum/tijd-testregel die de after, before, of at operator gebruikt:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een datum/tijd-testregel die gebruikmaakt van de operator after/before/at.

Datum-/tijdtests: voorbeeld van na/voor/op (KQL)

Hier is de regel voor datum/tijdtests die de after, before, of at operator in KQL gebruikt:

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

TimeGenerated bevindt zich in de UTC/GMT-tijdzone.

Syntaxis van gebeurteniseigenschapstests

Hier is de QRadar-syntaxis voor een regel voor event property tests:

Diagram waarin de syntaxis wordt geïllustreerd van een regel voor het testen van een eigenschap van een gebeurtenis.

Gebeurteniseigenschapstests: VOORBEELD VAN IP-protocol (QRadar)

Hier is de syntaxis voor een voorbeeld QRadar event property tests-regel die een IP-protocol gebruikt:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een gebeurteniseigenschapstestregel die gebruikmaakt van een I P-protocol.

Tests voor gebeurteniseigenschappen: voorbeeld van IP-protocol (KQL)

Hier is de regel voor event property tests met een IP-protocolfilter in KQL:

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

Tests van eigenschappen van gebeurtenissen: Voorbeeld van gebeurtenis-payloadstring (QRadar)

Hier is de syntaxis voor een voorbeeld QRadar event property test-regel die een Event Payload stringwaarde gebruikt:

and when the Event Payload contains <this string>

Hier is de voorbeeldregel in QRadar:

Diagram dat een regel voor het testen van een gebeurteniseigenschap illustreert die gebruikmaakt van een Event Payload-tekenreeks.

Tests voor gebeurteniseigenschappen: Voorbeeld van eventpayloadstring (KQL)

Hier is de regel voor tests van gebeurteniseigenschappen met een Event Payload reeks in KQL. Als u de prestaties wilt optimaliseren, vermijdt u het gebruik van de search opdracht als u de tabelnaam al kent.

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

Functies: syntaxis voor tellers

Hier is de QRadar-syntaxis voor een functieregel die tellers gebruikt:

Diagram dat de syntaxis illustreert van een functieregel die gebruikmaakt van tellers.

Tellers: voorbeeld van gebeurteniseigenschap en tijd (QRadar)

Hier is de syntaxis van een voorbeeld QRadar-functieregel die een bepaald aantal gebeurteniseigenschappen in een bepaald aantal minuten gebruikt"

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

Hier is de voorbeeldregel in QRadar:

Diagram met een functieregel die gebruikmaakt van gebeurteniseigenschappen.

Tellers: gebeurteniseigenschap en tijdvoorbeeld (KQL)

Hier is de counterregel met gebeurtenis-eigenschap en tijdsvoorwaarden in KQL:

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

Functies: syntaxis van negatieve voorwaarden

Hier is de QRadar-syntaxis voor een functieregel die negatieve voorwaarden gebruikt:

Diagram dat de syntaxis illustreert van een functieregel die negatieve voorwaarden gebruikt.

Voorbeeld van negatieve voorwaarden (QRadar)

Hier is de syntaxis voor een voorbeeld van QRadar-functies die negatieve voorwaarden gebruikt:

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

Hier volgen twee gedefinieerde regels in QRadar. De negatieve voorwaarden zijn gebaseerd op deze regels:

Diagram dat een gebeurteniseigenschap testregel illustreert die moet worden gebruikt voor een regel met negatieve voorwaarden.

Diagram met een algemene eigenschapstestregel die moet worden gebruikt voor een regel met negatieve voorwaarden.

Hier is een voorbeeld van de negatieve voorwaarden regel gebaseerd op de twee eerder gedefinieerde QRadar-regels (Test2 en Test6):

Diagram van een functieregel met negatieve voorwaarden.

Voorbeeld van negatieve voorwaarden (KQL)

Hier is de regel van negatieve voorwaarden bij een rightanti join in 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

Functies: syntaxis van eenvoudige voorwaarden

Hier is de QRadar-syntaxis voor een functieregel die eenvoudige voorwaarden gebruikt:

Diagram dat de syntaxis illustreert van een functieregel die gebruikmaakt van eenvoudige voorwaarden.

Voorbeeld van eenvoudige voorwaarden (QRadar)

Hier is de syntaxis voor een voorbeeld van QRadar-functies die eenvoudige voorwaarden gebruikt:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een functieregel met eenvoudige voorwaarden.

Voorbeeld van eenvoudige voorwaarden (KQL)

Hier is de eenvoudige voorwaarden regel in KQL:

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

Syntaxis van IP-/poorttests

Hier is de QRadar-syntaxis voor een IP/poort-testregel:

Diagram dat de syntaxis van een IP-/poorttestregel illustreert.

IP-/poorttests: voorbeeld van bronpoort (QRadar)

Hier is de syntaxis voor een voorbeeld van een QRadar-regel die een bronpoort specificeert:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een regel die een bronpoort aangeeft.

IP-/poorttests: voorbeeld van bronpoort (KQL)

Hier is de IP/poort-testregel met een bronpoortfilter in KQL:

CommonSecurityLog
| where SourcePort == 20

IP-/poorttests: voorbeeld van bron-IP (QRadar)

Hier is de syntaxis voor een voorbeeld QRadar-regel die een bron-IP specificeert:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een regel die een bron-IP-adres aangeeft.

IP-/poorttests: Voorbeeld van bron-IP (KQL)

Hier is de IP/poort-testregel met een bron-IP-filter in KQL:

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

Syntaxis van logboekbrontests

Hier is de QRadar-syntaxis voor een logbrontestregel:

Diagram waarin de syntaxis van een testregel voor logboekbronnen wordt geïllustreerd.

Voorbeeld van logboekbron (QRadar)

Hier is de syntaxis voor een voorbeeld QRadar-regel die logbronnen specificeert:

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

Hier is de voorbeeldregel in QRadar:

Diagram met een regel die logboekbronnen opgeeft.

Voorbeeld van logboekbron (KQL)

Hier is de regel voor logbrontests in KQL.

OfficeActivity
| where OfficeWorkload == "Exchange"

Volgende stap