Referenzbibliothek für IBM Cloud CDR-Regeln zur Erkennung von Bedrohungen

Workload Protection ermöglicht Ihnen die Erstellung und Anpassung von Regeln zur Erkennung von Bedrohungen, um verdächtige Aktivitäten in Ihren IBM Cloud Umgebungen zu erkennen. Dieses Thema enthält alle Felder, die für das Schreiben von Falco-Regeln für IBM Cloud Audit-Ereignisse zur Verfügung stehen, die über CDR aufgenommen wurden.

Regeln, die auf IBM Cloud Audit-Ereignisse abzielen, müssen source: ibm_activitytracker verwenden. Auf die Felder kann direkt über ihren Plugin-Namen (z. B. ibm.action) oder über den rohen JSON-Pfad mit jevt.value[/fieldPath] (z. B. jevt.value[/action]) zugegriffen werden.

Felder

In Regeln zur Bedrohungserkennung steht ein Feld für ein bestimmtes Attribut, das aus einem Rohereignis erfasst wurde. Sie können Felder verwenden, um die Erkennungsbedingungen und die Ausgabe zu definieren.

Feld Klasse: ibm (Ereignis)

Top-Level-Felder, die in jedem IBM Cloud Audit-Ereignis vorhanden sind.

Quellen der Veranstaltung: ibm_activitytracker

Name Typ JSON-Pfad Beschreibung
ibm.action Zeichenfolge /action Die Aktion, die das Ereignis ausgelöst hat. Beispiel: iam-am.policy.delete oder iam-identity.user-apikey.create.
ibm.correlationId Zeichenfolge /correlationId Eindeutige GUID, die verwendet wird, um zusammenhängende Ereignisse über mehrere Dienste desselben Kontos hinweg zu korrelieren.
ibm.dataEvent Boolesch /dataEvent Gibt an, ob es sich bei dem Ereignis um ein Datenereignis (true) oder ein Verwaltungsereignis (false) handelt.
ibm.eventTime Zeichenfolge /eventTime Zeitstempel, wann das Ereignis erstellt wurde, im Format ISO 8601.
ibm.id Zeichenfolge /id Optionales Feld, das verwendet werden kann, um Ereignisse der Aktivitätsverfolgung innerhalb eines Dienstes zu korrelieren.
ibm.logSourceCRN Zeichenfolge /logSourceCRN Cloud Resource Name (CRN) der Dienstinstanz, die das Ereignis erzeugt hat.
ibm.message Zeichenfolge /message Von Menschen lesbare Beschreibung des Ereignisses.
ibm.observer.name Zeichenfolge /observer/name Stellen Sie die Einstellung immer auf „ ActivityTracker “ ein. Identifiziert den Beobachterdienst, der das Ereignis aufgezeichnet hat.
ibm.outcome Zeichenfolge /outcome Ergebnis der Aktion. Typische Werte: success, failure, pending.
ibm.requestData JSON /requestData Zusätzliche Informationen über den Antrag, sofern verfügbar.
ibm.responseData JSON /responseData Zusätzliche Informationen über die Antwort, sofern verfügbar.
ibm.saveServiceCopy Boolesch /saveServiceCopy Unter true speichert der Dienst, der das Ereignis generiert hat, eine Kopie für die Prüfung von IBM Cloud.
ibm.severity Zeichenfolge /severity Grad der Bedrohung, die die Aktion für IBM Cloud haben kann. Typische Werte: normal, warning, critical.

Feldklasse: ibm.initiator

Felder, die die Identität und Herkunft der Entität beschreiben, die die Aktion angefordert hat.

Quellen der Veranstaltung: ibm_activitytracker

Name Typ JSON-Pfad Beschreibung
ibm.initiator.id Zeichenfolge /initiator/id ID des Initiators, der die Aktion angefordert hat. Für Benutzer ist dies der Wert IBMid, für Dienst-IDs der Wert ServiceId-xxx.
ibm.initiator.name Zeichenfolge /initiator/name Benutzername oder Name des Initiators. Wenn der Initiator ein Dienst von IBM ist, wird dieses Feld auf „ IBM “ oder den Namen des Dienstes gesetzt.
ibm.initiator.authnId Zeichenfolge /initiator/authnId ID des Benutzers, der sich unter IBM Cloud angemeldet hat.
ibm.initiator.authnName Zeichenfolge /initiator/authnName Benutzername des Benutzers, der sich unter IBM Cloud angemeldet hat.
ibm.initiator.typeURI Zeichenfolge /initiator/typeURI Typ der Ereignisquelle. Beispiel: service/security/account/user oder service/security/account/serviceid.
ibm.initiator.credential.type Zeichenfolge /initiator/credential/type Typ des vom Initiator verwendeten Credentials. Typische Werte: apikey, token, serviceid.
ibm.initiator.host.address Zeichenfolge /initiator/host/address IP-Adresse oder URL, von der die Anfrage ausging, z. B. die IBM Cloud Konsole oder CLI.
ibm.initiator.host.addressType Zeichenfolge /initiator/host/addressType Typ der IP-Adresse. Beispiel: IPv4 oder IPv6.
ibm.initiator.host.agent Zeichenfolge /initiator/host/agent User-Agent-Zeichenfolge, die angibt, woher die Anfrage stammt, z. B. eine CLI-Version oder ein Browser.

Feldklasse: ibm.target

Felder, die die IBM Cloud Ressource beschreiben, auf der die Aktion ausgeführt wurde.

Quellen der Veranstaltung: ibm_activitytracker

Name Typ JSON-Pfad Beschreibung
ibm.target.id Zeichenfolge /target/id CRN oder Kennung der Ressource IBM Cloud, auf der die Aktion ausgeführt wurde.
ibm.target.name Zeichenfolge /target/name Lesbarer Name der Ressource „ IBM Cloud “, auf der die Aktion ausgeführt wurde.
ibm.target.alias Zeichenfolge /target/alias Alias der in der Anfrage verwendeten Cloud-Ressource, falls zutreffend.
ibm.target.typeURI Zeichenfolge /target/typeURI Typ der Zielressource. Beispiel: iam-am/policy oder iam-identity/account/serviceid.
ibm.target.resourceGroupId Zeichenfolge /target/resourceGroupId CRN der mit der Zielressource verbundenen Ressourcengruppe.
ibm.target.host.address Zeichenfolge /target/host/address IP-Adresse oder URL des Zieldienstes.

Feldklasse: ibm.reason

Felder, die zusätzliche Informationen über das Ergebnis einer Aktion liefern, insbesondere bei fehlgeschlagenen Anfragen.

Quellen der Veranstaltung: ibm_activitytracker

Name Typ JSON-Pfad Beschreibung
ibm.reason.reasonCode Numerisch /reason/reasonCode HTTP Antwortcode der angeforderten Aktion. Zum Beispiel: 200 für Erfolg oder 403 für unberechtigt.
ibm.reason.reasonType Zeichenfolge /reason/reasonType Weitere Informationen zum Ergebnis. Beispiel: OK oder Forbidden.
ibm.reason.reasonForFailure Zeichenfolge /reason/reasonForFailure Zusätzliche Details, die erklären, warum die Aktion fehlgeschlagen ist, sofern verfügbar.

Beispiele für das Schreiben von Regeln

Die folgenden Beispiele zeigen, wie diese Felder in Falco-Regeln für CDR referenziert werden können.

Filtern nach Aktion und Ergebnis:

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

Filterung nach dem Typ der Initiatorberechtigung:

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

Filterung nach Quell-IP-Adresse:

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

Weitere Informationen zum Erstellen von Regeln und Richtlinien finden Sie unter IBM Cloud Threat-Erkennungsrichtlinie erstellen.