CSV-Datei in Google SecOps einbinden

In diesem Dokument wird beschrieben, wie Sie CSV in Google Security Operations einbinden.

In diesem Dokument wird beschrieben, wie Sie CSV in Google Security Operations einbinden.

Anwendungsfälle

In Google SecOps unterstützt die CSV-Integration die folgenden Anwendungsfälle:

  • Dateibasierte Suche nach Bedrohungen: Durchsuchen Sie schnell lokale oder Remote-CSV-Protokolldateien nach bestimmten Strings oder schädlichen Elementen, um historisch protokollierte Bedrohungen zu identifizieren.

  • Automatisierte Benachrichtigungserstellung: Datensätze aus alten Systemen, die Daten im CSV-Format ausgeben, werden automatisch aufgenommen und in umsetzbare Benachrichtigungen mit benutzerdefiniertem Schweregrad-Mapping umgewandelt.

  • Datenübertragbarkeit und Berichterstellung: JSON-Ergebnisse aus anderen Playbook-Aktionen programmatisch in das CSV-Format umwandeln, um sie in externe Berichterstellungstools oder den lokalen Speicher zu exportieren.

  • Automatisierte Entitätsanreicherung: Verwenden Sie CSV-Dateien als lokale Quelle für Threat Intelligence, um Entitäten während der Playbook-Ausführung automatisch anzureichern und als verdächtig zu markieren.

  • Systemübergreifende Datensynchronisierung: Dateien mit unterschiedlichen Zeichencodierungen, z. B. ältere Excel-Formate, werden effizient verarbeitet, um die Datenkonsistenz in verschiedenen Sicherheitstools zu gewährleisten.

Hinweis

Bevor Sie die Integration in Google SecOps konfigurieren, prüfen Sie, ob Folgendes gegeben ist:

  • Interne Plattformfunktionen: Diese Integration bietet integrierte Funktionen zur Dateiverarbeitung und erfordert keine externen API-Schlüssel oder Anmeldedaten von Drittanbietern für die Authentifizierung.

  • Dateisystemberechtigungen: Wenn ein Remote-Agent verwendet wird, benötigt die Integration bestimmte Berechtigungen, um auf Dateien auf dem Hostsystem zuzugreifen und diese zu verwalten. Führen Sie den folgenden Befehl auf dem Agent-Computer aus, um die erforderlichen Berechtigungen für das Zielverzeichnis zu erteilen: chown scripting:scripting "directory_path"

Integrationsparameter

Für die CSV-Integration sind die folgenden Parameter erforderlich:

Anzeigename des Parameters Typ Standardwert Ist obligatorisch Beschreibung
Instanzname String Nein Name der Instanz, für die Sie die Integration konfigurieren möchten.
Beschreibung String Nein Beschreibung der Instanz.
Remote ausführen Kästchen Deaktiviert Nein Aktivieren Sie das Feld, um die konfigurierte Integration remote auszuführen. Nachdem Sie das Kästchen angekreuzt haben, wird die Option zum Auswählen des Remote-Nutzers (Kundenservicemitarbeiters) angezeigt.

Eine Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.

Bei Bedarf können Sie später Änderungen vornehmen. Nachdem Sie eine Integrationsinstanz konfiguriert haben, können Sie sie in Playbooks verwenden. Weitere Informationen zum Konfigurieren und Unterstützen mehrerer Instanzen finden Sie unter Mehrere Instanzen unterstützen.

Aktionen

Weitere Informationen zu Aktionen finden Sie unter Ausstehende Aktionen in „Mein Arbeitsbereich“ beantworten und Manuelle Aktion ausführen.

JSON in CSV speichern

Speichern Sie ein JSON-Objekt in einer CSV-Datei.

Parameter

Parametername Typ Standardwert Verbindlich Beschreibung
JSON-Objekt JSON Ja Gibt das JSON-Objekt an, das als CSV gespeichert werden soll.
Überschreiben Boolesch Falsch Nein Wenn diese Option aktiviert ist, wird die vorhandene Datei durch die Aktion überschrieben.
Dateipfad String Ja Gibt den absoluten Dateipfad für die neu erstellte CSV-Datei an. Wenn nur der Dateiname angegeben wird, speichert die Aktion die Datei in einem Ordner namens /tmp/.

Ausführen am

Aktionsergebnisse

Scriptergebnis
Name des Scriptergebnisses Wert
is_success Wahr/falsch
JSON-Ergebnis
{"filepath": "{file name}"}
Fall-Repository

Die Aktion gibt die folgenden Ausgabenachrichten aus:

Ausgabemeldung Nachrichtenbeschreibung
Das JSON-Objekt wurde erfolgreich transformiert und unter dem angegebenen Dateipfad gespeichert. Die Aktion war erfolgreich.
Die Datei wurde für den angegebenen Pfad nicht gefunden. Die Datei ist nicht vorhanden.
Für die angegebenen Dienstkonten wurden in Google Cloud Policy Intelligence keine Aktivitäten gefunden. Für keines der aufgeführten Dienstkonten wurden Daten gefunden.
Fehler beim Ausführen der Aktion „JSON in CSV speichern“.

Die Aktion hat einen Fehler zurückgegeben.

Prüfen Sie die Verbindung zum Server, die Eingabeparameter oder die Anmeldedaten.

Nach String suchen

Nach Strings in CSV-Dateien suchen

Parameter

Parametername Typ Standardwert Ist obligatorisch Beschreibung
CSV-Pfad String Ja Geben Sie den Dateipfad zur CSV-Datei oder einen Ordnerpfad an, der alle CSV-Dateien enthält. Wenn ein Ordner angegeben wird, werden alle CSV-Dateien im Ordner durchlaufen.
CSV-Spalte String Nein Geben Sie eine durch Kommas getrennte Liste von Spalten an, die Entitätsinformationen enthalten können. Wenn nichts angegeben ist, wird in allen Spalten gesucht.
Tage zurück String 10 Nein Geben Sie an, wie viele Tage in der Vergangenheit die CSV-Dateien verarbeitet werden sollen.
Suchwert String Nein Geben Sie einen String an, nach dem gesucht werden soll. Wenn „Search Multiple String“ aktiviert ist, wird dieser Parameter als durch Kommas getrennte Liste von Strings behandelt, die durchsucht werden müssen.
Gibt nur die erste Zeile zurück. Kästchen Deaktiviert Nein Wenn diese Option aktiviert ist, wird bei der Aktion nur eine Zeile in der ersten Datei zurückgegeben, die mit der Entität übereinstimmt.
Dateicodierungstypen String utf-8, latin-1, iso-8859-1 Ja Eine kommagetrennte Liste der CSV-Codierungstypen, die zum Decodieren Ihrer CSV-Dateien verwendet werden, z. B. utf-8, latin-1, iso-8859-1, utf-16. Die Reihenfolge, in der die Codierungstypen angegeben werden, bestimmt die Reihenfolge, in der sie zum Decodieren von Dateien verwendet werden. Im obigen Beispiel hat UTF-8 die höchste Priorität und wird primär zum Decodieren aller Dateien verwendet. Wenn eine CSV-Datei eine andere Codierung verwendet, wird die nächste Codierung in der Reihenfolge verwendet, also Latin-1 usw., bis die letzte Codierung verwendet wird.
Mehrere Strings durchsuchen Kästchen Deaktiviert Nein Wenn diese Option aktiviert ist, funktioniert „Suchwert“ als durch Kommas getrennte Liste von Werten anstelle eines einzelnen Strings.
Zurückzugebende Felder CSV Nein Geben Sie eine durch Kommas getrennte Liste der Werte an, die zurückgegeben werden sollen.

Anwendungsfälle

Nach Strings in CSV-Dateien suchen

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
count_rows_csv Beliebige Anzahl von Zeilen count_rows += 1
JSON-Ergebnis
[
    {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        },
        "Entity": "host"
    }, {
        "EntityResult": {
            "Field2": "Value2",
            "Field3": "Value3",
            "Field1": "Value1",
            "Field4": "Value4",
            "Field5": "Value5"
        }, "Entity": "1.1.1.1"
    }
]
Fall-Repository
Ergebnistyp Wert / Beschreibung Typ
Ausgabenachricht*

Für gefundene Datensätze:„Informationen zu den folgenden Strings wurden gefunden: \n (search_string)“

Wenn für einige Strings keine Datensätze gefunden werden: „Die Aktion konnte keine Informationen zu den folgenden Strings finden:“

Wenn kein Erfolg für alle Datensätze: „Für die angegebenen Elemente wurden keine Informationen gefunden.“

Wenn alle Codierungen ungültig sind:"Fehler beim Ausführen der Aktion ‚CSV Search by String‘ (CSV-Suche nach String). Die angegebenen Codierungen sind ungültig. Bitte überprüfen Sie die Rechtschreibung.“

Allgemein

Nach Entität suchen

Entitäten in CSV-Dateien suchen und anreichern

Parameter

Parametername Typ Standardwert Ist obligatorisch Beschreibung
CSV-Pfad String Ja Geben Sie den Dateipfad zur CSV-Datei oder einen Ordnerpfad an, der alle CSV-Dateien enthält. Wenn ein Ordner angegeben wird, werden alle CSV-Dateien im Ordner durchlaufen.
CSV-Spalte String Ja Geben Sie eine durch Kommas getrennte Liste von Spalten an, die Entitätsinformationen enthalten können. Wenn nichts angegeben ist, wird in allen Spalten gesucht.
Tage zurück String 10 Ja Geben Sie an, wie viele Tage in der Vergangenheit die CSV-Dateien verarbeitet werden sollen.
Als verdächtig markieren Kästchen Deaktiviert Nein Wenn diese Option aktiviert ist, wird das Rechtssubjekt als verdächtig markiert, wenn es in der Datei gefunden wurde.
Gibt nur die erste Zeile zurück. Kästchen Deaktiviert Nein Wenn diese Option aktiviert ist, wird bei der Aktion nur eine Zeile in der ersten Datei zurückgegeben, die mit der Entität übereinstimmt.
Dateicodierungstypen String utf-8, latin-1, iso-8859-1 Ja Eine kommagetrennte Liste der CSV-Codierungstypen, die zum Decodieren Ihrer CSV-Dateien verwendet werden, z. B. utf-8, latin-1, iso-8859-1, utf-16. Die Reihenfolge, in der die Codierungstypen angegeben werden, bestimmt die Reihenfolge, in der sie zum Decodieren von Dateien verwendet werden. Im obigen Beispiel hat UTF-8 die höchste Priorität und wird primär zum Decodieren aller Dateien verwendet. Wenn eine CSV-Datei eine andere Codierung verwendet, wird die nächste Codierung in der Reihenfolge verwendet, also Latin-1 usw., bis die letzte Codierung verwendet wird.
Entitäten anreichern Kästchen Aktiviert Nein Wenn diese Option aktiviert ist, werden der Anreicherungstabelle der Einheit Informationen aus der CSV-Datei hinzugefügt.
Insight erstellen Kästchen Aktiviert Nein Falls aktiviert, wird durch die Aktion ein Insight erstellt, wenn die Entität in der Datei gefunden wurde.
Zurückzugebende Felder CSV Nein Geben Sie eine durch Kommas getrennte Liste der Werte an, die zurückgegeben werden sollen.

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Scriptergebnis
Name des Scriptergebnisses Wertoptionen Beispiel
count_rows_csv Beliebige Anzahl von Zeilen count_rows += 1
JSON-Ergebnis
[
    {
        "EntityResult": [{
            "domain": "example.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "Arcsight",
            "id": "1011",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "blocked",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "Ziv",
            "eventHostName": "WS-ZivDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }, {
            "domain": "SmartCompany.dom",
            "fileHash": "cbbc5aea3d4c7ec193aa2ff3b52df36ebb12338b18c9bb53fc4896115efaf78d",
            "reporter": "Symantec Antivirus",
            "app": "ESM",
            "id": "1012",
            "eventTime": "9/4/2017 10:00",
            "antivirusAction": "allowed",
            "virusName": "ECAT",
            "rule": "malicious",
            "eventName": "Virus detected",
            "User": "GG",
            "eventHostName": "WS-GGDevComp",
            "File Source Path": "C:\\\\Users\\\\Default\\\\Desktop\\\\stringTimeRaw.csv",
            "machineAddress": "192.168.11.11"
        }],
        "Entity": "192.168.11.11"
    }
]
Fall-Repository
Ergebnistyp Wert / Beschreibung Typ
Ausgabenachricht*

