Análisis de riesgos para UEBA

Compatible con:

En este documento, se proporciona una descripción general de los conjuntos de reglas en la categoría Análisis de riesgos para UEBA, los datos requeridos 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 mediante la evaluación de las fuentes de registros 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 según el tipo de patrones detectados:

Autenticación

  • New Login by User to Device: Un usuario se conectó a un dispositivo nuevo.
  • Anomalous Authentication Events by User: Una sola entidad de usuario tuvo eventos de autenticación anómalos recientemente, en comparación con el uso histórico.
  • Failed Authentications by Device: Una entidad de un solo dispositivo tuvo muchos intentos de acceso fallidos recientemente, en comparación con el uso histórico.
  • Failed Authentications by User: Una entidad de un solo usuario 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: Una cantidad significativa de datos subidos recientemente a una sola entidad de dispositivo, en comparación con el uso histórico.
  • Bytes de salida anómalos por dispositivo: cantidad significativa de datos descargados recientemente de una sola entidad de dispositivo, en comparación con el uso histórico.
  • Anomalous Total Bytes by Device: Una entidad de dispositivo subió recientemente y descargó una cantidad significativa de datos, en comparación con el uso histórico.
  • Bytes de entrada anómalos por usuario: una entidad de un solo usuario descargó recientemente una cantidad significativa de datos, en comparación con el uso histórico.
  • Anomalous Total Bytes by User: Una entidad de usuario subió y descargó recientemente una cantidad significativa de datos, en comparación con el uso histórico.
  • Brute Force then Successful Login by User: Una entidad de un solo usuario 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 pares

  • Anomalous or Excessive Logins for a Newly Created User: Actividad de autenticación anómala o excesiva para un usuario creado recientemente. Esto usa el tiempo de creación de los datos de contexto de AD.

  • Anomalous or Excessive Suspicious Actions for a Newly Created User: Actividad anómala o excesiva (incluida, entre otras, la telemetría HTTP, la ejecución de procesos y la modificación de grupos) para un usuario creado recientemente. Esto usa el tiempo 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 UDM security_result.action se establece en BLOCK.

Detecciones basadas en la prevención de pérdida de datos

  • Anomalous or Excessive Processes with Data Exfiltration Capabilities: Actividad anómala o excesiva para procesos asociados con capacidades de robo de datos como registradores de teclas, capturas de pantalla y acceso remoto. Esto usa el enriquecimiento de metadatos de archivos de VirusTotal.

Datos requeridos por la categoría Análisis de riesgos para UEBA

En esta sección, se detallan los datos que requiere cada categoría de conjunto de reglas para 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 sus beneficios. Para obtener una lista completa de los analizadores predeterminados compatibles, consulta Tipos de registros y analizadores predeterminados compatibles.

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 configuración de recopilación de datos para incluir los siguientes Event IDs de Windows en el Channel del registro de eventos Security. Estos eventos se asignan directamente a los Event types (por ejemplo, USER_LOGIN o PROCESS_LAUNCH) que usa el motor de detección.

Requisitos de ID de evento 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 la red. Por ejemplo, de 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 pares

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

Los conjuntos de reglas de este grupo usan un tipo de datos diferente.

Conjunto de reglas Excessive Account Creation by Device

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 Excessive Alerts by User

Para usar este conjunto de reglas, recopila datos de registro que capturen actividades de extremos o datos de auditoría, como los que registran 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 actividades de procesos y archivos, como los que registran 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 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 Consulta de 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 campos 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
Usuario de destino 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 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
Agente de usuario HTTP network.http.user_agent
Tipo de evento metadata.event_type
Sistema operativo principal.platform

Ajusta las alertas que muestran los conjuntos de reglas en esta categoría

Puedes reducir la cantidad de detecciones que genera una regla o un conjunto de reglas mediante 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 en el conjunto de reglas. Crea una o más exclusiones de reglas para ayudar a reducir el volumen de detecciones. Consulta Configura exclusiones de reglas para obtener información sobre cómo hacerlo.

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 deduplicación automática con la sección de coincidencias. Si una detección de regla puede activarse, pero el nombre de host y la puntuación de riesgo permanecen sin cambios en un período de 4 horas, no se crearán detecciones nuevas.

Los únicos períodos de riesgo posibles para las reglas de puntuación de riesgo de entidades son 24 horas o 7 días (86,400 o 604,800 segundos, respectivamente). Si no incluyes el tamaño del período de riesgo en la regla, esta mostrará resultados inexactos.

Los datos de puntuación de riesgo de entidades se almacenan por separado de los datos de contexto de entidades. 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.