Générer des requêtes ou des règles de détection avec des watchlists dans Microsoft Sentinel

Interrogez les données de n’importe quelle table par rapport aux données d’une watchlist en traitant la watchlist comme une table pour les jointures et les recherches. Quand vous créez une watchlist, vous définissez le SearchKey. La clé de recherche est le nom d’une colonne dans votre watchlist que vous voulez utiliser comme jointure avec d’autres données ou comme objet fréquent des recherches.

Pour optimiser les performances des requêtes, utilisez SearchKey comme clé pour les jointures dans vos requêtes.

Important

Microsoft Sentinel est disponible dans le cadre de la préversion publique de la plateforme d’opérations de sécurité unifiée dans le portail Microsoft Defender. Pour en savoir plus, consultez Microsoft Sentinel dans le portail Microsoft Defender.

Générer des requêtes avec des watchlists

Pour utiliser une watchlist dans une requête de recherche, écrivez une requête Kusto qui utilise la fonction _GetWatchlist('watchlist-name') et utilise SearchKey comme clé pour votre jointure.

  1. Pour Microsoft Sentinel dans le Portail Microsoft Azure, sous Configuration, sélectionnez Watchlist.
    Pour Microsoft Sentinel dans le Portail Defender, sélectionnez Microsoft Sentinel>Configuration>Watchlist.

  2. Sélectionnez la watchlist que vous voulez utiliser.

  3. Sélectionnez Afficher dans les journaux.

    Capture d’écran montrant comment utiliser des watchlists dans les requêtes.

  4. Examinez l’onglet Résultats. Les éléments de votre watchlist sont automatiquement extraits pour votre requête.

    L’exemple ci-dessous montre les résultats de l’extraction des champs Nom et Adresse IP. Le SearchKey est indiqué comme sa propre colonne.

    Capture d’écran montrant des requêtes avec des champs watchlist.

    Le timestamp de vos requêtes sera ignoré à la fois dans l’interface utilisateur de la requête et dans les alertes planifiées.

  5. Écrivez une requête qui utilise la fonction _GetWatchlist('watchlist-name') et utilise SearchKey comme clé pour votre jointure.

    Par exemple, l’exemple de requête suivant joint la colonne RemoteIPCountry de la table Heartbeat avec la clé de recherche définie pour la watchlist nommée mywatchlist.

    Heartbeat
    | lookup kind=leftouter _GetWatchlist('mywatchlist') 
     on $left.RemoteIPCountry == $right.SearchKey
    

    L’image suivante montre les résultats de cet exemple de requête dans Log Analytics.

    Capture d’écran des requêtes par rapport à la Watchlist en tant que recherche.

Créer une règle d’analyse avec une watchlist

Pour utiliser des watchlists dans des règles d’analyse, créez une règle en utilisant la fonction _GetWatchlist('watchlist-name') dans la requête.

  1. Sous Configuration, sélectionnez Analyse.

  2. Sélectionnez Créer et le type de règle que vous souhaitez créer.

  3. Dans l’ongletGénéral, entrez les informations appropriées.

  4. Dans l’onglet Définir la logique de la règle, sous Requête de règle, utilisez la fonction _GetWatchlist('<watchlist>') dans la requête.

    Par exemple, disons que vous avez une watchlist nommée ipwatchlist que vous avez créée à partir d’un fichier CSV avec les valeurs suivantes :

    IPAddress,Location
    10.0.100.11,Home
    172.16.107.23,Work
    10.0.150.39,Home
    172.20.32.117,Work

    Le fichier CSV ressemble à l’image suivante. Capture d’écran de quatre éléments dans un fichier CSV utilisé pour la watchlist.

    Pour utiliser la fonction _GetWatchlist pour cet exemple, votre requête serait _GetWatchlist('ipwatchlist').

    Capture d’écran montrant que la requête retourne les quatre éléments de la watchlist.

    Dans cet exemple, nous incluons uniquement les événements des adresses IP figurant dans la Watchlist :

    //Watchlist as a variable
    let watchlist = (_GetWatchlist('ipwatchlist') | project IPAddress);
    Heartbeat
    | where ComputerIP in (watchlist)
    

    L’exemple de requête suivant utilise la watchlist inline avec la requête et la clé de recherche définie pour la watchlist.

    //Watchlist inline with the query
    //Use SearchKey for the best performance
    Heartbeat
    | where ComputerIP in ( 
        (_GetWatchlist('ipwatchlist')
        | project SearchKey)
    )
    

    L’image suivante montre cette dernière requête utilisée dans la requête de règle.

    Capture d’écran montrant comment utiliser des watchlists dans les règles d’analyse.

  5. Renseignez le reste des onglets dans l’Assistant Règle d’analyse.

Les Watchlists sont actualisées dans votre espace de travail tous les 12 jours, mettant à jour le champ TimeGenerated. Pour plus d’informations, consultez Créer des règles analytiques personnalisées pour détecter des menaces.

Afficher la liste des alias de watchlists

Vous pouvez avoir besoin de voir une liste d’alias de watchlists pour identifier une watchlist à utiliser dans une requête ou une règle d’analyse.

  1. Pour Microsoft Sentinel dans le Portail Azure, sous Général, sélectionnez Journaux.
    Dans le portail Defender, sélectionnez Enquête et réponse>Chasse>Chasse avancée.

  2. Sur la page Nouvelle requête, exécutez la requête suivante : _GetWatchlistAlias.

  3. Examinez la liste des alias dans l’onglet Résultats.

    Capture d’écran montrant une liste de watchlists.

Dans ce document, vous avez appris à utiliser les Watchlists dans Microsoft Sentinel pour enrichir les données et améliorer les investigations. Pour en savoir plus sur Microsoft Sentinel, consultez les articles suivants :