Análisis de riesgos para UEBA

Compatible con:

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.action se establece en BLOCK.

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"
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
AUTH_ATTEMPTS_SUCCESS metadata.event_type = "USER_LOGIN"
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
AUTH_ATTEMPTS_TOTAL metadata.event_type = "USER_LOGIN"
AND security_result.action >= "UNKNOWN_ACTION"
DNS_BYTES_OUTBOUND network.sent_bytes > 0
AND (network.ip_protocol = "UDP" AND target.port = 53)
OR (network.ip_protocol = "TCP" AND (target.port = 53 OR target.port=3000))
DNS_QUERIES_FAIL network.dns.id > 0
AND network.dns.response_code != 0
DNS_QUERIES_SUCCESS network.dns.id > 0
AND network.dns.response_code = 0
DNS_QUERIES_TOTAL network.dns.id > 0
FILE_EXECUTIONS_FAIL metadata.event_type = "PROCESS_LAUNCH"
AND security_result.action != "ALLOW"
FILE_EXECUTIONS_SUCCESS metadata.event_type = "PROCESS_LAUNCH"
AND security_result.action = "ALLOW"
FILE_EXECUTIONS_TOTAL metadata.event_type = "PROCESS_LAUNCH"
HTTP_QUERIES_FAIL network.http.method != ""
AND (network.http.response_code >= 400 OR network.http.response_code = 0)
HTTP_QUERIES_SUCCESS network.http.method != ""
AND network.http.response_code < 400
HTTP_QUERIES_TOTAL network.http.method != ""
NETWORK_BYTES_INBOUND network.received_bytes > 0
AND network.received_bytes < 1000000000000000
NETWORK_BYTES_OUTBOUND network.sent_bytes > 0
AND network.sent_bytes < 1000000000000000
NETWORK_BYTES_TOTAL (network.received_bytes > 0 AND network.received_bytes < 1000000000000000)
OR (network.sent_bytes > 0 AND network.sent_bytes < 1000000000000000)
NETWORK_FLOWS_INBOUND network.received_bytes > 0
AND network.received_bytes < 1000000000000000
NETWORK_FLOWS_OUTBOUND network.sent_bytes > 0
AND network.sent_bytes < 1000000000000000
NETWORK_FLOWS_TOTAL (network.received_bytes > 0 AND network.received_bytes < 1000000000000000)
OR (network.sent_bytes > 0 AND network.sent_bytes < 1000000000000000)
RESOURCE_READ_FAIL (metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ")
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
RESOURCE_READ_SUCCESS (metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ")
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
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")
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
RESOURCE_WRITTEN_SUCCESS (metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION")
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
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_id
principal.asset.hostname
principal.asset.ip
principal.asset.mac
principal.asset.product_object_id
Dispositivo de destino target.asset.asset_id
target.asset.hostname
target.asset.ip
target.asset.mac
target.asset.product_object_id
Usuario principal principal.user.email_addresses
principal.user.employee_id
principal.user.product_object_id
principal.user.userid
principal.user.windows_sid
Destinatario target.user.email_addresses
target.user.employee_id
target.user.product_object_id
target.user.userid
target.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.