Análisis de riesgos para UEBA
En este documento, se proporciona una descripción general de los conjuntos de reglas de la categoría Análisis de riesgos para UEBA, los datos necesarios y la configuración que puedes usar para ajustar las alertas que genera cada conjunto de reglas. Estos conjuntos de reglas ayudan a identificar amenazas evaluando las fuentes de registro compatibles.
Descripciones de los conjuntos de reglas
Los siguientes conjuntos de reglas están disponibles en la categoría Análisis de riesgos para UEBA y se agrupan por el tipo de patrones detectados:
Autenticación
- Nuevo acceso de usuario a un dispositivo: Un usuario accedió a un dispositivo nuevo.
- Eventos de autenticación anómalos por usuario: Una sola entidad de usuario tuvo eventos de autenticación anómalos recientemente, en comparación con el uso histórico.
- Autenticaciones fallidas por dispositivo: Una entidad de un solo dispositivo tuvo muchos intentos de acceso fallidos recientemente, en comparación con el uso histórico.
- Autenticaciones fallidas por usuario: Una entidad de usuario único tuvo muchos intentos de acceso fallidos recientemente, en comparación con el uso histórico.
Análisis del tráfico de red
- Anomalous Inbound Bytes by Device: Cantidad significativa de datos subidos recientemente a una sola entidad de dispositivo, en comparación con el uso histórico.
- Bytes salientes anómalos por dispositivo: Es una cantidad significativa de datos que se descargaron recientemente desde una sola entidad de dispositivo, en comparación con el uso histórico.
- Anomalous Total Bytes by Device: Una entidad de dispositivo subió y descargó recientemente una cantidad significativa de datos, en comparación con el uso histórico.
- Bytes de entrada anómalos por usuario: Una entidad de usuario único descargó recientemente una cantidad significativa de datos, en comparación con el uso histórico.
- Bytes totales anómalos por usuario: Una entidad de usuario subió y descargó una cantidad significativa de datos recientemente, en comparación con el uso histórico.
- Ataque de fuerza bruta y, luego, acceso exitoso por parte del usuario: Una entidad de usuario único de una dirección IP tuvo varios intentos de autenticación fallidos en una aplicación determinada antes de acceder correctamente.
Detecciones basadas en grupos de empresas similares
Accesos anómalos o excesivos para un usuario recién creado: actividad de autenticación anómala o excesiva para un usuario creado recientemente. Se usa la hora de creación de los datos de contexto de AD.
Acciones sospechosas anómalas o excesivas para un usuario recién creado: actividad anómala o excesiva (incluidas, entre otras, la telemetría HTTP, la ejecución de procesos y la modificación de grupos) para un usuario creado recientemente. Esto usa la hora de creación de los datos de contexto de AD.
Acciones sospechosas
- Creación excesiva de cuentas por dispositivo: Una entidad de dispositivo creó varias cuentas de usuario nuevas.
- Alertas excesivas por usuario: Se informó una gran cantidad de alertas de seguridad de un antivirus o un dispositivo de extremo (por ejemplo, se bloqueó la conexión, se detectó software malicioso) sobre una entidad de usuario, que fue mucho mayor que los patrones históricos.
Estos son eventos en los que el campo de UDM
security_result.actionse establece enBLOCK.
Detecciones basadas en la prevención de pérdida de datos
- Procesos anómalos o excesivos con capacidades de robo de datos: actividad anómala o excesiva para procesos asociados con capacidades de robo de datos, como keyloggers, capturas de pantalla y acceso remoto. Esto usa el enriquecimiento de metadatos de archivos de VirusTotal.
Datos obligatorios que necesita el Análisis de riesgo para la categoría de UEBA
En esta sección, se detallan los datos que requiere cada categoría de conjunto de reglas para obtener un rendimiento óptimo. Si bien las detecciones de UEBA están diseñadas para funcionar con todos los analizadores predeterminados compatibles, el uso de los siguientes tipos de datos específicos maximiza su beneficio. Para obtener una lista completa de los analizadores predeterminados admitidos, consulta Tipos de registros admitidos y analizadores predeterminados.
Autenticación
Para usar cualquiera de estos conjuntos de reglas, recopila datos de registro de
Azure AD Directory Audit (AZURE_AD_AUDIT) o Windows Event (WINEVTLOG).
Para WINEVTLOG, debes configurar la recopilación de datos para que incluya los siguientes Event IDs de Windows en el registro de eventos Security Channel.
Estos eventos se asignan directamente al Event types (por ejemplo, USER_LOGIN o PROCESS_LAUNCH) que usa el motor de detección.
Requisitos de ID de eventos de Windows
| Tipo de evento | ID de evento de Windows |
|---|---|
| USER_LOGIN | 529, 4624, 4625, 4626, 4648, 4672, 4768, 4769, 4770, 4771, 4777, 4820, 4821, 4964 |
| USER_CREATION | 4720 |
| NETWORK_CONNECTION | 4096, 4097, 4321, 5156, 5632, 5633, 5157 |
| GROUP_MODIFICATION | 4728, 4729, 4732, 4733, 4735, 4737, 4745, 4746, 4747, 4750, 4751, 4752, 4755, 4756, 4757, 4760, 4761, 4762, 4764, 4784, 4785, 4786, 4787, 4788, 4791 |
| PROCESS_LAUNCH | 4688 |
| PROCESS_OPEN | 4663, 4670, 4691, 8002 |
Análisis del tráfico de red
Para usar cualquiera de estos conjuntos de reglas, recopila datos de registro que capturen la actividad de red.
Por ejemplo, desde dispositivos como FortiGate (FORTINET_FIREWALL),
Check Point (CHECKPOINT_FIREWALL), Zscaler (ZSCALER_WEBPROXY), CrowdStrike Falcon (CS_EDR)
o Carbon Black (CB_EDR).
Detecciones basadas en grupos de empresas similares
Para usar cualquiera de estos conjuntos de reglas, recopila datos de registro de
Azure AD Directory Audit (AZURE_AD_AUDIT) o Windows Event (WINEVTLOG).
Acciones sospechosas
Cada conjunto de reglas de este grupo usa un tipo de datos diferente.
Conjunto de reglas de creación excesiva de cuentas por dispositivo
Para usar este conjunto de reglas, recopila datos de registro de
Azure AD Directory Audit (AZURE_AD_AUDIT) o Windows Event (WINEVTLOG).
Conjunto de reglas de Alertas excesivas por usuario
Para usar este conjunto de reglas, recopila datos de registro que capturen actividades de extremos o
datos de auditoría, como los que registra CrowdStrike Falcon (CS_EDR),
Carbon Black (CB_EDR) o Azure AD Directory Audit (AZURE_AD_AUDIT).
Detecciones basadas en la prevención de pérdida de datos
Para usar cualquiera de estos conjuntos de reglas, recopila datos de registro que capturen las actividades de procesos y archivos,
como los que registra CrowdStrike Falcon (CS_EDR), Carbon Black (CB_EDR)
o SentinelOne EDR (SENTINEL_EDR).
Dependencias de campos
En esta sección, se describen los campos de métricas y dimensiones que usan las reglas de UEBA de Google SecOps.
Dependencias de las métricas
En la siguiente tabla, se enumeran las métricas y las consultas de búsqueda de UDM correspondientes que definen los eventos que contribuyen a cada métrica.
| Métrica | Búsqueda de UDM para eventos que contribuyen a la métrica |
|---|---|
AUTH_ATTEMPTS_FAIL |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_SUCCESS |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_TOTAL |
metadata.event_type = "USER_LOGIN" |
DNS_BYTES_OUTBOUND |
network.sent_bytes > 0 |
DNS_QUERIES_FAIL |
network.dns.id > 0 |
DNS_QUERIES_SUCCESS |
network.dns.id > 0 |
DNS_QUERIES_TOTAL |
network.dns.id > 0 |
FILE_EXECUTIONS_FAIL |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_SUCCESS |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_TOTAL |
metadata.event_type = "PROCESS_LAUNCH" |
HTTP_QUERIES_FAIL |
network.http.method != "" |
HTTP_QUERIES_SUCCESS |
network.http.method != "" |
HTTP_QUERIES_TOTAL |
network.http.method != "" |
NETWORK_BYTES_INBOUND |
network.received_bytes > 0 |
NETWORK_BYTES_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_BYTES_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
NETWORK_FLOWS_INBOUND |
network.received_bytes > 0 |
NETWORK_FLOWS_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_FLOWS_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
RESOURCE_READ_FAIL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_SUCCESS |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_TOTAL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_WRITTEN_FAIL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_SUCCESS |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_TOTAL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
Dependencias de dimensiones
En la siguiente tabla, se enumeran las dimensiones y las opciones de campo de UDM correspondientes disponibles para filtrar o agrupar.
| Dimensión | Opciones de campos |
|---|---|
| Dispositivo principal | principal.asset.asset_idprincipal.asset.hostnameprincipal.asset.ipprincipal.asset.macprincipal.asset.product_object_id |
| Dispositivo de destino | target.asset.asset_idtarget.asset.hostnametarget.asset.iptarget.asset.mactarget.asset.product_object_id |
| Usuario principal | principal.user.email_addressesprincipal.user.employee_idprincipal.user.product_object_idprincipal.user.useridprincipal.user.windows_sid |
| Destinatario | target.user.email_addressestarget.user.employee_idtarget.user.product_object_idtarget.user.useridtarget.user.windows_sid |
| Servicio de destino | target.application |
| IP de destino | target.ip |
| Ruta de acceso al archivo del proceso de la entidad principal | principal.process.file.full_path |
| Hash de archivo del proceso principal | principal.process.file.sha256 |
| Hash de archivo principal | principal.file.sha256 |
| País principal | principal.ip_geo_artifact.location.country_or_region |
| Categoría de seguridad | security_result.category |
| Nombre de la organización de la red principal | principal.ip_geo_artifact.network.organization_name |
| Nombre de la organización de la red de destino | target.ip_geo_artifact.network.organization_name |
| Hash del certificado de cliente | network.tls.client.certificate.sha256 |
| Tipo de consulta de DNS | network.dns.questions.type |
| Dominio de DNS | network.dns_domain |
| Usuario-agente HTTP | network.http.user_agent |
| Tipo de evento | metadata.event_type |
| Sistema operativo | principal.platform |
Ajustar las alertas que devuelven los conjuntos de reglas de esta categoría
Puedes reducir la cantidad de detecciones que genera una regla o un conjunto de reglas con las exclusiones de reglas.
Una exclusión de regla define los criterios que se usan para excluir un evento de la evaluación del conjunto de reglas o de reglas específicas del conjunto de reglas. Crea una o más exclusiones de reglas para ayudar a reducir el volumen de detecciones. Para obtener más información, consulta Configura la supresión de alertas.
Ejemplo de una regla para la categoría Análisis de riesgos para UEBA
En el siguiente ejemplo, se muestra cómo crear una regla para generar detecciones en
cualquier nombre de host de entidad cuya puntuación de riesgo sea superior a 100:
rule EntityRiskScore {
meta:
events:
$e1.principal.hostname != ""
$e1.principal.hostname = $hostname
$e2.graph.entity.hostname = $hostname
$e2.graph.risk_score.risk_window_size.seconds = 86400 // 24 hours
$e2.graph.risk_score.risk_score >= 100
// Run deduplication across the risk score.
$rscore = $e2.graph.risk_score.risk_score
match:
// Dedup on hostname and risk score across a 4 hour window.
$hostname, $rscore over 4h
outcome:
// Force these risk score based rules to have a risk score of zero to
// prevent self feedback loops.
$risk_score = 0
condition:
$e1 and $e2
}
Esta regla de ejemplo también realiza una desduplicación automática con la sección match. Si se activa una detección de reglas, pero el nombre de host y la puntuación de riesgo permanecen sin cambios en un período de 4 horas, no se crean detecciones nuevas.
Los únicos períodos de riesgo posibles para las reglas de puntuación de riesgo de las entidades son 24 horas o 7 días (86,400 o 604,800 segundos, respectivamente). Si no incluyes el tamaño de la ventana de riesgo en la regla, esta mostrará resultados imprecisos.
Los datos de puntuación de riesgo de la entidad se almacenan por separado de los datos de contexto de la entidad. Para usar ambos en una regla, esta debe tener dos eventos de entidad separados, uno para el contexto de la entidad y otro para la puntuación de riesgo de la entidad, como se muestra en el siguiente ejemplo:
rule EntityContextAndRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$context.graph.entity.hostname = $host
$context.graph.metadata.entity_type = "ASSET"
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $context and $risk_score and $entity_risk_score > 100
}
¿Qué sigue?
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.