Halcyon Anti-Ransomware-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Halcyon Anti-Ransomware-Logs mit Google Cloud Storage V2 in Google Security Operations aufnehmen.

Halcyon ist eine Anti-Ransomware-Plattform, die KI nutzt, um Ransomware-Angriffe zu erkennen, zu verhindern und sich davon zu erholen. Es werden Benachrichtigungen für Ransomware-Erkennungsereignisse, Verschlüsselungsversuche und Wiederherstellungsaktionen generiert. Der Parser ordnet JSON-formatierte Logfelder dem einheitlichen Datenmodell (Unified Data Model, UDM) zu und verarbeitet Ereignistypen wie Dateivorgänge, Nutzeraktivitäten und Sicherheitsergebnisse.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Ein GCP-Projekt mit aktivierter Cloud Storage API
  • Berechtigungen zum Erstellen und Verwalten von GCS-Buckets und IAM-Richtlinien
  • Privilegierter Zugriff auf die Halcyon-Konsole mit Logexportfunktionen

Google Cloud Storage-Bucket erstellen

  1. Gehen Sie zur Google Cloud Console.
  2. Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
  3. Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
  4. Klicken Sie auf Bucket erstellen.
  5. Geben Sie die folgenden Konfigurationsdetails an:

    Einstellung Wert
    Bucket benennen Geben Sie einen global eindeutigen Namen ein, z. B. halcyon-logs.
    Standorttyp Wählen Sie die Option aus, die am besten zu Ihren Anforderungen passt (Region, Dual-Region, Multi-Region).
    Standort Wählen Sie den Standort aus, z. B. us-central1.
    Speicherklasse Standard (empfohlen für Logs, auf die häufig zugegriffen wird)
    Zugriffskontrolle Einheitlich (empfohlen)
    Schutzmaßnahmen Optional: Objektversionsverwaltung oder Aufbewahrungsrichtlinie aktivieren
  6. Klicken Sie auf Erstellen.

Halcyon-Logs nach Google Cloud Storage exportieren

Halcyon unterstützt den Export von Protokolldaten im JSON-Format. Verwenden Sie eine der folgenden Methoden, um Logs an GCS zu senden.

Option A: Logs mit der Halcyon API exportieren und in GCS hochladen

  1. Melden Sie sich in der Halcyon-Verwaltungskonsole an.
  2. Rufen Sie Einstellungen > API-Zugriff auf und generieren Sie einen API-Schlüssel mit Leseberechtigungen.
  3. Kopieren und speichern Sie den API-Schlüssel.
  4. Rufen Sie die Halcyon REST API mit einem geplanten Skript oder einer Cloud Run-Funktion auf, rufen Sie Ereignisprotokolle ab und schreiben Sie sie im JSON-Format in GCS.

Option B: SIEM-Integration konfigurieren und an GCS weiterleiten

  1. Melden Sie sich in der Halcyon-Verwaltungskonsole an.
  2. Rufen Sie die Einstellungen > Integrationen > SIEM auf.
  3. Konfigurieren Sie das Ziel für den Log-Export so, dass Ereignisse im JSON-Format in ein lokales Verzeichnis oder einen Zwischenspeicher geschrieben werden.
  4. Verwenden Sie eine Cloud Run-Funktion, um Logs regelmäßig in Ihren GCS-Bucket hochzuladen.

    • Achten Sie darauf, dass die exportierten Dateien im JSON-Format vorliegen.
    • Jede Datei sollte einen oder mehrere Ereignisdatensätze enthalten.

Google SecOps-Dienstkonto abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  3. Klicken Sie auf Neuen Feed hinzufügen.
  4. Klicken Sie auf Einzelnen Feed konfigurieren.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie Halcyon Anti Ransomware als Logtyp aus.
  7. Klicken Sie auf Dienstkonto abrufen. Es wird eine eindeutige E-Mail-Adresse für das Dienstkonto angezeigt, z. B.:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. Kopieren Sie diese E-Mail-Adresse. Sie verwenden es in der nächsten Aufgabe.

Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren

  1. Rufen Sie Cloud Storage > Buckets auf.
  2. Klicken Sie auf den Namen Ihres Buckets.
  3. Wechseln Sie zum Tab Berechtigungen.
  4. Klicken Sie auf Zugriff erlauben.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Hauptkonten hinzufügen: Fügen Sie die E‑Mail-Adresse des Google SecOps-Dienstkontos ein.
    • Rollen zuweisen: Wählen Sie Storage-Objekt-Betrachter aus.
  6. Klicken Sie auf Speichern.

    • Wenn Sie die Löschoption (übertragene Dateien löschen) verwenden möchten, weisen Sie die Rolle Storage-Objekt-Administrator anstelle von „Storage-Objekt-Betrachter“ zu.

