
msticpy v3.0.2
Outils de sécurité de renseignement sur les menaces de Microsoft
Outils de sécurité Python et Jupyter MSTIC
Outils de sécurité Python Microsoft Threat Intelligence.
msticpy est une bibliothèque pour l'investigation et la chasse en sécurité informatique dans les notebooks Jupyter. Elle comprend des fonctionnalités pour :
- interroger des données de logs provenant de multiples sources
- enrichir les données avec des menaces, des géolocalisations et des données de ressources Azure
- extraire des indicateurs d'activité (IoA) des logs et décompresser les données encodées
- effectuer des analyses sophistiquées telles que la détection de sessions anormales et la décomposition de séries temporelles
- visualiser les données à l'aide de chronologies interactives, d'arbres de processus et de diagrammes morphologiques multidimensionnels
Il comprend également des outils de notebook qui font gagner du temps, comme des widgets pour définir les limites temporelles des requêtes, sélectionner et afficher des éléments de listes, et configurer l'environnement du notebook.

Le package msticpy a été initialement développé pour soutenir la création de notebooks Jupyter pour Microsoft Sentinel. Bien qu'Azure Sentinel reste un axe majeur de notre travail, nous étendons les composants d'interrogation et d'acquisition de données pour récupérer des données de logs depuis d'autres sources (actuellement Splunk, Microsoft Defender for Endpoint et Microsoft Graph sont pris en charge, mais nous travaillons activement à la prise en charge des données d'autres plateformes SIEM). La plupart des composants peuvent également être utilisés avec des données provenant de n'importe quelle source. Les DataFrames Pandas sont utilisés comme format d'entrée et de sortie omniprésent de presque tous les composants. Il existe également un fournisseur de données pour faciliter le traitement des données à partir de fichiers CSV locaux et de DataFrames sérialisés (pickle).
Le package répond à trois besoins centraux des enquêteurs et chasseurs en sécurité :
- Acquérir et enrichir les données
- Analyser les données
- Visualiser les données
Nous accueillons favorablement les retours, les rapports de bogues, les suggestions de nouvelles fonctionnalités et les contributions.
Installation
Pour une installation de base :
pip install msticpy
ou pour la dernière version de développement
pip install git+https://github.com/microsoft/msticpy
Mise à jour
Pour mettre à jour msticpy vers la dernière version publique non bêta, exécutez :
pip install --upgrade msticpy
Notez qu'il est recommandé de copier votre fichier msticpyconfig.yaml et de le stocker sur votre disque mais en dehors de votre dossier msticpy, en le référençant dans une variable d'environnement. Cela vous évite de perdre vos configurations à chaque mise à jour de votre installation msticpy.
Documentation
La documentation complète se trouve sur ReadTheDocs
Des notebooks d'exemples pour de nombreux modules se trouvent dans le dossier docs/notebooks et les notebooks associés.
Vous pouvez également parcourir les notebooks d'exemples référencés à la fin de ce document pour voir certaines fonctionnalités utilisées en contexte. Vous pouvez expérimenter certaines fonctions du package dans cette démo interactive sur mybinder.org.
Acquisition de données de logs
QueryProvider est une bibliothèque de requêtes extensible ciblant Microsoft Sentinel/Log Analytics, Microsoft XDR, Splunk, OData et d'autres sources de données de logs. Elle offre également un support spécial pour les ensembles de données Mordor et l'utilisation de données locales.
Des requêtes paramétrées intégrées permettent d'exécuter des requêtes complexes à partir d'un seul appel de fonction. Ajoutez vos propres requêtes à l'aide d'un schéma YAML simple.
Enrichissement des données
Fournisseurs de Threat Intelligence
La classe TILookup peut rechercher des IoC auprès de plusieurs fournisseurs de Threat Intelligence. Les fournisseurs intégrés incluent AlienVault OTX, IBM XForce, VirusTotal et Azure Sentinel.
L'entrée peut être un observable IoC unique ou un DataFrame pandas contenant plusieurs observables. Selon le fournisseur, vous pouvez avoir besoin d'un compte et d'une clé API. Certains fournisseurs imposent également une limitation de débit (surtout pour les niveaux gratuits), ce qui peut affecter les recherches en masse.
TIProviders et Notebook d'utilisation de TILookup
Données de géolocalisation
Les classes de recherche GeoIP vous permettent de faire correspondre les géolocalisations des adresses IP en utilisant soit :
- GeoLiteLookup - Maxmind Geolite (voir https://www.maxmind.com)
- IPStackLookup - IPStack (voir https://ipstack.com)

GeoIP Lookup et Notebook GeoIP
Données de ressources Azure, stockage et API Azure Sentinel
Le module AzureData contient des fonctionnalités pour enrichir les données concernant les détails des hôtes Azure avec des détails supplémentaires exposés via l'API Azure. Le module AzureSentinel vous permet d'interroger les incidents, de récupérer les requêtes de détection et de chasse. AzureBlogStorage vous permet de lire et d'écrire des données depuis le stockage blob.
API des ressources Azure, API Azure Sentinel, Stockage Azure
Analyse de sécurité
Ce sous-package contient plusieurs modules utiles pour travailler sur les enquêtes de sécurité et la chasse :
Détection de séquences anormales
Détectez des séquences d'événements inhabituelles dans vos données de logs Office, Active Directory ou autres. Vous pouvez extraire des sessions (par exemple, une activité initiée par le même compte) et identifier et visualiser des séquences d'activité inhabituelles. Par exemple, détecter un attaquant configurant une règle de transfert de courrier sur la boîte aux lettres de quelqu'un.