Alertes : Étape 2. Créer une instruction de règle

Document created by RSA Information Design and Development on Feb 3, 2017
Version 1Show Document
  • View in full screen mode
  

 

Cette rubrique fournit des instructions pour définir des critères de règle dans Générateur de règles en ajoutant des instructions. Une instruction est un groupe logique de critères de règle dans le Générateur de règles. Vous pouvez ajouter des instructions pour définir ce qu'une règle détecte. 

Exemple 

Le graphique suivant illustre un exemple d'instruction du générateur de règles.

Chaque instruction contient une clé et une valeur. Ensuite, vous élaborez une logique autour de la paire en sélectionnant une option dans chaque champ.
BldStmnt_Red.png

Conditions préalables

Pour créer une instruction de règle, vous devez connaître la métaclé et la valeur méta.
Pour obtenir la liste complète des métaclés, accédez à Alertes > Configurer > Paramètres > Références aux clés méta.

Procédure

Pour élaborer une instruction de règle :

  1. Dans le menu Security Analytics, sélectionnez Alertes > Configurer.

    L'onglet Règles s'affiche par défaut.

  2. Dans la Bibliothèque de règles, cliquez sur Ajouter une liste déroulante > Générateur de règles ou modifiez une règle du générateur de règles.

    La vue Générateur de règles s'affiche.

  3. Dans la section Conditions, cliquez sur Icône Ajouter .

    La boîte de dialogue Créer une instruction s'affiche.

    BldStmntDg.png

  4. Nommez l'instruction. Soyez clair et concis. Le nom de l'instruction apparaît dans le générateur de règles.
  5. Dans la liste déroulante, sélectionnez les conditions de la règle :

    • si toutes les conditions sont remplies
    • si l'une des conditions est remplie
  6. Indiquez les critères de l'instruction :

    1. Pour Clé, saisissez le nom de la clé méta.
    2. Dans le champ Opérateur, indiquez la relation existant entre la métaclé et la valeur méta que vous précisez.
      Les choix possibles sont les suivants : est, n'est pas, n'est pas null, est supérieur à (>), est supérieur ou égal à (>=), est inférieur à (<), est inférieur ou égal à (<=), contient, ne contient pas, commence par, se termine par
    3. Saisissez la valeur de la métaclé.
      N'insérez pas de guillemets autour des valeurs. Séparez les différentes valeurs par une virgule.
    4. Le champ Ignorer la casse ? est destiné à être utilisé avec des valeurs de chaîne et de tableau de chaînes. Si vous choisissez le champ Ignorer la casse, la requête traitera toute chaîne de texte comme étant une valeur minuscule.  Cela permet de garantir qu'une règle qui recherche un utilisateur nommé Johnson se déclenchera si un événement contient « johnson », « JOHNSON » ou « JoHnSoN ».
    5. Le champ Tableau ? indique si le contenu du champ Valeur représente une ou plusieurs valeurs.

      Cochez la case Tableau si vous avez saisi plusieurs valeurs séparées par une virgule dans le champ Valeur. Par exemple, pour « ec_activity is Logon, Logoff », vous devez cocher la case Tableau.

  7. Pour utiliser une autre métaclé dans l'instruction, cliquez sur Icône Ajouter, sélectionnez Ajouter une condition méta et répétez l'étape 6. 
  8. Pour ajouter une liste blanche, cliquez sur Icône Ajouter et sélectionnez Ajouter une condition de liste blanche.
  9. Pour ajouter une liste noire, cliquez sur Icône Ajouter et sélectionnez Ajouter une condition de liste noire.
  10. Pour enregistrer l'instruction, cliquez sur Enregistrer

Ajouter une liste blanche

La liste blanche permet de s'assurer que les événements spécifiés sont exclus du déclenchement de la règle.  Les listes blanches peuvent être basées sur l'emplacement géographique ou sur les sources CSV d'enrichissement définies par le client.  Par exemple, pour créer une règle qui ne se déclenche que pour les adresses IP hors des États-Unis, vous pouvez créer une liste blanche d'adresses IP aux États-Unis.

  1. Après avoir ajouté une métacondition, cliquez sur Icône Ajouter et sélectionnez Ajouter une condition de liste blanche.
  2. Dans le champ Entrezun nom de liste blanche, sélectionnez une source d'enrichissement. Toute source d'enrichissement chargée depuis un CSV ou une fenêtre nommée dans Esper peut être utilisée comme source pour une liste blanche. 
  3. Si vous avez utilisé une source GeoIP comme liste blanche, ipv4 est automatiquement saisi pour la sous-condition. Saisissez la valeur méta pour le champ de valeur correspondant. Par exemple, saisissez IPv4 is ip_src pour garantir que les enregistrements GeoIP sont sélectionnés en fonction de la valeur ip_src trouvée dans la base de données de consultation GeoIP. Par ailleurs, si vous avez utilisé une source GeoIP comme liste blanche, vous voudrez peut-être ajouter une sous-condition pour spécifier la région géographique à exclure des résultats de la règle. Par exemple, pour spécifier que le code de pays doit être USA, saisissez « CountryCode is US ».

Ajouter une liste noire

La liste noire permet de s'assurer que les événements spécifiés déclenchent la règle. Les listes noires peuvent être basées sur l'emplacement géographique ou sur les sources CSV d'enrichissement définies par le client. Par exemple, vous pouvez spécifier que la règle ne comprend que les résultats provenant d'Allemagne. 

  1. Après avoir ajouté une métacondition, cliquez sur Icône Ajouter et sélectionnez Ajouter une condition de liste noire.
  2. Dans le champ Entrez un nom de liste noire, sélectionnez une source d'enrichissement.  Toute source d'enrichissement chargée depuis un CSV ou une fenêtre nommée dans Esper peut être utilisée comme source pour une liste noire. 
  3. Si vous avez utilisé une source GeoIP comme liste noire, ipv4 est automatiquement saisi pour la sous-condition. Saisissez la valeur méta pour le champ de valeur correspondant. Par exemple, saisissez IPv4 is ip_src pour garantir que les enregistrements GeoIP sont sélectionnés en fonction de la valeur ip_src trouvée dans la base de données de consultation GeoIP. Par ailleurs, si vous avez utilisé une source GeoIP comme liste noire, vous voudrez peut-être ajouter une sous-condition pour spécifier la région géographique à inclure des résultats de la règle. Par exemple, pour spécifier que la règle n'inclut que les résultats pour l'Allemagne, saisissez « CountryCode is DE ».

Exemple : Liste noire

L'instruction suivante est une instruction de liste noire pour une règle qui surveille un trafic non SMTP sur une destination TCP port 25 contenant un exécutable provenant de pays autres que les États-Unis. 

Blacklist_example.png

                                 
 InstructionDescription :
Le service n'est pas le service 25Le trafic n'est pas le trafic SMTP. 
tcp_dstport edt égal à 25Le trafic est exécuté sur le port TCP 25. 
L'extension est exe, com, vb, vbs, vbe, cmd, bat, ws, wsf, src, shL'extension de fichier correspond à un exécutable.
GeoIpLookupLa liste noire est basée sur une source GeoIPLookup.
ipv4 is ip_srcLes enregistrements GeoIP sont sélectionnés en fonction de la valeur ip_src dans la base de données de consultation GeoIP. 
La valeur de countryCode n'est pas US Lors de la recherche de l'adresse IP Event.ip_src dans la base de données GeoIP, l'enregistrement qu'il renvoie ne contient pas « US » dans le champ countryCode.

Exemple : Ignorer la casse, Correspondance stricte des schémas et utilisation de l'opérateur N'est pas nul

L'exemple suivant utilise la possibilité d'ignorer la casse, d'exclure les valeurs nulles et de créer une correspondance stricte des schémas afin de garantir qu'il renvoie les résultats de règle attendus. Les conditions suivantes composent la règle :

