Crea analizadores y extensiones de analizadores personalizados con Gemini

Compatible con:

Esta guía ayuda a los analistas de seguridad y a los ingenieros de detección a usar el análisis de IA en Google Security Operations para crear analizadores personalizados desde cero o crear extensiones de analizadores que aumenten los analizadores existentes. Con instrucciones en lenguaje natural y documentación del proveedor, puedes asignar registros sin procesar al modelo de datos unificado (UDM) sin escribir una sintaxis de analizador compleja ni expresiones regulares.

Elige entre los analizadores personalizados de IA y las extensiones de analizador de IA

En la siguiente tabla, se comparan las funciones Crear analizador con IA y Escribir extensión con IA en el análisis con IA:

Aspecto de la función Crea un analizador con IA Escribe una extensión con IA
Salida Un analizador personalizado completo y autónomo Una extensión que se agrega a un analizador existente
Caso de uso principal Fuentes de registro nuevas o no compatibles, o una reescritura completa del analizador Agregar o corregir campos específicos en un analizador en funcionamiento
Entrada Tipo de registro, registros sin procesar transferidos y vínculos a documentación opcional Tipo de registro, registro sin procesar de muestra y una instrucción que describe los campos que se asignarán

Terminología clave

  • Análisis de IA: Es el conjunto de funciones de análisis asistido por IA en Google SecOps, que incluye la generación de analizadores personalizados de IA (Crear analizador con IA) y las extensiones de analizadores de IA (Escribir extensión con IA).
  • Modelo de datos unificado (UDM): Es la estructura de datos estándar que se usa en Google SecOps para almacenar y analizar datos de registro.

Antes de comenzar

Antes de usar el análisis de IA, confirma que se cumplan los siguientes requisitos:

  • Confirma que las funciones de análisis de IA estén habilitadas para tu instancia de Google SecOps. Si no ves las opciones Crear analizador con IA o Escribir extensión con IA, comunícate con tu representante de Google SecOps.
  • En el caso de las extensiones de analizador de IA, verifica que el tipo de registro de destino ya tenga un analizador precompilado o personalizado activo, y prepara un registro sin procesar de muestra para probar la extracción.
  • Para la generación de analizadores personalizados de IA, transfiere una muestra representativa de la fuente de registro antes de comenzar. El agente de analizador aprende de los registros que ya transferiste para el tipo de registro seleccionado. Si no se encuentran registros para el tipo de registro, no se puede iniciar la generación. Los intentos de inicio fallidos no se descuentan de tu cuota.
  • Para la generación de analizadores personalizados con IA, prepara de uno a cinco vínculos de acceso público a la referencia del formato de registro del proveedor, como un diccionario de campos, un esquema de eventos o una página de muestras de registros (recomendado). La documentación completa es el factor más importante en la calidad del analizador.

Crea un analizador personalizado con IA

Crear un analizador con IA crea un analizador personalizado completo para una fuente de registro desde cero. Selecciona un tipo de registro y, de manera opcional, proporciona vínculos a la documentación de registros del proveedor. El Parser Agent toma muestras de los registros transferidos, investiga el esquema de registros, planifica la asignación de campos sin procesar a UDM y escribe el código del analizador en JavaScript. Luego, revisas el resultado y lo defines mejor con instrucciones en lenguaje natural que hacen referencia a nombres de campos sin procesar y campos de UDM. Cuando el resultado esté listo, envía el analizador como cualquier otro analizador personalizado.

Con la generación de analizadores personalizados con IA, puedes hacer lo siguiente:

  • Incorpora una fuente de registro que no tenga un analizador predefinido o cuyo analizador predefinido no se ajuste a tu formato de registro.
  • Genera un analizador completo que abarque todos los formatos de registro distintos que se encuentren en tus datos transferidos, en lugar de solo una muestra.
  • Define mejor el analizador generado con instrucciones de seguimiento sin escribir el código del analizador por tu cuenta.

Inicia un analizador personalizado generado por IA

  1. En Google SecOps, ve a Configuración de SIEM > Analizadores.
  2. Haz clic en Agregar analizador nuevo.
  3. En el cuadro de diálogo Crear un analizador personalizado nuevo, selecciona la fuente de registro que deseas analizar (por ejemplo, GCP DNS).
  4. En ¿Cómo crearás el analizador?, selecciona Crear analizador con IA.
  5. Haz clic en Crear.

