Depuis mai 2022 1,2 , les indicateurs SEKOIA.IO peuvent être intégrés dans Microsoft Sentinel. Dans cet article de blog, nous expliquerons comment tirer parti de cette intégration et l’étendre à l’aide d’un playbook pour faciliter l’accès au contexte des indicateurs dans SEKOIA.IO Intelligence Center.
Aperçu de la Threat Intelligence dans Microsoft Sentinel et les règles analytics
Les indicateurs SEKOIA.IO sont ingérés dans Microsoft Sentinel via le connecteur « Threat intelligence – TAXII » 3 . Vous pouvez suivre les étapes détaillées dans notre documentation 4 pour configurer l’ingestion des indicateurs.
Une fois activé, ce connecteur de données commencera à ingérer les indicateurs dans Microsoft Sentinel. Une page Threat Intelligence dédiée dans Microsoft Sentinel permet aux analystes d’explorer les indicateurs importés et d’afficher la confiance, l’état et les périodes de validité des indicateurs.
Microsoft Sentinel est livré avec des règles de détection prédéfinies qui permettent la recherche des indicateurs dans les événements collectés. Ces règles contiennent la requête KQL et sont disponibles dans l’onglet « Rule Templates » de la section « Analytics », en filtrant sur les sources de données « Threat Intelligence – TAXII » et « Threat Intelligence Platforms ».
Des règles peuvent être créées à partir de ces modèles, en fonction de vos besoins et des logs ingérés dans Microsoft Sentinel (il existe par exemple deux versions différentes de la règle « TI map Domain entity to DnsEvents », selon que vos logs sont ingérés et normalisés via le schéma DNS ASIM ou non).
Si un événement correspond à un indicateur, un incident sera ouvert dans Microsoft Sentinel. Il contiendra les informations pertinentes sur l’indicateur.
Comme nous pouvons le voir dans la capture d’écran ci-dessus, l’analyste manque de contexte autour de la menace caractérisée par l’indicateur. Il devrait copier l’indicateur et le soumettre à l’Intelligence Center de SEKOIA.IO afin d’obtenir des éléments de contexte autour de la menace.
Nous verrons plus tard comment nous pouvons utiliser un playbook pour faciliter ce pivot en fournissant, dans les commentaires de l’incident, un lien direct vers les détails de l’indicateur dans le SEKOIA.IO Intelligence Center.
Sous le capot
Le connecteur Microsoft Sentinel « Threat intelligence – TAXII » va ingérer les indicateurs SEKOIA.IO dans une table spécifique nommée « ThreatIntelligenceIndicator ».
Dans cette table, les indicateurs importés auront :
- un identifiant interne à Microsoft Sentinel, stocké dans le champ « IndicatorId » ;
- un identifiant SEKOIA.IO, stocké dans le champ « ExternalIndicatorId ».
La table « ThreatIntelligenceIndicator » contient également d’autres informations sur les indicateurs 5 comme le niveau de confiance, la phase de la kill chain… Les champs « IndicatorId » et « ExternalIndicatorId » sont, à ce stade, les informations les plus intéressantes, ils seront en effet utilisés dans le playbook.
Si nous entrons dans les détails des règles Analytics, nous pouvons voir que le « IndicatorId » est récupéré en sortie de la requête KQL utilisée pour faire correspondre les événements avec les indicateurs.
Nous pouvons également trouver le champ « IndicatorId » dans la section Détails personnalisés de la règle afin qu’il soit ajouté aux incidents créés par la règle.
Attention : certains modèles de règles d’analyse ne contiennent pas cette configuration, elle doit être ajoutée manuellement pour que le playbook fonctionne correctement avec ces règles.
Configurons ensemble un exemple de playbook SEKOIA.IO – Microsoft Sentinel
Maintenant que nous avons vu comment les indicateurs SEKOIA.IO sont ingérés et utilisés dans les règles d’analyse de Microsoft Sentinel, regardons comment configurer un playbook pour récupérer la valeur « IndicatorId » dans les incidents et générer, à partir de celui-ci, un lien vers le contexte de l’indicateur dans SEKOIA.IO.
La logique de fonctionnement du playbook se présente comme suit :
- Lorsque le playbook est déclenché, extraire le contenu du corps de l’incident
- Pour chaque alerte agrégée dans l’Incident, extraire le contenu de la section Détails personnalisés.
- Pour chaque « IndicatorId » dans les détails personnalisés, exécutez une requête KQL sur la table ThreatIntelligenceIndicator pour obtenir l’ExternalIndicatorId lié à l’IndicatorId
- Pour chaque résultat de la requête KQL, ajoutez un commentaire à l’Incident avec un lien vers le SEKOIA.IO Intelligence Center.
Comme vous pouvez le voir, le résultat d’un playbook Microsoft Sentinel est basé sur très peu d’étapes, ce qui le rend assez facile à mettre en œuvre et à maintenir.
Une fois implémenté, vous pouvez tester ce playbook en l’exécutant manuellement sur un incident spécifique à l’aide de l’action « Exécuter le playbook ».
Après quelques secondes (et un rafraîchissement), les commentaires apparaîtront dans l’incident :
Comme vous pouvez le voir dans la courte vidéo ci-dessous, lorsque l’analyste clique sur le lien, l’objet représentant l’indicateur est ouvert dans l’Intelligence Center de SEKOIA.IO. L’analyste peut alors obtenir les informations sur la menace liée à l’indicateur (Cobalt Strike dans notre exemple).
En pivotant sur la menace, l’analyste pourra obtenir du contexte sur la menace et sur son mode de fonctionnement. De plus, la section « Course of Actions » lui donnera des informations sur la manière de poursuivre son investigation sur l’alerte.
Il est également possible d’exécuter le playbook dès lors qu’un incident est créé, à l’aide d’une simple « règle d’automatisation ».
Quelques idées d’améliorations
Une étape supplémentaire pourrait être ajoutée au playbook pour effectuer une requête auprès de l’API6 de l’Intelligence Center de SEKOIA.IO. Celle-ci permettra de récupérer davantage de contexte (comme le nom du malware ou la campagne associée à l’indicateur) et d’ajouter ces informations directement au commentaire.
Si vous utilisez plusieurs sources de Threat Intelligence dans Microsoft Sentinel, une vérification supplémentaire serait nécessaire dans le playbook. Elle vous assurera sur le fait que le ou les indicateurs qui ont déclenché l’incident proviennent de SEKOIA.IO. Sinon cela conduirait les analystes à un objet inexistant ou incorrect dans l’Intelligence Center de SEKOIA.IO.
Dans son état actuel, ce playbook ne tient pas compte des alertes similaires ou des entrées en double dans la table « ThreatIntelligenceIndicator7», ce qui peut entraîner l’ajout d’un grand nombre de commentaires à l’incident.
Une autre approche qui pourrait être explorée serait d’envoyer les alertes de Microsoft Sentinel à la plateforme SEKOIA.IO XDR. Cette approche pourrait être intéressante dans un contexte multi-cloud ou hybride pour réduire les coûts de centralisation de tous les journaux et fournir une fenêtre unique aux analystes du SOC.
Dans SEKOIA.IO XDR, les analystes ont en effet directement accès au contexte des indicateurs dans les alertes déclenchées par les règles de détection, en fonction de la menace liée à l’indicateur.
Références
4 https://docs.sekoia.io/cti/features/integrations/microsoft-sentinel/
5 https://learn.microsoft.com/en-us/azure/azure-monitor/reference/tables/threatintelligenceindicator
6 https://docs.sekoia.io/cti/develop/rest_api/intelligence
7 Des entrées dupliquées sont possibles avec le même « IndicatorId » mais un «ExternalIndicatorId» différent car les indicateurs peuvent avoir la même valeur (nom de domaine par exemple) mais des modèles STIX différents.
Échangez avec l’équipe
Vous souhaitez en savoir plus sur nos solutions de protection ? Vous voulez découvrir nos produits de XDR et de CTI ? Vous avez un projet de cybersécurité dans votre organisation ? Prenez rendez-vous et rencontrons-nous !
Lire d’autres articles sur notre blog :
- Hatching Triage pour améliorer SEKOIA.IO Cyber Threat Intelligence (CTI)
- SOC augmenté — Comment repenser votre centre de sécurité ?
- MSDT abusé pour atteindre RCE sur Microsoft Office
- Playbooks, règles YARA, IoCs… explication des nouveautés
- Threat Intelligence n’est pas (seulement) sur un spectre
- Playbooks, règles YARA, IoCs… explication des nouveautés