5f_1s_PaswrdChngeRule.png

                                 
Condition de la règleDescription :
DéfaillancesCette condition recherche cinq connexions qui ont échoué et qui ont un connecteur « Suivi de », qui signifie que la condition (Défaillances) doit être suivie par la condition suivante (success).
SuccessCette condition recherche une connexion réussie. 
ModifyPasswordCette condition recherche une instance où le mot de passe a été modifié.
GroupBy: user_dstLe champ GroupBy garantit que toutes les conditions précédentes sont groupées par méta user_dst (compte de destination de l'utilisateur). C'est important pour la construction de la règle, car celle-ci tente de trouver un cas où un utilisateur a tenté de se connecter au même compte de destination plusieurs fois, a fini par se connecter, puis a changé le mot de passe. La règle peut produire des résultats inattendus si vous ne la groupez pas selon le compte de destination de l'utilisateur. 
Se produit dans les 5 minutesLa période d'apparition des événements est égale à cinq minutes. Si les événements se produisent hors de cette période, la règle ne se déclenche pas. 
Séquence d'événements StrictLa séquence d'événements est configurée pour une correspondance stricte des schémas. Cela signifie que le schéma doit correspondre exactement car il a été spécifié sans événement imprévu. 

La correspondance stricte des schémas vous permet de vous assurer que le moteur Esper ne génère que des alertes pour les règles qui correspondent exactement au schéma à trouver. Par exemple, une règle courante pourrait consister à rechercher cinq connexions qui ont échoué, suivies d'une connexion réussie. Si vous sélectionnez une correspondance des schémas souple, cette règle se déclenchera s'il existe un certain nombre de connexions réussies entre les connexions qui ont échoué. Étant donné que l'essentiel consiste à trouver des tentatives de connexion fréquentes et séquentielles, une correspondance stricte est nécessaire pour garantir que vous obtiendrez les résultats attendus. 

Remarque : Chacune de ces conditions est expliquée en détail dans les sections ci-dessous. 

Pour chaque condition, une instruction est créée dans le générateur de règles. L'instruction suivante constitue la condition Failures :

RB_Failure_Stmnt.png

                     
Instruction de règleDescription :
ec-activity is Logon (ignore case)Identifie l'activité qui tente de se connecter à un système.

Le champ Ignorer la casse est destiné à être utilisé avec des valeurs de chaîne et de tableau de chaînes. Si vous choisissez le champ Ignorer la casse, la requête traitera toute chaîne de texte comme étant une valeur minuscule.  Vous voudrez peut-être utiliser ce champ si vous n'êtes pas sûr de la casse à utiliser pour consigner un événement spécifique. Étant donné que la casse est ignorée, la règle peut se déclencher si l'activité est connectée sous la forme Logon, logon ou LoGoN.

ec_outcome is Failure (ignore case)Identifie le résultat de l'activité consignée en tant qu'échec. Étant donné que la casse est ignorée, la règle peut se déclencher si l'activité est consignée sous la forme « failure », « Failure », ou « FaiLuRe. »
La valeur user_dst n'est pas nulleGarantit que la condition n'a la valeur true que si user_dst est renseigné.

L'opérateur N'est pas nul vous permet de garantir qu'un champ retourne une valeur. Si vous le souhaitez, vous pouvez utiliser ce champ lorsqu'une règle dépend d'un champ particulier renvoyant une valeur. Par exemple, vous souhaitez créer une règle qui identifie le même utilisateur qui tente de se connecter au même compte de destination plusieurs fois (éventuellement une attaque de découverte de mot de passe). Si le champ qui représente le compte de destination de l'utilisateur est vide, vous ne souhaitez pas que la règle se déclenche. Pour garantir que le champ contient une valeur, utilisez l'opérateur N'est pas nul

 

L'instruction suivante constitue la condition Success :

RB_Success_Stmnt.png

                     
Instruction de règleDescription :
ec_activity is LogonIdentifie une activité de connexion. 
ec_outcome is SuccessIdentifie une connexion réussie.
La valeur user_dst n'est pas nulleGarantit que le champ du compte de destination de l'utilisateur doit être renseigné pour que la condition soit vraie. 

 

L'instruction suivante constitue la condition ModifyPassword :

RB_Modify_Stmnt.png

 
Instruction de règleDescription :
La valeur user_dst n'est pas nulleGarantit que le champ du compte de destination de l'utilisateur doit être renseigné pour que la condition soit vraie. 
ec_subject is PasswordIdentifie un objet Mot de passe. 
ec_activity is ModifyIdentifie l'activité dans laquelle le mot de passe a été modifié. 

Exemple de résultats

Lorsque l'alerte se déclenche pour l'exemple de règle, vous pouvez constater que la règle s'est déclenchée pour sept événements et que chaque événement contient un utilisateur. Vous pouvez aussi constater que les événements suivent un schéma strict : cinq événements de connexion réussie, suivis par un événement de connexion qui a réussi, suivi par une modification du compte. 

5f_1s_PaswrdChngeAlert.png

Si vous explorez le module Investigation en cliquant sur la source de l'un des événements, vous voyez la casse de chacune des valeurs de chaîne. Étant donné que vous avez utilisé Ignorer la casse, la règle se déclenchera si les chaînes de valeur contiennent des majuscules ou des minuscules. 

5f_1s_PaswrdChngeDetail.png

Exemple : Regroupement des résultats de règle

Le champ Regrouper par vous permet de grouper et filtrer les résultats de règle.Par exemple, supposons qu'il y a trois comptes d'utilisateur : Joe, Jane et John et que vous utilisez le méta Regrouper par, user_dst. Le résultat affichera les événements regroupés sous les comptes de Joe, Jane et John.

Vous pouvez aussi grouper par plusieurs clés, qui peuvent continuer à filtrer les résultats de règle. Par exemple, vous voudrez peut-être grouper par compte de destination d'utilisateur et machine pour voir si un utilisateur connecté au même compte de destination sur la même machine tente de se connecter à un compte plusieurs fois.  Pour cela, vous pouvez grouper par device_class et user_dst.

L'exemple suivant illustre une règle groupée par device_class et user_dst. 

5f_1s_MultiGrpByRule.png

Condition de la règleDescription :
Connexions ayant échouéIdentifie cinq tentatives de connexion ayant échoué (elles doivent être suivies de la condition suivante, à savoir que les cinq connexions ayant échoué doivent être suivies d'une connexion réussie).
Connexion réussieIdentifie une connexion réussie. 
Group By  : user_dst et device_classGroupe les résultats de la règle par user_dst (compte de destination d'utilisateur) et device_class (type de machine sur laquelle l'utilisateur se connecte). Cela permet à la règle de rechercher un utilisateur connecté depuis la même machine au même compte de destination, ce qui génère un résultat de règle beaucoup plus ciblé. 
Se produit dans les 5 minutes avec une correspondance stricte des schémas.Les événements doivent se produire dans les cinq minutes et la correspondance des schémas est stricte, ce qui signifie que le schéma doit être suivi exactement pour que l'alerte se déclenche. 

Exemple : Utilisation des opérateurs numériques

Les opérateurs numériques vous permettent d'écrire des règles pour les valeurs numériques, par exemple en spécifiant que la valeur est supérieure à, inférieure à ou égale à une valeur spécifique. Cette possibilité est utile surtout pour les cas où vous voulez spécifier un seuil numérique, par exemple, la charge utile est supérieure à 7 000

Dans l'exemple suivant, il est tenté d'identifier un transfert de données vers une destination spécifique via les ports courants où la taille de transfert est élevée et la charge utile comprise dans une plage suspecte.

BldStmnt_SuspTrans.png

Instruction de règleDescription :
ip_dst est 10.10.10.1.Le port de destination est 10.10.10.1.
ip_dstport est supérieur ou égal à 1 024.Le port de destination se situe dans une plage de ports couramment utilisée : 1 024 ou supérieure.
La taille est supérieure ou égale à 10 000.La taille du transfert est 10 000 ou supérieure, ce qui correspond à un transfert trop volumineux. 
La valeur payload est supérieure à 7 000La charge utile est comprise entre 7 000 et 8 000, ce qui correspond à une charge utile trop volumineuse. 
La charge utile est inférieure à 8 000.La charge utile est comprise entre 7 000 et 8 000, ce qui correspond à une charge utile trop volumineuse. 
You are here
Table of Contents > Ajouter des règles à la Bibliothèque de règles > Ajouter une règle Générateur de règles > Étape 2. Créer une instruction de règle

Attachments

    Outcomes