Agrega la documentación del producto y comienza la generación

  1. Opcional: En el panel Agente de analizador, en el campo Agregar vínculo del producto, pega un vínculo a la documentación de registro del proveedor y haz clic en Agregar. Puedes agregar hasta cinco vínculos. El contador de Documentation muestra cuántos vínculos agregaste.
  2. Haz clic en Generar analizador.

Para mejorar la cobertura de campos en el analizador generado, sigue estos lineamientos cuando selecciones vínculos a documentos:

  • Proporciona solo vínculos públicos a la documentación del proveedor. Si un vínculo es privado o inaccesible, el agente de análisis lo ignora y, en su lugar, busca en la Web sin que falle la generación.
  • Vínculo a páginas que describen los campos de registro y los tipos de eventos, como un esquema de registro, un diccionario de campos o una referencia de eventos. Evita las páginas de marketing o las descripciones generales de productos.
  • Selecciona las páginas que coincidan con el formato de registro que transfieres. Por ejemplo, si transfieres registros de auditoría JSON, vincula a la referencia de registros de auditoría JSON en lugar de a la referencia de syslog.
  • Agrega un vínculo para cada categoría de evento si el proveedor documenta diferentes categorías de eventos en páginas separadas (por ejemplo, consultas de DNS, eventos de firewall y actividad de administrador).

Progreso de la generación de pistas

Cuando comienza la generación del analizador personalizado, el estado cambia a GENERATING IN PROGRESS. El proceso de generación consta de las siguientes etapas:

Etapa Acción del agente Resultado que se pasó a la siguiente etapa
Recupera registros sin procesar El agente toma muestras de los registros transferidos para el tipo de registro. Agrupa los registros para seleccionar un conjunto de registros de ejemplo que abarque todos los formatos de registro y formas de eventos distintos. Registros de ejemplo representativos
Documentación de investigación El agente lee los vínculos a la documentación que proporcionaste o busca en la Web si no proporcionaste vínculos. Combina esa información con los registros de ejemplo para compilar un esquema de registros y un diccionario de campos. Esquema de registro y diccionario de campos
Crea un plan de asignación El agente identifica cada tipo de evento en los registros y planifica cómo se asigna cada campo de registro sin procesar al campo de UDM correspondiente. Plan de asignación de campos sin procesar a campos de UDM para cada tipo de evento
Genera código del analizador El agente convierte el plan de asignación en código de analizador de JavaScript. Prueba el código con los registros de ejemplo y resuelve los errores hasta que el analizador se ejecute sin problemas. Analizador listo para revisión

Si la generación del analizador falla porque no se encuentran registros para el tipo de registro seleccionado, transfiere registros sin procesar para ese tipo de registro antes de volver a iniciar la generación. Para cualquier otro error de generación, no hay opciones de clasificación manual disponibles. Activa una nueva sesión de generación. Si la falla persiste, comunícate con el equipo de asistencia para abrir un caso.

Revisa y define mejor el analizador personalizado

Cuando finaliza la generación del analizador personalizado, el estado cambia a GENERADO POR IA y la página muestra los siguientes paneles:

  • Agente de analizador: Muestra el campo de instrucción Define mejor el analizador con IA, en el que puedes ingresar instrucciones de seguimiento.
  • Código del analizador: Muestra el código del analizador de JavaScript generado para su revisión. El código generado es de solo lectura antes de enviarlo. Para modificar la lógica, ingresa una instrucción en el campo Refinar el analizador con IA.
  • Registro sin procesar: Muestra registros sin procesar de ejemplo para el tipo de registro. Puedes hacer clic en Editar para pegar tu propia línea de registro o en Actualizar para cargar otras muestras.
  • Mostrar resultado de UDM: Ejecuta el código del analizador actual en el registro sin procesar y muestra el evento de UDM resultante para que puedas verificar cada asignación.

Revisa el resultado generado

Antes de activar el analizador, revisa las asignaciones generadas en tus registros de muestra:

  1. Carga varios registros sin procesar, incluido cada tipo de evento que quieras analizar, y haz clic en Mostrar resultado de UDM para cada registro.
  2. Verifica que el analizador asigne los campos de registro sin procesar a los campos de UDM adecuados y complete sus valores con precisión (por ejemplo, metadatos de eventos, campos de entidad como principal y target, y campos de resultados de seguridad).
  3. Verifica si hay campos sin procesar importantes que no se hayan asignado.

Define mejor el analizador personalizado con IA

