VMware Carbon Black Enterprise EDR
Integrationsversion: 6.0
Anwendungsfälle für Produkte
- Untersuchungsmaßnahmen durchführen – Daten aus CB Enterprise EDR als Teil einer Benachrichtigungsanalyse in Google Security Operations abrufen.
- Konfigurationsaktionen ausführen – CB Enterprise EDR-Feeds/Beobachtungslisten über Google SecOps konfigurieren.
Produktberechtigung
Konzepte, die für den Zugriff auf Carbon Black Enterprise EDR (ThreatHunter) APIs erforderlich sind:
- Hostname des Dienstes
- API-Schlüssel
- RBAC
- Organisationsschlüssel
Dienst-Hostnamen
Es gibt zwei Carbon Black Cloud-Hostnamen:
- https://defense-<environment>.conferdeploy.net/
- https://api-<environment>.conferdeploy.net/
Außerdem gibt es mehrere Umgebungen, z. B. (keine vollständige Liste):
- prod02
- prod04
- prod05
Für die Carbon Black Enterprise EDR (ThreatHunter) API werden die folgenden Hostnamen verwendet: https://defense-<environment>.conferdeploy.net/
API-Schlüssel
Carbon Black Enterprise EDR (ThreatHunter) APIs und Dienste werden über API-Schlüssel authentifiziert. Nutzer können die API-Schlüsseleinstellungen in der Carbon Black Cloud Console unter Settings > API Keys aufrufen.
API-Schlüssel bestehen aus zwei Teilen:
- API-Secret-Schlüssel (früher API-Schlüssel)
- API-ID (früher Connector-ID).
Die Authentifizierung wird über den HTTP-Header „X-Auth-Token“ an die API übergeben.
- Um den entsprechenden Header zu generieren, verketten Sie den API-Secret-Schlüssel mit der API-ID und fügen Sie dazwischen einen Schrägstrich ein.
- Wenn der geheime API-Schlüssel beispielsweise ABCD und die API-ID 1234 lautet, sieht der entsprechende X-Auth-Token-HTTP-Header so aus: X-Auth-Token: ABCD/1234
Alle API-Anfragen müssen mit einem API-Secret-Schlüssel und einer API-ID authentifiziert werden. Nicht authentifizierte Anfragen geben einen HTTP 401-Fehler zurück.
API-Secret-Schlüssel und API-ID erhalten
- Melden Sie sich in Ihrer Carbon Black Cloud-Organisation an.
- Rufen Sie Einstellungen > API-Schlüssel auf.
- Klicken Sie auf API-Schlüssel hinzufügen.
- Name, Zugriffsebene usw. konfigurieren
- API-Secret-Schlüssel und API-ID-Paar abrufen
So kann ein Organisationsadministrator einen API-Schlüssel definieren und auf den API-Secret-Schlüssel und die API-ID zugreifen, die für die Authentifizierung der API-Anfrage erforderlich sind. Außerdem können Administratoren die Verwendung dieses API-Schlüssels aus Sicherheitsgründen auf eine bestimmte Gruppe von IP-Adressen beschränken.
Zugriffsebenen für API-Schlüssel
Derzeit sind auf der Seite „API-Schlüssel“ vier Hauptzugriffsebenen für API-Schlüssel verfügbar. Jede Zugriffsebene bietet unterschiedliche Zugriffsebenen für API-Routen:
Benutzerdefinierte Zugriffsebene für Schlüssel: Ermöglicht eine anpassbare Autorisierung.
- Benutzerdefinierte API-Schlüssel sind das Ergebnis unserer Bemühungen zur rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC).
- Kunden können Zugriffssteuerungen anwenden und API-Schlüssel mit geringsten Berechtigungen erstellen.
- Benutzerdefinierten API-Schlüsseln können Nutzerrollen oder Zugriffsebenen zugewiesen werden.
API-Schlüssel-Zugriffsebene: Bietet Zugriff auf alle APIs mit Ausnahme der Notifications API und der Live Response API.
SIEM-Schlüsselzugriffsebene: Ermöglicht den Zugriff auf die Notifications API.
Zugriffsebene für Live-Antwort-Schlüssel: bietet Zugriff auf alle APIs, die für (1) oben verfügbar sind, sowie auf die Live Response API.
Zuordnung von Carbon Black Enterprise EDR (ThreatHunter)-Dienst zu API-Zugriffsebene Platform API ist fett formatiert
| API-/Dienstkategorie | Zulässige Zugriffsebenen für API-Schlüssel |
|---|---|
| PSC /appservices/* | Benutzerdefiniert (mit entsprechenden Berechtigungen) |
| CB-TH /threathunter/* | Benutzerdefinierte API (mit entsprechenden Berechtigungen) |
| CB-LO /livequery/* | Benutzerdefiniert (mit entsprechenden Berechtigungen) |
| CB-D /integrationServices/v3/notification/ | SIEM |
| CB-D /integrationServices/* | APILive-Antwort |
Organisationsschlüssel
Zusätzlich zu API-Schlüsseln erfordern viele Carbon Black Cloud APIs oder Dienste einen org_key im API-Anforderungspfad. Dies soll Kunden unterstützen, die mehrere Organisationen verwalten.
Sie finden Ihren org_key in der Carbon Black Cloud Console unter „Settings“ > „API Keys“.
API-Zugriff für die Google SecOps-Integration von Carbon Black Enterprise EDR (ThreatHunter) konfigurieren
So konfigurieren Sie den API-Zugriff für die Google SecOps-Integration von Carbon Black Enterprise EDR (ThreatHunter):
- Melden Sie sich in der Carbon Black Cloud Console an und rufen Sie Settings > API Access auf.
- Rufen Sie auf der Seite „API-Zugriff“ die Option „Zugriffsebenen“ auf.
- Klicken Sie auf der Seite „Zugriffsebenen“ auf + Zugriffsebene hinzufügen.
Geben Sie im geöffneten Fenster einen Namen und eine Beschreibung für die neue Zugriffsebene ein und wählen Sie Berechtigungen wie im Screenshot unten aus:

Kehren Sie zum Tab „API-Zugriff“ zurück.
Klicken Sie auf + API-Schlüssel hinzufügen, um einen neuen API-Schlüssel zu erstellen.
Füllen Sie auf dem geöffneten Tab das Pflichtfeld aus und wählen Sie die Zugriffsebene aus, die Sie in Schritt 4 konfiguriert haben:

Nachdem Sie auf Speichern geklickt haben, werden die API-ID und der API-Secret-Schlüssel angezeigt. Speichern Sie diese Werte, da sie nur einmal angezeigt werden.
Sobald die API-ID und der API-Schlüssel gespeichert sind, ist der API-Zugriff in Carbon Black Enterprise EDR (ThreatHunter) abgeschlossen.
VMware Carbon Black Enterprise EDR (Threat Hunter) in Google SecOps einbinden
Eine detaillierte Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.
Integrationsparameter
Verwenden Sie die folgenden Parameter, um die Integration zu konfigurieren:
| 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. |
| API-Stamm | String | – | Ja | VMware Carbon Black Cloud API-Stamm-URL. |
| Organisationsschlüssel | String | – | Ja | Vmware Carbon Black Cloud-Organisationsschlüssel. |
| API-ID | String | – | Ja | Vmware Carbon Black Cloud API-ID (benutzerdefinierte API-Schlüssel-ID). |
| API-Secret-Schlüssel | String | – | Ja | Vmware Carbon Black Cloud-API-Secret-Schlüssel (benutzerdefinierter API-Secret-Schlüssel). |
| Remote ausführen | Kästchen | – | 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. |
Aktionen
Ping
Beschreibung
Testen Sie die Verbindung zu VMware Carbon Black Enterprise EDR mit Parametern, die auf der Seite mit der Integrationskonfiguration auf dem Tab „Google Security Operations Marketplace“ angegeben sind.
Parameter
–
Beispiele für Anwendungsfälle von Playbooks
Die Aktion wird verwendet, um die Konnektivität auf der Seite mit der Integrationskonfiguration auf dem Tab „Google Security Operations Marketplace“ zu testen. Sie kann als manuelle Aktion ausgeführt werden und wird nicht in Playbooks verwendet.
Ausführen am
Diese Aktion wird nicht für Elemente ausgeführt und hat keine obligatorischen Eingabeparameter.
Aktionsergebnisse
Scriptergebnis
| Name des Scriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
Fall-Repository
| Ergebnistyp | Wert/Beschreibung | Typ |
|---|---|---|
| Ausgabemeldung* | Die Aktion darf nicht fehlschlagen und darf die Ausführung eines Playbooks nicht stoppen.
Die Aktion sollte fehlschlagen und die Playbook-Ausführung beenden:
|
Allgemein |
Prozesssuche
Beschreibung
Sucht mit dem CB-Sensor anhand der angegebenen Suchparameter nach Informationen zur Prozessaktivität auf dem Host. Die Aktion akzeptiert Host-Google SecOps-Entitäten.
Parameter
| Anzeigename des Parameters | Typ | Standardwert | Ist obligatorisch | Beschreibung |
|---|---|---|---|---|
| Abfrage | String | – | Nein | Die Abfrage, die bei der Prozesssuche ausgeführt werden soll. Beispiel: process_name:svchost.exe – um nach Prozessname zu suchen, process_hash:9520a99e77d6196d0d09833146424113 – um nach Prozess-Hash zu suchen. |
| Zeitraum | Ganzzahl | 4 | Nein | Geben Sie einen Zeitraum in Stunden an, für den Benachrichtigungen abgerufen werden sollen. |
| Datensatzlimit | Ganzzahl | 20 | Ja | Geben Sie an, wie viele Datensätze von der Aktion zurückgegeben werden können. |
| Sortieren nach | String | – | Nein | Geben Sie einen Parameter zum Sortieren der Daten an. |
| Sortierreihenfolge | DDL | ASC | Nein | Sortierreihenfolge. |
Beispiele für Anwendungsfälle von Playbooks
Nach Ereignissen suchen, die durch Prozesse verursacht wurden, basierend auf den angegebenen Suchparametern.
Bei der Analyse einer Benachrichtigung, die sich auf einen bestimmten Host bezieht, der von der CB-Plattform verwaltet wird, möchte der Nutzer den Host untersuchen und nach bestimmten Ereignissen suchen, die durch Prozesse ausgelöst werden, die auf Grundlage der angegebenen Suchparameter ausgeführt werden. Nutzer können diese Aktion für die proaktive Suche nach Bedrohungen ausführen, um zu prüfen, ob auf dem betreffenden Host verdächtige Prozesse oder Ereignisse vorhanden sind.
Ausführen am
Diese Aktion wird für die Host-Entität ausgeführt.
Aktionsergebnisse
Scriptergebnis
| Name des Scriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
JSON-Ergebnis
{
"results": [
{
"alert_id": [
"null/WSD2CQMT"
],
"backend_timestamp": "2020-03-04T21:42:45.080Z",
"device_id": 3078944,
"device_name": "qaam\\manticorewin864",
"device_policy_id": 6525,
"device_timestamp": "2020-03-04T21:39:33.180Z",
"enriched": true,
"enriched_event_type": "CREATE_PROCESS",
"event_description": "The script \"<share><link hash=\"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9\">C:\\programdata\\wmirepair.bat</link></share>\" invoked the application \"<share><link hash=\"7eadc73f8aa77148ca289d5ce5c2632f3a157d313079583454c0421bb97d5646\">C:\\windows\\syswow64\\regsvr32.exe</link></share>\". ",
"event_id": "ecc6954f5e6011eaa0de89cc027330db",
"event_type": "childproc",
"ingress_time": 1583358118950,
"legacy": true,
"org_id": "7DESJ9GN",
"parent_guid": "7DESJ9GN-002efb20-00001604-00000000-1d5f26cab1067fe",
"parent_pid": 5636,
"process_guid": "7DESJ9GN-002efb20-00000d58-00000000-1d5f26d6615c568",
"process_hash": [
"629ae017d28848b68485bd2aeede9129",
"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9"
],
"process_name": "c:\\programdata\\wmirepair.bat",
"process_pid": [
3416
],
"process_username": [
"NT AUTHORITY\\SYSTEM"
]
},
...
] }
Fall-Repository
| Ergebnistyp | Wert / Beschreibung | Typ |
|---|---|---|
| Ausgabemeldung* | Die Aktion darf nicht fehlschlagen und darf die Ausführung eines Playbooks nicht stoppen.
Die Aktion sollte fehlschlagen und die Playbook-Ausführung beenden:
|
Beides |
| Tabelle | Tabellenname:Suchergebnisse für {entityIdentifier} verarbeiten Spalten:
|
Entität |
Ereignisse abrufen, die mit einem Prozess über die Prozess-GUID verknüpft sind
Beschreibung
Sie können Ereignisse abrufen, die bestimmten Prozessen zugeordnet sind, basierend auf den Informationen von VMware Carbon Black Enterprise EDR. Mit dieser Aktion können Sie detailliertere Ergebnisse zu bestimmten Prozessaktivitäten erhalten als mit der Aktion „Prozesssuche“. Hinweis: Damit die Aktion funktioniert, muss das von Google SecOps verarbeitete Artefakt, das an die Aktion übergeben wird, ein Prozess-GUID-Typ sein.
Parameter
| Anzeigename des Parameters | Typ | Standardwert | Ist obligatorisch | Beschreibung |
|---|---|---|---|---|
| Suchkriterien | String | – | Nein | Geben Sie ein Suchkriterium für die Anfrage an. Derzeit werden nur „event_type“-Werte als Suchkriterien akzeptiert, z. B. „netconn“. Mehrere Werte werden als durch Kommas getrennter String akzeptiert. |
| Abfrage | Suchen | – | Ja | Die auszuführende Anfrage für die Prozesssuche, z. B. „netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED“ |
| Zeitraum | Ganzzahl | 4 | Nein | Geben Sie einen Zeitraum in Stunden an, für den Benachrichtigungen abgerufen werden sollen. |
| Datensatzlimit | Ganzzahl | 20 | Nein | Geben Sie an, wie viele Datensätze von der Aktion zurückgegeben werden können. |
| Sortieren nach | String | – | Nein | Geben Sie einen Parameter zum Sortieren der Daten an. |
| Sortierreihenfolge | DDL | ASC | Nein | Sortierreihenfolge |
Beispiele für Anwendungsfälle von Playbooks
Bestimmte Prozessaktivitäten untersuchen:
Bei der Analyse einer Benachrichtigung, die sich auf einen bestimmten Host bezieht, der von der CB Platform verwaltet wird, wurde festgestellt, dass auf dem Host ein verdächtiger Prozess ausgeführt wird. Der Google SecOps-Nutzer benötigt eine Aktion, mit der die CB Enterprise EDR-Funktionalität verwendet wird, um Ereignisse abzurufen, die einem bestimmten Prozess in Google SecOps zugeordnet sind.
Ausführen am
Diese Aktion wird nicht für Elemente ausgeführt.
Aktionsergebnisse
Scriptergebnis
| Name des Scriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
JSON-Ergebnis
{
"results": [
{
"backend_timestamp": "2020-04-26T18:38:50.128Z",
"created_timestamp": "2020-05-19T03:56:53.483Z",
"event_guid": "ufzid3pPQs-yrRlPBe8-ww",
"event_hash": "ce6a949bcd3879897c9eac258ec6a091",
"event_timestamp": "2020-04-26T18:34:16.258Z",
"event_type": "netconn",
"legacy": false,
"netconn_action": "ACTION_CONNECTION_CREATE",
"netconn_inbound": true,
"netconn_local_ipv6": "FF020000000000000000000000010003",
"netconn_local_port": 5355,
"netconn_protocol": "PROTO_UDP",
"netconn_remote_ipv6": "FE800000000000000000000000000000",
"netconn_remote_port": 58994,
"process_guid": "7DESJ9GN-002efb20-000003ec-00000000-1d5fb6d63ba535c",
"process_pid": 1004
},
...
]
}
Fall-Repository
| Ergebnistyp | Wert / Beschreibung | Typ |
|---|---|---|
| Ausgabemeldung* | Die Aktion darf nicht fehlschlagen und darf die Ausführung eines Playbooks nicht stoppen.
Die Aktion sollte fehlschlagen und die Playbook-Ausführung beenden:
|
Allgemein |
| Tabelle | Tabellenname:Gefundene Ereignisse für Prozess {process artifact identifier} Spalten:Sollten automatisch auf Grundlage der zurückgegebenen Ergebnisse generiert werden. |
Entität |
Hash anreichern
Beschreibung
Die Google SecOps-Entität „File hash“ (Datei-Hash) wird anhand der Informationen aus VMware Carbon Black Enterprise EDR angereichert.
Beispiele für Anwendungsfälle von Playbooks
Google SecOps-Datei-Hash-Entität mit Informationen aus CB Enterprise EDR anreichern.
Bei der Verarbeitung einer möglichen Warnung vor Malware-Infektion, die mit einem Host mit einem CB Platform-Sensor verknüpft ist, benötigt der Nutzer aus Untersuchungsgründen Anreicherungsdaten von CB Enterprise EDR (Teil der Plattform) zu bestimmten Dateihashes, die mit der betreffenden Warnung verknüpft sind. Im Rahmen der Anreicherung kann der Nutzer beispielsweise zugehörige Filehash-Metadaten abrufen, z. B. wann dieser Filehash zum ersten Mal in der Organisation erkannt wurde und auf welchem Host.
Ausführen am
Diese Aktion wird für die Filehash-Entität im SHA256-Format ausgeführt.
Aktionsergebnisse
Entitätsanreicherung
| Name des Anreicherungsfelds | Quelle (JSON-Schlüssel) | Logik – Wann anwenden? |
|---|---|---|
| CB_ENT_EDR.sha256 | sha256 | immer |
| CB_ENT_EDR.md5 | md5 | immer |
| CB_ENT_EDR.architecture | Architektur | immer |
| CB_ENT_EDR.available_file_size | available_file_size | immer |
| CB_ENT_EDR.charset_id | charset_id | immer |
| CB_ENT_EDR.comments | Kommentare | Wenn nicht null |
| CB_ENT_EDR.company_name | company_name | immer |
| CB_ENT_EDR.copyright | Urheberrecht | immer |
| CB_ENT_EDR.file_available | file_available | immer |
| CB_ENT_EDR.file_description | file_description | immer |
| CB_ENT_EDR.file_size | file_size | immer |
| CB_ENT_EDR.file_version | file_version | immer |
| CB_ENT_EDR.internal_name | internal_name | immer |
| CB_ENT_EDR.lang_id | lang_id | Wenn nicht null |
| CB_ENT_EDR.original_filename | original_filename | immer |
| CB_ENT_EDR.os_type | os_type | immer |
| CB_ENT_EDR.private_build | private_build | Wenn nicht null |
| CB_ENT_EDR.product_description | product_description | Wenn nicht null |
| CB_ENT_EDR.product_name | product_name | immer |
| CB_ENT_EDR.product_version | product_version | immer |
| CB_ENT_EDR.special_build | special_build | Wenn nicht null |
| CB_ENT_EDR.trademark | trademark | Wenn nicht null |
| CB_ENT_EDR.found_times | num_devices | immer |
| CB_ENT_EDR.first_seen_device_timestamp | first_seen_device_timestamp | immer |
| CB_ENT_EDR.first_seen_device_id | first_seen_device_id | immer |
| CB_ENT_EDR.first_seen_device_name | first_seen_device_name | immer |
| CB_ENT_EDR.last_seen_device_timestamp | last_seen_device_timestamp | immer |
| CB_ENT_EDR.last_seen_device_id | last_seen_device_id | immer |
| CB_ENT_EDR.last_seen_device_name | last_seen_device_name | immer |
Scriptergebnis
| Name des Scriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
JSON-Ergebnis
{
"sha256": "e24dd278cec867486b68418c9066ffa9bd4f394dac3ba94125d58415f677f0f4",
"architecture": [
"amd64"
],
"available_file_size": 207800,
"charset_id": 1200,
"comments": null,
"company_name": "Example Organization",
"copyright": "Copyright © 2019",
"file_available": true,
"file_description": "OpenJDK Platform binary",
"file_size": 207800,
"file_version": "8.0.2320.9",
"internal_name": "java",
"lang_id": null,
"md5": "afede6f64ed8878bc0cac57e1831a3bc",
"original_filename": "java.exe",
"os_type": "WINDOWS",
"private_build": null,
"product_description": null,
"product_name": "OpenJDK Platform 8",
"product_version": "8.0.2320.9",
"special_build": null,
"trademark": null
}
Fall-Repository
| Ergebnistyp | Wert / Beschreibung | Typ |
|---|---|---|
| Ausgabemeldung* | Die Aktion darf nicht fehlschlagen und darf die Ausführung eines Playbooks nicht stoppen.
Die Aktion sollte fehlschlagen und die Playbook-Ausführung beenden:
|
Allgemein |