Maison >Problème commun >OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

WBOY
WBOYavant
2023-04-15 11:31:021530parcourir

Bienvenue dans notre série sur OpenAI et Microsoft Sentinel ! Aujourd'hui, nous allons explorer un autre cas d'utilisation des modèles de langage populaires d'OpenAI et jeter un œil à l'API Sentinel REST. Si vous n'avez pas encore d'instance Microsoft Sentinel, vous pouvez en créer une à l'aide d'un compte Azure gratuit et suivre le guide de démarrage rapide Mise en route avec Sentinel. Vous aurez également besoin d'un compte OpenAI personnel avec une clé API. Prêt? Commençons !

L'une des tâches auxquelles sont confrontés les praticiens de la sécurité consiste à utiliser rapidement des règles analytiques, des requêtes et des définitions pour comprendre ce qui a déclenché une alerte. Par exemple, voici un exemple relativement court d'une règle d'analyse Microsoft Sentinel écrite en Kusto Query Language (KQL) :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Les opérateurs KQL expérimentés n'auront aucune difficulté à analyser cela, mais cela prendra encore un certain temps pour réfléchir mentalement. cartographiez les mots-clés, les sources de journaux, les opérations et la logique des événements. Les personnes qui n’ont jamais utilisé KQL peuvent avoir besoin de plus de temps pour comprendre ce que cette règle est conçue pour détecter. Heureusement, nous avons un ami qui est vraiment doué pour lire le code et l’interpréter en langage naturel : le GPT3 d’OpenAI !
OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Les moteurs GPT3 comme DaVinci sont très doués pour interpréter le code en langage naturel et disposent d'une formation approfondie sur la syntaxe et l'utilisation de Microsoft Sentinel KQL. Mieux encore, Sentinel dispose d'un connecteur OpenAI intégré qui nous permet d'intégrer des modèles GPT3 dans des playbooks Sentinel automatisés ! Nous pouvons utiliser ce connecteur pour ajouter des commentaires aux événements Sentinel qui décrivent les règles d'analyse. Il s'agira d'une application logique simple avec un flux linéaire d'opérations :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Parcourons l'application logique étape par étape, en commençant par les déclencheurs. Nous utilisons un déclencheur d'événement Microsoft Sentinel pour ce playbook afin de pouvoir utiliser le connecteur Sentinel pour extraire tous les ID de règles d'analyse pertinents de l'événement. Nous utiliserons l'API Sentinel REST pour trouver le texte de requête de règle à l'aide de l'ID de règle, que nous pouvons transmettre au modèle IA dans l'invite de saisie semi-automatique du texte. Enfin, nous ajouterons la sortie du modèle IA à l'événement sous forme de commentaire.

Notre première action est le bloc logique « Pour chaque » qui agit sur « l'élément d'identification de la règle d'analyse liée à l'événement » de Sentinel :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Ensuite, nous devons utiliser l'API REST Sentinel pour demander elle-même la règle d'alerte planifiée. Ce point de terminaison d'API est documenté ici : https://learn.microsoft.com/en-us/rest/api/securityinsights/stable/alert-rules/get ?tabs= HTTP . Si vous n'avez jamais utilisé l'API Sentinel auparavant, vous pouvez cliquer sur le bouton vert « Essayer » à côté du bloc de code pour prévisualiser la demande réelle à l'aide de vos informations d'identification. C'est une excellente façon d'explorer l'API ! Dans notre cas, la requête « Get - Alert Rules » ressemble à ceci :

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}?api-version=2022-11-01

Nous pouvons effectuer cet appel API en utilisant l'action « HTTP » dans notre application logique. Heureusement, l'élément ID de règle d'analyse liée aux événements que nous venons d'ajouter au bloc logique « Pour chaque » est livré avec presque tous les paramètres pré-remplis. Nous devons simplement ajouter le domaine API avec la spécification de version jusqu'à la fin - tous les paramètres pour souscriptionID, resourceGroupName, workspaceName et RuleId proviendront de notre objet de contenu dynamique. Le texte réel de mon bloc URI est le suivant :

https://management.azure.com@{items('For_each_related_Analytics_Rule_ID')}?api-version=2022-11-01

Nous devons également configurer les options d'authentification pour les opérations HTTP - j'utilise une identité gérée pour mon application logique. Le bloc d'action terminé ressemble à ceci :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Maintenant que nous avons la règle d'alerte, il nous suffit d'analyser le texte de la règle afin de pouvoir le transmettre à GPT3. Utilisons l'action Parse JSON, fournissons-lui le contenu du corps de l'étape HTTP et définissons le schéma pour qu'il corresponde au résultat attendu de cet appel d'API. Le moyen le plus simple de générer le schéma consiste à télécharger un exemple de charge utile, mais nous n'avons pas besoin d'inclure toutes les propriétés qui ne nous intéressent pas. J'ai raccourci l'architecture pour ressembler à ceci :

{"type": "object","properties": {"id": {"type": "string"},"type": {"type": "string"},"kind": {"type": "string"},"properties": {"type": "object","properties": {"severity": {"type": "string"},"query": {"type": "string"},"tactics": {},"techniques": {},"displayName": {"type": "string"},"description": {"type": "string"},"lastModifiedUtc": {"type": "string"}}}}}

Jusqu'à présent, nos blocs logiques ressemblent à ceci :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Maintenant, il est temps d'impliquer l'IA ! Sélectionnez « GPT3 termine votre invite » dans le connecteur OpenAI et écrivez votre invite à l'aide de l'objet de contenu dynamique « requête » de l'étape précédente d'analyse JSON. Nous utiliserons le dernier moteur Resolve et conserverons la plupart des paramètres par défaut. Notre requête n'a pas montré de différence significative entre les valeurs de température haute et basse, mais nous avons souhaité augmenter le paramètre « maximum de jetons » pour donner au modèle Da Vinci plus de place pour les réponses longues. L'action terminée devrait ressembler à ceci :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

La dernière étape de notre playbook consiste à ajouter un commentaire à l'événement en utilisant le texte résultant de GPT3. Si vous souhaitez ajouter une tâche événementielle à la place, sélectionnez simplement l'action Sentinel. Ajoutez un objet de contenu dynamique « Event ARM ID » et rédigez le message de commentaire à l'aide du « Texte (Texte de fin) » généré par l'action GPT3. Le Logic App Designer encapsule automatiquement vos actions de commentaire dans un bloc logique « Pour chaque ». L'action de commentaire terminée devrait ressembler à ceci :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Enregistrez votre application logique et essayons-la lors d'un événement ! Si tout s'est bien passé, l'historique d'exécution de notre Logic App indiquera que l'exécution s'est déroulée avec succès. Si des problèmes surviennent, vous pouvez vérifier les détails exacts d'entrée et de sortie de chaque étape - un outil de dépannage inestimable ! Dans notre cas, c'était toujours une coche verte :

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Succès ! Le playbook ajoute des commentaires à l’événement, faisant gagner quelques minutes à nos analystes de sécurité surmenés.

OpenAI et Microsoft Sentinel Partie 2 : Expliquer les règles d'analyse

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer