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 verwendet, um Ransomware-Angriffe zu erkennen, zu verhindern und wiederherzustellen. Es generiert Benachrichtigungen für Ransomware-Erkennungsereignisse, Verschlüsselungsversuche und Wiederherstellungsaktionen. Der Parser ordnet JSON-formatierte Logfelder dem einheitlichen Datenmodell (Unified Data Model, UDM) zu und verarbeitet Ereignistypen wie Dateioperationen, 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 der Möglichkeit, Logs zu exportieren

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)
    Schutztools 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. Gehen Sie zu den Einstellungen>API-Zugriff und generieren Sie einen API-Schlüssel mit Leseberechtigungen.
  3. Kopieren und speichern Sie den API-Schlüssel.
  4. Verwenden Sie ein geplantes Script oder eine Cloud Run-Funktion, um die Halcyon REST API aufzurufen, Ereignisprotokolle abzurufen und sie im JSON-Format in GCS zu schreiben.

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 Logexport 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 Log type (Protokolltyp) 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 Object Viewer 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 Nachrichten-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 Log type (Protokolltyp) 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 von Quellen Wählen Sie die gewünschte Löschoption aus.
    Maximales Dateialter (Tage) Der 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 am Ende des URI immer einen abschließenden Schrägstrich (/) ein.
  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die neue Nachrichten-Feed-Konfiguration 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 Zusammengeführt mit dem Fragen-Array, 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 Wert wird auf modifiedFilePath gesetzt, falls vorhanden, überschrieben durch artifact.filePath, falls vorhanden, überschrieben durch process.artifact.filePath, falls vorhanden, überschrieben 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, der direkt nach dem Entfernen der Anführungszeichen kopiert wurde
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 Zusammengeführt mit Labels, die aus jedem Feld erstellt wurden, falls vorhanden; Backslashes 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, überschrieben durch „reason.cause“, 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 Wird auf FILE_UNCATEGORIZED gesetzt, wenn has_principal und has_target_file; USER_UNCATEGORIZED, wenn has_principal und has_target; STATUS_UPDATE, wenn has_principal; andernfalls GENERIC_EVENT (Flags 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 Änderungsprotokoll zugeordnet
primaryProcess.artifact.kind event.idm.read_only_udm.principal.process.file.mime_type Aus Änderungsprotokoll zugeordnet
processes.artifact.filePath event.idm.read_only_udm.principal.process.file.full_path Aus Änderungsprotokoll zugeordnet
processes.artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 Aus Änderungsprotokoll zugeordnet
action event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
filterName event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
policyMode event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
euid event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
occurrences.AuthFailure event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
occurrences.FailedPassword event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
occurredAt event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
occurrences.IncorrectPasswords event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
guid event.idm.read_only_udm.metadata.product_log_id Aus Änderungsprotokoll zugeordnet
gupid event.idm.read_only_udm.metadata.product_log_id Aus Änderungsprotokoll zugeordnet
count event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
artifact.filePath event.idm.read_only_udm.principal.process.file.full_path Aus Änderungsprotokoll zugeordnet
artifact.sha256 event.idm.read_only_udm.principal.process.file.sha256 Aus Änderungsprotokoll zugeordnet
artifact.kind event.idm.read_only_udm.principal.process.file.mime_type Aus Änderungsprotokoll zugeordnet
monitoringReason event.idm.read_only_udm.security_result.detection_fields Aus Änderungsprotokoll zugeordnet
dxpRule event.idm.read_only_udm.security_result.detection_fields Aus Änderungsprotokoll zugeordnet
modifiedFilePath event.idm.read_only_udm.principal.process.file.full_path Aus Änderungsprotokoll zugeordnet
ipArtifact.version event.idm.read_only_udm.security_result.rule_version Aus Änderungsprotokoll zugeordnet
ipArtifact.ipAddress event.idm.read_only_udm.principal.ip Aus Änderungsprotokoll zugeordnet
ipArtifact.ipAddress event.idm.read_only_udm.principal.asset.ip Aus Änderungsprotokoll zugeordnet
process.parentPid event.idm.read_only_udm.principal.process.parent_pid Aus Änderungsprotokoll zugeordnet
dxpRuleType event.idm.read_only_udm.security_result.rule_type Aus Änderungsprotokoll zugeordnet
summary.applicationName event.idm.read_only_udm.principal.application Aus Änderungsprotokoll zugeordnet
process.pid event.idm.read_only_udm.principal.process.pid Aus Änderungsprotokoll zugeordnet
reason.exitCode event.idm.read_only_udm.security_result.action_details Aus Änderungsprotokoll zugeordnet
reason.cause event.idm.read_only_udm.security_result.summary Aus Änderungsprotokoll zugeordnet
dnsArtifact_uri event.idm.read_only_udm.network.dns.questions Aus Änderungsprotokoll zugeordnet
uid event.idm.read_only_udm.target.user.userid Aus Änderungsprotokoll zugeordnet
tty event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
sshd event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
phost event.idm.read_only_udm.principal.hostname Aus Änderungsprotokoll zugeordnet
user_displayname event.idm.read_only_udm.principal.user.user_display_name Aus Änderungsprotokoll zugeordnet
msg event.idm.read_only_udm.security_result.summary Aus Änderungsprotokoll zugeordnet
timestamp event.idm.read_only_udm.metadata.event_timestamp Aus Ä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