Für gefundene Entitäten:„Informationen zu den folgenden Entitäten wurden gefunden: \n (entity.identifier)“

Für nicht gefundene Entitäten: „Es wurden keine Informationen zu den folgenden Entitäten gefunden: \n (entity.identifier)“

Wenn nicht für jede Entität ein Erfolg erzielt wurde: „Für die angegebenen Entitäten wurden keine Informationen gefunden.“

Wenn alle Codierungen ungültig sind: „Fehler beim Ausführen der Aktion ‚CSV Search by String‘. Die angegebenen Codierungen sind ungültig. Bitte überprüfen Sie die Rechtschreibung.“

Allgemein

Ping

Verbindung testen

Parameter

Ausführen am

Diese Aktion wird für alle Elemente ausgeführt.

Aktionsergebnisse

Scriptergebnis

JSON-Ergebnis
N/A

Connectors

CSV-Connector

Daten aus CSV-Dateien in einem bestimmten Ordner abrufen und in Warnungen im Google SecOps-System umwandeln.

In diesem Thema werden der Mechanismus und die Konfiguration beschrieben, mit denen Google SecOps CSV-Dateien erstellt, sowie die unterstützten Arbeitsabläufe und Aktionen, die auf der Plattform ausgeführt werden.

Anwendungsfälle

Ein Kunde hat CSV-Dateien aus einem System, die möglicherweise mit unterschiedlichen Codierungen erstellt wurden.

*   Add support for comma-separated encodings in the Encoding field in the
    connector.
    *   The connector should try the different encodings by their order in
        the field (first encoding - highest priority, last - lowest
        priority) with try/except. If no matching encoding was found -
        consider the file as an error and notify.
    *   Put a default value for the fields - a list of most common CSV
        encodings by priority (utf8, latin1, and iso...)

Zugriff auf CSV-Dateien

Google SecOps-Zugriff auf CSV-Dateien: Richten Sie einen Ordner für die CSV-Dateien ein.

CSV-Datensätze an Google SecOps weiterleiten

Mit CSV-Dateien arbeiten

Wenn Sie Google SecOps für die Verwendung von CSV-Dateien als Warnungsquelle konfigurieren, werden Sie aufgefordert, einen bestimmten Ordner anzugeben, aus dem die CSV-Dateien abgerufen werden. Google SecOps ruft alle Datensätze in einer CSV-Datei ab und leitet sie zur Übersetzung und Kontextualisierung als Benachrichtigungen für Fälle weiter.

Schweregrad im Connector zuordnen

