Recoger registros de CrowdStrike Falcon
En este documento se describe cómo ingerir registros de CrowdStrike Falcon en Google Security Operations. Puedes ingerir varios tipos de registros de CrowdStrike Falcon. En este documento se describe la configuración específica de cada uno.
Para obtener una descripción general de alto nivel de la ingestión de datos en Google Security Operations, consulta el artículo Ingestión de datos en Google Security Operations.
Tipos de registros de CrowdStrike Falcon admitidos
Google Security Operations admite los siguientes tipos de registros de CrowdStrike Falcon a través de los analizadores con las siguientes etiquetas de ingestión:
- Detección y respuesta de endpoints (EDR):
CS_EDR. Este analizador analiza los datos de telemetría casi en tiempo real de CrowdStrike Falcon Data Replicator (FDR), como el acceso a archivos y las modificaciones del registro. Los datos se suelen ingerir desde un segmento de S3 o de Cloud Storage. Detecciones:
CS_DETECTS. Este analizador analiza los eventos de resumen de detección de CrowdStrike mediante la API Detect. Aunque está relacionada con la actividad de los endpoints,CS_DETECTSproporciona resúmenes de detección de nivel superior en comparación con la telemetría sin procesar analizada medianteCS_EDR.Alertas:
CS_ALERTS. Este analizador analiza las alertas de CrowdStrike mediante la API Alerts. El analizador de alertas de CrowdStrike admite los siguientes tipos de productos:eppidpoverwatchxdrmobilecwppngsiem
Indicadores de compromiso (IoC):
CS_IOC. Este analizador analiza los IoCs y los indicadores de ataque (IOAs) de la información sobre amenazas de CrowdStrike mediante CrowdStrike Chronicle Intel Bridge. El analizador de indicadores de compromiso (IoC) de CrowdStrike admite los siguientes tipos de indicadores:domainemail_addressfile_namefile_pathhash_md5hash_sha1hash_sha256ip_addressmutex_nameurl
Google SecOps recomienda usar feeds de CS_EDR, CS_DETECTS y CS_IOC para ingerir datos de CrowdStrike de forma exhaustiva.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Derechos de administrador en la instancia de CrowdStrike para instalar el sensor de host de CrowdStrike Falcon
- Todos los sistemas de la arquitectura de la implementación están configurados en la zona horaria UTC.
- El dispositivo de destino tiene un sistema operativo compatible
- Debe ser un servidor de 64 bits
- Microsoft Windows Server 2008 R2 SP1 es compatible con la versión 6.51 o posterior del sensor de host de CrowdStrike Falcon.
- Las versiones antiguas del SO deben admitir la firma de código SHA-2.
- El archivo de cuenta de servicio de Google SecOps y tu ID de cliente del equipo de Asistencia de Google SecOps
Configurar feeds
Hay dos puntos de entrada diferentes para configurar feeds en la plataforma Google SecOps:
- Configuración de SIEM > Feeds > Añadir nuevo feed
- Centro de contenido > Paquetes de contenido > Empezar
Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros en esta familia de productos, consulte el artículo Configurar feeds por producto.
Ingerir registros de CrowdStrike Falcon
En esta sección se describe cómo configurar la ingesta de los diferentes tipos de registros de CrowdStrike Falcon.
Ingerir registros de EDR (CS_EDR)
Puedes ingerir registros de CrowdStrike Falcon EDR con uno de los siguientes métodos, en función de dónde quieras enviar los registros de CrowdStrike:
- Amazon SQS: usando un feed de Falcon Data Replicator.
- Amazon S3: se usa un feed de Google Security Operations configurado para un segmento de S3.
- Google Cloud Storage: CrowdStrike envía los registros a un segmento de Cloud Storage.
Elige uno de los siguientes procedimientos.
Opción 1: Ingerir registros de EDR de Amazon SQS
Este método usa CrowdStrike Falcon Data Replicator para enviar registros de EDR a una cola de Amazon SQS, que Google Security Operations sondea.
- Haz clic en el paquete CrowdStrike.
En el tipo de registro CrowdStrike Falcon, especifique los valores de los siguientes campos:
- Fuente: Amazon SQS
- Región: la región de S3 asociada al URI.
- Nombre de la cola: nombre de la cola de SQS de la que se van a leer los datos de registro.
- URI de S3: el URI de origen del segmento de S3.
- Número de cuenta: el número de cuenta de SQS.
- ID de clave de acceso a la cola: ID de clave de acceso a la cuenta de 20 caracteres. Por ejemplo,
AKIAOSFOODNN7EXAMPLE. - Clave de acceso secreta de la cola: clave de acceso secreta de 40 caracteres. Por ejemplo,
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY. - Opción de eliminación de la fuente: opción para eliminar archivos y directorios después de transferir los datos.
Opciones avanzadas
- Nombre del feed: valor rellenado automáticamente que identifica el feed.
- Espacio de nombres de recursos: espacio de nombres asociado al feed.
- Etiquetas de ingestión: etiquetas aplicadas a todos los eventos de este feed.
Haga clic en Crear feed.
Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros en esta familia de productos, consulte el artículo Configurar feeds por producto.
Opción 2: Ingesta de registros de EDR desde un segmento de Amazon S3
Este método consiste en configurar un feed de Google Security Operations para extraer registros de EDR directamente de un segmento de Amazon S3.
Para configurar un feed de ingestión mediante un contenedor de S3, sigue estos pasos:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- En la página siguiente, haga clic en Configurar un solo feed.
- En el campo Nombre del feed, introduce un nombre para el feed; por ejemplo, Registros de Crowdstrike Falcon.
- En Tipo de fuente, selecciona Amazon S3.
- En Tipo de registro, selecciona CrowdStrike Falcon.
- En función de la cuenta de servicio y de la configuración del segmento de Amazon S3 que hayas creado, especifica los valores de los siguientes campos:
Campo Descripción regionURI de la región de S3. S3 uriURI de origen del segmento de S3. uri is aTipo de objeto al que apunta el URI (por ejemplo, archivo o carpeta). source deletion optionOpción para eliminar archivos y directorios después de transferir los datos. access key idClave de acceso (cadena alfanumérica de 20 caracteres). Por ejemplo, AKIAOSFOODNN7EXAMPLE.secret access keyClave de acceso secreta (cadena alfanumérica de 40 caracteres). Por ejemplo, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.oauth client idID de cliente de OAuth público. oauth client secretSecreto de cliente de OAuth 2.0. oauth secret refresh uriURI de actualización del secreto de cliente de OAuth 2.0. asset namespaceEspacio de nombres asociado al feed. - Haz clic en Siguiente y, a continuación, en Enviar.
Opción 3: Ingerir registros de EDR de Cloud Storage
Puedes configurar CrowdStrike para que envíe registros de EDR a un segmento de Cloud Storage y, a continuación, ingiéralos en Google Security Operations mediante un feed. Este proceso requiere la coordinación con el equipo de Asistencia de CrowdStrike.
Ponte en contacto con el equipo de Asistencia de CrowdStrike: abre una incidencia con CrowdStrike para habilitar y configurar el envío de registros de EDR a tu segmento de Cloud Storage. Te indicarán las configuraciones necesarias.
Crea y asigna permisos al segmento de Cloud Storage:
- En la Google Cloud consola, crea un segmento de Cloud Storage. Anota el nombre del contenedor (por ejemplo,
gs://my-crowdstrike-edr-logs/). - Concede permisos de escritura a la cuenta de servicio proporcionada por CrowdStrike. Sigue las instrucciones del equipo de Asistencia de CrowdStrike.
- En la Google Cloud consola, crea un segmento de Cloud Storage. Anota el nombre del contenedor (por ejemplo,
Configura el feed de Google SecOps:
- En tu instancia de Google SecOps, ve a Settings > Feeds (Configuración > Feeds) y haz clic en Add New (Añadir nuevo).
- Introduzca un nombre del feed descriptivo (por ejemplo,
CS-EDR-GCS). - En Tipo de fuente, selecciona Google Cloud Storage V2.
- En Tipo de registro, selecciona CrowdStrike Falcon.
- En la sección de la cuenta de servicio, haz clic en Obtener cuenta de servicio. Copia la dirección de correo única de la cuenta de servicio que se muestra.
- En la Google Cloud consola
Storage Object Viewer, ve a tu segmento de Cloud Storage y asigna el rol deStorage Object ViewerIAM a la dirección de correo de la cuenta de servicio que has copiado. De esta forma, el feed puede leer los archivos de registro. - Vuelve a la página de configuración de feeds de Google SecOps.
- Introduce la URL del segmento de almacenamiento (por ejemplo,
gs://my-crowdstrike-edr-logs/). Esta URL debe terminar con una barra inclinada (/). - Selecciona una opción de eliminación de la fuente. Se recomienda seleccionar No eliminar archivos nunca.
- Haga clic en Siguiente, revise los ajustes y, a continuación, haga clic en Enviar.
Verifica la ingesta de registros: después de que CrowdStrike confirme que se están enviando registros, comprueba si hay registros entrantes en Google SecOps con el tipo de registro
CROWDSTRIKE_EDR.
Registros de alertas de ingestión (CS_ALERTS)
Para ingerir alertas de CrowdStrike Falcon, configura un feed que use la API de CrowdStrike.
En la consola de CrowdStrike Falcon:
- Inicia sesión en la consola de CrowdStrike Falcon.
- Vaya a Asistencia y recursos > Recursos y herramientas > Clientes y claves de API y haga clic en Crear cliente de API.
- Escriba un nombre de cliente y una descripción.
- En Ámbitos de la API, selecciona las casillas Lectura y Escritura de Alertas.
- Haz clic en Crear. Anota el ID de cliente, el secreto de cliente y la URL base generados.
En Google Security Operations:
- Ve a Configuración > Feeds y haz clic en Añadir nuevo.
- Seleccione API de terceros en Tipo de fuente.
- Seleccione API de alertas de CrowdStrike en Tipo de registro.
- Haz clic en Siguiente y rellena los siguientes campos con los valores del cliente de la API de CrowdStrike:
- Endpoint de token de OAuth
- ID de cliente de OAuth
- Secreto de cliente de OAuth
- URL base
- Haz clic en Siguiente y, a continuación, en Enviar.
Ingerir registros de detecciones (CS_DETECTS)
Para ingerir los registros de detección de CrowdStrike Falcon, también se usa la API de CrowdStrike.
En la consola de CrowdStrike Falcon:
- Inicia sesión en la consola de CrowdStrike Falcon.
- Ve a Aplicaciones de asistencia > Clientes y claves de API.
- Crea un nuevo par de claves de cliente de API. Este par de claves debe tener permisos de
READparaDetections.
En Google Security Operations:
- Ve a Configuración > Feeds y haz clic en Añadir nuevo.
- Seleccione API de terceros en Tipo de fuente.
- Seleccione CrowdStrike Detection Monitoring en Log type (Tipo de registro).
- Haz clic en Siguiente y, a continuación, en Enviar. Se te pedirán las credenciales de la API que has creado.
Ingerir registros de IoC (CS_IOC)
Para ingerir registros de indicadores de riesgo (IoCs) de CrowdStrike, utiliza Google SecOps Intel Bridge.
- En la consola de CrowdStrike Falcon, crea un nuevo par de claves de cliente de API. Este par de claves debe tener permiso
READparaIndicators (Falcon Intelligence). - Configura Google SecOps Intel Bridge siguiendo las instrucciones de CrowdStrike to Google SecOps Intel Bridge.
Ejecuta los siguientes comandos de Docker para enviar los registros de CrowdStrike a Google SecOps.
sa.jsones el archivo de tu cuenta de servicio de 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:latestUna vez que el contenedor esté en funcionamiento, los registros de IoC empezarán a enviarse a Google SecOps.
Si tienes problemas con alguna de estas configuraciones, ponte en contacto con el equipo de Asistencia de SecOps de Google.
Delta de asignación de UDM para los registros de alertas de CrowdStrike.
Referencia de delta de asignación de UDM: CS_ALERTS
En la siguiente tabla se muestra la diferencia entre el analizador predeterminado de CS ALERTS y la versión 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 |
security_result.detection_fields[status] |
status |
If the status log field value matches the regular expression pattern (?i)new then, status log field is mapped to the security_result.about.investigation.status UDM field with the value NEW. Else, if status log field value matches the regular expression pattern (?i)closed then, status log field is mapped to the security_result.about.investigation.status UDM field with the value CLOSED. Else, status log field is mapped to the security_result.detection_fields[status] UDM field. |
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. |
security_result.detection_fields[detection_context_user_is_admin] |
detection_context.user_is_admin |
security_result.about.user.attribute.label[detection_context_user_is_admin] |
security_result.detection_fields[detection_context_user_sid] |
detection_context.user_sid |
security_result.about.user.attribute.label[detection_context_user_sid] |
principal.asset.attribute.labels[pod_id] |
device.pod_id |
principal.resource.product_object_id |
principal.asset.attribute.labels[pod_labels] |
device.pod_labels |
principal.resource.attribute.labels[pod_labels] |
principal.asset.attribute.labels[pod_name] |
device.pod_name |
principal.resource.name |
principal.asset.attribute.labels[pod_namespace] |
device.pod_namespace |
principal.resource.attribute.labels[pod_namespace] |
principal.asset.attribute.labels[pod_service_account_name] |
device.pod_service_account_name |
principal.resource.attribute.labels[pod_service_account_name] |
Formatos de registro de CrowdStrike admitidos
El analizador de CrowdStrike admite registros en formato JSON.
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.