Cybereason EDR-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cybereason EDR-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

Cybereason EDR (Endpoint Detection and Response) ist eine Cybersicherheitsplattform, die erweiterte Bedrohungen an Endpunkten erkennt und darauf reagiert. Es werden Malops (Malicious Operations) identifiziert – korrelierte Angriffsketten, die verdächtige Aktivitäten zu vollständigen Angriffsszenarien zusammenfassen – und Sicherheitsanalysten erhalten Einblick in die Entwicklung von Bedrohungen, betroffene Maschinen, kompromittierte Nutzer und Netzwerkverbindungen.

Hinweise

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

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agent und dem Cybereason Detection Server
  • Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
  • Zugriff auf die Cybereason-Verwaltungskonsole mit der Rolle „Systemadministrator“
  • Cybereason-Plattformversion 20.1 oder höher

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem der BindPlane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

Fenstereinbau

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienststatus sollte RUNNING lauten.

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. Führen Sie dazu diesen Befehl aus:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienststatus sollte active (running) lauten.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  1. Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/cybereason:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'your-customer-id'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CYBEREASON_EDR
        raw_log_field: body
    
    service:
      pipelines:
        logs/cybereason_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/cybereason
    
  2. Ersetzen Sie die folgenden Platzhalter:

    • Empfängerkonfiguration:

      • listen_address: IP-Adresse und Port, auf dem gelauscht werden soll:

        • 0.0.0.0:514, um alle Schnittstellen auf Port 514 zu überwachen (erfordert Root unter Linux)
        • 0.0.0.0:1514, um einen nicht privilegierten Port zu überwachen (empfohlen für Linux ohne Root-Zugriff)
      • Optionen für Empfängertyp:

        • tcplog für TCP-Syslog (erforderlich für die Cybereason-Syslog-Weiterleitung)
    • Exporter-Konfiguration:

      • creds_file_path: Vollständiger Pfad zur Authentifizierungsdatei für die Google SecOps-Aufnahme:

        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id: Google SecOps-Kundennummer

      • endpoint: Regionale Endpunkt-URL:

        • USA: malachiteingestion-pa.googleapis.com
        • Europa: europe-malachiteingestion-pa.googleapis.com
        • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Eine vollständige Liste finden Sie unter Regionale Endpunkte.

Konfigurationsdatei speichern

Speichern Sie die Datei nach der Bearbeitung:

  • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
  • Windows: Klicken Sie auf Datei > Speichern.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • So starten Sie den Bindplane-Agent unter Linux neu:

    1. Führen Sie dazu diesen Befehl aus:

      sudo systemctl restart observiq-otel-collector
      
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    3. Prüfen Sie die Logs auf Fehler:

      sudo journalctl -u observiq-otel-collector -f
      
  • So starten Sie den Bindplane-Agent unter Windows neu:

    1. Wählen Sie eine der folgenden Optionen aus:

      • Eingabeaufforderung oder PowerShell als Administrator:

        net stop observiq-otel-collector && net start observiq-otel-collector
        
      • Services-Konsole:

        1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
        2. Suchen Sie nach observIQ OpenTelemetry Collector.
        3. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sc query observiq-otel-collector
      
    3. Prüfen Sie die Logs auf Fehler:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      

Syslog-Weiterleitung für Cybereason EDR konfigurieren

Cybereason sendet MalOp- und User Audit-Ereignisse im CEF-Format (Common Event Format) über Syslog. Für die Konfiguration der Syslog-Weiterleitung ist ein Antrag an den technischen Support von Cybereason erforderlich.

Syslog-Weiterleitung vom technischen Support von Cybereason anfordern

  1. Melden Sie sich in der Cybereason-Verwaltungskonsole an.
  2. Wenden Sie sich über das Cybereason-Supportportal an den technischen Support von Cybereason.
  3. Senden Sie eine Anfrage zur Syslog-Weiterleitungskonfiguration mit den folgenden Informationen:
    • IP-Adresse des Syslog-Servers: Die IP-Adresse des Bindplane-Agent-Hosts (z. B. 192.168.1.100).
    • Syslog-Serverport: Der Port, der dem BindPlane-Agenten listen_address entspricht (z. B. 514).
    • Protokoll: TCP (unverschlüsseltes TCP-Syslog).
    • Logtypen: Fordern Sie die Weiterleitung der folgenden Logtypen an:
    • MalOp-Syslog: Sicherheitswarnungen und Ereignisse zu schädlichen Vorgängen
    • Syslog für Nutzer-Audit: Nutzeraktivitäten und administrative Maßnahmen
  4. Warten Sie, bis der technische Support von Cybereason die Konfiguration für die Syslog-Weiterleitung bestätigt.

Firewallregeln konfigurieren

  • Achten Sie darauf, dass die folgenden Firewallregeln vorhanden sind:

    Richtung Protokoll Port Quelle Ziel
    Ausgehend TCP 514 Cybereason Detection Server Bindplane-Agent-Host

Alternative: Cybereason CEF Forwarder

Wenn der technische Support von Cybereason die direkte Syslog-Weiterleitung nicht konfigurieren kann, können Sie das Cybereason CEF Forwarder-Tool verwenden:

  1. Laden Sie das Cybereason CEF Forwarder-Docker-Image vom technischen Support von Cybereason herunter.
  2. Erstellen oder bearbeiten Sie die Konfigurationsdatei unter cybereason-forwarders/config/config.json.
  3. Legen Sie folgende Einstellungen fest:

    {
      "host": "<BINDPLANE_AGENT_IP>",
      "port": 514
    }
    
  4. Ersetzen Sie <BINDPLANE_AGENT_IP> durch die IP-Adresse des Bindplane-Agent-Hosts.

  5. Docker-Container erstellen und ausführen:

    docker build -t cybereason-cef-forwarder .
    docker run -d --name cybereason-forwarder cybereason-cef-forwarder
    

Syslog-Ereignistypen

Cybereason generiert CEF-Syslog-Nachrichten für die folgenden Ereigniskategorien:

Ereigniskategorie Beschreibung
MalOp erstellt Neue schädliche Operation erkannt
MalOp updated Der Status oder die Details einer bestehenden MalOp haben sich geändert.
MalOp geschlossen MalOp vom Analysten behoben oder geschlossen
Malware erkannt Malware auf einem Endpunkt erkannt
Verdächtiger Prozess Verdächtige Prozessaktivität erkannt
Netzwerkverbindung Verdächtige Netzwerkverbindung erkannt
Nutzeranmeldung Nutzerauthentifizierungsereignisse
Maschinenisolation Endpunkt vom Netzwerk getrennt oder wieder mit dem Netzwerk verbunden
Richtlinienänderungen Änderungen an Sicherheitsrichtlinien

Syslog-Weiterleitung bestätigen

  1. Nachdem der technische Support von Cybereason die Syslog-Konfiguration bestätigt hat, führen Sie eine Testaktion in der Cybereason-Konsole aus, z. B. eine MalOp ansehen oder einen Testcomputer isolieren.
  2. Prüfen Sie die BindPlane-Agentenlogs auf eingehende Syslog-Nachrichten:
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. Prüfen Sie, ob Nachrichten im CEF-Format in den Logs angezeigt werden, z. B.:

    CEF:0|Cybereason|Cybereason|2.0|MalOp|MalOp Created|8|cs1=MALOP_ID_HERE dvchost=server01.company.com suser=admin@company.com
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
detectionName_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
sensorId_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
Status metadata.description Wenn der Wert nicht leer ist
log_description metadata.description Fallback, wenn der Status leer ist
(CEF-Format) metadata.event_type Für CEF-Logs auf GENERIC_EVENT festgelegt
event_type metadata.event_type Auf PROCESS_OPEN setzen, wenn der Wert „PROCESS_OPEN“ ist, auf NETWORK_CONNECTION, wenn der Wert „NETWORK_CONNECTION“ ist, auf SCAN_HOST, wenn der Wert „MALWARE“ ist.
has_principal, has_target metadata.event_type Wird auf SCAN_FILE gesetzt, wenn sowohl „has_principal“ als auch „has_target“ „true“ sind.
has_principal metadata.event_type Wird auf STATUS_UPDATE gesetzt, wenn nur „has_principal“ auf „true“ gesetzt ist.
has_user metadata.event_type Auf USER_UNCATEGORIZED festlegen, wenn „has_user“ im Malop-Kontext „true“ ist
(Standard) metadata.event_type Andernfalls auf GENERIC_EVENT festlegen
LogType metadata.product_event_type Wenn der Wert nicht leer ist
malop_data.simpleValues.elementDisplayName.values.0 metadata.product_event_type Fallback, wenn LogType leer ist
Typ metadata.product_event_type Fallback
prod_event, prod_event2 metadata.product_event_type Verkettet als prod_event – prod_event2
malop_process.guidString metadata.product_log_id Für den Ereignistyp PROCESS_OPEN
malop_connection.guidString metadata.product_log_id Für den Ereignistyp „NETWORK_CONNECTION“
guid metadata.product_log_id Für MALWARE- oder Malop-Ereignistypen
(statisch) metadata.product_version Anfangs auf „2.0“ festgelegt
Sensor.version metadata.product_version Überschreibt „2.0“, falls vorhanden
malop_url metadata.url_back_to_product Direkt zugeordnet
(statisch) metadata.vendor_name Auf „Cybereason“ festgelegt
direction network.direction Direkt zugeordnet
malop_connection.simpleValues.transportProtocol.values.0 network.ip_protocol Direkt zugeordnet
malop_connection.simpleValues.receivedBytesCount.values.0 network.received_bytes In vorzeichenlose Ganzzahl konvertiert
malop_connection.simpleValues.transmittedBytesCount.values.0 network.sent_bytes In vorzeichenlose Ganzzahl konvertiert
Sensor.fqdn principal.administrative_domain Direkt zugeordnet
malop_process.elementValues.ownerMachine.elementValues.0.guid principal.asset.asset_id Beginnt mit „Cybereason:“
malop_data.elementValues.affectedMachines.elementValues.0.guid principal.asset.asset_id Mit „Cybereason:“ als Präfix, Fallback
malop_process.elementValues.ownerMachine.elementValues.0.name principal.asset.hostname Direkt zugeordnet
malop_data.elementValues.affectedMachines.elementValues.0.name principal.asset.hostname Fallback
machineName principal.asset.hostname Fallback
Host principal.asset.hostname Fallback
dvchost principal.asset.hostname Fallback
Sensor.fqdn principal.asset.hostname Fallback
client.ip principal.asset.ip Direkt zugeordnet
Sensor.externalIpAddress principal.asset.ip Fallback
malop_process.elementValues.ownerMachine.elementValues.0.name principal.hostname Direkt zugeordnet
malop_data.elementValues.affectedMachines.elementValues.0.name principal.hostname Fallback
machineName principal.hostname Fallback
Host principal.hostname Fallback
dvchost principal.hostname Fallback
Sensor.fqdn principal.hostname Fallback
client.ip principal.ip Direkt zugeordnet
Sensor.externalIpAddress principal.ip Fallback
Sensor.internalIpAddress principal.nat_ip Direkt zugeordnet
Sensor.privateServerIp principal.nat_ip Fallback
Sensor.osType principal.platform Auf WINDOWS setzen, wenn der Wert „WINDOWS“ ist, auf LINUX, wenn „LINUX“, auf MAC, wenn „MAC“
Sensor.osVersionType principal.platform_version Direkt zugeordnet
malop_connection.simpleValues.localPort.values.0 principal.port In Ganzzahl konvertiert
malop_process.simpleValues.commandLine.values.0 principal.process.command_line Direkt zugeordnet
malwareDataModel.filePath principal.process.command_line Fallback
malop_process.simpleValues.calculatedName.values.0 principal.process.file.full_path Direkt zugeordnet
Name principal.process.file.full_path Fallback
malop_process.elementValues.parentProcess.elementValues.0.guid principal.process.parent_process.product_specific_process_id Beginnt mit „Cybereason:“
malop_process.elementValues.self.elementValues.0.guid principal.process.pid Direkt zugeordnet
malop_process.elementValues.self.elementValues.0.guid principal.process.product_specific_process_id Beginnt mit „Cybereason:“
malop_connection.elementValues.ownerProcess.elementValues.0.guid principal.process.product_specific_process_id Mit „Cybereason:“ als Präfix, Fallback
companyName principal.user.company_name Direkt zugeordnet
malop_process.elementValues.calculatedUser.elementValues.0.name principal.user.user_display_name Direkt zugeordnet
malop_data.elementValues.affectedUsers.elementValues.0.name principal.user.user_display_name Fallback
malop_connection.elementValues.ownerProcess.user.elementValues.0.name principal.user.user_display_name Fallback
malop_process.elementValues.calculatedUser.elementValues.0.guid principal.user.userid Direkt zugeordnet
malop_data.elementValues.affectedUsers.elementValues.0.guid principal.user.userid Fallback
malop_connection.elementValues.ownerProcess.user.elementValues.0.guid principal.user.userid Fallback
security_result_action security_result.action Je nach Status auf ALLOW, BLOCK oder QUARANTINE festlegen
is_alert security_result.alert_state Auf „ALERTING“ setzen, wenn der Wert „True“ ist
sr_category security_result.category Auf SOFTWARE_MALICIOUS oder NETWORK_MALICIOUS festgelegt
query_details security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
affected_machine_count security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
link_to_malop security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
context_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
old_state_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
new_state_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
investigation_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
event_id_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
malop_activity_type_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
malop_suspect_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
malop_key_suspicion_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
device_custom_date_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
device_custom_date2_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
device_custom_date3_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
guid_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
displayName_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
pylumId_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
connected_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
isolated_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
osType_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
admin_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
domainUser_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
localSystem_label security_result.detection_fields Als Schlüssel/Wert-Paar zugeordnet
Beschreibung security_result.description Verkettet mit „decision_feature“, „malop_status“, „privileges“, „passwordAgeDays“, „elementType“, „status“, „score“, „detectionValue“, „detectionValueType“, „detectionEngine“
decision_feature security_result.description In die Beschreibung eingefügt
malop_status security_result.description In die Beschreibung eingefügt
Berechtigungen security_result.description In die Beschreibung eingefügt
passwordAgeDays security_result.description In die Beschreibung eingefügt
elementType security_result.description In die Beschreibung eingefügt
Status security_result.description In die Beschreibung eingefügt
Punktzahl security_result.description In die Beschreibung eingefügt
detectionValue security_result.description In die Beschreibung eingefügt
detectionValueType security_result.description In die Beschreibung eingefügt
detectionEngine security_result.description In die Beschreibung eingefügt
malop_data.malopPriority security_result.priority Direkt zugeordnet
malop_severity security_result.severity Direkt zugeordnet
security_severity security_result.severity Auf CRITICAL setzen, wenn der Wert > 8 ist, auf HIGH, wenn > 6, auf MEDIUM, wenn > 4, und auf LOW, wenn > 1.
die Ausprägung security_result.severity Auf INFORMATIONAL setzen, wenn „Info“, ERROR, wenn „Error“ oder „High“, MEDIUM, wenn „Warning“ oder „Medium“, CRITICAL, wenn „Critical“, LOW, wenn „Low“, andernfalls UNKNOWN
Beschreibung security_result.summary Direkt zugeordnet
Typ security_result.summary Fallback
malopId security_result.threat_id Direkt zugeordnet
malop_data.simpleValues.detectionType.values.0 security_result.threat_name Direkt zugeordnet
virusName security_result.threat_name Fallback
Status security_result.threat_status Auf ACTIVE setzen, wenn der Wert „Active“ ist, andernfalls FALSE_POSITIVE
malop_url security_result.url_back_to_product Direkt zugeordnet
machineName target.asset.hostname Direkt zugeordnet
affectedMachine target.asset.hostname Fallback
dvchost target.asset.hostname Fallback
Sensor.serverName target.asset.hostname Fallback
server.ip target.asset.ip Direkt zugeordnet
Sensor.serverIp target.asset.ip Fallback
malop_process.simpleValues.calculatedName.values.0 target.file.full_path Direkt zugeordnet
malop_connection.elementValues.ownerProcess.elementValues.0.name target.file.full_path Fallback
Name target.file.full_path Fallback
malwareDataModel_filePath target.file.full_path Fallback
malop_process.simpleValues.imageFile.md5String.values.0 target.file.md5 Direkt zugeordnet
Name target.file.names Direkt zugeordnet
machineName target.hostname Direkt zugeordnet
affectedMachine target.hostname Fallback
dvchost target.hostname Fallback
Sensor.serverName target.hostname Fallback
server.ip target.ip Direkt zugeordnet
Sensor.serverIp target.ip Fallback
malop_connection.simpleValues.remoteAddressCountryName.values.0 target.location.country_or_region Direkt zugeordnet
Sensor.privateServerIp target.nat_ip Direkt zugeordnet
malop_connection.simpleValues.remotePort.values.0 target.port In Ganzzahl konvertiert
malop_process.simpleValues.calculatedName.values.0 target.process.file.full_path Direkt zugeordnet
malop_process.elementValues.self.elementValues.0.guid target.process.pid Direkt zugeordnet
malop_url target.url Direkt zugeordnet
(statisch) metadata.product_name Auf „Cybereason“ festgelegt

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