Partager via


Create des rapports Microsoft Defender XDR personnalisés à l’aide de l’API de sécurité Microsoft Graph et de Power BI

S’applique à :

Le fait de permettre aux professionnels de la sécurité de visualiser leurs données leur permet de reconnaître rapidement des modèles complexes, des anomalies et des tendances qui, autrement, pourraient se trouver sous le bruit. Grâce aux visualisations, les équipes SOC peuvent rapidement identifier les menaces, prendre des décisions éclairées et communiquer efficacement des insights sur l’ensemble des organization.

Il existe plusieurs façons de visualiser Microsoft Defender données de sécurité :

  • Navigation dans les rapports intégrés dans le portail Microsoft Defender.
  • Utilisation de classeurs Microsoft Sentinel avec des modèles prédéfinis pour chaque produit Defender (nécessite une intégration avec Microsoft Sentinel).
  • Application de la fonction render dans la chasse avancée.
  • Utilisation de Power BI pour développer les fonctionnalités de création de rapports existantes.

Dans cet article, nous créons un exemple de tableau de bord d’efficacité soc (Security Operations Center) dans Power BI à l’aide de l’API de sécurité Microsoft Graph. Nous y accédons dans le contexte de l’utilisateur. Par conséquent, l’utilisateur doit disposer des autorisations correspondantes pour pouvoir afficher les données d’alertes et d’incidents.

Remarque

L’exemple ci-dessous est basé sur notre nouvelle API de sécurité MS Graph. Pour en savoir plus, consultez : Utiliser l’API de sécurité Microsoft Graph.

Importation de données dans Power BI

Dans cette section, nous allons suivre les étapes requises pour obtenir des données Microsoft Defender XDR dans Power BI, en utilisant les données d’alertes comme exemple.

  1. Ouvrez Microsoft Power BI Desktop.

  2. Sélectionnez Obtenir des données > vides, requête.

  3. Sélectionnez Éditeur avancé.

    Capture d’écran montrant comment créer une requête de données dans Power BI Desktop.

  4. Coller dans la requête :

    let
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"])
    in
        Source
    
  5. Sélectionnez Terminé.

  6. Lorsque vous êtes invité à entrer des informations d’identification, sélectionnez Modifier les informations d’identification :

    Capture d’écran montrant comment modifier les informations d’identification pour la connexion d’API.

  7. Sélectionnez Compte > d’organisation Se connecter.

    Capture d’écran de la fenêtre d’authentification du compte d’organisation.

  8. Entrez les informations d’identification du compte ayant accès aux données d’incidents Microsoft Defender XDR.

  9. Sélectionnez Connexion.

À présent, les résultats de votre requête s’affichent sous la forme d’une table, et vous pouvez commencer à créer des visualisations par-dessus.

Conseil

Si vous souhaitez visualiser d’autres formes de données de sécurité Microsoft Graph telles que les incidents, la chasse avancée, le degré de sécurisation, etc., consultez Vue d’ensemble de l’API de sécurité Microsoft Graph.

Filtrage des données

Microsoft API Graph prend en charge le protocole OData afin que les utilisateurs n’aient pas à se soucier de la pagination ou de la demande du jeu de données suivant. Toutefois, le filtrage des données est essentiel pour améliorer les temps de chargement dans un environnement occupé.

Microsoft API Graph prend en charge les paramètres de requête. Voici quelques exemples de filtres utilisés dans le rapport :

  • La requête suivante retourne la liste des alertes générées au cours des trois derniers jours. L’utilisation de cette requête dans des environnements avec des volumes élevés de données peut entraîner des centaines de mégaoctets de données qui peuvent prendre un moment à charger. En utilisant cette approche codée en dur, vous êtes en mesure de voir rapidement vos alertes les plus récentes au cours des trois derniers jours dès que vous ouvrez le rapport.

    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
    
  • Au lieu de collecter des données sur une plage de dates, nous pouvons collecter des alertes sur des dates plus précises en entrant une date au format AAAA-MM-JJ.

    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
    
  • Lorsque des données historiques sont requises (par exemple, en comparant le nombre d’incidents par mois), le filtrage par date n’est pas une option (car nous voulons revenir en arrière le plus loin possible). Dans ce cas, nous devons extraire quelques champs sélectionnés, comme illustré dans l’exemple suivant :

    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
    

Présentation des paramètres

Au lieu d’interroger constamment le code pour ajuster la période, utilisez des paramètres pour définir une date de début et une date de fin chaque fois que vous ouvrez le rapport.

  1. Allez à Éditeur de requête.

  2. Sélectionnez Gérer les paramètres>Nouveau paramètre.

  3. Définissez les paramètres souhaités.

    Dans l’exemple suivant, nous utilisons deux intervalles de temps différents, les dates de début et de fin.

    Capture d’écran montrant comment gérer les paramètres dans Power BI.

  4. Supprimez les valeurs codées en dur des requêtes et assurez-vous que les noms des variables StartDate et EndDate correspondent aux noms de paramètres :

    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
    

Examen du rapport

Une fois que les données ont été interrogées et que les paramètres ont été définis, nous pouvons maintenant passer en revue le rapport. Lors du premier lancement du fichier de rapport PBIT, vous êtes invité à fournir les paramètres que nous avons spécifiés précédemment :

Capture d’écran de la fenêtre d’invite de paramètre de modèle Power BI.

Le tableau de bord propose trois onglets destinés à fournir des insights SOC. Le premier onglet fournit un résumé de toutes les alertes récentes (en fonction de la période sélectionnée). Cet onglet permet aux analystes de comprendre clairement l’état de sécurité de leur environnement à l’aide des détails de l’alerte, répartis par source de détection, gravité, nombre total d’alertes et délai moyen de résolution.

Capture d’écran de l’onglet Alertes du rapport Power BI résultant.

Le deuxième onglet offre plus d’informations sur les données d’attaque collectées sur les incidents et les alertes. Cette vue peut fournir aux analystes une meilleure perspective sur les types d’attaques exécutées et la façon dont elles sont mappées à l’infrastructure MITRE ATT&CK.

Capture d’écran de l’onglet Insights du rapport Power BI résultant.

Exemples de tableaux de bord Power BI

Pour plus d’informations, consultez l’exemple de fichier de modèles de rapport Power BI.