En línea con nuestra Iniciativa de Apertura, seguimos comprometidos con la transparencia y queremos compartir cómo nuestros esfuerzos internos de investigación y desarrollo de IA aumentaron la productividad de nuestro equipo de detección de amenazas. Durante los últimos meses, Elastic Security Labs se centró en acelerar nuestros flujos de trabajo de ingeniería de detección aprovechando las capacidades de IA más generativas.
La odisea de exploración de ONWeek
En Elastic, fuera de nuestra larga tradición de Espacio, Tiempo , dedicamos una semana cada 6 meses a trabajar, ya sea de forma independiente o en equipo, en algo que llamamos ONWeek. Esta es una semana en la que todos nos alejamos del trabajo de largometrajes, la deuda tecnológica y otras tareas similares; y aprovecha la semana para centrarte en ideas innovadoras, oportunidades de aprendizaje activo, investigación aplicada y trabajo de prueba de concepto. Durante el ONWeek anterior en mayo, exploramos ideas para aprovechar los modelos de lenguaje grandes (LLM) con las características existentes de Elastic para mejorar la clasificación de alertas de seguridad y la productividad para los analistas de nivel 1 y ON, los flujos de trabajo de productividad interna y la comprensión de los componentes básicos para nuestra experimentación y ajuste. La figura 1 muestra varias oportunidades diferentes para la investigación que tenemos, que implican la ingesta de eventos, el paso de datos a través de indicaciones personalizadas y la generación de diferentes clases de contenido diseñado para diferentes flujos de trabajo de Elastic.
Figura 1: Casos de uso de seguridad de GenAI
Fundamentalmente, exploramos varios enfoques tradicionales de ML, pero en última instancia nos centramos en comenzar de forma sencilla y aumentar gradualmente la complejidad, teniendo en cuenta estas herramientas y conceptos:
- Start Simple : un mantra que guió nuestro enfoque.
- Azure OpenAI - Acceso al LLM GPT-4
- Prompt Engineering - Desarrollo de instrucciones personalizadas para el LLM.
- LangChain : biblioteca de Python para ayudar a crear aplicaciones LLM.
Uno de nuestros objetivos es optimizar los flujos de trabajo de los ingenieros de detección de Elastic, lo que permite un mayor enfoque en mejores detecciones y, al mismo tiempo, muestra la profundidad y los matices de nuestros lenguajes de consulta. En el camino, estamos dedicando tiempo a experimentar para validar nuestros avisos y prepararlos para su uso operativo. Queremos cerciorarnos de que, a medida que iteramos sobre nuestras solicitudes, no introduzcamos regresiones de forma incidental. A medida que surjan avances en IA, tenemos la intención de que nuestros T&E garanticen que cualquier ajuste, ya sea de ajuste, reemplazo de modelos o modificaciones rápidas, sea deliberado. En última instancia, aspiramos a que nuestros analistas empleen sin problemas las últimas funciones de AIML, aplicando las indicaciones o técnicas de ML más adecuadas en el contexto adecuado.
Con estos objetivos en mente, nuestro primer caso de uso de investigación en mayo se centró en la generación de consultas. Aprendimos rápidamente que, con un mínimo de datos e ingeniería de prompts, podíamos encadenar un serial de prompts para transformar eventos de Elastic sin procesar en consultas EQL.
Figura 2: POC de generación de consultas
Con fines de experimentación, simulamos actividad sospechosa empleando nuestros scripts de Red Team Automation (RTA) y capturamos la actividad del endpoint en el SIEM a través del Elastic Agent. En la figura 2 se muestran eventos de muestra del Elastic stack, exportados a gold.json archivos de prueba, que incluían los campos de eventos esenciales para la generación de consultas.
A continuación, pedimos a GPT que analizara la colección de eventos que cubría la ventana de tiempo de ejecución del RTA y se centrara en los eventos con comportamiento sospechoso. En nuestra prueba de concepto, el mensaje nos pedía que identificáramos los valores clave vinculados a posibles anomalías. A continuación, seguimos con indicaciones posteriores para fragmentar los eventos y resumir toda la actividad. Sobre la base de todos los resúmenes, le pedimos a GPT que generara una lista de indicadores, sin ingresar valores específicos. Con esta breve lista de comportamientos sospechosos, le pedimos a GPT que generara la consulta. Un beneficio significativo de nuestro desarrollo de código abierto a largo plazo es que los modelos relacionados con GPT están familiarizados con el contenido de Elastic, por lo que nos beneficiamos al no tener que sobreajustar nuestros prompts.
A pesar de que pasar de los datos sin procesar a una consulta EQL fue conceptualmente sencillo, nos encontramos con pequeños contratiempos, como la disponibilidad del servicio con Azure OpenAI. Era relativamente barato, en lo que estimamos que nos costó alrededor de $ 160 en una semana usar las API de inferencia e incrustación de OpenAI y Azure OpenAI. También exploramos el uso de GCP Vertex AI Workbench para facilitar el trabajo colaborativo en cuadernos de Jupyter, pero la complejidad de usar los modelos de código abierto (OSS) disponibles hizo que su uso fuera difícil durante el breve ONWeek.
Gráfico 3: Resultados principales de ONWeek de mayo de 2023
Usamos ONWeek para madurar nuestra hoja de ruta, como expandirnos más allá de las implementaciones de búsqueda vectorial en memoria basadas en bibliotecas a almacenes de datos de mayor rendimiento, escalables y listos para producción de nuestro contenido de reglas de detección en Elasticsearch. Sobre la base de nuestros resultados iniciales, comprendimos el potencial y la viabilidad de integrar GenAI en el flujo de trabajo de los analistas (p. ej. permitiendo la selección de ventanas de tiempo de eventos, la generación de consultas y la adición de escalas de tiempo). Sobre la base de estas victorias tempranas, pusimos en marcha nuestros planes de hoja de ruta interna para continuar con la investigación y el desarrollo de LLM y decidimos abordar uno de nuestros flujos de trabajo de productividad internos.
Un Nuevo Horizonte: Generando Guías de Investigación
A lo largo de los años, Elastic Security Labs maduró su contenido. A partir de 2020 agregando la función de seguridad de la guía de investigación, luego estandarizando esas guías en 2021. Para 2023, con más de 900 reglas implementadas, estamos buscando activamente una forma eficiente de generar guías altamente precisas, detalladas y estandarizadas para las 900+ reglas prediseñadas.
Combinando los enfoques tradicionales de ML (como la búsqueda de vectores de similitud) con nuestra salsa especial de ingeniería de prompts, nuestro equipo creó un nuevo prototipo centrado en la generación de guías de investigación llamado Rulecraft. Ahora, con solo un ID de regla en la mano, nuestros autores de reglas pueden generar una solución de guía de investigación de referencia en cuestión de minutos.
Figura 4: Guía de investigación de muestra
En esta exploración inicial, proporcionamos reglas de detección, pero limitamos la entrada a unos pocos campos de las reglas, como la descripción y el nombre de GPT. También intentamos proporcionar la consulta, pero parecía sobreajustarse al resultado esperado que deseábamos. Inicialmente, proporcionamos un mensaje simple con estos campos para evaluar qué tan bien GPT podría generar una guía de investigación decente con el mínimo esfuerzo. A medida que explorábamos más a fondo, se hizo evidente que podríamos beneficiarnos de encadenar múltiples mensajes similares a lo que hicimos durante el experimento de generación de consultas EQL. Así que dedicamos tiempo a crear indicaciones adaptadas a distintas secciones de la guía de investigación. Segmentar las indicaciones no solo nos otorgó una mayor flexibilidad, sino que también abordó áreas en las que GPT fallaba, como la sección "Reglas relacionadas", donde GPT tendía a alucinar más. En momentos como este, usamos métodos tradicionales de ML como la búsqueda de similitud e integramos nuestras reglas en una base de datos vectorial para mejorar el contexto.
A continuación, identificamos oportunidades para inyectar contexto adicional en secciones específicas. Para garantizar la uniformidad en todas nuestras guías, seleccionamos una biblioteca de contenido y lenguaje aprobados para cada segmento. A continuación, esta biblioteca guió a GPT en la generación y el formato de respuestas similares a nuestros mensajes estándar establecido. A continuación, comparamos las guías producidas por GenAI con sus colegas elaboradas manualmente para identificar otras discrepancias de formato, errores generales introducidos por GPT e incluso problemas más amplios con nuestras indicaciones.
Basándonos en estos hallazgos, optamos por mejorar nuestro contenido generado ajustando las indicaciones en lugar de emplear técnicas de posprocesamiento como el formato de cadenas. Si bien las guías de investigación automatizadas no son perfectas, ofrecen a nuestros ingenieros de detección un punto de partida estable. En el pasado, las guías de investigación mejoraron nuestro proceso de revisión por pares de relaciones públicas al proporcionar al revisor más contexto como las reglas de comportamiento esperado. Ahora podemos generar la guía base, ajustarla y agregar más detalles según lo necesite el ingeniero de detección en lugar de comenzar desde cero.
Para llevar esta capacidad directamente a nuestros ingenieros de detección, integramos Rulecraft en un flujo de trabajo de acción de GitHub, para que puedan generar guías bajo demanda. También producimos las 650+ guías adicionales en solo 13 horas, una tarea que tradicionalmente abarcaría meses. La automatización nos permite hacer pequeños ajustes y regenerar rápidamente el contenido base de las reglas que faltan en las guías de investigación. Una vez más, estas guías todavía están sujetas a nuestra estricta revisión interna, pero el tiempo y el esfuerzo ahorrados al aprovechar GenAI para nuestros borradores preliminares es asombroso.
Trazando el futuro: próximos pasos
Nuestro viaje de investigación y desarrollo continúa, con un enfoque central en refinar nuestro enfoque para la generación de contenido con LLM y validar más a fondo nuestros resultados. Esta es una breve lista de nuestras prioridades ahora que exploramos la viabilidad y la eficacia de integrar los LLM en nuestro flujo de trabajo de ingeniería de detección:
- Compare los modelos propietarios con los últimos modelos de código abierto
- Perfeccionar aún más nuestro proceso de experimentación, incluido el filtrado de eventos, la optimización de solicitudes y la exploración de varios parámetros del modelo.
- Crear un conjunto de pruebas para validar nuestros resultados y evitar regresiones.
- Integra a la perfección nuestros avances de investigación y desarrollo en el Elastic AI Assistant.
En general, queremos aumentar significativamente la cobertura de nuestras guías de investigación y reducir el tiempo necesario para elaborar estas guías desde cero. Cada guía de investigación proporciona a los analistas instrucciones detalladas paso a paso y consultas para clasificar las alertas. Con una mentalidad de "el cliente primero" a la vanguardia de nuestro código fuente, nuestro objetivo es mejorar la experiencia de los analistas con más guías de investigación de mayor calidad, lo que se traduce en menos tiempo que nuestros clientes dedican al análisis de FP y la clasificación de alertas.
Resumen
Manteniendo el espíritu de nuestra innovación abierta y transparencia, Elastic Security Labs comenzó nuestro viaje de IA generativa para mejorar la productividad de nuestros procesos de detección de amenazas. Nuestros esfuerzos continúan evolucionando e incorporando ingeniería rápida y enfoques tradicionales de ML caso por caso, lo que resulta en más pruebas de concepto de investigación y desarrollo como "LetmeaskGPT" y "Rulecraft". Esta última prueba de concepto redujo significativamente el tiempo necesario para elaborar guías de referencia, mejorar la experiencia del analista y reducir los análisis de falsos positivos. ¡Hay mucho más por hacer y queremos incluirte en nuestro viaje! Si bien logramos avances, nuestros próximos pasos incluyen un mayor refinamiento, el desarrollo de un marco para validar rigurosamente nuestros resultados y la exploración de oportunidades para poner en funcionamiento nuestra investigación y desarrollo, cerciorando que nos mantengamos a la vanguardia de los avances en seguridad.
Siempre estamos interesados en escuchar casos de uso y flujos de trabajo como estos, así que, como siempre, comunícate con nosotros a través de problemas de GitHub, chatea con nosotros en nuestro Slack de la comunidad y haz preguntas en nuestros foros de discusión.
Además, no dude en consultar estos recursos adicionales para obtener más información sobre cómo estamos poniendo las últimas capacidades de IA en manos del analista:
- Aprende a usar ChatGPT de manera responsable con Elasticsearch
- Mira el nuevo Elastic AI Assistant , el colega de IA abierto y generativo impulsado por ESRE, y pregúntalo