VMware Carbon Black Enterprise EDR
Version de l'intégration : 6.0
Cas d'utilisation des produits
- Effectuez des actions d'investigation : obtenez des données à partir de CB Enterprise EDR dans le cadre d'une analyse des alertes dans Google Security Operations.
- Effectuer des actions de configuration : configurer les flux/listes de surveillance CB Enterprise EDR à partir de Google SecOps.
Autorisation du produit
Concepts requis pour accéder aux API Carbon Black Enterprise EDR (ThreatHunter) :
- Nom d'hôte du service
- Clés API
- RBAC
- Clés d'organisation
Noms d'hôte du service
Il existe deux noms d'hôte Carbon Black Cloud :
- https://defense-<environment>.conferdeploy.net/
- https://api-<environment>.conferdeploy.net/
De plus, nous disposons de plusieurs environnements, tels que (liste non exhaustive) :
- prod02
- prod04
- prod05
Pour l'API Carbon Black Enterprise EDR (ThreatHunter), les noms d'hôte suivants seront utilisés : https://defense-<environment>.conferdeploy.net/
Clés API
Les API et services Carbon Black Enterprise EDR (ThreatHunter) sont authentifiés à l'aide de clés API. Les utilisateurs peuvent afficher les paramètres des clés API dans la console Carbon Black Cloud sous Settings > API Keys (Paramètres > Clés API).
Les clés API comportent deux parties :
- Clé secrète de l'API (anciennement clé API).
- ID d'API (anciennement ID de connecteur).
L'authentification est transmise à l'API via l'en-tête HTTP X-Auth-Token.
- Pour générer l'en-tête approprié, concaténez la clé secrète de l'API avec l'ID de l'API en les séparant par une barre oblique.
- Par exemple, si la clé secrète de l'API est ABCD et l'ID de l'API est 1234, l'en-tête HTTP X-Auth-Token correspondant sera : X-Auth-Token: ABCD/1234
Toutes les requêtes API doivent être authentifiées à l'aide d'une clé secrète et d'un ID API. Les requêtes non authentifiées renvoient une erreur HTTP 401.
Obtenir une clé secrète et un ID d'API
- Connectez-vous à votre organisation Carbon Black Cloud.
- Accédez à Paramètres > Clés API.
- Cliquez sur Ajouter une clé API.
- Configurer le nom, le niveau d'accès, etc.
- Obtenez votre paire clé secrète et ID d'API.
Cela permet à un administrateur d'organisation de définir une clé API et d'accéder à la clé secrète et à l'ID de l'API qui seront nécessaires pour authentifier la requête API. De plus, pour des raisons de sécurité, les administrateurs peuvent limiter l'utilisation de cette clé API à un ensemble spécifique d'adresses IP.
Niveaux d'accès aux clés API
Actuellement, quatre niveaux d'accès principaux aux clés API sont disponibles sur la page "Clés API". Chaque niveau d'accès fournit différents niveaux d'accès aux routes d'API :
Niveau d'accès à la clé personnalisée : fournit une autorisation personnalisable.
- Les clés API personnalisées sont le résultat de nos efforts en matière de contrôle des accès basé sur les rôles (RBAC).
- Permet aux clients d'appliquer des contrôles d'accès et de créer des clés API avec le minimum de privilèges.
- Des rôles utilisateur ou des niveaux d'accès peuvent être attribués aux clés API personnalisées.
Niveau d'accès avec clé API : permet d'accéder à toutes les API, à l'exception de l'API Notifications et de l'API Live Response.
Niveau d'accès aux clés SIEM : permet d'accéder à l'API Notifications.
Niveau d'accès à la clé de réponse en direct : donne accès à toutes les API disponibles pour (1) ci-dessus, ainsi qu'à l'API de réponse en direct.
Corrélation entre le service Carbon Black Enterprise EDR (ThreatHunter) et le niveau d'accès à l'API L'API de la plate-forme est en gras.
| Catégorie d'API/de service | Niveau(x) d'accès autorisé(s) pour la clé API |
|---|---|
| PSC /appservices/* | Personnalisé (avec les autorisations appropriées) |
| CB-TH /threathunter/* | API personnalisée (avec les autorisations appropriées) |
| CB-LO /livequery/* | Personnalisé (avec les autorisations appropriées) |
| CB-D /integrationServices/v3/notification/ | SIEM |
| CB-D /integrationServices/* | Réponse APILive |
Clés d'organisation
En plus des clés API, de nombreuses API ou services Carbon Black Cloud nécessitent une clé org_key dans le chemin d'accès à la requête API. Cela permet d'aider les clients qui gèrent plusieurs organisations.
Vous trouverez votre org_key dans la console Carbon Black Cloud, sous Settings > API Keys.
Configurer l'accès aux API pour l'intégration de Carbon Black Enterprise EDR (ThreatHunter) à Google SecOps
Pour configurer l'accès à l'API pour l'intégration Google SecOps de Carbon Black Enterprise EDR (ThreatHunter), procédez comme suit :
- Connectez-vous à la console Carbon Black Cloud, puis accédez à Settings > API Access.
- Sur la page "Accès à l'API", accédez à "Niveaux d'accès".
- Sur la page "Niveaux d'accès", cliquez sur + Ajouter un niveau d'accès.
Dans la fenêtre qui s'ouvre, indiquez un nom et une description pour le nouveau niveau d'accès, puis sélectionnez les autorisations comme indiqué sur la capture d'écran ci-dessous :

Revenez à l'onglet "Accès à l'API".
Cliquez sur + Ajouter une clé API pour créer une clé API.
Dans l'onglet qui s'ouvre, remplissez le champ obligatoire et sélectionnez le niveau d'accès que vous avez configuré à l'étape 4 :

Une fois que vous avez cliqué sur Enregistrer, l'ID et la clé secrète de l'API s'affichent. Veuillez enregistrer ces valeurs, car elles ne seront affichées qu'une seule fois.
Une fois l'ID et la clé secrète de l'API enregistrés, l'accès à l'API dans Carbon Black Enterprise EDR (ThreatHunter) est terminé.
Configurer l'intégration de VMware Carbon Black Enterprise EDR (Threat Hunter) dans Google SecOps
Pour obtenir des instructions détaillées sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Paramètres d'intégration
Utilisez les paramètres suivants pour configurer l'intégration :
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Nom de l'instance | Chaîne | N/A | Non | Nom de l'instance pour laquelle vous souhaitez configurer l'intégration. |
| Description | Chaîne | N/A | Non | Description de l'instance. |
| Racine de l'API | Chaîne | N/A | Oui | URL racine de l'API VMware Carbon Black Cloud. |
| Clé de l'organisation | Chaîne | N/A | Oui | Clé d'organisation VMware Carbon Black Cloud. |
| ID de l'API | Chaîne | N/A | Oui | ID de l'API VMware Carbon Black Cloud (ID de clé API personnalisée). |
| Clé secrète de l'API | Chaîne | N/A | Oui | Clé secrète de l'API VMware Carbon Black Cloud (clé secrète de l'API personnalisée). |
| Exécuter à distance | Case à cocher | N/A | Non | Cochez le champ pour exécuter l'intégration configurée à distance. Une fois la case cochée, l'option permettant de sélectionner l'utilisateur distant (agent) s'affiche. |
Actions
Ping
Description
Testez la connectivité à VMware Carbon Black Enterprise EDR avec les paramètres fournis sur la page de configuration de l'intégration dans l'onglet Google Security Operations Marketplace.
Paramètres
N/A
Exemples de cas d'utilisation de playbooks
Cette action permet de tester la connectivité sur la page de configuration de l'intégration, dans l'onglet "Google Security Operations Marketplace". Elle peut être exécutée manuellement et n'est pas utilisée dans les playbooks.
Exécuter sur
Cette action ne s'exécute pas sur les entités et ne comporte pas de paramètres d'entrée obligatoires.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Mur des cas
| Type de résultat | Valeur/Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Recherche de processus
Description
Recherchez des informations sur l'activité des processus sur l'hôte avec le capteur CB en fonction des paramètres de recherche fournis. L'action accepte les entités Host Google SecOps.
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Query | Chaîne | N/A | Non | Requête à exécuter dans la recherche de processus. Par exemple, process_name:svchost.exe pour effectuer une recherche par nom de processus, ou process_hash:9520a99e77d6196d0d09833146424113 pour effectuer une recherche par hachage de processus. |
| Période | Integer | 4 | Non | Spécifiez une période en heures pour laquelle récupérer les alertes. |
| Limite d'enregistrements | Integer | 20 | Oui | Spécifiez le nombre d'enregistrements pouvant être renvoyés par l'action. |
| Trier par | Chaîne | N/A | Non | Spécifiez un paramètre pour trier les données. |
| Ordre de tri | LDD | ASC | Non | Ordre de tri. |
Exemples de cas d'utilisation de playbooks
Recherchez les événements causés par des processus en fonction des paramètres de recherche fournis.
Lors de l'analyse d'une alerte liée à un hôte spécifique géré par la plate-forme CB, l'utilisateur souhaite examiner l'hôte et rechercher des événements spécifiques causés par des processus en cours d'exécution en fonction des paramètres de recherche fournis. Les utilisateurs peuvent exécuter cette action pour rechercher des menaces et identifier de manière proactive les processus ou événements suspects sur l'hôte en question.
Exécuter sur
Cette action s'exécute sur l'entité hôte.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"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"
]
},
...
] }
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Les deux |
| Table | Nom de la table : traiter les résultats de recherche pour {entityIdentifier} Colonnes :
|
Entité |
Obtenir les événements associés à un processus par GUID de processus
Description
Obtenez des événements associés à des processus spécifiques en fonction des informations de VMware Carbon Black Enterprise EDR. Cette action peut fournir des résultats plus détaillés sur l'activité d'un processus spécifique que l'action "Recherche de processus". Remarque : Pour que l'action fonctionne, l'artefact traité par Google SecOps et transmis à l'action doit être de type "process guid".
Paramètres
| Nom à afficher du paramètre | Type | Valeur par défaut | Obligatoire | Description |
|---|---|---|---|---|
| Critères de recherche | Chaîne | N/A | Non | Spécifiez un critère de recherche pour la requête. Actuellement, seules les valeurs "event_type" sont acceptées comme critères de recherche (par exemple, netconn). Plusieurs valeurs peuvent être acceptées sous la forme d'une chaîne séparée par des virgules. |
| Requête | Rechercher | N/A | Oui | Requête à exécuter dans la recherche de processus.Par exemple, "netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED" |
| Période | Integer | 4 | Non | Spécifiez une période en heures pour laquelle récupérer les alertes. |
| Limite d'enregistrements | Integer | 20 | Non | Spécifiez le nombre d'enregistrements pouvant être renvoyés par l'action. |
| Trier par | Chaîne | N/A | Non | Spécifiez un paramètre pour trier les données. |
| Ordre de tri | LDD | ASC | Non | Ordre de tri |
Exemples de cas d'utilisation de playbooks
Enquêter sur l'activité d'un processus spécifique
Lors de l'analyse d'une alerte liée à un hôte spécifique géré par la plate-forme CB, il a été découvert que l'hôte exécutait un processus suspect. L'utilisateur Google SecOps a besoin d'une action qui utilisera la fonctionnalité CB Enterprise EDR pour obtenir les événements associés à un processus donné à partir de Google SecOps.
Exécuter sur
Cette action ne s'applique pas aux entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"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
},
...
]
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
| Table | Nom de la table : événements trouvés pour le processus {identifiant de l'artefact de processus} Colonnes : elles doivent être générées automatiquement en fonction des résultats renvoyés. |
Entité |
Hachage d'enrichissement
Description
Enrichissez l'entité de hachage de fichier Google SecOps en fonction des informations de VMware Carbon Black Enterprise EDR.
Exemples de cas d'utilisation de playbooks
Enrichissez l'entité Google SecOps "hachage de fichier" avec des informations provenant de CB Enterprise EDR.
Lors du traitement d'une alerte de possible infection par un logiciel malveillant associée à un hôte disposant d'un capteur CB Platform, l'utilisateur doit disposer de données d'enrichissement provenant de CB Enterprise EDR (qui fait partie de la plate-forme) concernant les filehashes spécifiques associés à l'alerte en question à des fins d'investigation. Par exemple, dans le cadre de l'enrichissement, l'utilisateur peut obtenir des métadonnées de hachage de fichier associées, lorsque ce hachage de fichier a été détecté pour la première fois dans l'organisation et sur quel hôte.
Exécuter sur
Cette action s'exécute sur l'entité Filehash au format Sha256.
Résultats de l'action
Enrichissement d'entités
| Nom du champ d'enrichissement | Source (clé JSON) | Logique : quand les utiliser ? |
|---|---|---|
| CB_ENT_EDR.sha256 | sha256 | toujours |
| CB_ENT_EDR.md5 | md5 | toujours |
| CB_ENT_EDR.architecture | architecture | toujours |
| CB_ENT_EDR.available_file_size | available_file_size | toujours |
| CB_ENT_EDR.charset_id | charset_id | toujours |
| CB_ENT_EDR.comments | commentaires | Si la valeur n'est pas nulle |
| CB_ENT_EDR.company_name | company_name | toujours |
| CB_ENT_EDR.copyright | droits d'auteur | toujours |
| CB_ENT_EDR.file_available | file_available | toujours |
| CB_ENT_EDR.file_description | file_description | toujours |
| CB_ENT_EDR.file_size | file_size | toujours |
| CB_ENT_EDR.file_version | file_version | toujours |
| CB_ENT_EDR.internal_name | internal_name | toujours |
| CB_ENT_EDR.lang_id | lang_id | Si la valeur n'est pas nulle |
| CB_ENT_EDR.original_filename | original_filename | toujours |
| CB_ENT_EDR.os_type | os_type | toujours |
| CB_ENT_EDR.private_build | private_build | Si la valeur n'est pas nulle |
| CB_ENT_EDR.product_description | product_description | Si la valeur n'est pas nulle |
| CB_ENT_EDR.product_name | product_name | toujours |
| CB_ENT_EDR.product_version | product_version | toujours |
| CB_ENT_EDR.special_build | special_build | Si la valeur n'est pas nulle |
| CB_ENT_EDR.trademark | marque | Si la valeur n'est pas nulle |
| CB_ENT_EDR.found_times | num_devices | toujours |
| CB_ENT_EDR.first_seen_device_timestamp | first_seen_device_timestamp | toujours |
| CB_ENT_EDR.first_seen_device_id | first_seen_device_id | toujours |
| CB_ENT_EDR.first_seen_device_name | first_seen_device_name | toujours |
| CB_ENT_EDR.last_seen_device_timestamp | last_seen_device_timestamp | toujours |
| CB_ENT_EDR.last_seen_device_id | last_seen_device_id | toujours |
| CB_ENT_EDR.last_seen_device_name | last_seen_device_name | toujours |
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Résultat JSON
{
"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
}
Mur des cas
| Type de résultat | Valeur / Description | Type |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |