Delen via


Splunk-detectieregels migreren naar Microsoft Sentinel

Splunk-detectieregels zijn SIEM-onderdelen (Security Information and Event Management) die worden vergeleken met analyseregels in Microsoft Sentinel. In dit artikel worden de concepten beschreven die u kunt identificeren, vergelijken en migreren naar Microsoft Sentinel. De beste manier is om te beginnen met de SIEM-migratie, waarmee kant-en-klare analyseregels (OOTB) worden geïdentificeerd waarnaar automatisch moet worden vertaald.

Als u de implementatie van Splunk Waarneembaarheid wilt migreren, vindt u meer informatie over het migreren van Splunk naar Azure Monitor-logboeken.

Controleregels

Microsoft Sentinel maakt gebruik van machine learning-analyses om hoogwaardige en bruikbare incidenten te maken. Sommige van uw bestaande Splunk-detecties zijn mogelijk overbodig in Microsoft Sentinel, dus migreer ze niet allemaal blind. Bekijk deze overwegingen wanneer u uw bestaande detectieregels identificeert.

  • 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 verouderde regels die geen waarschuwingen hebben voor de afgelopen 6-12 maanden en bepaal of ze nog steeds relevant zijn.
  • Verwijder bedreigingen op laag niveau of waarschuwingen die u regelmatig negeert.
  • Bevestig verbonden gegevensbronnen en controleer uw gegevensverbindingsmethoden. Microsoft Sentinel Analytics vereist dat het gegevenstype aanwezig is in de Log Analytics-werkruimte voordat een regel wordt ingeschakeld. Ga opnieuw naar gesprekken over het verzamelen van gegevens om gegevensdiepte en breedte te garanderen in de use cases die u wilt detecteren. Gebruik vervolgens de SIEM-migratie om ervoor te zorgen dat de gegevensbronnen op de juiste manier worden toegewezen.

Regels migreren

Nadat u de Splunk-detecties hebt geïdentificeerd die moeten worden gemigreerd, bekijkt u deze overwegingen voor het migratieproces:

  • Vergelijk de bestaande functionaliteit van de OOTB-analyseregels van Microsoft Sentinel met uw huidige use cases. Gebruik de SIEM-migratie om te zien welke Splunk-detecties automatisch worden geconverteerd naar OOTB-sjablonen.
  • Vertaal detecties die niet zijn afgestemd op OOTB-analyseregels. De beste manier om Splunk-detecties automatisch te vertalen, is met de SIEM-migratie-ervaring.
  • Ontdek meer algoritmen voor uw gebruiksvoorbeelden door communityresources zoals soc Prime Threat Detection Marketplace te verkennen.
  • Detecties handmatig vertalen als ingebouwde regels niet beschikbaar zijn of niet automatisch worden vertaald. Maak de nieuwe KQL-query's en controleer de toewijzing van regels.

Zie de aanbevolen procedures voor het migreren van detectieregels voor meer informatie.

Stappen voor regelmigratie

  1. Controleer of er een testsysteem is ingesteld 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 resources heeft om uw gemigreerde regels te testen.

    3. Controleer of u de vereiste gegevensbronnen hebt verbonden en controleer de methoden voor gegevensverbindingen.

  2. Controleer of uw detecties beschikbaar zijn als OOTB-sjablonen in Microsoft Sentinel:

    • Gebruik de SIEM-migratie-ervaring om vertaling en installatie van de OOTB-sjablonen te automatiseren.

      Zie De SIEM-migratie-ervaring gebruiken voor meer informatie.

    • Als u use cases niet weerspiegelt in de detecties, maakt u regels voor uw eigen werkruimte met OOTB-regelsjablonen.

      Ga in Microsoft Sentinel naar de Inhoudshub.

      Filter inhoudstype voor analyseregelsjablonen .

      Zoek en installeer/werk elke bijbehorende Content Hub-oplossing of zelfstandige sjabloon voor analyseregels bij.

      Zie Standaard bedreigingen detecteren voor meer informatie.

    • Als u detecties hebt die niet worden gedekt door de OOTB-regels van Microsoft Sentinel, probeert u eerst de SIEM-migratie-ervaring voor automatische vertaling.

    • Als de OOTB-regels en de SIEM-migratie de detectie niet volledig vertalen, maakt u de regel handmatig. In dergelijke gevallen gebruikt u de volgende stappen om uw regel te maken:

      1. Identificeer de gegevensbronnen die u wilt gebruiken in uw regel. Identificeer de Microsoft Sentinel-tabellen waarop u een query wilt uitvoeren door een toewijzingstabel te maken tussen gegevensbronnen en gegevenstabellen.

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

      3. Bepaal uw regelcriteria en logica. In deze fase kunt u regelsjablonen vinden als voorbeelden voor het maken van uw KQL-query's.

        Overweeg filters, correlatieregels, actieve lijsten, referentiesets, volglijsten, detectieafwijkingen, aggregaties, enzovoort. U kunt verwijzingen van uw verouderde SIEM gebruiken om te begrijpen hoe u de querysyntaxis het beste kunt toewijzen.

      4. Identificeer de actie triggervoorwaarde en regel en bouw en controleer vervolgens uw KQL-query. Wanneer u uw query bekijkt, kunt u hulpbronnen voor KQL-optimalisatie overwegen.

  3. Test de regel met elk van uw relevante use cases. Als er geen verwachte resultaten worden opgegeven, controleert en bewerkt u de KQL en test u deze opnieuw.

  4. Houd rekening met de gemigreerde regel wanneer u tevreden bent. Maak indien nodig een playbook voor uw regelactie. Zie voor meer informatie Bedreigingsrespons automatiseren met playbooks in Microsoft Sentinel.

Meer informatie over analyseregels:

Regelterminologie vergelijken

Deze tabel helpt u om het concept van een regel op basis van Kusto-querytaal (KQL) in Microsoft Sentinel te verduidelijken in vergelijking met een Splunk-detectie op basis van SPL (Search Processing Language).

Splunk Microsoft Sentinel
Regeltype •Gepland
•Real-time
• Geplande query
•Samensmelting
• Microsoft-beveiliging
• Machine Learning (ML) Behavior Analytics
Criteria Definiëren in SPL Definiëren in KQL
Triggervoorwaarde • Aantal resultaten
• Aantal hosts
• Aantal bronnen
•Gewoonte
Drempelwaarde: aantal queryresultaten
Actie • Toevoegen aan geactiveerde waarschuwingen
• Gebeurtenis vastleggen
• Uitvoerresultaten om op te zoeken
• En meer
• Waarschuwing of incident maken
• Integreert met Logic Apps

Regelvoorbeelden toewijzen en vergelijken

Gebruik deze voorbeelden om regels van Splunk in verschillende scenario's te vergelijken en toe te wijzen aan Microsoft Sentinel.

Algemene zoekopdrachten

SPL-opdracht Beschrijving KQL-operator KQL-voorbeeld
chart/ timechart Retourneert resultaten in een tabelvormige uitvoer voor tijdreeksgrafieken. renderoperator … | render timechart
dedup Hiermee verwijdert u de volgende resultaten die overeenkomen met een opgegeven criterium. uniek
samenvatten
… | summarize by Computer, EventID
eval Hiermee wordt een expressie berekend. Meer informatie over algemene eval opdrachten. verlengen T | extend duration = endTime - startTime
fields Hiermee verwijdert u velden uit zoekresultaten. project
project-afwezig
T | project cost=price*quantity, price
head/tail Retourneert de eerste of laatste N-resultaten. Boven T | top 5 by Name desc nulls last
lookup Hiermee worden veldwaarden van een externe bron toegevoegd. externe gegevens
opzoeken
KQL-voorbeeld
rename Hiermee wijzigt u de naam van een veld. Gebruik jokertekens om meerdere velden op te geven. projectnaam wijzigen T | project-rename new_column_name = column_name
rex Hiermee geeft u groepsnamen op met behulp van reguliere expressies om velden te extraheren. komt overeen met regex … | where field matches regex "^addr.*"
search Hiermee worden resultaten gefilterd op resultaten die overeenkomen met de zoekexpressie. zoeken search "X"
sort Hiermee sorteert u de zoekresultaten op de opgegeven velden. sort T | sort by strlen(country) asc, price desc
stats Biedt statistieken, optioneel gegroepeerd op velden. Meer informatie over algemene statistiekenopdrachten. samenvatten KQL-voorbeeld
mstats Vergelijkbaar met statistieken, gebruikt voor metrische gegevens in plaats van gebeurtenissen. samenvatten KQL-voorbeeld
table Hiermee geeft u op welke velden in de resultatenset moeten worden bewaard en worden gegevens in tabelvorm bewaard. project T | project columnA, columnB
top/rare Geeft de meest of minst voorkomende waarden van een veld weer. Boven T | top 5 by Name desc nulls last
transaction Groepen zoekresultaten in transacties.

Voorbeeld van SPL
Voorbeeld: row_window_session KQL-voorbeeld
eventstats Hiermee worden samenvattingsstatistieken gegenereerd van velden in uw gebeurtenissen en worden deze statistieken opgeslagen in een nieuw veld.

Voorbeeld van SPL
Voorbeelden:
lid worden
make_list
mv-expand
KQL-voorbeeld
streamstats De cumulatieve som van een veld zoeken.

SPL-voorbeeld:
... | streamstats sum(bytes) as bytes _ total \| timechart
row_cumsum ...\| serialize cs=row_cumsum(bytes)
anomalydetection Zoek afwijkingen in het opgegeven veld.

Voorbeeld van SPL
series_decompose_anomalies() KQL-voorbeeld
where Hiermee filtert u zoekresultaten met behulp van eval expressies. Wordt gebruikt om twee verschillende velden te vergelijken. waar T | where fruit=="apple"

lookup opdracht: KQL-voorbeeld

Users 
| where UserID in ((externaldata (UserID:string) [
@"https://storageaccount.blob.core.windows.net/storagecontainer/users.txt" 
h@"?...SAS..." // Secret token to access the blob 
])) | ... 

stats opdracht: KQL-voorbeeld

Sales 
| summarize NumTransactions=count(), 
Total=sum(UnitPrice * NumUnits) by Fruit, 
StartOfMonth=startofmonth(SellDateTime) 

mstats opdracht: KQL-voorbeeld

T | summarize count() by price_range=bin(price, 10.0) 

transaction opdracht: SPL-voorbeeld

sourcetype=MyLogTable type=Event
| transaction ActivityId startswith="Start" endswith="Stop"
| Rename timestamp as StartTime
| Table City, ActivityId, StartTime, Duration

transaction opdracht: KQL-voorbeeld

let Events = MyLogTable | where type=="Event";
Events
| where Name == "Start"
| project Name, City, ActivityId, StartTime=timestamp
| join (Events
| where Name == "Stop"
| project StopTime=timestamp, ActivityId)
on ActivityId
| project City, ActivityId, StartTime, 
Duration = StopTime – StartTime

Hiermee row_window_session() kunt u waarden voor sessiestarts berekenen voor een kolom in een geserialiseerde rijset.

...| extend SessionStarted = row_window_session(
Timestamp, 1h, 5m, ID != prev(ID))

eventstats opdracht: SPL-voorbeeld

… | bin span=1m _time
|stats count AS count_i by _time, category
| eventstats sum(count_i) as count_total by _time

eventstats opdracht: KQL-voorbeeld

Hier volgt een voorbeeld met de join instructie:

let binSize = 1h;
let detail = SecurityEvent 
| summarize detail_count = count() by EventID,
tbin = bin(TimeGenerated, binSize);
let summary = SecurityEvent
| summarize sum_count = count() by 
tbin = bin(TimeGenerated, binSize);
detail 
| join kind=leftouter (summary) on tbin 
| project-away tbin1

Hier volgt een voorbeeld met de make_list instructie:

let binSize = 1m;
SecurityEvent
| where TimeGenerated >= ago(24h)
| summarize TotalEvents = count() by EventID, 
groupBin =bin(TimeGenerated, binSize)
|summarize make_list(EventID), make_list(TotalEvents), 
sum(TotalEvents) by groupBin
| mvexpand list_EventID, list_TotalEvents

anomalydetection opdracht: SPL-voorbeeld

sourcetype=nasdaq earliest=-10y
| anomalydetection Close _ Price

anomalydetection opdracht: KQL-voorbeeld

let LookBackPeriod= 7d;
let disableAccountLogon=SignIn
| where ResultType == "50057"
| where ResultDescription has "account is disabled";
disableAccountLogon
| make-series Trend=count() default=0 on TimeGenerated 
in range(startofday(ago(LookBackPeriod)), now(), 1d)
| extend (RSquare,Slope,Variance,RVariance,Interception,
LineFit)=series_fit_line(Trend)
| extend (anomalies,score) = 
series_decompose_anomalies(Trend)

Algemene eval opdrachten

SPL-opdracht Beschrijving Voorbeeld van SPL KQL-opdracht KQL-voorbeeld
abs(X) Geeft als resultaat de absolute waarde van X. abs(number) abs() abs(X)
case(X,"Y",…) Neemt paren en X Y argumenten, waarbij de X argumenten booleaanse expressies zijn. Wanneer dit wordt geëvalueerd TRUE, retourneren de argumenten het bijbehorende Y argument. Voorbeeld van SPL case KQL-voorbeeld
ceil(X) Plafond van een getal X. ceil(1.9) ceiling() ceiling(1.9)
cidrmatch("X",Y) Identificeert IP-adressen die deel uitmaken van een bepaald subnet. cidrmatch
("123.132.32.0/25",ip)
ipv4_is_match()
ipv6_is_match()
ipv4_is_match('192.168.1.1', '192.168.1.255')
== false
coalesce(X,…) Retourneert de eerste waarde die niet null is. coalesce(null(), "Returned val", null()) coalesce() coalesce(tolong("not a number"),
tolong("42"), 33) == 42
cos(X) Berekent de cosinus van X. n=cos(0) cos() cos(X)
exact(X) Evalueert een expressie X met behulp van rekenkundige berekeningen met dubbele precisie. exact(3.14*num) todecimal() todecimal(3.14*2)
exp(X) Retourneert eX. exp(3) exp() exp(3)
if(X,Y,Z) Als X dit TRUEwordt geëvalueerd, is het resultaat het tweede argument Y. Als X dit wordt geëvalueerd FALSE, wordt het resultaat geëvalueerd naar het derde argument Z. if(error==200,
"OK", "Error")
iif() KQL-voorbeeld
isbool(X) Retourneert TRUE of X booleaanse waarde is. isbool(field) iif()
gettype
iif(gettype(X) =="bool","TRUE","FALSE")
isint(X) Retourneert TRUE als X een geheel getal. isint(field) iif()
gettype
KQL-voorbeeld
isnull(X) Retourneert TRUE als X null. isnull(field) isnull() isnull(field)
isstr(X) Retourneert TRUE een X tekenreeks. isstr(field) iif()
gettype
KQL-voorbeeld
len(X) Met deze functie wordt de tekenlengte van een tekenreeks Xgeretourneerd. len(field) strlen() strlen(field)
like(X,"y") Retourneert TRUE if en only if X is like the SQLite pattern in Y. like(field, "addr%") has
contains
startswith
komt overeen met regex
KQL-voorbeeld
log(X,Y) Retourneert het logboek van het eerste argument X met behulp van het tweede argument Y als basis. De standaardwaarde Y is 10. log(number,2) log
log2
log10
log(X)

log2(X)

log10(X)
lower(X) Geeft als resultaat de waarde in kleine letters van X. lower(username) tolower tolower(username)
ltrim(X,Y) Retourneert X de tekens in de parameter Y die vanaf de linkerkant is ingekort. De standaarduitvoer is Y spaties en tabbladen. ltrim(" ZZZabcZZ ", " Z") trim_start() trim_start(“ ZZZabcZZ”,” ZZZ”)
match(X,Y) Retourneert als X overeenkomt met het regex-patroon Y. match(field, "^\d{1,3}.\d$") matches regex … | where field matches regex @"^\d{1,3}.\d$")
max(X,…) Retourneert de maximumwaarde in een kolom. max(delay, mydelay) max()
arg_max()
… | summarize max(field)
md5(X) Retourneert de MD5-hash van een tekenreekswaarde X. md5(field) hash_md5 hash_md5("X")
min(X,…) Retourneert de minimumwaarde in een kolom. min(delay, mydelay) min_of()
min()
arg_min
KQL-voorbeeld
mvcount(X) Retourneert het getal (totaal) van X waarden. mvcount(multifield) dcount …| summarize dcount(X) by Y
mvfilter(X) Hiermee filtert u een veld met meerdere waarden op basis van de Boole-expressie X . mvfilter(match(email, "net$")) mv-apply KQL-voorbeeld
mvindex(X,Y,Z) Retourneert een subset van het argument met meerdere waarden X van een beginpositie (op basis van nul) Y naar Z (optioneel). mvindex( multifield, 2) array_slice array_slice(arr, 1, 2)
mvjoin(X,Y) Gezien een veld X met meerdere waarden en tekenreeksscheidingstekens Y, en wordt de afzonderlijke waarden van X het gebruik Ysamengevoegd. mvjoin(address, ";") strcat_array KQL-voorbeeld
now() Retourneert de huidige tijd, weergegeven in Unix-tijd. now() now() now()

now(-2d)
null() Accepteert geen argumenten en retourneert .NULL null() nul null
nullif(X,Y) Bevat twee argumenten X en , en Yretourneert X als de argumenten verschillen. Anders wordt geretourneerd NULL. nullif(fieldA, fieldB) iif iif(fieldA==fieldB, null, fieldA)
random() Geeft als resultaat een pseudo-willekeurig getal tussen 0 2147483647. random() rand() rand()
relative_ time(X,Y) Uitgaande van een tijdsduur X en relatieve tijdaanduiding Y, geeft als resultaat de tijdswaarde van de periode waarop wordt Y toegepast X. relative_time(now(),"-1d@d") unix-tijd KQL-voorbeeld
replace(X,Y,Z) Retourneert een tekenreeks die wordt gevormd door een tekenreeks Z te vervangen voor elk exemplaar van een reguliere-expressietekenreeks Y in een tekenreeks X. Retourneert de datum waarop de maand- en dagnummers zijn gewijzigd.
Voor de 4/30/2015 invoer is 30/4/2009de uitvoer bijvoorbeeld:

replace(date, "^(\d{1,2})/ (\d{1,2})/", "\2/\1/")
replace() KQL-voorbeeld
round(X,Y) Retourneert X afgerond op het aantal decimalen dat is opgegeven door Y. De standaardwaarde is om af te ronden op een geheel getal. round(3.5) round round(3.5)
rtrim(X,Y) Retourneert de tekens van Y afgekapt X vanaf de rechterkant. Als Y dit niet is opgegeven, worden spaties en tabbladen ingekort. rtrim(" ZZZZabcZZ ", " Z") trim_end() trim_end(@"[ Z]+",A)
searchmatch(X) Retourneert TRUE als de gebeurtenis overeenkomt met de zoekreeks X. searchmatch("foo AND bar") iif() iif(field has "X","Yes","No")
split(X,"Y") Retourneert X als een veld met meerdere waarden, gesplitst op scheidingsteken Y. split(address, ";") split() split(address, ";")
sqrt(X) Geeft als resultaat de vierkantswortel van X. sqrt(9) sqrt() sqrt(9)
strftime(X,Y) Retourneert de tijdsduurwaarde X die wordt weergegeven met behulp van de indeling die is opgegeven door Y. strftime(_time, "%H:%M") format_datetime() format_datetime(time,'HH:mm')
strptime(X,Y) Uitgaande van een tijd die wordt vertegenwoordigd door een tekenreeks X, wordt de waarde geretourneerd die is geparseerd uit de notatie Y. strptime(timeStr, "%H:%M") format_datetime() KQL-voorbeeld
substr(X,Y,Z) Retourneert een subtekenreeksveld X vanaf de beginpositie (één gebaseerd) Y voor Z (optionele) tekens. substr("string", 1, 3) substring() substring("string", 0, 3)
time() Retourneert de wandkloktijd met microsecondenresolutie. time() format_datetime() KQL-voorbeeld
tonumber(X,Y) Converteert de invoertekenreeks X naar een getal, waarbij Y (optioneel, standaardwaarde is 10) de basis definieert van het getal waarnaar moet worden geconverteerd. tonumber("0A4",16) toint() toint("123")
tostring(X,Y) Beschrijving Voorbeeld van SPL tostring() tostring(123)
typeof(X) Retourneert een tekenreeksweergave van het veldtype. typeof(12) gettype() gettype(12)
urldecode(X) Retourneert de URL X gedecodeerd. Voorbeeld van SPL url_decode KQL-voorbeeld

case(X,"Y",…) Voorbeeld van SPL

case(error == 404, "Not found",
error == 500,"Internal Server Error",
error == 200, "OK")

case(X,"Y",…) KQL-voorbeeld

T
| extend Message = case(error == 404, "Not found", 
error == 500,"Internal Server Error", "OK") 

if(X,Y,Z) KQL-voorbeeld

iif(floor(Timestamp, 1d)==floor(now(), 1d), 
"today", "anotherday")

isint(X) KQL-voorbeeld

iif(gettype(X) =="long","TRUE","FALSE")

isstr(X) KQL-voorbeeld

iif(gettype(X) =="string","TRUE","FALSE")

like(X,"y") voorbeeld

… | where field has "addr"

… | where field contains "addr"

… | where field startswith "addr"

… | where field matches regex "^addr.*"

min(X,…) KQL-voorbeeld

min_of (expr_1, expr_2 ...)

…|summarize min(expr)

…| summarize arg_min(Price,*) by Product

mvfilter(X) KQL-voorbeeld

T | mv-apply Metric to typeof(real) on 
(
 top 2 by Metric desc
)

mvjoin(X,Y) KQL-voorbeeld

strcat_array(dynamic([1, 2, 3]), "->")

relative time(X,Y) KQL-voorbeeld

let toUnixTime = (dt:datetime)
{
(dt - datetime(1970-01-01))/1s 
};

replace(X,Y,Z) KQL-voorbeeld

replace( @'^(\d{1,2})/(\d{1,2})/', @'\2/\1/',date)

strptime(X,Y) KQL-voorbeeld

format_datetime(datetime('2017-08-16 11:25:10'),
'HH:mm')

time() KQL-voorbeeld

format_datetime(datetime(2015-12-14 02:03:04),
'h:m:s')

tostring(X,Y)

Retourneert een veldwaarde van X als een tekenreeks.

  • Als de waarde van X een getal is, X wordt deze opnieuw opgemaakt met een tekenreekswaarde.
  • Als X een Booleaanse waarde is, X wordt deze opnieuw opgemaakt op TRUE of FALSE.
  • Als X een getal is, is het tweede argument Y optioneel en kan dit zijn hex (converteert X naar een hexadecimaal getal), commas (notaties X met komma's en twee decimalen) of duration (converteert X van een tijdnotatie in seconden naar een leesbare tijdnotatie: HH:MM:SS).
tostring(X,Y) Voorbeeld van SPL

In dit voorbeeld wordt het volgende geretourneerd:

foo=615 and foo2=00:10:15:

… | eval foo=615 | eval foo2 = tostring(
foo, "duration")

urldecode(X) Voorbeeld van SPL

urldecode("http%3A%2F%2Fwww.splunk.com%2Fdownload%3Fr%3Dheader")

KQL-voorbeeld van algemene stats opdrachten

SPL-opdracht Beschrijving KQL-opdracht KQL-voorbeeld
avg(X) Retourneert het gemiddelde van de waarden van het veld X. avg() avg(X)
count(X) Retourneert het aantal exemplaren van het veld X. Als u een specifieke veldwaarde wilt aangeven die moet worden vergeleken, moet u deze opmaken X als eval(field="value"). count() summarize count()
dc(X) Retourneert het aantal afzonderlijke waarden van het veld X. dcount() …\| summarize countries=dcount(country) by continent
earliest(X) Geeft als resultaat de chronologisch vroegste geziene waarde van X. arg_min() … \| summarize arg_min(TimeGenerated, *) by X
latest(X) Geeft als resultaat de chronologisch geziene waarde van X. arg_max() … \| summarize arg_max(TimeGenerated, *) by X
max(X) Retourneert de maximumwaarde van het veld X. Als de waarden X niet-numeriek zijn, wordt de maximumwaarde gevonden via alfabetische volgorde. max() …\| summarize max(X)
median(X) Retourneert de middelste waarde van het veld X. percentiel() …\| summarize percentile(X, 50)
min(X) Retourneert de minimumwaarde van het veld X. Als de waarden X van niet-numeriek zijn, wordt de minimumwaarde gevonden via alfabetische volgorde. min() …\| summarize min(X)
mode(X) Retourneert de meest voorkomende waarde van het veld X. top-hitters() …\| top-hitters 1 of Y by X
perc(Y) Retourneert de percentielwaarde X van het veld Y. Retourneert bijvoorbeeld perc5(total) de vijfde percentielwaarde van een veld total. percentiel() …\| summarize percentile(Y, 5)
range(X) Retourneert het verschil tussen de maximum- en minimumwaarden van het veld X. range() range(1, 3)
stdev(X) Retourneert de standaarddeviatie van de steekproef van het veld X. stdev stdev()
stdevp(X) Geeft als resultaat de standaarddeviatie van de populatie van het veld X. stdevp() stdevp()
sum(X) Retourneert de som van de waarden van het veld X. sum() sum(X)
sumsq(X) Retourneert de som van de kwadraten van de waarden van het veld X.
values(X) Retourneert de lijst met alle afzonderlijke waarden van het veld X als een vermelding met meerdere waarden. De volgorde van de waarden is alfabetisch. make_set() …\| summarize r = make_set(X)
var(X) Geeft als resultaat de variantie van het voorbeeld van het veld X. variantie variance(X)

Volgende stappen

In dit artikel hebt u geleerd hoe u uw migratieregels van Splunk kunt toewijzen aan Microsoft Sentinel.