Enriquecimiento
El enriquecimiento usa los siguientes métodos para agregar contexto a un indicador o evento del Modelo de datos unificado (UDM):
- Identifica las entidades de alias que describen un indicador, por lo general, un campo del UDM.
- Propaga el mensaje del UDM con detalles adicionales de los alias o las entidades identificados.
- Agrega datos de enriquecimiento globales, como GeoIP y VirusTotal, a los eventos del UDM.
Comprende los patrones de lógica de enriquecimiento
Google SecOps aplica diferentes patrones lógicos a los datos según el tipo de enriquecimiento. Usa la siguiente tabla para comprender estos patrones y solucionar problemas, y para explicar por qué se completan, combinan o reemplazan ciertos campos.
| Patrón lógico | Descripción | Enriquecimiento aplicable |
|---|---|---|
| Primera coincidencia | Sigue una lista de prioridades estricta. La canalización solo consulta el primer valor disponible que se encuentra en la secuencia. | Artefacto (hashes de archivos) |
| Combinado | Recopila y combina datos de varios campos de forma simultánea para crear un solo registro de entidad "dorado". | Activo, Usuario |
| Resguardo condicional | Un campo específico solo se usa para el enriquecimiento si falta un identificador de mayor prioridad. | Activo (dirección ip) |
| Asignación y reemplazo | Usa un ID único (PSPI) para resolver entidades. Los datos con alias de la fuente de enriquecimiento reemplazan los datos analizados existentes. |
Proceso |
Enriquecimiento de recursos
Para el enriquecimiento de activos, la canalización identifica los activos únicos evaluando varios campos del UDM. A diferencia del enriquecimiento de artefactos (que elige uno), el enriquecimiento de recursos combina el contexto de varios IDs para crear un perfil de recursos completo.
Google SecOps enriquece los eventos de activos que se clasifican con el mismo espacio de nombres.
En el caso de los activos, la lógica es acumulativa en lugar de exclusiva, excepto en situaciones específicas de resguardo. Usa estos detalles para la explicación:
- Tipo de lógica: Combinada o de resguardo. La canalización recopila datos de todos los campos disponibles para crear una sola vista de "Entidad", a menos que se cumpla una condición de resguardo (como la verificación de
asset_id). - Asignaciones de campos:
- Nombre de host, MAC y
asset_id: Se tratan como IDs principales. Los resultados de la creación de alias de todos estos campos se combinan para producir el perfil final del activo enriquecido. - Dirección IP: Se incluye en la búsqueda de enriquecimiento solo si
asset_idno está disponible.
- Nombre de host, MAC y
Para cada evento de activo, la canalización extrae los siguientes campos del UDM de las entidades principal, src y target:
| Campo de UDM | Tipo de indicador | Lógica o precedencia |
|---|---|---|
hostname |
HOSTNAME | Combinado: Los resultados de alias de estos campos se combinan para producir el registro final del activo enriquecido. |
asset_id |
PRODUCT_SPECIFIC_ID | Combinado: Es el identificador principal que se usa para consolidar el contexto del activo. |
mac |
MAC | Combinado: Se usa junto con otros identificadores para resolver el activo. |
ip |
IP | Respaldo: Se incluye en la búsqueda de enriquecimiento solo si asset_id no está disponible. |
Enriquecimiento del usuario
El enriquecimiento del usuario resuelve los datos de identidad buscando identificadores específicos. Al igual que el enriquecimiento de artefactos, esta canalización usa una preferencia de orden para determinar qué identificador se usa como clave primaria para la búsqueda.
Para cada evento del usuario, la canalización extrae los siguientes campos del UDM de principal, src y target:
| Campo de UDM | Tipo de indicador | Lógica o precedencia |
|---|---|---|
user.email_addresses |
CORREO ELECTRÓNICO | Prioridad más alta: La canalización primero intenta enriquecer los datos en función de las direcciones de correo electrónico principales o secundarias del usuario. |
user.windows_sid |
WINDOWS_SID | Segunda prioridad: Si no hay un correo electrónico disponible, la canalización usa el identificador de seguridad (SID) de Windows. |
user.userid |
USER_ID | Tercera prioridad: Se usa solo si faltan el correo electrónico y el SID. Por lo general, se asigna a IDs locales o específicos de la aplicación. |
user.employee_id |
EMPLOYEE_ID | Prioridad más baja: Es la alternativa final para resolver la identidad de un usuario. |
Para cada indicador, la canalización realiza las siguientes acciones:
- Recupera una lista de entidades de usuario. Por ejemplo, las entidades de
principal.email_addressyprincipal.useridpodrían ser las mismas o diferentes. - Elige los alias del tipo de indicador de mayor prioridad, según este orden de prioridad:
WINDOWS_SID,EMAIL,USERNAME,EMPLOYEE_IDyPRODUCT_OBJECT_ID. - Propaga
noun.usercon la entidad cuyo intervalo de validez se cruza con la hora del evento.
Enriquecimiento de procesos
El enriquecimiento de procesos se enfoca en proporcionar visibilidad de los eventos de ejecución. La canalización extrae detalles del proceso y los enriquece con referencias cruzadas de reputaciones de archivos y relaciones de elementos superiores y secundarios.
Usa el enriquecimiento del proceso para asignar un ID de proceso específico del producto (product_specific_process_id) o PSPI al proceso real y recuperar detalles sobre el proceso principal. Este proceso se basa en el tipo de lote de eventos del EDR.
| Entidad de UDM | Fuente del campo | Lógica o prioridad |
|---|---|---|
| Entidades principales |
principal, src, target
|
Extracción: La canalización extrae la PSPI de estas entidades de nivel superior para iniciar la búsqueda. |
| Procesos superiores |
principal.process.parent_process, src.process.parent_process, target.process.parent_process
|
Asignación: El PSPI recupera detalles sobre el proceso principal con alias de proceso. |
| Fusión de datos |
noun.process (por ejemplo, principal.process)
|
Regla de anulación: Los campos con alias tienen prioridad absoluta. Si existen datos analizados y datos con alias para el mismo campo, la canalización reemplaza los datos analizados por los datos con alias. |
La canalización usa el alias del proceso para identificar el proceso real del PSPI y recuperar información sobre el proceso principal. Luego, combina estos datos en el campo noun.process correspondiente dentro del mensaje enriquecido.
Campos indexados del EDR para la creación de alias de procesos
Cuando se inicia un proceso, el sistema recopila metadatos (por ejemplo, líneas de comandos, hashes de archivos y detalles del proceso principal). El software de EDR que se ejecuta en la máquina asigna un UUID de proceso específico del proveedor.
En la siguiente tabla, se enumeran los campos que se indexan durante un evento de inicio de proceso:
| Campo de UDM | Tipo de indicador |
|---|---|
| target.product_specific_process_id | PROCESS_ID |
| target.process | Todo el proceso, no solo el indicador |
Además del campo target.process del evento normalizado, Google SecOps recopila e indexa información del proceso principal.
Enriquecimiento de artefactos
El enriquecimiento de artefactos agrega metadatos de hash de archivos de VirusTotal y datos de ubicación geográfica para direcciones IP. En el caso de los hashes de archivos, la canalización se detiene en el primer valor que se encuentra en una lista priorizada. Sin embargo, en el caso de las direcciones IP, procesa todas las entradas en paralelo. Para cada evento del UDM, la canalización extrae y consulta los datos de contexto de los siguientes indicadores de artefactos de las entidades principal, src y target, en los que el comportamiento de enriquecimiento difiere según el tipo de indicador:
| Tipo de indicador | Lógica de extracción | Precedencia o orden de las operaciones |
|---|---|---|
| Hash de archivos | Primera coincidencia |
La canalización busca hashes en el siguiente orden y solo elige el primero disponible para consultar VirusTotal:
|
| Dirección IP | Paralelo (repetido) | Cada dirección IP pública o enrutable se trata como una entrada independiente. No hay un orden de preferencia; cada IP recibe sus propios resultados de enriquecimiento. |
La canalización usa la hora del evento y la época de UNIX para definir el intervalo de tiempo de las consultas de artefactos de archivos. Si hay datos de ubicación geográfica disponibles, la canalización sobrescribe los siguientes campos del UDM para las entidades principal, src y target, según el origen de los datos de ubicación geográfica:
artifact.ipartifact.locationartifact.network(solo si los datos incluyen el contexto de la red IP)location(solo si los datos originales no incluyen este campo)
Si la canalización encuentra metadatos de hash de archivo, los agrega a los campos de archivo o process.file, según el origen del indicador. La canalización conserva los valores existentes que no se superponen con los datos nuevos.
Enriquecimiento de la ubicación geográfica de la IP
El alias geográfico proporciona datos de ubicación geográfica para las direcciones IP externas. Para cada dirección IP sin alias en el campo principal, target o src de un evento de UDM, se crea un búfer de subprotocolo ip_geo_artifact con la ubicación asociada y la información del ASN.
El alias geográfico no utiliza la búsqueda ni el almacenamiento en caché. Debido al gran volumen de eventos, Google SecOps mantiene un índice en la memoria.
Enriquece eventos con metadatos de archivos de VirusTotal
Google SecOps enriquece los hashes de archivos en eventos del UDM y proporciona contexto adicional durante una investigación. El alias de hash enriquece los eventos del UDM combinando todos los tipos de hashes de archivos y proporcionando información sobre un hash de archivo durante una búsqueda.
Las SecOps de Google integran los metadatos de archivos y el enriquecimiento de relaciones de VirusTotal para identificar patrones de actividad maliciosa y hacer un seguimiento de los movimientos de software malicioso en una red.
Un registro sin procesar proporciona información limitada sobre el archivo. VirusTotal enriquece el evento con metadatos de archivos, incluidos detalles sobre archivos y hashes maliciosos. Los metadatos incluyen información como nombres de archivos, tipos, funciones importadas y etiquetas. Puedes usar esta información en el motor de búsqueda y detección de UDM con YARA-L para comprender los eventos de archivos maliciosos y durante la búsqueda de amenazas. Por ejemplo, puedes detectar modificaciones en el archivo original que usan los metadatos del archivo para la detección de amenazas.
La siguiente información se almacena con el registro. Para obtener una lista de todos los campos del UDM, consulta Lista de campos del modelo de datos unificado.
| Tipo de datos | Campo de UDM |
|---|---|
| sha-256 | ( principal | target | src | observer ).file.sha256 |
| md5 | ( principal | target | src | observer ).file.md5 |
| sha-1 | ( principal | target | src | observer ).file.sha1 |
| tamaño | ( principal | target | src | observer ).file.size |
| ssdeep | ( principal | target | src | observer ).file.ssdeep |
| vhash | ( principal | target | src | observer ).file.vhash |
| authentihash | ( principal | target | src | observer ).file.authentihash |
| Imphash de metadatos del archivo PE | ( principal | target | src | observer ).file.pe_file.imphash |
| security_result.threat_verdict | ( principal | target | src | observer ).(process | file).security_result.threat_verdict |
| security_result.severity | ( principal | target | src | observer ).(process | file).security_result.severity |
| last_modification_time | ( principal | target | src | observer ).file.last_modification_time |
| first_seen_time | ( principal | target | src | observer ).file.first_seen_time |
| last_seen_time | ( principal | target | src | observer ).file.last_seen_time |
| last_analysis_time | ( principal | target | src | observer ).file.last_analysis_time |
| exif_info.original_file | ( principal | target | src | observer ).file.exif_info.original_file |
| exif_info.product | ( principal | target | src | observer ).file.exif_info.product |
| exif_info.company | ( principal | target | src | observer ).file.exif_info.company |
| exif_info.file_description | ( principal | target | src | observer ).file.exif_info.file_description |
| signature_info.codesign.id | ( principal | target | src | observer ).file.signature_info.codesign.id |
| signature_info.sigcheck.verfied | ( principal | target | src | observer ).file.signature_info.sigcheck.verified |
| signature_info.sigcheck.verification_message | ( principal | target | src | observer ).file.signature_info.sigcheck.verification_message |
| signature_info.sigcheck.signers.name | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.name |
| signature_info.sigcheck.status | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.status |
| signature_info.sigcheck.valid_usage | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.valid_usage |
| signature_info.sigcheck.cert_issuer | ( principal | target | src | observer ).file.signature_info.sigcheck.signers.cert_issuer |
| file_type | ( principal | target | src | observer ).file.file_type |
Soluciona problemas relacionados con el enriquecimiento
Si observas que falta información de enriquecimiento esperada en un evento del UDM, usa las siguientes sugerencias para resolver el problema.
Enriquecimiento general
Si algunos de tus eventos no se enriquecen en absoluto, una causa probable puede ser que Google SecOps priorice la velocidad de entrega. Es posible que un pequeño porcentaje de eventos (menos del 1%) omita el enriquecimiento durante el primer paso. Para resolver este problema, vuelve a intentarlo en unos minutos. El sistema vuelve a procesar estos eventos automáticamente. Si el enriquecimiento sigue faltando después de una hora, verifica que la fuente de registro se analice correctamente en el UDM.
Enriquecimiento de artefactos (lógica de la primera coincidencia)
Si tu evento tiene un hash MD5 y un hash SHA256, pero solo puedes ver los metadatos de VirusTotal para el hash SHA256, se trata de la lógica de primera coincidencia. La canalización se detiene en cuanto encuentra el hash de mayor prioridad (sha256). No consulta VirusTotal para el MD5 si hay un SHA256 presente.
Si ves la ubicación geográfica de principal.ip, pero no la de target.ip, la lógica paralela trata cada IP de forma independiente. Si una IP es interna o privada (no enrutable) y la otra es pública, solo la IP pública recibe el enriquecimiento de la ubicación geográfica.
Enriquecimiento de recursos (lógica de combinación y resguardo)
Si el campo de dirección IP no muestra datos de enriquecimiento en tu activo, significa que se trata de una lógica de resguardo condicional. La IP solo se usa para una búsqueda de enriquecimiento si falta el asset_id (PSID). Si existe un asset_id, el sistema lo utiliza y omite la IP de esa búsqueda específica para evitar datos redundantes o en conflicto.
Enriquecimiento del usuario (orden de preferencia)
Si el campo Department muestra "IT" cuando mis registros locales dicen "Security", significa que el enriquecimiento del usuario prefiere los campos analizados a los campos con alias. Si tu registro sin procesar se analizó con "IT", la canalización de enriquecimiento no lo reemplaza con el valor "Security" de tu fuente de identidad (por ejemplo, Okta o AD).
Enriquecimiento del proceso (asignación y reemplazo)
Si ves un nombre de proceso en tu registro sin procesar, pero en la búsqueda de UDM se reemplaza por un nombre diferente, significa que se trata de una lógica de anulación. El enriquecimiento del proceso prioriza los campos con alias. Si la búsqueda de PSPI devuelve un nombre de proceso más preciso del contexto de EDR, reemplaza por completo el valor analizado original.
¿Qué sigue?
Para obtener información sobre cómo usar los datos enriquecidos con otras funciones de Google SecOps, consulta lo siguiente:
- Usa datos enriquecidos con contexto en la Búsqueda de UDM.
- Usa datos enriquecidos con contexto en las reglas.
- Usa datos enriquecidos con contexto en los informes.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.