Bibliothèque de référence pour IBM Cloud Règles de détection des menaces du CDR

Workload Protection vous permet de créer et de personnaliser des règles de détection des menaces pour détecter les activités suspectes dans vos environnements IBM Cloud. Cette rubrique fournit tous les champs disponibles pour écrire des règles Falco contre les événements d'audit IBM Cloud ingérés via CDR.

Les règles ciblant les événements d'audit IBM Cloud doivent utiliser source: ibm_activitytracker. Les champs sont accessibles directement par leur nom de plugin (par exemple ibm.action) ou par le chemin JSON brut en utilisant jevt.value[/fieldPath] (par exemple jevt.value[/action]).

Zones

Dans les règles de détection des menaces, un champ représente un attribut spécifique de l'événement capturé à partir d'un événement brut. Vous pouvez utiliser des champs pour définir la condition de détection et la sortie.

Classe de champ : ibm (événement)

Champs de premier niveau présents dans chaque événement d'audit IBM Cloud.

Sources de l'événement : ibm_activitytracker

Nom Type Chemin JSON Description
ibm.action chaîne /action L'action qui a déclenché l'événement. Par exemple, iam-am.policy.delete ou iam-identity.user-apikey.create.
ibm.correlationId chaîne /correlationId GUID unique utilisé pour corréler les événements liés entre plusieurs services du même compte.
ibm.dataEvent booléen /dataEvent Indique si l'événement est un événement de données (true) ou un événement de gestion (false).
ibm.eventTime chaîne /eventTime Horodatage de la création de l'événement, au format ISO 8601.
ibm.id chaîne /id Champ facultatif qui peut être utilisé pour corréler les événements de suivi d'activité au sein d'un service.
ibm.logSourceCRN chaîne /logSourceCRN Nom de ressource du nuage (CRN) de l'instance de service qui a généré l'événement.
ibm.message chaîne /message Description de l'événement lisible par l'homme.
ibm.observer.name chaîne /observer/name Réglez toujours sur « ActivityTracker ». Identifie le service d'observation qui a enregistré l'événement.
ibm.outcome chaîne /outcome Résultat de l'action. Valeurs typiques : success, failure, pending.
ibm.requestData JSON /requestData Informations complémentaires sur la demande, le cas échéant.
ibm.responseData JSON /responseData Informations complémentaires sur la réponse, le cas échéant.
ibm.saveServiceCopy booléen /saveServiceCopy Lorsque true, le service qui a généré l'événement en enregistre une copie à des fins d'audit IBM Cloud.
ibm.severity chaîne /severity Niveau de menace que l'action peut avoir sur IBM Cloud. Valeurs typiques : normal, warning, critical.

Classe de terrain : ibm.initiator

Champs décrivant l'identité et l'origine de l'entité qui a demandé l'action.

Sources de l'événement : ibm_activitytracker

Nom Type Chemin JSON Description
ibm.initiator.id chaîne /initiator/id Identifiant de l'initiateur qui a demandé l'action. Pour les utilisateurs, il s'agit de la valeur IBMid; pour les identifiants de service, il s'agit de la valeur ServiceId-xxx.
ibm.initiator.name chaîne /initiator/name Nom d'utilisateur ou nom de l'initiateur. Lorsque l'initiateur est un service « IBM », ce champ prend la valeur « IBM » ou le nom du service.
ibm.initiator.authnId chaîne /initiator/authnId Identifiant de l'utilisateur connecté à IBM Cloud.
ibm.initiator.authnName chaîne /initiator/authnName Nom d'utilisateur de la personne qui s'est connectée à IBM Cloud.
ibm.initiator.typeURI chaîne /initiator/typeURI Type de la source de l'événement. Par exemple, service/security/account/user ou service/security/account/serviceid.
ibm.initiator.credential.type chaîne /initiator/credential/type Type de justificatif utilisé par l'initiateur. Valeurs typiques : apikey, token, serviceid.
ibm.initiator.host.address chaîne /initiator/host/address Adresse IP ou URL d'où provient la demande, comme la console IBM Cloud ou le CLI.
ibm.initiator.host.addressType chaîne /initiator/host/addressType Type d'adresse IP. Par exemple, IPv4 ou IPv6.
ibm.initiator.host.agent chaîne /initiator/host/agent Chaîne de l'agent utilisateur identifiant l'origine de la demande, par exemple une version de l'interface de programmation ou un navigateur.

Classe de terrain : ibm.target

Champs décrivant la ressource IBM Cloud sur laquelle l'action a été exécutée.

Sources de l'événement : ibm_activitytracker

Nom Type Chemin JSON Description
ibm.target.id chaîne /target/id CRN ou identifiant de la ressource IBM Cloud sur laquelle l'action a été exécutée.
ibm.target.name chaîne /target/name Nom lisible par l'utilisateur de la ressource IBM Cloud sur laquelle l'action a été exécutée.
ibm.target.alias chaîne /target/alias Alias de la ressource en nuage utilisée dans la demande, le cas échéant.
ibm.target.typeURI chaîne /target/typeURI Type de la ressource cible. Par exemple, iam-am/policy ou iam-identity/account/serviceid.
ibm.target.resourceGroupId chaîne /target/resourceGroupId CRN du groupe de ressources associé à la ressource cible.
ibm.target.host.address chaîne /target/host/address Adresse IP ou URL du service cible.

Classe de terrain : ibm.reason

Champs qui fournissent des détails supplémentaires sur le résultat d'une action, en particulier pour les demandes qui n'ont pas abouti.

Sources de l'événement : ibm_activitytracker

Nom Type Chemin JSON Description
ibm.reason.reasonCode numérique /reason/reasonCode HTTP code de réponse de l'action demandée. Par exemple, 200 pour un succès ou 403 pour une absence d'autorisation.
ibm.reason.reasonType chaîne /reason/reasonType Informations complémentaires concernant le résultat. Par exemple, OK ou Forbidden.
ibm.reason.reasonForFailure chaîne /reason/reasonForFailure Détails supplémentaires expliquant pourquoi l'action a échoué, le cas échéant.

Exemples de rédaction de règles

Les exemples suivants montrent comment référencer ces champs dans les règles Falco pour le CDR.

Filtrage par action et par résultat :

condition: >
  jevt.value[/action] = "iam-am.policy.delete"
  and jevt.value[/outcome] = "success"

Filtrage par type de justificatif d'identité de l'initiateur :

condition: >
  jevt.value[/action] startswith "iam-identity"
  and jevt.value[/initiator/credential/type] = "apikey"

Filtrage par adresse IP source :

condition: >
  jevt.value[/action] = "iam-identity.user-apikey.create"
  and not jevt.value[/initiator/host/address] in (trusted_ips)

Pour plus d'informations sur la création de règles et de stratégies, voir IBM Cloud Création d'une stratégie de détection des menaces.