Um die Schwere zuordnen zu können, müssen Sie im Parameter „Severity Field Name“ (Name des Felds für die Schwere) angeben, welches Feld verwendet werden soll, um den Wert für die Schwere abzurufen. In der Antwort können Sie drei Arten von Werten erhalten: Ganzzahlen, Gleitkommazahlen und Strings. Für Ganzzahlen und Gleitkommazahlen ist keine zusätzliche Konfiguration erforderlich. Der Connector liest diese Werte und ordnet sie gemäß den Google SecOps-Standards zu. Zur Erinnerung: So werden Ganzzahlwerte zugeordnet:

  • 100 – Kritisch
  • 100 > x >= 80 Hoch
  • 80 > x >=60 Mittel
  • 60 > x >=40 Niedrig
  • 40 > x Informationell

Wenn in der Antwort mit Strings gearbeitet wird, ist eine zusätzliche Konfiguration erforderlich. Im Ordner, in dem sich die Connector-Skripts befinden, gibt es eine Konfigurationsdatei mit dem Namen „severity_map_config.json“. In dieser Datei werden Zuordnungsregeln für den Schweregrad definiert.

Anfangs sieht die Datei so aus: 1 2 3 { "Default": 50 }

Angenommen, die erforderlichen Werte befinden sich in „event.severity“. „event.severity“ kann die folgenden Werte enthalten: „Malicious“, „Benign“, „Unknown“.

Zuerst müssen wir im Parameter „Severity Field Name“ (Name des Felds für den Schweregrad) angeben, dass wir „event.severity“ verwenden. Zweitens müssen wir die Konfigurationsdatei aktualisieren. Nach den Änderungen sollte die Datei „severity_map_config.json“ so aussehen: 1 2 3 4 5 6 7 8 { "event.severity": { "Malicious": 100, "Unknown": 60, "Benign": -1 }, "Default": 50 }

Wenn der Connector nun ein Ereignis mit event.severity = „Malicious“ empfängt, wird ihm der Schweregrad „Kritisch“ zugewiesen.

CSV-Connector in Google SecOps konfigurieren

Eine ausführliche Anleitung zum Konfigurieren eines Connectors in Google SecOps finden Sie unter Connector konfigurieren.

Connector-Parameter

Verwenden Sie die folgenden Parameter, um den Connector zu konfigurieren:

Parametername Typ Standardwert Ist obligatorisch Beschreibung
Produktfeldname String device_product Ja Der Feldname, der zur Bestimmung des Geräteprodukts verwendet wird.
Name des Ereignisfelds String Name Nein Der Feldname, der zur Bestimmung des Ereignisnamens (Untertyp) verwendet wird.
Zeitlimit für Script (Sekunden) String 60 Ja Das Zeitlimit (in Sekunden) für den Python-Prozess, in dem das aktuelle Skript ausgeführt wird.
CSV-Ordnerpfad String Ja Der Ordnerpfad, der alle CSV-Dateien enthält, die aufgenommen werden müssen.
CSV-Limit String Nein Anzahl der CSV-Dateien, die pro Iteration verarbeitet werden sollen.
Feldname des Regelgenerators String Nein Name des Felds, das Informationen zum Regelgenerator enthält.
Name des Zeitfelds String Nein Name des Felds, das Informationen zur Ereigniszeit enthält.
CSV-Datei hat Header Kästchen Aktiviert Ja Gibt an, ob die CSV-Datei einen Header hat.
Dateicodierungstyp String utf-8 Ja Legen Sie den CSV-Codierungstyp fest, z.B. iso-8859-1, latin1, utf-8 oder utf-16.
Name des Benachrichtigungsfelds String Nein Name des Felds, das Informationen zum Benachrichtigungsnamen enthält.
Name des Felds für den Schweregrad String Nein

Der Name des Felds, das Informationen zum Schweregrad enthält.
Hinweis:Sie können den Schweregrad anhand der Werte in der Antwort zuordnen. Dazu müssen Sie zum Ausführungsordner des Connectors wechseln und die Datei „severity_mapping_config.json“ ändern. Dokumentation zur Referenz ansehen.

Connector-Regeln

Proxyunterstützung

Der Connector unterstützt keinen Proxy.

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