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. |
Connector-Regeln
Proxyunterstützung
Der Connector unterstützt keinen Proxy.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten