Collecter les journaux ThreatDown EDR
Ce document explique comment configurer ThreatDown EDR (Nebula et OneView) pour envoyer des journaux à Google Security Operations à l'aide de webhooks.
ThreatDown EDR, optimisé par Malwarebytes, offre des fonctionnalités de détection et de réponse au niveau des points de terminaison, y compris la détection des menaces, la surveillance des activités suspectes et la protection des points de terminaison. La plate-forme Nebula sert les environnements à locataire unique, tandis que OneView est la console de gestion multilocataire pour les MSP. Les deux plates-formes sont compatibles avec une intégration native à Google Security Operations, qui exporte les données de détection et les données d'activité suspecte en tant qu'événements UDM (Unified Data Model) à l'aide du type de journal MALWAREBYTES_EDR.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- ThreatDown EDR (Nebula ou OneView) est compatible avec les Webhooks pour l'envoi des journaux.
- Accès à la Google Cloud Console (pour créer une clé API)
- Pour Nebula : accès super-administrateur dans la console Nebula et compte Nebula actif avec un abonnement actif à Endpoint Detection and Response
- Pour OneView : accès administrateur général dans la console OneView et un site avec un abonnement actif pour Endpoint Detection and Response
- Accès administrateur au projet Google Cloud pour générer une clé API Google Cloud Platform
- Accès administrateur à Google Chronicle SIEM
Créer un flux de webhook dans Google SecOps
Créer le flux
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Ajouter un flux.
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
Malwarebytes). - Sélectionnez Webhook comme Type de source.
- Sélectionnez Malwarebytes EDR comme Type de journal.
- Cliquez sur Suivant.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- Délimiteur de fractionnement (facultatif) : laissez ce champ vide. Chaque requête de webhook envoyée par ThreatDown contient des données d'événement structurées.
- Espace de noms de l'élément : espace de noms de l'élément
- Libellés d'ingestion : libellé à appliquer aux événements de ce flux
- Cliquez sur Suivant.
- Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Obtenir l'URL du point de terminaison du flux
- Accédez à l'onglet Détails du flux.
- Dans la section Endpoint Information (Informations sur le point de terminaison), copiez l'URL du point de terminaison du flux.
Le format d'URL est le suivant :
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateou
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateEnregistrez cette URL pour les étapes suivantes.
Générer et enregistrer une clé secrète
Après avoir créé le flux, vous devez générer une clé secrète pour l'authentification :
- Accédez à l'onglet Clé secrète du flux.
- Cliquez sur Générer une clé secrète.
- Une boîte de dialogue affiche la clé secrète.
Copiez et enregistrez la clé secrète de manière sécurisée.
Important : La clé secrète ne s'affiche qu'une seule fois et ne peut pas être récupérée ultérieurement. Si vous la perdez, vous devrez en générer une nouvelle.
Cliquez sur OK.
Créer une clé API Google Cloud
L'intégration de ThreatDown à Google SecOps nécessite une clé API Google Cloud Platform (GCP).
Créer la clé API
- Accédez à la page "Identifiants" de la console Google Cloud.
- Sélectionnez votre projet (celui associé à votre instance Chronicle).
- Cliquez sur Créer des identifiants> Clé API.
- Une clé API est créée et affichée dans une boîte de dialogue.
- Copiez la clé API et stockez-la de manière sécurisée.
- Dans le pop-up, cliquez sur Modifier la clé API.
Restreindre la clé API
- Sur la page des paramètres de la clé API :
- Nom : saisissez un nom descriptif (par exemple,
Chronicle Webhook API Key).
- Nom : saisissez un nom descriptif (par exemple,
- Sélectionnez Restreindre la clé.
Dans le menu déroulant, sélectionnez API Chronicle.
Cliquez sur Enregistrer.
Configurer le webhook ThreatDown EDR
ThreatDown fournit une intégration Google Chronicle SIEM native sur la page Intégrer des consoles Nebula et OneView. Choisissez la section ci-dessous qui correspond à votre plate-forme.
Option A : Configurer Nebula
- Connectez-vous à la console ThreatDown Nebula sur cloud.malwarebytes.com avec des identifiants de super-administrateur.
- Accédez à la page Intégrer dans le menu de navigation de gauche.
- Recherchez Google Chronicle SIEM, puis cliquez sur Configurer.
- Fournissez les informations de configuration suivantes :
- URL de webhook : collez l'URL copiée depuis le champ Informations sur le point de terminaison de la page d'informations "Détails du flux Google SecOps".
- Secret du webhook : collez la clé secrète générée dans l'onglet "Clé secrète du flux Google SecOps".
- Clé API GCP : collez la clé API obtenue auprès de Google Cloud.
- Cliquez sur Enregistrer.
Une fois l'enregistrement effectué, Nebula commence à exporter les journaux de détection et d'activité suspecte directement vers Google SecOps.
Option B : Configurer OneView
- Connectez-vous à la console ThreatDown OneView sur cloud.malwarebytes.com à l'aide d'identifiants d'administrateur général.
- Accédez à la page Intégrer dans le menu de navigation de gauche.
- Recherchez Google Chronicle SIEM, puis cliquez sur Configurer.
- Activez l'option Activer la configuration.
- Fournissez les informations de configuration suivantes :
- URL de webhook : collez l'URL copiée depuis le champ Informations sur le point de terminaison de la page d'informations "Détails du flux Google SecOps".
- Secret du webhook : collez la clé secrète générée dans l'onglet "Clé secrète du flux Google SecOps".
- Clé API GCP : collez la clé API obtenue auprès de Google Cloud.
- Sélection du site : sélectionnez le ou les sites à partir desquels ingérer les données.
- Cliquez sur Enregistrer.
Une fois l'enregistrement effectué, OneView commence à exporter les journaux de détection et d'activité suspecte des sites sélectionnés directement vers Google SecOps.
Vérifier l'ingestion des journaux
Après avoir configuré l'intégration, vérifiez que les journaux ThreatDown EDR sont ingérés dans Google SecOps :
- Dans Google SecOps, accédez à Investigation > Recherche SIEM.
Saisissez la requête de recherche UDM suivante :
metadata.vendor_name = "Malwarebytes" and metadata.log_type = "MALWAREBYTES_EDR"Sélectionnez la période souhaitée.
Cliquez sur Exécuter la recherche.
Cliquez sur l'onglet Événements. Les données ingérées à partir de ThreatDown EDR sont affichées à l'aide d'un modèle de données unifié (UDM).
Limites et bonnes pratiques concernant les webhooks
Limites de requêtes
| Limite | Valeur |
|---|---|
| Taille maximale des requêtes | 4 Mo |
| RPS (requêtes par seconde) max. | 15 000 |
| Délai avant expiration de la requête | 30 seconds |
| Comportement de nouvelle tentative | Automatique avec intervalle exponentiel entre les tentatives |
Vous avez encore besoin d'aide ?
- Activer l'intégration de Nebula à Google Chronicle SIEM – support.threatdown.com
- Activer l'intégration OneView à Google Chronicle SIEM – support.threatdown.com
- Configuration requise pour l'intégration de Nebula à Google Chronicle SIEM – support.threatdown.com
- Exigences pour l'intégration de OneView à Google Chronicle SIEM – support.threatdown.com
- Article de blog sur ThreatDown Nebula et OneView avec Google Chronicle SIEM : threatdown.com
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.description | metadata.description | Valeur copiée directement |
| has_principal | metadata.event_type | Défini sur "GENERIC_EVENT" initialement, puis sur "SCAN_FILE" si has_principal et has_target_file, sur "STATUS_UPDATE" si has_principal, sur "USER_UNCATEGORIZED" si has_user, sinon sur "GENERIC_EVENT" |
| has_user | metadata.event_type | |
| has_target_file | metadata.event_type | |
| type | metadata.product_event_type | Valeur copiée directement |
| id | metadata.product_log_id | Valeur copiée directement |
| machine.id | principal.asset.asset_id | Concaténation de "MACHINE:" et de machine.id |
| machine.name | principal.asset.hostname | Valeur copiée directement |
| payload.payload.group_name | principal.group.group_display_name | Valeur copiée directement |
| account.default_group_id | principal.group.product_object_id | Valeur copiée directement |
| machine.name | principal.hostname | Valeur copiée directement |
| account.id | principal.user.product_object_id | Valeur copiée directement |
| account.name | principal.user.user_display_name | Valeur copiée directement |
| account.owner_user_id | principal.user.userid | Valeur copiée directement |
| payload.payload.category | security_result.category_details | Valeur copiée directement |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.name | security_result.detection_fields | Chaque ensemble est étiqueté avec une clé, puis fusionné. |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.description | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.hyperlink | security_result.detection_fields | |
| payload.payload.sa_details.data.mitre_attack_mapping.hosts file change.0.tactic.tag | security_result.detection_fields | |
| payload.payload.policy_id | security_result.detection_fields | |
| payload.payload.policy_name | security_result.detection_fields | |
| payload.id | security_result.detection_fields | |
| payload.payload.sa_details.data.list.0.details.0.detected_by.0.tag | security_result.summary | Valeur copiée directement |
| payload.payload.threat_name | security_result.threat_name | Valeur copiée directement |
| payload.payload.sa_details.data.list.0.user | target.administrative_domain | Extrait à l'aide d'un modèle grok pour obtenir le domaine |
| payload.payload.path | target.file.full_path | Valeur copiée directement |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_path | target.process.file.full_path | Valeur copiée directement |
| payload.payload.sa_process_graph.data.children.0.node_info.process_path | target.process.parent_process.file.full_path | Valeur copiée directement |
| payload.payload.sa_process_graph.data.children.0.node_info.process_id | target.process.parent_process.pid | Valeur copiée directement |
| payload.payload.sa_process_graph.data.children.0.children.0.node_info.process_id | target.process.pid | Valeur copiée directement |
| payload.payload.sa_details.data.list.0.user | target.user.userid | Extrait à l'aide du modèle grok pour obtenir tar_user |
| metadata.product_name | metadata.product_name | Définie sur "Malwarebytes EDR" |
| metadata.vendor_name | metadata.vendor_name | Défini sur "Malwarebytes" |
Journal des modifications
Afficher le journal des modifications pour ce parseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.