Collecter les journaux CrowdStrike Falcon
Ce document explique comment ingérer les journaux CrowdStrike Falcon dans Google Security Operations :
- Collectez les journaux CrowdStrike Falcon en configurant un flux Google Security Operations.
- Mappez les champs de journaux CrowdStrike Falcon sur les champs UDM (Unified Data Model) de Google SecOps.
- Comprendre les types de journaux et d'événements CrowdStrike Falcon acceptés
Pour en savoir plus, consultez la présentation de l'ingestion de données dans Google SecOps.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Droits d'administrateur sur l'instance CrowdStrike pour installer le capteur CrowdStrike Falcon Host
- Tous les systèmes de l'architecture de déploiement sont configurés dans le fuseau horaire UTC.
- L'appareil cible exécute un système d'exploitation compatible.
- Le serveur doit être un serveur 64 bits.
- Microsoft Windows Server 2008 R2 SP1 est compatible avec le capteur CrowdStrike Falcon Host version 6.51 ou ultérieure.
- Les anciennes versions de l'OS doivent être compatibles avec la signature de code SHA-2.
- Fichier du compte de service Google SecOps et votre numéro client fourni par l'équipe d'assistance Google SecOps
Déployer CrowdStrike Falcon avec l'intégration du flux Google SecOps
Un déploiement typique se compose de CrowdStrike Falcon, qui envoie les journaux, et du flux Google SecOps, qui récupère les journaux. Votre déploiement peut varier légèrement en fonction de votre configuration.
Le déploiement inclut généralement les composants suivants :
- CrowdStrike Falcon Intelligence : produit CrowdStrike à partir duquel vous collectez les journaux.
- Flux CrowdStrike : Flux CrowdStrike qui récupère les journaux de CrowdStrike et les écrit dans Google SecOps.
- CrowdStrike Intel Bridge : produit CrowdStrike qui collecte les indicateurs de menace à partir de la source de données et les transmet à Google SecOps.
- Google SecOps : plate-forme qui conserve, normalise et analyse les journaux de détection CrowdStrike.
- Analyseur de libellés d'ingestion qui normalise les données de journaux brutes au format UDM. Les informations de ce document s'appliquent aux analyseurs CrowdStrike Falcon avec les libellés d'ingestion suivants :
CS_EDR
CS_DETECTS
CS_IOC
L'analyseur d'indicateurs de compromission (IoC) CrowdStrike est compatible avec les types d'indicateurs suivants :domain
email_address
file_name
file_path
hash_md5
hash_sha1
hash_sha256
ip_address
mutex_name
url
CS_ALERTS
L'analyseur d'alertes CrowdStrike est compatible avec les types de produits suivants :epp
idp
overwatch
xdr
mobile
cwpp
ngsiem
Configurer un flux Google SecOps pour les journaux CrowdStrike EDR
Les procédures suivantes sont nécessaires pour configurer le flux.
Configurer CrowdStrike
Pour configurer un flux Falcon Data Replicator :
- Connectez-vous à la console CrowdStrike Falcon.
- Accédez à Applications d'assistance > Falcon Data Replicator.
- Cliquez sur Ajouter pour créer un flux Falcon Data Replicator et générer les valeurs suivantes :
- Flux
- Identifiant S3
- URL SQS
- Code secret du client Conservez ces valeurs pour configurer un flux dans Google SecOps.
Pour en savoir plus, consultez Configurer le flux de réplication des données Falcon.
Configurer des flux
Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :
- Paramètres SIEM> Flux > Ajouter un flux
- Plate-forme de contenu> Packs de contenu> Premiers pas
Configurer le flux CrowdStrike Falcon
- Cliquez sur le pack CrowdStrike.
Dans le type de journal CrowdStrike Falcon, spécifiez les valeurs des champs suivants :
- Source : Amazon SQS
- Région : région S3 associée à l'URI.
- Nom de la file d'attente : nom de la file d'attente SQS à partir de laquelle lire les données de journaux.
- URI S3 : URI source du bucket S3.
- Numéro de compte : numéro de compte SQS.
- ID de clé d'accès à la file d'attente : ID de clé d'accès au compte de 20 caractères. Exemple :
AKIAOSFOODNN7EXAMPLE
- Clé d'accès secrète de la file d'attente : clé d'accès secrète de 40 caractères. Exemple :
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
- Option de suppression de la source : permet de supprimer les fichiers et les répertoires après le transfert des données.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- Espace de noms de l'élément : espace de noms associé au flux.
- Étiquettes d'ingestion : étiquettes appliquées à tous les événements de ce flux.
Cliquez sur Créer un flux.
Pour en savoir plus sur la configuration de plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.
Configurer un flux d'ingestion avec un bucket Amazon S3
Pour configurer un flux d'ingestion à l'aide d'un bucket S3, procédez comme suit :
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (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, Journaux Crowdstrike Falcon).
- Dans Type de source, sélectionnez Amazon S3.
- Dans Type de journal, sélectionnez CrowdStrike Falcon.
- En fonction du compte de service et de la configuration du bucket Amazon S3 que vous avez créés, spécifiez des valeurs pour les champs suivants :
Champ Description region
URI de la région S3. S3 uri
URI de la source du bucket S3. uri is a
Type d'objet vers lequel pointe l'URI (par exemple, fichier ou dossier). source deletion option
Possibilité de supprimer les fichiers et répertoires après le transfert des données. access key id
Clé d'accès (chaîne alphanumérique de 20 caractères). Par exemple, AKIAOSFOODNN7EXAMPLE
.secret access key
Clé d'accès secrète (chaîne alphanumérique de 40 caractères). Par exemple, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
.oauth client id
ID client OAuth public. oauth client secret
Code secret du client OAuth 2.0. oauth secret refresh uri
URI d'actualisation du code secret du client OAuth 2.0. asset namespace
Espace de noms associé au flux.
Configurer un flux Google SecOps pour les journaux CrowdStrike
Pour transférer les journaux de surveillance des détections CrowdStrike, procédez comme suit :
- Connectez-vous à la console CrowdStrike Falcon.
- Accédez à Support Apps > API Clients and Keys (Applications d'assistance > Clés et clients API).
- Créez une paire de clés client API dans CrowdStrike Falcon. Cette paire de clés doit disposer des autorisations
READ
pourDetections
etAlerts
de CrowdStrike Falcon.
Ingérer des journaux à l'aide de Cloud Storage pour les journaux CrowdStrike EDR
Vous pouvez configurer CrowdStrike pour qu'il envoie les journaux EDR à un bucket Cloud Storage, puis ingérer ces journaux dans Google SecOps à l'aide d'un flux. Ce processus nécessite une coordination avec l'assistance CrowdStrike.
Avant de commencer
- Assurez-vous de disposer d'une instance CrowdStrike Falcon active.
- Assurez-vous de disposer d'un projet Google Cloud dans lequel vous pouvez créer des buckets Cloud Storage et gérer les autorisations IAM.
- Assurez-vous de disposer d'une instance Google SecOps active.
- Assurez-vous de disposer des droits d'administrateur dans votre environnement Google Cloud et dans votre instance Google SecOps.
Étapes
Contactez l'assistance CrowdStrike : créez une demande d'assistance auprès de CrowdStrike pour activer et configurer la fonctionnalité permettant d'envoyer les journaux EDR vers votre bucket Cloud Storage. L'assistance CrowdStrike vous fournira des conseils sur les configurations spécifiques requises.
Créez et autorisez le bucket Cloud Storage :
- Dans la console Google Cloud , créez un bucket dans Cloud Storage.
Notez le nom du bucket (par exemple,
gs://my-crowdstrike-edr-logs/
). - Accordez des autorisations d'écriture au compte de service ou à l'entité fournis par CrowdStrike. Suivez les instructions de l'assistance CrowdStrike pour autoriser l'écriture de fichiers journaux dans ce bucket pour cette autorisation.
- Dans la console Google Cloud , créez un bucket dans Cloud Storage.
Notez le nom du bucket (par exemple,
Configurez le flux Google SecOps :
- Dans votre instance Google SecOps, accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New (Ajouter nouveau).
- Saisissez un nom de flux descriptif (par exemple,
CS-EDR-GCS
). - Pour Type de source, sélectionnez Google Cloud Storage V2.
- Pour Type de journal, sélectionnez CrowdStrike Falcon.
- Dans la section "Compte de service", cliquez sur Obtenir un compte de service. Copiez l'adresse e-mail unique du compte de service affichée.
- Dans la console Google Cloud , accédez à votre bucket Cloud Storage.
Attribuez le rôle IAM
Storage Object Viewer
à l'adresse e-mail du compte de service copiée à partir des paramètres du flux Google SecOps. Cette autorisation permet au flux de lire les fichiers journaux. - Revenez à la page de configuration du flux Google SecOps.
- Saisissez l'URL du bucket Storage en utilisant le nom du bucket que vous avez créé (par exemple,
gs://my-crowdstrike-edr-logs/
). Cette URL doit se terminer par une barre oblique (/). - Sélectionnez une option de suppression de la source :
- Ne jamais supprimer les fichiers : recommandé.
- Supprimer les fichiers transférés et les répertoires vides : à utiliser avec précaution.
- Facultatif : Spécifiez un espace de noms de l'élément.
- Cliquez sur Suivant, vérifiez les paramètres, puis cliquez sur Envoyer.
Vérifiez l'ingestion des journaux : une fois que CrowdStrike a confirmé que les journaux sont envoyés, laissez le temps aux données d'être ingérées dans Google SecOps. Recherchez les journaux entrants en utilisant le type de journal
CROWDSTRIKE_EDR
dans Google SecOps.
En cas de problème, vérifiez les autorisations IAM sur le bucket Cloud Storage et la configuration du flux dans Google SecOps. Si les problèmes persistent, contactez l'équipe d'assistance Google SecOps.
Pour recevoir les journaux de surveillance des détections CrowdStrike, procédez comme suit :
- Connectez-vous à votre instance Google SecOps.
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (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, Journaux Crowdstrike Falcon).
- Dans Type de source, sélectionnez API tierce.
- Dans Type de journal, sélectionnez Surveillance des détections CrowdStrike.
En cas de problème, contactez l'équipe d'assistance Google SecOps.
Ingérer les journaux d'IoC CrowdStrike dans Google SecOps
Pour configurer l'ingestion des journaux CrowdStrike dans Google SecOps pour les journaux d'IoC, procédez comme suit :
- Créez une paire de clés client API dans la console CrowdStrike Falcon. Cette paire de clés permet à Google SecOps Intel Bridge d'accéder aux événements et aux informations supplémentaires de CrowdStrike Falcon et de les lire. Pour obtenir des instructions de configuration, consultez CrowdStrike to Google SecOps Intel Bridge.
- Accordez l'autorisation
READ
àIndicators (Falcon Intelligence)
lorsque vous créez la paire de clés. - Configurez Google SecOps Intel Bridge en suivant les étapes décrites dans CrowdStrike to Google SecOps Intel Bridge.
Exécutez les commandes Docker suivantes pour envoyer les journaux de CrowdStrike à Google SecOps, où
sa.json
correspond au fichier du compte de service Google SecOps :docker build . -t ccib:latest docker run -it --rm \ -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \ -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \ -e FALCON_CLOUD_REGION="$FALCON_CLOUD" \ -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \ -e GOOGLE_APPLICATION_CREDENTIALS=/ccib/sa.json \ -v ~/my/path/to/service/account/filer/sa.json:/ccib/sa.json \ ccib:latest
Une fois le conteneur exécuté, les journaux d'IoC commencent à être diffusés dans Google SecOps.
Configurer un flux Google SecOps pour les journaux d'alertes CrowdStrike
Pour configurer un flux d'ingestion pour les journaux d'alertes CrowdStrike, procédez comme suit :
Dans la console CrowdStrike Falcon :
- Connectez-vous à la console CrowdStrike Falcon.
- Sur la page "Clients et clés API" (Assistance et ressources > Ressources et outils > Clients et clés API), cliquez sur Créer un client API.
- Saisissez les détails pour définir votre client API :
- Nom du client
- Description
- Champs d'application de l'API : cochez les cases Lecture et Écriture à côté du champ d'application Alertes pour activer l'accès.
- Cliquez sur Créer pour enregistrer le client API et générer l'ID client et le secret. Remarque : L'ID client, le code secret et l'URL de base seront utilisés lors des étapes suivantes.
Dans l'instance Google SecOps :
- Connectez-vous à votre instance Google SecOps.
- Dans le menu Google SecOps, sélectionnez Settings (Paramètres), puis cliquez sur Feeds (Flux).
- Cliquez sur Add New Feed (Ajouter un flux).
- Dans Type de source, sélectionnez API tierce.
- Dans Type de journal, sélectionnez API CrowdStrike Alerts.
- Cliquez sur Suivant et renseignez les champs suivants à l'aide des valeurs collectées à partir du client API CrowdStrike :
- Point de terminaison des jetons OAuth
- ID client OAuth
- Code secret du client OAuth
- URL de base
- Cliquez sur Suivant, puis sur Envoyer.
En cas de problème, contactez l'équipe d'assistance Google SecOps.
Delta de mappage UDM pour les journaux d'alertes CrowdStrike
Référence du delta de mappage UDM : CS_ALERTS
Le tableau suivant liste les différences entre l'analyseur par défaut de CS ALERTS
et la version Premium de CS ALERTS
.
Default UDM Mapping | Log Field | Premium Mapping Delta |
---|---|---|
about.resource.product_object_id |
cid |
Removed mapping to avoid duplication, as the cid log field is also mapped to metadata.product_deployment_id . |
principal.asset.platform_software.platform |
platform |
If the device.platform_name log field value is empty and the platform log field value is not empty and if the platform log field value matches the regular expression pattern (?i)Windows then, the principal.asset.platform_software.platform UDM field is set to WINDOWS . Else, if platform log field value matches the regular expression pattern (?i)Linux then, the principal.asset.platform_software.platform UDM field is set to LINUX . Else, if platform log field value matches the regular expression pattern (?i)Mac then, the principal.asset.platform_software.platform UDM field is set to MAC . Else, if platform log field value matches the regular expression pattern (?i)ios then, the principal.asset.platform_software.platform UDM field is set to IOS . |
security_result.detection_fields[agent_id] |
agent_id |
If the device.device_id log field value is empty and the host_id log field value is empty and the mdm_device_id log field value is empty then, CS:%{agent_id} log field is mapped to the principal.asset_id UDM field. Else, the principal.asset.attribute.labels.key UDM field is set to agent_id and agent_id log field is mapped to the principal.asset.attribute.labels.value UDM field. |
security_result.detection_fields[idp_policy_account_event_type] |
idp_policy_account_event_type |
security_result.rule_labels[idp_policy_account_event_type] |
security_result.detection_fields[idp_policy_mfa_factor_type] |
idp_policy_mfa_factor_type |
security_result.rule_labels[idp_policy_mfa_factor_type] |
security_result.detection_fields[idp_policy_mfa_provider_name] |
idp_policy_mfa_provider_name |
security_result.rule_labels[idp_policy_mfa_provider_name] |
security_result.detection_fields[idp_policy_mfa_provider] |
idp_policy_mfa_provider |
security_result.rule_labels[idp_policy_mfa_provider] |
security_result.detection_fields[idp_policy_rule_action] |
idp_policy_rule_action |
security_result.rule_labels[idp_policy_rule_action] |
security_result.detection_fields[idp_policy_rule_trigger] |
idp_policy_rule_trigger |
security_result.rule_labels[idp_policy_rule_trigger] |
security_result.detection_fields[idp_policy_rule_id] |
idp_policy_rule_id |
security_result.rule_id |
security_result.detection_fields[idp_policy_rule_name] |
idp_policy_rule_name |
security_result.rule_name |
target.process.file.mime_type |
alleged_filetype |
If the technique_name log field value contain one of the following values
alleged_filetype log field is mapped to the target.file.mime_type UDM field. Else, alleged_filetype log field is mapped to the target.process.file.mime_type UDM field. |
principal.resource.product_object_id |
device.cid |
principal.asset.attribute.labels[device_cid] |
security_result.detection_fields[active_directory_dn_display] |
device.hostinfo.active_directory_dn_display |
Iterate through log field device.hostinfo.active_directory_dn_display , then the security_result.detection_fields.key UDM field is set to device_hostinfo_active_directory_dn_display and device.hostinfo.active_directory_dn_display log field is mapped to the security_result.detection_fields.value UDM field. |
principal.asset.platform_software.platform |
device.platform_name |
If the device.platform_name log field value is not empty and if the device.platform_name log field value matches the regular expression pattern (?i)Windows then, the principal.asset.platform_software.platform UDM field is set to WINDOWS . Else, if device.platform_name log field value matches the regular expression pattern (?i)Linux then, the principal.asset.platform_software.platform UDM field is set to LINUX . Else, if device.platform_name log field value matches the regular expression pattern (?i)Mac then, the principal.asset.platform_software.platform UDM field is set to MAC . Else, if device.platform_name log field value matches the regular expression pattern (?i)ios then, the principal.asset.platform_software.platform UDM field is set to IOS . if the platform log field value is not empty and the device.platform_name log field value is equal to the then, the principal.asset.attribute.labels.key UDM field is set to platform and platform log field is mapped to the principal.asset.attribute.labels.value UDM field. |
principal.asset.platform_software.platform_version |
device.system_product_name |
principal.asset.hardware.model |
target.process.file.names |
filename |
If the technique_name log field value contain one of the following values
filename log field is mapped to the target.file.names UDM field. Else, filename log field is mapped to the target.process.file.names UDM field. |
target.file.full_path |
filepath |
If the technique_name log field value contain one of the following values
filepath log field is mapped to the target.file.full_path UDM field. Else, filepath log field is mapped to the target.process.file.full_path UDM field.If the product log field value is equal to epp and the type log field value is equal to ofp and if the macros.ioc_description log field value is not empty then, macros.ioc_description log field is mapped to the target.file.full_path UDM field and the security_result.detection_fields.key UDM field is set to filepath and filepath log field is mapped to the security_result.detection_fields.value UDM field. |
target.process_ancestors.command_line |
grandparent_details.cmdline |
target.process.parent_process.parent_process.command_line |
target.process_ancestors.file.names |
grandparent_details.filename |
target.process.parent_process.parent_process.file.names |
target.process_ancestors.file.full_path |
grandparent_details.filepath |
target.process.parent_process.parent_process.file.full_path |
target.process_ancestors.file.md5 |
grandparent_details.md5 |
target.process.parent_process.parent_process.file.md5 |
target.process_ancestors.product_specific_process_id |
grandparent_details.process_graph_id |
If the grandparent_details.process_graph_id log field value is not empty then, PRODUCT_SPECIFIC_PROCESS_ID: %{grandparent_details.process_graph_id} log field is mapped to the target.process.parent_process.parent_process.product_specific_process_id UDM field. |
target.process_ancestors.pid |
grandparent_details.process_id |
target.process.parent_process.parent_process.pid |
target.process_ancestors.file.sha256 |
grandparent_details.sha256 |
target.process.parent_process.parent_process.file.sha256 |
security_result.detection_fields[ioc_description] |
ioc_context.ioc_description |
Iterate through log field ioc_context , then the security_result.detection_fields.key UDM field is set to ioc_context_ioc_description and ioc_context.ioc_description log field is mapped to the security_result.detection_fields.value UDM field. |
security_result.detection_fields[ioc_source] |
ioc_context.ioc_source |
Iterate through log field ioc_context , then the security_result.detection_fields.key UDM field is set to ioc_context_ioc_source and ioc_context.ioc_source log field is mapped to the security_result.detection_fields.value UDM field. |
target.process.file.md5 |
md5 |
If the technique_name log field value contain one of the following values
md5 log field is mapped to the target.file.md5 UDM field. Else, md5 log field is mapped to the target.process.file.md5 UDM field. |
target.process.file.sha1 |
sha1 |
If the technique_name log field value contain one of the following values
sha1 log field is mapped to the target.file.sha1 UDM field. Else, sha1 log field is mapped to the target.process.file.sha1 UDM field. |
target.file.sha256 |
sha256 |
If the technique_name log field value contain one of the following values
sha256 log field is mapped to the target.file.sha256 UDM field. Else, sha256 log field is mapped to the target.process.file.sha256 UDM field.If the product log field value is equal to epp and the type log field value is equal to ofp and if the ioc_type log field value is equal to hash_sha256 and the macros.ioc_value log field value is not empty then, macros.ioc_value log field is mapped to the target.file.sha256 UDM field and the security_result.detection_fields.key UDM field is set to sha256 and sha256 log field is mapped to the security_result.detection_fields.value UDM field. |
target.asset.platform_software.platform |
operating_system |
If the operating_system log field value matches the regular expression pattern (?i)Windows then, the principal.asset.platform_software.platform UDM field is set to WINDOWS . Else, if operating_system log field value matches the regular expression pattern (?i)linux then, the principal.asset.platform_software.platform UDM field is set to LINUX . Else, if operating_system log field value matches the regular expression pattern (?i)ios then, the principal.asset.platform_software.platform UDM field is set to IOS . Else, if operating_system log field value matches the regular expression pattern (?i)mac then, the principal.asset.platform_software.platform UDM field is set to MAC . |
security_result.detection_fields[agent_version] |
agent_version |
principal.asset.attribute.labels[agent_version] |
about.email |
enrollment_email |
principal.user.email_addresses |
principal.asset.type |
|
If the mdm_device_id log field value is not empty or the mobile_hardware log field value is not empty or the mobile_manufacturer log field value is not empty or the mobile_serial log field value is not empty then, the principal.asset.type UDM field is set to MOBILE . |
Formats de journaux CrowdStrike acceptés
L'analyseur CrowdStrike est compatible avec les journaux au format JSON.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.