Uso del gráfico de contexto de la entidad (ECG)
En este documento, se proporciona una descripción general del Gráfico de contexto de entidades (ECG), que abarca sus fuentes de datos, su canalización de procesamiento y sus aplicaciones en reglas y búsquedas. El ECG es un modelo de datos de entidades principal que proporciona contexto esencial para la detección avanzada de amenazas, la investigación y la búsqueda de amenazas en las reglas de detección, la búsqueda y los paneles. La canalización de procesamiento de ECG combina información contextual de cada entorno de Google SecOps.
El ECG también calcula métricas de resumen para las entidades. Estos incluyen la prevalencia (con qué frecuencia aparece una entidad específica en tus datos del UDM en comparación con otras entidades) y los atributos first-seen-time y last-seen-time de una entidad. También identifica fuentes clave de enriquecimiento y fuentes de indicadores de compromiso (IOC), como Google Threat Intelligence (GTI), Navegación Segura, WHOIS y datos de VirusTotal.
El ECG usa eventos de UDM para realizar las siguientes acciones:
- Crea una vista enriquecida, correlacionada y completa de las entidades internas (recursos y usuarios) y las entidades externas (IOC).
- Identifica las relaciones entre estas entidades.
Fuentes de datos del ECG
La canalización del ECG combina datos de las siguientes fuentes:
| Fuente de contexto | Fuente | Descripción |
|---|---|---|
| Contexto de la entidad | Proporcionado por el cliente | Google SecOps incorpora directamente datos organizacionales estructurados, como detalles autorizados sobre usuarios y activos, desde sistemas externos. Estas fuentes incluyen proveedores de identidad (IDP), sistemas de bases de datos de administración de configuración (CMDB) (como ServiceNow CMDB y Duo User Context) y sistemas de gestión de vulnerabilidades. |
| Contexto derivado | Generado por Google SecOps | Google SecOps genera datos estadísticos basados en el análisis de la actividad transferida. Enriquece los eventos y las entidades de varias fuentes dentro de tu entorno (por ejemplo, Windows AD, Azure AD, Okta, Google Cloud, IAM).
Por ejemplo:
|
| Contexto global | Obtenido de Google | Las fuentes globales proporcionan inteligencia contra amenazas y datos de reputación internos y externos.
Por ejemplo:
|
Canalización de procesamiento de datos del ECG
La canalización de procesamiento de datos del ECG crea un perfil enriquecido y autorizado para cada entidad. Para ello, combina el contexto de varios orígenes (como proveedores de identidad, bases de datos de administración de configuración [CMDB], feeds de inteligencia contra amenazas y contexto derivado) en un solo perfil de entidad consolidado. La combinación de ECG permite lo siguiente:
- Se agregan nuevas conexiones, propiedades y relaciones al ECG.
- Crear y actualizar el contexto derivado
El proceso general implica primero normalizar los eventos de seguridad sin procesar en estructuras del UDM con el alias y el enriquecimiento del UDM, y, luego, combinar estos datos de eventos con varias fuentes contextuales para crear perfiles de entidades enriquecidos.
Creación de alias de UDM y combinación de ECG
En primer lugar, la canalización de alias y enriquecimiento del UDM ingiere eventos de seguridad sin procesar y los normaliza en estructuras del UDM.
Entidades temporales y atemporales
El ECG construye entidades temporales y atemporales. Las entidades cronometradas se evalúan dentro de los rangos de tiempo de búsqueda y de la regla especificados. Las entidades atemporales se evalúan sin tener en cuenta el período de la búsqueda o la regla.
Claves de combinación de ECG
El ECG combina los registros de contexto haciendo coincidir los identificadores de clave comunes en diferentes fuentes de datos. Entre los ejemplos de estos identificadores, se incluyen hostname, MAC address, user ID o email address.
El ECG combina los registros que coinciden en cualquiera de estos valores para crear una vista integral y enriquecida de una entidad.
El alias de ECG usa los siguientes campos de UDM como claves de combinación:
Assetentity.asset.product_object_identity.asset.hostnameentity.asset.asset_identity.asset.mac
Userentity.user.product_object_identity.user.useridentity.user.windows_sidentity.user.email_addressesentity.user.employee_id
Resourceentity.resource.product_object_identity.resource.name
Groupentity.group.product_object_identity.group.email_addressesentity.group.windows_sid
Cómo combinar tipos de entidades específicos (archivo, URL y dominio)
Además de las merge-keys, el ECG combina el contexto para tipos de entidades específicos (archivo, URL y dominio) con los siguientes identificadores únicos:
Fileentity.file.md5entity.file.sha1entity.file.sha256- (y
entity.file.product_object_idsi se proporciona)
URLentity.url.url- (y
entity.url.product_object_idsi se proporciona)
Domainentity.domain.domain- (y
entity.domain.product_object_idsi se proporciona)
El ECG solo combina un registro de contexto de entidad para un File, URL o Domain con otro registro si todos los identificadores únicos presentes en ambos registros coinciden.
Por ejemplo, si el ECG considera dos contextos de entidades File para una combinación:
- Si ambos tienen un hash de
md5, el ECG requiere que coincidan. - Si uno tiene un
md5y el otro tiene unsha256, el ECG no los combinará según el hash. - Si se proporciona un
product_object_id, el ECG también debe coincidir con él si está presente en ambos registros que se comparan, además de los identificadores basados en el contenido (comomd5,urlodomain).
Esto significa que, para estos tipos, los campos como entity.file.md5, entity.url.url y entity.domain.domain deben estar presentes y coincidir para el proceso de combinación, además de cualquier product_object_id proporcionado.
Resolución de conflictos
Durante el proceso de combinación, si los campos tienen valores en conflicto, el ECG actualiza la entidad seleccionando el valor con la hora de inicio más reciente. Cuando el ECG actualiza un atributo de entidad con un valor nuevo, conserva el valor anterior en los resultados de la búsqueda durante el intervalo de tiempo en el que ese valor anterior era válido. Por lo tanto, una búsqueda que abarque un período durante el cual cambió un atributo puede devolver varios contextos de entidad para esa entidad.
Anulación de duplicación e intervalos
Para crear una entidad combinada común, el ECG elimina los datos redundantes a través de la anulación de duplicación. Los duplicados se identifican a través de la correlación de todos los identificadores únicos pertinentes de una entidad en diferentes fuentes de contexto. Genera intervalos de tiempo en lugar de coincidencias exactas de marcas de tiempo.
Por ejemplo, considera dos entidades e1 y e2 con marcas de tiempo t1 y t2, respectivamente. Si e1 y e2 son idénticos en otros aspectos, el ECG los anula ignorando las diferencias de marcas de tiempo en los siguientes campos:
collected_timestampcreation_timestampinterval
Ventana de visualización
El ECG crea datos de contexto de la entidad con un período de observación de cinco días. Este proceso ayuda a controlar los datos que llegan tarde y establece un tiempo de actividad implícito para los datos de contexto de la entidad.
El ECG distingue entre los datos contextuales (assets, users, resources, groups) y los indicadores de compromiso (IOC).
Ejemplo: Fusión de datos del usuario con la fusión de ECG
Por ejemplo, Google SecOps ingiere datos del usuario para jdoe desde tres fuentes: Okta, Azure AD y un verificador de vulnerabilidades. El ECG combina estos tres registros en función de los identificadores coincidentes (como jdoe@example.com). Esto crea una entidad de usuario jdoe unificada en el ECG, que contiene atributos de las tres fuentes.
Fuentes de datos de ECG de contexto de entidades y eventos críticos
Google SecOps requiere varias fuentes de datos específicas para crear y actualizar entidades.
Fuentes de datos de ECG de contexto de entidades críticas
Las fuentes de datos autorizadas para los usuarios y los activos de tu entorno proporcionan los datos de registro más importantes para crear un modelo de datos de entidades. Por ejemplo:
| Categoría | Fuentes de datos críticas | Entidades completadas |
|---|---|---|
| Administración de identidades y accesos | Active Directory, Azure AD, Okta, Google Cloud Identity | user,group |
| Inventario de recursos | CMDB, JAMF, Microsoft Intune | asset |
| Inteligencia contra amenazas | Feeds personalizados o de terceros, Google Threat Intelligence (GTI) | ip_address,domain_name,file |
Ejemplo de búsqueda
Para enumerar los analizadores que admiten cada categoría, haz lo siguiente:
- Ve a Tipos de registros admitidos con un analizador predeterminado.
Escribe una categoría en la barra de búsqueda, por ejemplo:
- Para los analizadores relevantes para el inventario de activos, escribe
inventoryoasset. - Para los analizadores relevantes para la administración de identidades y accesos, escribe
identity. - Para los analizadores pertinentes a la inteligencia contra amenazas, escribe
IOC.
- Para los analizadores relevantes para el inventario de activos, escribe
Fuentes de datos y campos críticos de UDM para la creación de perfiles de entidades
Google SecOps mejora los perfiles de entidades en función de fuentes de datos de contexto de entidades autorizadas y campos críticos del UDM:
| Tipo de entidad | Fuentes de datos | Campos críticos del UDM (para alias e indexación) |
|---|---|---|
| Proceso | Los registros de extremos proporcionan el PSPI (`principal.process.product_specific_process_id`), un identificador estable fundamental para la creación de alias de procesos sólidos.
Entre los ejemplos, se incluyen CrowdStrike EDR (CS_EDR) y Windows Sysmon (WINDOWS_SYSMON). |
source.process.product_specific_process_id |
| Usuario | Estas fuentes proporcionan información de identidad y atributos del usuario. Por ejemplo, los datos de contexto de la entidad de Duo (DUO_CONTEXT) y Okta (OKTA). |
source.user.userid, source.user.email_address, source.user.windows_sid, source.user.product_object_id |
| Activo o extremo | Estas fuentes proporcionan información autorizada sobre los activos. Por ejemplo, ServiceNow CMDB (SERVICENOW_CMDB) y Tanium Asset (TANIUM_ASSET). |
source.ip, source.hostname, source.asset_id, principal.asset.hostname |
| Hash del archivo | Proporciona una "huella digital" única del contenido de los datos para verificar la integridad de los datos. | source.file.sha256, source.file.sha1, source.file.md5 |
Campos del UDM de datos de contexto de eventos críticos
Google SecOps requiere varios campos de datos de contexto de eventos críticos del UDM.
Los campos de UDM más importantes actúan como identificadores y indicadores de relación estables (campos
principal.*,target.*,src_*ydst_*).Consulta la lista de campos clave de UDM que pertenecen al área de funciones de
Entity graph.Para crear un ECG integral, prioriza las fuentes de datos que aportan identificadores valiosos y datos de relaciones. Por ejemplo:
Tipo de entidad Fuentes de datos críticas Campos de UDM críticos para la creación de entidades Recurso (host) EDR y XDR, DNS y DHCP, firewall, Google Cloud registros de auditoría de la consola metadata.event_type,
principal.asset.asset_id,
principal.asset.hostname,
principal.ipUsuario Registros del proveedor de identidad (IdP), feed de RR.HH. (contexto), registros de Cloud Identity y puerta de enlace de correo electrónico principal.user.userid,
principal.user.email_addresses,
target.user.userid,
principal.ipRed Firewall, VPN, DNS, registros de flujo de VPC principal.ip,
target.ip,
src_ip,
dst_ip,
network.directionArchivo y proceso EDR y XDR, registros de aplicaciones target.file.full_path,
target.process.file.full_path,
target.process.command_line
Ejemplo
El ECG se basa en estos campos del UDM para unir los datos de contexto de la entidad y los datos de eventos del UDM en reglas, búsquedas y paneles.
Por ejemplo, puedes unir datos de contexto del usuario en una regla de supervisión de "fuerza bruta" para generar alertas solo si el usuario implicado también forma parte del grupo "Administradores del dominio" y el activo implicado es un controlador de dominio:
events:
$fail.metadata.event_type = "USER_LOGIN"
$fail.metadata.vendor_name = "Microsoft"
$fail.principal.hostname = $hostname
$fail.target.user.userid = $target_user
$fail.security_result.action = "BLOCK"
$fail.metadata.product_event_type = "4625"
$fail.metadata.event_timestamp.seconds < $success.metadata.event_timestamp.seconds
$success.metadata.event_type = "USER_LOGIN"
$success.metadata.vendor_name = "Microsoft"
$success.target.user.userid = $target_user
$success.principal.hostname = $hostname
$success.security_result.action = "ALLOW"
$success.metadata.product_event_type = "4624"
$user.graph.entity.user.userid = $target_user
$user.graph.metadata.entity_type = "USER"
$user.graph.metadata.source_type = "ENTITY_CONTEXT"
any $user.graph.relations.entity.group.group_display_name = "Domain Admins"
$asset.graph.entity.asset.hostname = $hostname
$asset.graph.metadata.entity_type = "ASSET"
$asset.graph.metadata.source_type = "ENTITY_CONTEXT"
any $asset.graph.relations.entity.group.group_display_name = "Domain Controllers"
match:
$target_user, $hostname over 15m
condition:
#fail > 4 and $success and $user and $asset
Enriquecimientos de contexto derivados
Google SecOps genera datos de inferencia dinámicos basados en eventos para cada entidad en todos los espacios de nombres a partir de los datos de eventos de tu organización. Utiliza información de alias, datos de procesos internos de enriquecimiento y datos de eventos de seguridad para establecer relaciones (por ejemplo, un asset asociado a un IP address).
Este proceso agrega contexto valioso para mejorar los perfiles de entidades. Estos son algunos ejemplos:
entity.file.sha256afile (hash)entidades(principal or target).ip_geo_artifact.location.country_or_regionanetwork (geolocation)entidades
El equipo de Google SecOps analiza varios indicadores de la actividad incorporada para enriquecer los eventos con información de contexto. Ejecuta funciones de enriquecimiento críticas para generar, por ejemplo, métricas de rareza de entidades, como estadísticas de prevalencia, y métricas temporales, como first-seen-time y last-seen-time.
Estadísticas de prevalencia
La canalización de ECG analiza los datos existentes y los entrantes para calcular y almacenar las métricas de prevalencia como un campo de contexto derivado. Estas métricas representan un valor numérico de "popularidad" para entidades como domain, file hash o IP address dentro de tu entorno. Esto te ayuda a detectar la actividad inusual o poco frecuente, ya que las entidades más populares suelen representar menos riesgo.
Google SecOps actualiza estas estadísticas con regularidad y las almacena en un contexto de entidad independiente. El motor de detección puede usar estos valores, y puedes buscarlos con la sintaxis de consultas de UDM. Sin embargo, la consola no muestra estos valores con otros detalles de la entidad.
Puedes usar los siguientes campos cuando crees reglas del motor de detección.
| Tipo de entidad | Campos de UDM |
|---|---|
| Dominio | entity.domain.prevalence.day_count
entity.domain.prevalence.day_max
entity.domain.prevalence.day_max_sub_domains
entity.domain.prevalence.rolling_max
entity.domain.prevalence.rolling_max_sub_domains |
| Archivo (hash) | entity.file.prevalence.day_count
entity.file.prevalence.day_max
entity.file.prevalence.rolling_max |
| Dirección IP | entity.artifact.prevalence.day_count
entity.artifact.prevalence.day_max
entity.artifact.prevalence.rolling_max |
Google SecOps calcula los valores de day_max y rolling_max de manera diferente, como se indica a continuación:
day_maxrepresenta la puntuación de prevalencia máxima del artefacto durante el día (un día se define como de las 12:00:00 a.m. a las 11:59:59 p.m. UTC).rolling_maxrepresenta la puntuación de prevalencia máxima por día (es decir,day_max) para el artefacto durante el período de 10 días anterior.day_countse usa para calcularrolling_max, y su valor siempre es 10.
Cuando se calculan estos valores para un domain, la diferencia entre day_max y day_max_sub_domains (y rolling_max en comparación con rolling_max_sub_domains) es la siguiente:
rolling_maxyday_maxrepresentan la cantidad de direcciones IP internas únicas diarias que acceden a un dominio determinado (se excluyen los subdominios).rolling_max_sub_domainsyday_max_sub_domainsrepresentan la cantidad de direcciones IP internas únicas que acceden a un dominio determinado (se incluyen los subdominios).
Google SecOps calcula las estadísticas de prevalencia con los datos de entidades recién incorporados. Google SecOps no realiza cálculos de forma retroactiva sobre los datos que se incorporaron anteriormente. Google SecOps tarda aproximadamente 36 horas en calcular y almacenar las estadísticas.
Ejemplo
La canalización de ECG requiere estos campos del UDM para unir los datos de contexto pertinentes en una regla o búsqueda. Debes unir de forma explícita todos los datos relacionados con el ECG a los datos de eventos del UDM.
Por ejemplo, puedes usar los datos de prevalence en ECG para determinar las conexiones a dominios "poco comunes" en tus registros de seguridad:
$dns.metadata.event_type = "NETWORK_DNS"
$dns.network.dns.questions.name != ""
$dns.network.dns.questions.name = $domain
$prevalence.graph.metadata.entity_type = "DOMAIN_NAME"
$prevalence.graph.metadata.source_type = "DERIVED_CONTEXT"
$prevalence.graph.entity.hostname = $domain
$prevalence.graph.entity.domain.prevalence.day_count = 10
$prevalence.graph.entity.domain.prevalence.rolling_max > 0
$prevalence.graph.entity.domain.prevalence.rolling_max <= 3
match:
$domain over 5m
condition:
$dns and $prevalence
Horas de la primera y la última vez que se vieron las entidades
Google SecOps analiza los datos entrantes para enriquecer los registros de contexto de la entidad con los siguientes campos críticos:
first-seen-time: Es la fecha y la hora en que se vio la entidad por primera vez en tu entorno.last-seen-time: La fecha y la hora de la observación más reciente.
Estos campos derivados te permiten correlacionar la actividad en las entidades domain, file hash, asset, user o IP address.
Estos valores se almacenan en los siguientes campos del UDM:
| Tipo de entidad | Campos de UDM |
|---|---|
| Dominio | entity.domain.first_seen_timeentity.domain.last_seen_time |
| Archivo (hash) | entity.file.first_seen_timeentity.file.last_seen_time |
| Dirección IP | entity.artifact.first_seen_timeentity.artifact.last_seen_time |
| Recurso | entity.asset.first_seen_time |
| Usuario | entity.user.first_seen_time |
Excepciones para los cálculos de la fecha de la primera y la última vez que se vio:
- Para las entidades
assetyuser, Google SecOps solo completa el campofirst_seen_time, pero no el campolast_seen_time. - Google SecOps no calcula las estadísticas de cada entidad dentro de los espacios de nombres individuales.
- Google SecOps no exporta estas estadísticas al esquema de
eventsde Google SecOps en BigQuery. - Google SecOps no calcula estos valores para otros tipos de entidades, como
grouporesource.
Enriquecimientos del contexto global
Estas fuentes incluyen inteligencia contra amenazas externa y datos de reputación de fuentes globales internas y de terceros.
Transfiere datos de Google Threat Intelligence
Google SecOps incorpora datos de las fuentes de datos de Google Threat Intelligence (GTI), lo que proporciona información contextual para investigar la actividad en tu entorno.
Consultar las siguientes fuentes de datos:
- Nodos de salida de Tor de GTI: Direcciones IP que se conocen como nodos de salida de Tor.
- Binarios benignos de GTI: Son archivos que forman parte de la distribución original del sistema operativo o que se actualizaron con un parche oficial del sistema operativo. Se excluyen de esta fuente de datos algunos archivos binarios oficiales del sistema operativo que un adversario usó de forma inadecuada a través de actividades comunes en los ataques de "living off the land", como los que se enfocan en los vectores de entrada iniciales.
- Herramientas de acceso remoto de GTI: Son archivos que los agentes maliciosos usan con frecuencia. Por lo general, estas herramientas son aplicaciones legítimas que, a veces, se usan de forma inadecuada para conectarse de forma remota a sistemas comprometidos.
Los datos contextuales se almacenan de forma global como entidades. Puedes consultar los datos con las reglas del motor de detección. Incluye los siguientes campos y valores del UDM en la regla para consultar estas entidades globales:
graph.metadata.vendor_name=Google Threat Intelligencegraph.metadata.product_name=GTI Feed
Fuentes de datos de Google Threat Intelligence temporales y permanentes
Las fuentes de datos de Google Threat Intelligence incluyen tipos temporales o atemporales.
Cada entrada de las fuentes de datos cronometradas tiene un período asociado. Por ejemplo, si Google SecOps genera una detección el día 1, se espera que genere la misma detección para el día 1 durante una búsqueda retroactiva en cualquier día futuro.
Las fuentes de datos atemporales no tienen un período asociado, ya que solo se debe tener en cuenta el conjunto de datos más reciente. Estas fuentes de datos suelen usarse para datos que no se espera que cambien, como los hashes de archivos. Si Google SecOps no genera una detección el día 1, es posible que se genere una detección para el día 1 durante una búsqueda retroactiva el día 2 si se agregó una entrada nueva a la fuente de datos independiente del tiempo.
Datos sobre las direcciones IP de los nodos de salida de Tor
Google SecOps transfiere y almacena las direcciones IP que se conocen como nodos de salida de Tor. Los nodos de salida de Tor son puntos en los que el tráfico sale de la red de Tor. Estos datos están sincronizados.
Google SecOps almacena la información que se ingiere de esta fuente de datos en los siguientes campos del UDM:
| Campo de UDM | Descripción |
|---|---|
<variable_name>.graph.metadata.vendor_name |
Almacena el valor Google Threat Intelligence. |
<variable_name>.graph.metadata.product_name |
Almacena el valor GTI Feed. |
<variable_name>.graph.metadata.threat.threat_feed_name |
Almacena el valor Tor Exit Nodes. |
<variable_name>.graph.entity.artifact.ip |
Almacena la dirección IP transferida desde la fuente de datos de GTI. |
Ejemplo de búsqueda
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Tor Exit Nodes"
Datos sobre archivos benignos del sistema operativo
Google SecOps ingiere y almacena hashes de archivos de la fuente de datos de GTI Benign Binaries. Google SecOps almacena la información que se ingiere de esta fuente de datos en los siguientes campos del UDM. Los datos de los archivos binarios benignos son atemporales.
| Campo de UDM | Descripción |
|---|---|
<variable_name>.graph.metadata.vendor_name |
Almacena el valor Google Threat Intelligence. |
<variable_name>.graph.metadata.product_name |
Almacena el valor GTI Feed. |
<variable_name>.graph.metadata.threat.threat_feed_name |
Almacena el valor Benign Binaries. |
<variable_name>.graph.entity.file.sha256 |
Almacena el valor de hash SHA256 del archivo. |
<variable_name>.graph.entity.file.sha1 |
Almacena el valor de hash SHA-1 del archivo. |
<variable_name>.graph.entity.file.md5 |
Almacena el valor de hash MD5 del archivo. |
Ejemplo de búsqueda
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Benign Binaries"
Datos sobre herramientas de acceso remoto
Las herramientas de acceso remoto incluyen hashes de archivos para herramientas de acceso remoto conocidas, como los clientes de VNC que los agentes maliciosos han usado con frecuencia. Por lo general, estas herramientas son aplicaciones legítimas que, a veces, se usan de forma inadecuada para conectarse de forma remota a sistemas comprometidos. Google SecOps almacena la información que se transfiere desde esta fuente de datos en los siguientes campos del UDM. Los datos de las herramientas de acceso remoto son atemporales.
| Campo de UDM | Descripción |
|---|---|
<variable_name>.graph.metadata.vendor_name |
Almacena el valor Google Threat Intelligence. |
<variable_name>.graph.metadata.product_name |
Almacena el valor GTI Feed. |
<variable_name>.graph.metadata.threat.threat_feed_name |
Almacena el valor Remote Access Tools. |
<variable_name>.graph.entity.file.sha256 |
Almacena el valor de hash SHA256 del archivo. |
<variable_name>.graph.entity.file.sha1 |
Almacena el valor de hash SHA-1 del archivo. |
<variable_name>.graph.entity.file.md5 |
Almacena el valor de hash MD5 del archivo. |
Ejemplo de búsqueda
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "GTI Feed"
graph.metadata.threat.threat_feed_name = "Remote Access Tools"
Enriquece entidades con información de las listas de amenazas de la Navegación segura
Google SecOps ingiere datos de la Navegación segura relacionados con los hashes de archivos. Google SecOps almacena los datos de cada archivo como una entidad y proporciona contexto adicional sobre el archivo. Puedes crear reglas del motor de detección que consulten estos datos de contexto de la entidad para generar estadísticas basadas en el contexto.
Google SecOps almacena la siguiente información con el registro de contexto de la entidad.
| Campo de UDM | Descripción |
|---|---|
entity.metadata.product_entity_id |
Es un identificador único de la entidad. |
entity.metadata.entity_type |
Este valor es FILE, lo que indica que la entidad describe un archivo.
|
entity.metadata.collected_timestamp |
Fecha y hora en que se observó la entidad o en que ocurrió el evento. |
entity.metadata.interval |
Almacena la hora de inicio y la hora de finalización para las que son válidos estos datos. Dado que el contenido de las listas de amenazas cambia con el tiempo, start_time y end_time reflejan el intervalo durante el cual son válidos los datos sobre la entidad. Por ejemplo, se observó que un hash de archivo era malicioso o sospechoso entre start_time y end_time. |
entity.metadata.threat.category |
El SecurityCategory de Google SecOps se establece en uno o más de los siguientes valores:
|
entity.metadata.threat.severity |
Este es el ProductSeverity de Google SecOps.
Si el valor es CRITICAL, indica que el artefacto parece malicioso.
Si no se especifica el valor, no hay suficiente confianza para indicar que el artefacto es malicioso.
|
entity.metadata.product_name |
Almacena el valor Google Safe Browsing. |
entity.file.sha256 |
Es el valor de hash SHA256 del archivo. |
Ejemplo de regla
events:
// find a process launch event, match on hostname
$execution.metadata.event_type = "PROCESS_LAUNCH"
$execution.target.process.file.sha256 != ""
$execution.principal.hostname = $hostname
// join execution event with Safe Browsing graph
$sb.graph.entity.file.sha256 = $execution.target.process.file.sha256
// look for files deemed malicious
$sb.graph.metadata.entity_type = "FILE"
$sb.graph.metadata.threat.severity = "CRITICAL"
$sb.graph.metadata.product_name = "Google Safe Browsing"
match:
$hostname over 5m
condition:
$execution and $sb
Enriquece entidades con datos de WHOIS
Google SecOps realiza un enriquecimiento diario de los datos de WHOIS, una función fundamental, con datos que son tanto temporales como atemporales.
Durante la transferencia de datos del dispositivo, Google SecOps evalúa los dominios en función de los datos de WHOIS. Cuando los dominios coinciden, Google SecOps almacena los datos de WHOIS relacionados en el registro de la entidad del dominio. Para cada entidad con entity.metadata.entity_type = DOMAIN_NAME, Google SecOps enriquece el registro con información de WHOIS.
Google SecOps completa el registro de la entidad con datos enriquecidos de WHOIS en los siguientes campos:
entity.domain.admin.attribute.labelsentity.domain.audit_update_timeentity.domain.billing.attribute.labelsentity.domain.billing.office_address.country_or_regionentity.domain.contact_emailentity.domain.creation_timeentity.domain.expiration_timeentity.domain.iana_registrar_identity.domain.name_serverentity.domain.private_registrationentity.domain.registrant.company_nameentity.domain.registrant.office_address.stateentity.domain.registrant.office_address.country_or_regionentity.domain.registrant.email_addressesentity.domain.registrant.user_display_nameentity.domain.registrarentity.domain.registry_data_raw_textentity.domain.statusentity.domain.tech.attribute.labelsentity.domain.update_timeentity.domain.whois_record_raw_textentity.domain.whois_serverentity.domain.zone
Google SecOps enriquece las entidades domain (entity.metadata.entity_type = "DOMAIN_NAME") con datos de registrant, creation y expiration time de los registros de global context WHOIS.
Para obtener descripciones de estos campos, consulta el documento de la lista de campos del modelo de datos unificado.
Ejemplo de búsqueda
graph.metadata.source_type ="GLOBAL_CONTEXT"
graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
graph.entity.domain.registry_data_raw_text != b""
Prácticas recomendadas: Identifica fuentes de datos enriquecidas con contexto global
Para mejorar el rendimiento de las reglas, incluye un filtro en las reglas que use datos de las fuentes de enriquecimiento del contexto global. Este filtro debe identificar el tipo o la fuente de enriquecimiento específicos.
Los siguientes parámetros de filtro identifican el tipo o la fuente de enriquecimiento: entity_type, product_name y vendor_name.
Por ejemplo, incluye los siguientes campos de filtro en la sección events de la regla que une los datos de WHOIS:
$enrichment.graph.metadata.entity_type = "DOMAIN_NAME"
$enrichment.graph.metadata.product_name = "WHOISXMLAPI Simple Whois"
$enrichment.graph.metadata.vendor_name = "WHOIS"
Prácticas recomendadas para el ECG
Cuando uses datos enriquecidos contextualmente, ten en cuenta las siguientes prácticas recomendadas para el ECG:
- No agregues intervalos a los datos de la entidad; en su lugar, deja que la canalización de ECG los cree. Google SecOps genera intervalos durante la deduplicación, a menos que se especifique lo contrario.
- Si especificas los intervalos, Google SecOps solo anula la duplicación de los eventos idénticos y conserva la entidad más reciente.
- Para garantizar que las reglas activas y las búsquedas retroactivas funcionen según lo previsto, debes transferir entidades al menos una vez al día.
- Si no ingieres entidades a diario, sino solo una vez cada dos o más días, es posible que las reglas activas sigan funcionando según lo previsto. Sin embargo, es posible que las búsquedas retroactivas pierdan algunos contextos de eventos.
- Si ingieres entidades idénticas más de una vez al día, Google SecOps las deduplica en una sola entidad.
- Si faltan datos de eventos para un día, Google SecOps usa temporalmente los datos del día anterior para garantizar que las reglas activas funcionen correctamente.
Para obtener detalles sobre los límites generales del servicio de Google SecOps, consulta Límites del servicio.
Contenido externo relacionado
- Cómo usar el Gráfico de entidad como una lista multidimensional
- Creación de alias en Chronicle SIEM
- IOCs que vencen en el gráfico de entidad
- Navegación segura de Google en Chronicle SIEM
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.