Si una asignación es incorrecta o falta, ingresa una instrucción en el campo Refinar el analizador con IA y haz clic en Confirmar. El agente de analizador actualiza el analizador existente en lugar de comenzar de nuevo y conserva todas las asignaciones que no mencionaste. Cada perfeccionamiento crea una versión nueva del código del analizador que puedes revisar.

Sigue estos lineamientos para crear instrucciones de perfeccionamiento eficaces:

  1. Indica el campo de origen sin procesar (o un valor de muestra del registro) y la ruta exacta del campo de UDM de destino.
  2. Agrupa los cambios relacionados y evita mezclar correcciones no relacionadas en una sola instrucción larga.
  3. Encierra las cadenas exactas del registro sin procesar entre comillas simples, como 'NXDOMAIN' o 'allow'.
  4. Indica las asignaciones condicionales de forma explícita con una estructura if ... then ... otherwise ... cuando una asignación dependa del valor de un campo.
  5. Indica al agente que asigne los atributos específicos del proveedor que no tienen un campo de UDM coincidente a additional.fields con un nombre de clave claro.

En la siguiente tabla, se proporcionan ejemplos de instrucciones de perfeccionamiento para los registros de GCP DNS:

Objetivo Instrucción de ejemplo
Cómo corregir una asignación incorrecta "Map jsonPayload.sourceIP to principal.ip instead of target.ip."
Agrega un campo faltante "Map jsonPayload.vmInstanceName to principal.hostname."
Asigna un valor anidado o repetido "Map jsonPayload.queryName to network.dns.questions.name and jsonPayload.queryType to network.dns.questions.type."
Aplica lógica condicional "If jsonPayload.responseCode is 'NXDOMAIN', set security_result.summary to 'Domain does not exist'. Otherwise, leave it empty."
Establece el tipo de evento "Set metadata.event_type to NETWORK_DNS for all DNS query logs."
Asigna un campo específico del proveedor "Map jsonPayload.alias_query_response_code to additional.fields with key 'alias_query_response_code'."
Quita una asignación "Stop mapping jsonPayload.protocol to network.application_protocol."

Envía y activa el analizador personalizado

Cuando el resultado del UDM sea preciso, haz clic en Enviar para guardar y activar el analizador personalizado generado.

Para abandonar el analizador de borrador, haz clic en Descartar. Para quitar un analizador personalizado generado por IA guardado más adelante, abre el analizador y haz clic en Borrar en Borrar analizador personalizado.

Soluciona problemas de generación de analizadores personalizados de IA

En la siguiente tabla, se enumeran los problemas habituales que puedes encontrar cuando generas un analizador personalizado con IA y cómo resolverlos:

Problema o síntoma Solución
No ves la opción Crear analizador con IA. La función no está habilitada para tu instancia. Comunícate con tu representante de Google SecOps.
La generación falla porque no se encuentran registros para el tipo de registro. El agente de analizador requiere registros sin procesar transferidos para el tipo de registro seleccionado. Transfiere registros sin procesar para el tipo de registro antes de volver a iniciar la generación.
La generación falla por otro motivo. No hay opciones de clasificación manual disponibles para una generación con errores. Vuelve a activar la generación. Si la falla persiste, comunícate con el equipo de asistencia para abrir un caso.
La generación tarda mucho tiempo en completarse. Por lo general, la generación tarda entre 30 y 90 minutos. Las fuentes de registros complejas con muchos formatos distintos o esquemas grandes tardan más. Puedes cerrar la página y volver a Configuración de SIEM > Analizadores más tarde.
Muchos campos permanecen sin asignar. Agrega vínculos a documentos que describan los campos de registro y comienza una sesión nueva, o usa instrucciones de perfeccionamiento para asignar los campos faltantes.
Una instrucción de perfeccionamiento cambió una asignación no relacionada. Describe la corrección en una instrucción de seguimiento (por ejemplo, "Revert the change to principal.ip and map jsonPayload.sourceIP to it again."). Como alternativa, envía y activa el analizador para editar el código de forma manual.
Algunos registros no se pueden analizar en Mostrar salida de UDM. Pega el registro con errores en el panel Registro sin procesar y envía una instrucción de perfeccionamiento que cite la parte no analizada del registro.

Crea una extensión de analizador con IA

Cuando un analizador de registros predeterminado en Google SecOps analiza tu fuente de registros, es posible que omita los atributos personalizados específicos del cliente, los campos opcionales o la telemetría especializada. El uso de extensiones de analizador de IA (Escribe una extensión con IA) te permite hacer lo siguiente:

  • Extraer campos adicionales de los registros sin procesar y asignarlos a campos de UDM estándar o additional.fields personalizados
  • Aplica lógica condicional y transformaciones de valores, como asignar acciones de cadena a tipos enumerados de UDM.
  • Refina las extensiones generadas de forma interactiva en sesiones de chat de varios turnos sin empezar de cero.

Prácticas recomendadas para crear instrucciones

Para obtener extensiones de analizador precisas, sigue estos lineamientos para las instrucciones:

  1. Indica con claridad qué parte del registro sin procesar se debe extraer y qué ruta de acceso exacta del campo de UDM se debe propagar (por ejemplo, principal.ip, target.user.email_addresses o security_result.action).
  2. Encierra entre comillas simples las cadenas literales, los delimitadores o los valores de muestra en los registros no estructurados, como '198.51.100.0' o 'allow'.
  3. Indica a la IA que asigne atributos de propiedad o específicos del proveedor que no tengan un campo de UDM dedicado a additional.fields con un nombre de clave claro (por ejemplo, additional.fields["application"]).

Genera una extensión del analizador

Puedes iniciar el flujo de trabajo de la extensión del analizador desde cualquiera de las siguientes ubicaciones en Google SecOps:

  • Ve a Configuración de SIEM > Analizadores para seleccionar y extender cualquier analizador de registros existente.
  • Abre el flujo de creación de extensiones directamente desde un evento con campos sin analizar cuando investigues registros en la página Búsqueda.

Para generar una extensión de analizador desde la página Analizadores, sigue estos pasos:

  1. En Google SecOps, ve a Configuración de SIEM > Analizadores.
  2. Busca en la tabla Analizadores el tipo de registro que deseas extender.
  3. En la fila del analizador, haz clic en Menú y selecciona Extender analizador > Crear extensión.
  4. En el panel Registro sin procesar, verifica el registro sin procesar de muestra o haz clic en Editar para pegar una muestra del registro que deseas analizar.
  5. En el panel Extensión, en Método de extensión, selecciona Escribe una extensión con IA.
  6. En el campo de instrucción, ingresa una descripción en lenguaje natural de los campos que quieres extraer.
  7. Haz clic en Confirmar.

    El sistema genera el código de extensión y actualiza el panel Resultado de UDM.

Define mejor la extensión del analizador

Puedes compilar y definir mejor tu extensión de analizador de forma iterativa en sesiones de chat de varios turnos. Cuando envías una instrucción de seguimiento, la IA aplica tus instrucciones nuevas sobre la extensión generada anteriormente. Las asignaciones existentes y la lógica condicional de los turnos anteriores se conservan automáticamente, a menos que solicites de forma explícita que se anulen o quiten.

  1. En el campo de instrucción, ingresa una instrucción de seguimiento para ajustar el código generado.
  2. Haz clic en Confirmar.
  3. Después de cada instrucción, obtén una vista previa del código de extensión generado, inspecciona los resultados de UDM de muestra y confirma o ajusta la lógica.

En el siguiente flujo de trabajo de ejemplo, se muestra cómo el perfeccionamiento iterativo compila una extensión de analizador en varios turnos:

  1. Turno 1 (extracción inicial):
    • Instrucción del usuario: "Extract source IP '198.51.100.0' to principal.ip and destination IP '198.51.100.1' to target.ip."
    • Resultado: El generador de IA genera una asignación de extensión principal.ip y target.ip.
  2. Turno 2 (mapeo aditivo):
    • Instrucción del usuario: "Also map virtual system string 'vsys1' to observer.administrative_domain."
    • Resultado: La IA actualiza la extensión para asignar observer.administrative_domain, mientras mantiene las asignaciones de IP del turno 1.
  3. Turno 3 (perfeccionamiento condicional):
    • Instrucción del usuario: "In addition, map action string 'allow' to security_result[0].action as ALLOW."
    • Resultado: La IA incorpora la asignación de enumeración de acciones condicionales sobre todas las extracciones anteriores.

Valida la extensión del analizador

  1. Haz clic en Validar.
  2. Revisa las métricas de validación una vez que se complete el proceso.

Accede a la información de referencia

Usa los siguientes ejemplos para crear instrucciones precisas para las extensiones de analizador.

Instrucciones de registros estructurados

En el caso de los registros estructurados en los que los datos se organizan en claves, atributos o etiquetas XML con nombre, especifica los nombres o las rutas de acceso de los campos en tu instrucción.

Registro estructurado de muestra: formato JSON
{
  "insertId": "u0mlpdesys",
  "logName": "projects/sample-project-id/logs/cloudaudit.googleapis.com%2Fdata_access",
  "protoPayload": {
    "authenticationInfo": {
      "principalEmail": "analyst@example-domain.com"
    },
    "methodName": "GenerateAccessToken",
    "requestMetadata": {
      "callerIp": "203.0.113.195",
      "callerSuppliedUserAgent": "google-cloud-sdk gcloud/392.0.0"
    },
    "resourceName": "projects/-/serviceAccounts/110649196922301550006",
    "serviceName": "iamcredentials.googleapis.com"
  }
}
Ejemplos de instrucciones para registros estructurados
Instrucción de instrucción Campo o clave de origen Campo de UDM de destino
"Map principalEmail to principal.user.email_addresses." principalEmail principal.user.email_addresses
"Extract callerIp to principal.ip and methodName to metadata.product_event_type." callerIp, methodName principal.ip, metadata.product_event_type
"Map resourceName to target.resource.name and serviceName to target.application." resourceName, serviceName target.resource.name, target.application
"From XML tags, map /Event/System/Hostname to principal.hostname." /Event/System/Hostname principal.hostname

Instrucciones de registros no estructurados

En el caso de los registros no estructurados, especifica valores literales directamente desde el registro de muestra, las referencias posicionales o las etiquetas descriptivas.

Mensaje de syslog no estructurado de muestra
<14>Nov  9 18:52:45 198.51.100.1 1,2021/11/09 18:52:45,007051000184334,TRAFFIC,start,2561,2021/11/09 18:52:45,198.51.100.0,198.51.100.1,0.0.0.0,0.0.0.0,any allow,,,ping,vsys1,LAN,LAN,ethernet1/2,ethernet1/2,LFPpan,2021/11/09 18:52:45,9729,6,0,0,2048,0,0x100000,icmp,allow,444,444,0,6
Ejemplos de instrucciones para registros no estructurados
Instrucción de instrucción Valor literal o descripción de muestra Campo de UDM de destino
"Extract source IP '198.51.100.0' to principal.ip and destination IP '198.51.100.1' to target.ip." '198.51.100.0', '198.51.100.1' principal.ip, target.ip
"Extract the application string 'ping' from the log and map it to additional.fields['application']." 'ping' additional.fields["application"]
"Map rule name 'any allow' to security_result.rule_id." 'any allow' security_result[0].rule_id
"Extract sent bytes and received bytes into network.sent_bytes and network.received_bytes." Contadores de bytes numéricos en el registro network.sent_bytes, network.received_bytes

Instrucciones de lógica condicional

Describir la lógica condicional para normalizar los valores de registro sin procesar en enumeraciones de UDM específicas

  • Normalización de enumeraciones: "If the firewall action in the log is 'allow', set security_result.action to ALLOW; otherwise set security_result.action to BLOCK."
  • Asignación de campos condicional: "If the protocol is 'icmp', map the ICMP type and code into network.icmp.type and network.icmp.code."
  • Asignación de estados: "When the log status contains 'success' or '0', set security_result.severity to INFO; if it contains 'error', set it to ERROR."

Límites de uso

Para mantener un rendimiento y una disponibilidad de recursos óptimos, las funciones de análisis de IA aplican las siguientes cuotas de uso predeterminadas:

  • Puedes iniciar hasta 10 sesiones de generación de analizadores personalizados de IA o de extensiones de analizadores de IA por instancia en un período continuo de 24 horas. En el caso de los analizadores personalizados, cada clic en Generar analizador para un analizador nuevo inicia una sesión.
  • Cada sesión aplica los siguientes límites de interacción:
    • Para la generación de analizadores personalizados con IA, cada sesión admite hasta 6 turnos en total, lo que incluye la generación inicial y hasta 5 instrucciones de perfeccionamiento.
    • En el caso de las extensiones de analizador de IA, cada sesión admite hasta 5 mensajes en total, lo que incluye tu instrucción inicial y los turnos de perfeccionamiento posteriores.

Si alcanzas el límite de turnos o mensajes de una sesión, puedes enviar o guardar tu trabajo actual, o bien iniciar una sesión nueva (sujeta a la cuota diaria de sesiones). En el caso de los analizadores personalizados, después de enviarlo y activarlo, puedes editar su código de forma manual como cualquier otro analizador personalizado.

¿Qué sigue?

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.