Feed in Google SecOps konfigurieren, um Halcyon Anti-Ransomware-Protokolle aufzunehmen

  1. Rufen Sie die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Halcyon Anti-Ransomware logs.
  5. Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
  6. Wählen Sie Halcyon Anti Ransomware als Logtyp aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:

    Feld Wert
    Storage-Bucket-URI gs://halcyon-logs/halcyon/events/
    Option zum Löschen der Quelle Wählen Sie die gewünschte Löschoption aus.
    Maximales Dateialter (Tage) Standardwert ist 180 Tage
    Asset-Namespace Der Asset-Namespace
    Labels für Datenaufnahme Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
    • Ersetzen Sie halcyon-logs durch den Namen Ihres tatsächlichen GCS-Buckets.
    • Fügen Sie immer einen Schrägstrich (/) am Ende des URI ein.
  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
sshd, tty, euid, dataType, filterName, totalOccurrences, occurredAt, count, occurrences.IncorrectPasswords, occurrences.FailedPassword, occurrences.AuthFailure, policyMode, action additional.fields Mit Labels zusammengeführt, die aus den einzelnen Feldern erstellt wurden, sofern vorhanden; die Felder „totalOccurrences“, „count“ und „occurrences“ wurden in Strings konvertiert.
dnsArtifact.uri network.dns.questions Mit dem Fragen-Array zusammengeführt, das den Namen enthält
asset.id principal.asset.asset_id Verkettet als „ASSET:“ + asset.id
asset.kind principal.asset.attribute.labels Zusammengeführt mit „asset_kind_label“, das aus „asset.kind“ erstellt wurde
asset.name principal.asset.hostname Wert direkt kopiert
ipArtifact.ipAddress principal.asset.ip Wert direkt kopiert
summary.applicationName principal.application Wert direkt kopiert
phost, asset.name principal.hostname Wert aus „phost“, falls vorhanden, wird durch „asset.name“ überschrieben, falls vorhanden
ipArtifact.ipAddress principal.ip Wert direkt kopiert
process.commandLine principal.process.command_line Wert direkt kopiert
modifiedFilePath, artifact.filePath, process.artifact.filePath, processes.artifact.filePath principal.process.file.full_path Der Wert wird auf „modifiedFilePath“ gesetzt, falls vorhanden. Er wird durch „artifact.filePath“ überschrieben, falls vorhanden, durch „process.artifact.filePath“, falls vorhanden, und durch „processes.artifact.filePath“, falls vorhanden (Anführungszeichen für „processes.artifact.filePath“ entfernt).
lastOccurredAt principal.process.file.last_seen_time Konvertiert mit Datumsfilter im ISO8601-Format
process.artifact.kind, artifact.kind, primaryProcess.artifact.kind principal.process.file.mime_type Wert aus „process.artifact.kind“, falls vorhanden, überschrieben durch „artifact.kind“, falls vorhanden, überschrieben durch „primaryProcess.artifact.kind“, falls vorhanden
artifact.sha256, process.artifact.sha256, processes.artifact.sha256 principal.process.file.sha256 Wert aus „artifact.sha256“, falls vorhanden. Wird durch „process.artifact.sha256“ überschrieben, falls vorhanden. Wird durch „processes.artifact.sha256“ überschrieben, falls vorhanden.
process.parentPid principal.process.parent_pid Wert direkt kopiert
process.pid principal.process.pid Wert direkt kopiert
user_displayname principal.user.user_display_name Wert direkt kopiert
Nutzer principal.user.userid Wert direkt kopiert
summary.artifact.filePath target.file.full_path Wert direkt kopiert
summary.artifact.sha256 target.file.sha256 Wert direkt kopiert
primaryProcess.commandLine target.process.command_line Wert direkt nach dem Entfernen der Anführungszeichen kopiert
primaryProcess.kind target.process.file.mime_type Wert direkt kopiert
primaryProcess.parentPid target.process.parent_process.pid Wert direkt kopiert
primaryProcess.pid target.process.pid Wert direkt kopiert
uid target.user.userid Wert direkt kopiert
id target.asset_id Verkettet als „ASSET:“ + ID
Aktion security_result.action In Großbuchstaben, wenn die Aktion „Blockieren“ oder „Zulassen“ ist
reason.exitCode security_result.action_details Wert direkt kopiert
dxpRule, monitoringReason, tenantId security_result.detection_fields Wird mit Labels zusammengeführt, die aus den einzelnen Feldern erstellt wurden, sofern vorhanden; Backslashes werden für dxpRule entfernt.
dxpRuleType security_result.rule_type Wert direkt kopiert
ipArtifact.version security_result.rule_version Wert direkt kopiert
msg, reason.cause security_result.summary Wert aus „msg“, falls vorhanden, wird durch „reason.cause“ überschrieben, falls vorhanden.
timestamp metadata.event_timestamp Konvertiert mit Datumsfilter mit den Formaten MMM dd HH:mm:ss oder MMM d HH:mm:ss
phost, ipArtifact.ipAddress, asset.name, user, uid, summary.artifact.sha256, summary.artifact.filePath metadata.event_type Auf FILE_UNCATEGORIZED setzen, wenn has_principal und has_target_file; USER_UNCATEGORIZED, wenn has_principal und has_target; STATUS_UPDATE, wenn has_principal; andernfalls GENERIC_EVENT (Flags werden aus Quellen abgeleitet)
Typ metadata.product_event_type Wert direkt kopiert
gupid, guid metadata.product_log_id Wert aus „gupid“, falls vorhanden. Wird durch „guid“ überschrieben, falls vorhanden.
metadata.product_name Auf „Halcyon Anti Ransomware“ festgelegt
metadata.vendor_name Auf „Halcyon“ festgelegt
primaryProcess.kind event.idm.read_only_udm.target.process.file.mime_type Aus dem Änderungsprotokoll zugeordnet
primaryProcess.artifact.kind event.idm.read_only_udm.principal.process.file.mime_type Aus dem Änderungsprotokoll zugeordnet
processes.artifact.filePath event.idm.read_only_udm.principal.process.file.full_path Aus dem Änderungsprotokoll zugeordnet
processes.artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 Aus dem Änderungsprotokoll zugeordnet
action event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
filterName event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
policyMode event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
euid event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
occurrences.AuthFailure event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
occurrences.FailedPassword event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
occurredAt event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
occurrences.IncorrectPasswords event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
guid event.idm.read_only_udm.metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet
gupid event.idm.read_only_udm.metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet
count event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
artifact.filePath event.idm.read_only_udm.principal.process.file.full_path Aus dem Änderungsprotokoll zugeordnet
artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 Aus dem Änderungsprotokoll zugeordnet
artifact.kind event.idm.read_only_udm.principal.process.file.mime_type Aus dem Änderungsprotokoll zugeordnet
monitoringReason event.idm.read_only_udm.security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet
dxpRule event.idm.read_only_udm.security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet
modifiedFilePath event.idm.read_only_udm.principal.process.file.full_path Aus dem Änderungsprotokoll zugeordnet
ipArtifact.version event.idm.read_only_udm.security_result.rule_version Aus dem Änderungsprotokoll zugeordnet
ipArtifact.ipAddress event.idm.read_only_udm.principal.ip Aus dem Änderungsprotokoll zugeordnet
ipArtifact.ipAddress event.idm.read_only_udm.principal.asset.ip Aus dem Änderungsprotokoll zugeordnet
process.parentPid event.idm.read_only_udm.principal.process.parent_pid Aus dem Änderungsprotokoll zugeordnet
dxpRuleType event.idm.read_only_udm.security_result.rule_type Aus dem Änderungsprotokoll zugeordnet
summary.applicationName event.idm.read_only_udm.principal.application Aus dem Änderungsprotokoll zugeordnet
process.pid event.idm.read_only_udm.principal.process.pid Aus dem Änderungsprotokoll zugeordnet
reason.exitCode event.idm.read_only_udm.security_result.action_details Aus dem Änderungsprotokoll zugeordnet
reason.cause event.idm.read_only_udm.security_result.summary Aus dem Änderungsprotokoll zugeordnet
dnsArtifact_uri event.idm.read_only_udm.network.dns.questions Aus dem Änderungsprotokoll zugeordnet
uid event.idm.read_only_udm.target.user.userid Aus dem Änderungsprotokoll zugeordnet
tty event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
sshd event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
phost event.idm.read_only_udm.principal.hostname Aus dem Änderungsprotokoll zugeordnet
user_displayname event.idm.read_only_udm.principal.user.user_display_name Aus dem Änderungsprotokoll zugeordnet
msg event.idm.read_only_udm.security_result.summary Aus dem Änderungsprotokoll zugeordnet
timestamp event.idm.read_only_udm.metadata.event_timestamp Aus dem Änderungsprotokoll zugeordnet
user event.idm.read_only_udm.principal.user.userid Aus dem Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten