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.
Ouvrez Microsoft Power BI Desktop.
Sélectionnez Obtenir des données > vides, requête.
Sélectionnez Éditeur avancé.
Coller dans la requête :
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"]) in Source
Sélectionnez Terminé.
Lorsque vous êtes invité à entrer des informations d’identification, sélectionnez Modifier les informations d’identification :
Sélectionnez Compte > d’organisation Se connecter.
Entrez les informations d’identification du compte ayant accès aux données d’incidents Microsoft Defender XDR.
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.
Allez à Éditeur de requête.
Sélectionnez Gérer les paramètres>Nouveau paramètre.
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.
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 :
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.
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.
Exemples de tableaux de bord Power BI
Pour plus d’informations, consultez l’exemple de fichier de modèles de rapport Power BI.