CSV mit Google SecOps integrieren
Dieses Dokument beschreibt die Integration von CSV in Google Security Operations.
Dieses Dokument erklärt, wie CSV in Google Security Operations integriert wird.
herunterladen.Anwendungsfälle
In Google SecOps unterstützt die CSV-Integration die folgenden Anwendungsfälle:
Dateibasierte Bedrohungsanalyse: Schnelle Suche in lokalen oder entfernten CSV-Protokolldateien nach bestimmten Zeichenketten oder bösartigen Entitäten zur Identifizierung historisch protokollierter Bedrohungen.
Automatische Alarmgenerierung: Automatische Erfassung von Datensätzen aus Legacy-Systemen, die Daten im CSV-Format ausgeben, und Umwandlung dieser Daten in umsetzbare Alarme mit benutzerdefinierter Schweregradzuordnung.
Datenportabilität und Berichterstellung: JSON-Ergebnisse aus anderen Playbook-Aktionen können programmatisch in das CSV-Format umgewandelt werden, um den Export in externe Berichtstools oder den lokalen Speicher zu vereinfachen.
Automatische Entitätsanreicherung: Verwenden Sie CSV-Dateien als lokale Quelle für Bedrohungsdaten, um Entitäten automatisch anzureichern und sie während der Playbook-Ausführung als verdächtig zu kennzeichnen.
Systemübergreifende Datensynchronisierung: Effiziente Verarbeitung von Dateien mit unterschiedlichen Zeichenkodierungen, wie z. B. älteren Excel-Formaten, um die Datenkonsistenz über verschiedene Sicherheitstools hinweg zu gewährleisten.
Hinweis
Bevor Sie die Integration in Google SecOps konfigurieren, vergewissern Sie sich, dass Sie Folgendes haben:
Interne Plattformfunktionen: Diese Integration bietet integrierte Dateiverarbeitungsfunktionen und benötigt keine externen API-Schlüssel oder Anmeldeinformationen von Drittanbietern zur Authentifizierung.
Dateisystemberechtigungen: Wenn ein Remote Agent verwendet wird, benötigt die Integration spezifische Berechtigungen für den Zugriff auf und die Verwaltung von Dateien auf dem Hostsystem. Führen Sie auf dem Agentenrechner den folgenden Befehl aus, um die erforderlichen Berechtigungen für Ihr Zielverzeichnis zu erteilen:
chown scripting:scripting "directory_path"
Integrationsparameter
Die CSV-Integration erfordert die folgenden Parameter:
| 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 über „Mein Arbeitsbereich“ bearbeiten und Manuelle Maßnahme ausführen.
JSON in CSV speichern
Speichern eines JSON-Objekts in einer CSV-Datei.
Parameter
| Parametername | Typ | Standardwert | Erforderlich | 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 überschrieben. |
| Dateipfad | String | – | Ja | Gibt den absoluten Dateipfad für die neu erstellte CSV-Datei an. Wird nur der Dateiname angegeben, speichert die Aktion die Datei in einem Ordner /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 im 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 keine Werte angegeben werden, durchsucht die Aktion alle Spalten. |
| Tage rückwärts | String | 10 | Nein | Geben Sie an, um wie viele Tage die CSV-Dateien rückwirkend verarbeitet werden sollen. |
| Suchwert | String | – | Nein | Geben Sie eine Zeichenfolge an, die durchsucht werden soll. Wenn die Option „Mehrere Zeichenketten durchsuchen“ aktiviert ist, wird dieser Parameter als durch Kommas getrennte Liste von Zeichenketten interpretiert, die durchsucht werden sollen. |
| Gib nur die erste Zeile zurück. | Kästchen | Deaktiviert | Nein | Wenn diese Option aktiviert ist, gibt die Aktion nur eine Zeile in der ersten Datei zurück, die mit der Entität übereinstimmt. |
| Dateikodierungstypen | String | utf-8, latin-1, iso-8859-1 | Ja | Eine durch Kommas getrennte Liste der CSV-Kodierungstypen, die zum Dekodieren Ihrer CSV-Dateien verwendet werden, z.B. utf-8, latin-1, iso-8859-1, utf-16... Die Reihenfolge, in der die Kodierungstypen angegeben werden, bestimmt die Reihenfolge, in der sie zum Dekodieren von Dateien verwendet werden. Beispielsweise hat (aus dem obigen Beispiel) UTF-8 die höchste Priorität und wird primär zum Dekodieren aller Dateien verwendet. Wenn eine CSV-Datei eine andere Kodierung verwendet, wird die nächste in der Reihenfolge verwendet: Latin-1-Kodierung usw., bis die letzte Kodierung verwendet wird. |
| Suche nach mehreren Zeichenketten | Kästchen | Deaktiviert | Nein | Wenn diese Option aktiviert ist, funktioniert „Suchwert“ als durch Kommas getrennte Liste von Werten anstelle einer einzelnen Zeichenkette. |
| Zurückzugebende Felder | CSV | – | Nein | Geben Sie eine durch Kommas getrennte Liste der zurückzugebenden Werte an. |
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 Zeichenketten wurden erfolgreich gefunden: \n (Suchzeichenkette)" Wenn für einige Zeichenketten keine Datensätze gefunden werden: "Die Aktion konnte keine Informationen zu den folgenden Zeichenketten finden:" Falls für alle Datensätze kein Erfolg erzielt wurde: "Für die angegebenen Elemente wurden keine Informationen gefunden." Wenn alle Kodierungen ungültig sind: "Fehler beim Ausführen der Aktion "CSV-Suche nach Zeichenkette". Die angegebenen Kodierungen sind ungültig. Bitte überprüfen Sie die Rechtschreibung.“ |
Allgemein |
Suche nach Entität
Suchen Sie nach Entitäten in CSV-Dateien und reichern Sie diese an.
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 keine Werte angegeben werden, durchsucht die Aktion alle Spalten. |
| Tage zurück | String | 10 | Ja | Geben Sie an, um wie viele Tage die CSV-Dateien rückwirkend verarbeitet werden sollen. |
| Als verdächtig markieren | Kästchen | Deaktiviert | Nein | Wenn diese Option aktiviert ist, wird die entsprechende Entität als verdächtig markiert, falls sie in der Datei gefunden wurde. |
| Gib nur die erste Zeile zurück. | Kästchen | Deaktiviert | Nein | Wenn diese Option aktiviert ist, gibt die Aktion nur eine Zeile in der ersten Datei zurück, die mit der Entität übereinstimmt. |
| Dateikodierungstypen | String | utf-8, latin-1, iso-8859-1 | Ja | Eine durch Kommas getrennte Liste der CSV-Kodierungstypen, die zum Dekodieren Ihrer CSV-Dateien verwendet werden, z.B. utf-8, latin-1, iso-8859-1, utf-16... Die Reihenfolge, in der die Kodierungstypen angegeben werden, bestimmt die Reihenfolge, in der sie zum Dekodieren von Dateien verwendet werden. Beispielsweise hat (aus dem obigen Beispiel) UTF-8 die höchste Priorität und wird primär zum Dekodieren aller Dateien verwendet. Wenn eine CSV-Datei eine andere Kodierung verwendet, wird die nächste in der Reihenfolge verwendet: Latin-1-Kodierung usw., bis die letzte Kodierung verwendet wird. |
| Entitäten anreichern | Kästchen | Aktiviert | Nein | Wenn diese Option aktiviert ist, werden durch die Aktion Informationen aus der CSV-Datei hinzugefügt und der Anreicherungstabelle der Entität hinzugefügt. |
| Information erstellen | Kästchen | Aktiviert | Nein | Wenn diese Funktion aktiviert ist, wird eine Erkenntnis erzeugt, falls eine Entität in der Datei gefunden wurde. |
| Zurückzugebende Felder | CSV | – | Nein | Geben Sie eine durch Kommas getrennte Liste der zurückzugebenden Werte an. |
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 erfolgreich gefunden: \n (entity.identifier)" Für nicht gefundene Entitäten: "Es wurden keine Informationen zu den folgenden Entitäten gefunden: \n (entity.identifier)" Falls für keine 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 Kodierungen 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-Konnektor
Daten aus CSV-Dateien in einem bestimmten Ordner abrufen und diese Daten in Warnmeldungen im Google SecOps-System umwandeln.
Dieses Thema veranschaulicht den Mechanismus und die Konfiguration, mit der Google SecOps CSV-Dateien erstellt, sowie die unterstützten Arbeitsabläufe und die innerhalb der Plattform durchgeführten Aktionen.
Anwendungsfälle
Ein Kunde erhält CSV-Dateien aus einem System, und die Dateien können unterschiedliche Kodierungen aufweisen.
* 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 zu erhalten. 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 benötigten 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. Als Nächstes 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 Timeout-Limit (in Sekunden) für den Python-Prozess, der das aktuelle Skript ausführt. |
| CSV-Ordnerpfad | String | – | Ja | Ordnerpfad, der alle zu importierenden CSV-Dateien enthält. |
| CSV-Limit | String | – | Nein | Wie viele CSV-Dateien pro Iteration verarbeitet werden sollen. |
| Regelgenerator-Feldname | String | – | Nein | Name des Feldes, das Informationen über den Regelgenerator enthält. |
| Zeitfeldname | String | – | Nein | Name des Feldes, das Informationen über den Zeitpunkt des Ereignisses enthält. |
| CSV hat Kopfzeile | Kästchen | Aktiviert | Ja | Gibt an, ob die CSV-Datei eine Kopfzeile enthält. |
| Dateikodierungstyp | String | utf-8 | Ja | Legen Sie den CSV-Kodierungstyp fest, z.B. iso-8859-1, latin1, utf-8, utf-16. |
| Name des Warnfelds | String | – | Nein | Name des Feldes, das Informationen über den Alarmnamen enthält. |
| Feldname für Schweregrad | String | – | Nein | Name des Feldes, das Informationen über den Schweregrad enthält. |
Connector-Regeln
Proxyunterstützung
Der Konnektor unterstützt keinen Proxy.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten