Create brugerdefinerede Microsoft Defender XDR rapporter ved hjælp af Microsoft Graph Security API og Power BI
Gælder for:
Hvis sikkerhedseksperter får mulighed for at visualisere deres data, kan de hurtigt genkende komplekse mønstre, uregelmæssigheder og tendenser, der ellers lurer under støjen. Med visualiseringer kan SOC-teams hurtigt identificere trusler, træffe velunderbyggede beslutninger og kommunikere indsigt effektivt på tværs af organisationen.
Der er flere måder at visualisere Microsoft Defender sikkerhedsdata på:
- Navigering i indbyggede rapporter på Microsoft Defender-portalen.
- Brug af Microsoft Sentinel-projektmapper med færdigbyggede skabeloner til alle Defender-produkter (kræver integration med Microsoft Sentinel).
- Anvendelse af gengivelsesfunktionen i Advanced Hunting.
- Brug af Power BI til at udvide eksisterende rapporteringsfunktioner.
I denne artikel opretter vi et eksempel på et SOC-dashboard (Security Operations Center) i Power BI ved hjælp af Microsoft Graph Security API. Vi får adgang til den i brugerkontekst, og brugeren skal derfor have tilsvarende tilladelser for at kunne få vist beskeder og hændelsesdata.
Bemærk!
Nedenstående eksempel er baseret på vores nye MS Graph-sikkerheds-API. Få mere at vide på: Brug Microsoft Graph-sikkerheds-API'en.
Import af data til Power BI
I dette afsnit gennemgår vi de trin, der kræves for at få Microsoft Defender XDR data til Power BI, ved hjælp af beskeddata som eksempel.
Åbn Microsoft Power BI Desktop.
Vælg Hent data > Tom forespørgsel.
Vælg Avanceret editor.
Indsæt i forespørgsel:
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"]) in Source
Vælg Udført.
Når du bliver bedt om at angive legitimationsoplysninger, skal du vælge Rediger legitimationsoplysninger:
Vælg Organisationskonto > Log på.
Angiv legitimationsoplysninger for kontoen med adgang til Microsoft Defender XDR hændelsesdata.
Vælg Opret forbindelse.
Nu vises resultaterne af din forespørgsel som en tabel, og du kan begynde at oprette visualiseringer oven på den.
Tip
Hvis du ønsker at visualisere andre former for Microsoft Graph-sikkerhedsdata, f.eks. Hændelser, Avanceret jagt, Sikker score osv., skal du se Oversigt over Microsoft Graph-sikkerheds-API.
Filtrering af data
Microsoft Graph API understøtter OData-protokollen, så brugerne ikke behøver at bekymre sig om sideinddeling – eller anmode om det næste sæt data. Filtrering af data er dog afgørende for at forbedre indlæsningstiden i et travlt miljø.
Microsoft Graph API understøtter forespørgselsparametre. Her er nogle eksempler på filtre, der bruges i rapporten:
Følgende forespørgsel returnerer listen over beskeder, der er genereret i løbet af de seneste tre dage. Brug af denne forespørgsel i miljøer med store datamængder kan resultere i hundredvis af megabyte data, der kan tage et øjeblik at indlæse. Ved hjælp af denne hardcoded metode kan du hurtigt se dine seneste beskeder i løbet af de sidste tre dage, så snart du åbner rapporten.
let AlertDays = "3", TIME = "" & Date.ToText(Date.AddDays(Date.From(DateTime.LocalNow()), -AlertDays), "yyyy-MM-dd") & "", Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=createdDateTime ge " & TIME & "", null, [Implementation="2.0"]) in Source
I stedet for at indsamle data på tværs af et datointerval kan vi indsamle beskeder på tværs af mere præcise datoer ved at angive en dato ved hjælp af formatet ÅÅÅÅ-MM-DD.
let StartDate = "YYYY-MM-DD", EndDate = "YYYY-MM-DD", Source = OData.Feed("https://graph.microsoft.com/v1.0/security/ alerts_v2?$filter=createdDateTime ge " & StartDate & " and createdDateTime lt " & EndDate & "", null, [Implementation="2.0"]) in Source
Når der kræves historiske data (f.eks. sammenligning af antallet af hændelser pr. måned), er filtrering efter dato ikke en mulighed (da vi ønsker at gå så langt tilbage som muligt). I dette tilfælde skal vi trække nogle få valgte felter som vist i følgende eksempel:
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=createdDateTime ge " & StartLookbackDate & " and createdDateTime lt " & EndLookbackDate & "&$select=id,title,severity,createdDateTime", null, [Implementation="2.0"]) in Source
Introduktion til parametre
I stedet for konstant at forespørge koden for at justere tidsrammen, skal du bruge parametre til at angive en start- og slutdato, hver gang du åbner rapporten.
Gå til Power Query-editor.
Vælg Administrer parametre>Ny parameter.
Angiv de ønskede parametre.
I følgende eksempel bruger vi to forskellige tidsrammer: Start- og Slutdatoer.
Fjern hardcodede værdier fra forespørgslerne, og sørg for, at navne på variablerne StartDate og EndDate svarer til parameternavne:
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/incidents?$filter=createdDateTime ge " & StartDate & " and createdDateTime lt " & EndDate & "", null, [Implementation="2.0"]) in Source
Gennemgang af rapporten
Når dataene er blevet forespurgte, og parametrene er angivet, kan vi nu gennemse rapporten. Under den første lancering af PBIT-rapportfilen bliver du bedt om at angive de parametre, vi angav tidligere:
Dashboardet indeholder tre faner, der er beregnet til at give SOC-indsigt. Den første fane indeholder en oversigt over alle de seneste beskeder (afhængigt af den valgte tidsramme). Denne fane hjælper analytikere med tydeligt at forstå sikkerhedstilstanden i deres miljø ved hjælp af beskedoplysninger opdelt efter registreringskilde, alvorsgrad, samlet antal beskeder og middeltid til løsning.
Den anden fane giver mere indsigt i de angrebsdata, der indsamles på tværs af hændelser og beskeder. Denne visning kan give analytikere et større perspektiv i de typer angreb, der udføres, og hvordan de knyttes til MITRE ATT-strukturen&CK.
Eksempler på Power BI-dashboard
Du kan få flere oplysninger i eksempelfilen med Power BI-rapportskabeloner.