Em linha com nossa Iniciativa de Abertura, continuamos comprometidos com a transparência e queremos compartilhar como nossos esforços internos de P&D em IA aumentaram a produtividade de nossa equipe de detecção de ameaças. Nos últimos meses, o Elastic Security Labs tem se concentrado em acelerar nossos fluxos de trabalho de engenharia de detecção aproveitando recursos de IA mais generativos.
A Odisseia de Exploração da ONWeek
Na Elastic, fora da nossa longa tradição Space, Time , dedicamos uma semana a cada 6 meses para trabalhar de forma independente ou em equipe em algo que chamamos de ONWeek. Esta é uma semana em que todos nós nos afastamos do trabalho com recursos, dívidas técnicas e outras tarefas semelhantes; e usamos a semana para nos concentrar em ideias inovadoras, oportunidades de aprendizagem ativa, pesquisa aplicada e trabalho de prova de conceito. Durante a ONWeek anterior, em maio, exploramos ideias para alavancar modelos de grandes linguagens (LLMs) com os recursos existentes da Elastic para aprimorar a triagem de alertas de segurança e a produtividade para analistas de nível 1 e assim por diante, fluxos de trabalho de produtividade interna e compreensão dos blocos de construção fundamentais para nossa experimentação e ajuste. A Figura 1 mostra diversas oportunidades diferentes de pesquisa que temos, que envolvem ingestão de eventos, passagem de dados por meio de prompts personalizados e geração de diferentes classes de conteúdo projetadas para diferentes fluxos de trabalho do Elastic.
Figura 1: Casos de uso de segurança GenAI
Basicamente, exploramos diversas abordagens tradicionais de ML, mas, no final das contas, focamos em começar de forma simples e aumentar gradualmente a complexidade, mantendo em mente estas ferramentas e conceitos:
- Comece de forma simples - Um mantra que orientou nossa abordagem.
- Azure OpenAI - Acesso ao GPT-4 LLM
- Prompt Engineering - Desenvolvimento de instruções personalizadas para o LLM.
- LangChain - Biblioteca Python para ajudar a criar aplicativos LLM.
Um dos nossos objetivos é otimizar os fluxos de trabalho dos engenheiros de detecção da Elastic, permitindo maior foco em melhores detecções e, ao mesmo tempo, mostrando a profundidade e as nuances de nossas linguagens de consulta. No caminho, passamos um tempo experimentando para validar nossos prompts e prepará-los para uso operacional. Queremos ter certeza de que, ao iterarmos em nossos prompts, não introduziremos regressões acidentalmente. À medida que surgem avanços na IA, pretendemos que nosso T&E garanta que quaisquer ajustes, sejam eles ajustes finos, substituições de modelos ou modificações imediatas, sejam deliberados. Em última análise, queremos que nossos analistas utilizem perfeitamente os recursos mais recentes do AIML, aplicando os prompts ou técnicas de ML mais adequados no contexto certo.
Com esses objetivos em mente, nosso primeiro caso de uso de pesquisa em maio se concentrou na geração de consultas. Aprendemos rapidamente que, com o mínimo de dados e engenharia rápida, poderíamos encadear uma série de prompts para transformar eventos Elastic brutos em consultas EQL.
Figura 2: POC de geração de consulta
Para fins de experimentação, simulamos atividades suspeitas usando nossos scripts Red Team Automation (RTA) e capturamos a atividade do endpoint no SIEM por meio do Elastic Agent. A Figura 2 exibe eventos de amostra da pilha Elastic, exportados para arquivos de teste gold.json, que incluíam os campos de eventos essenciais para geração de consulta.
Em seguida, pedimos ao GPT para analisar a coleta de eventos abrangendo a janela de tempo de execução do RTA e se concentrar em eventos com comportamento suspeito. Em nosso POC, o prompt nos pediu para identificar valores-chave vinculados a possíveis anomalias. Em seguida, seguimos com instruções subsequentes para dividir os eventos e resumir todas as atividades. Com base em todos os resumos, pedimos ao GPT para gerar uma lista de indicadores, sem se concentrar em valores específicos. Com essa pequena lista de comportamentos suspeitos, pedimos ao GPT para gerar a consulta. Uma vantagem significativa do nosso desenvolvimento de código aberto de longo prazo é que os modelos relacionados ao GPT estão familiarizados com o conteúdo do Elastic e, portanto, nos beneficiamos por não precisarmos ajustar demais nossos prompts.
Embora passar de dados brutos para uma consulta EQL fosse conceitualmente simples, ainda encontramos pequenos problemas, como a disponibilidade do serviço com o Azure OpenAI. Foi relativamente barato, estimamos que custaria cerca de US$ 160 por semana para usar as APIs de inferência e incorporação do OpenAI e do Azure OpenAI. Também exploramos o uso do GCP Vertex AI Workbench para facilitar o trabalho colaborativo em notebooks Jupyter, mas a complexidade de usar os modelos de código aberto (OSS) disponíveis tornou-os desafiadores de usar durante a curta ONWeek.
Figura 3: Principais resultados da ONWeek de maio 2023
Usamos o ONWeek para amadurecer nosso roteiro, expandindo além das implementações de pesquisa vetorial baseadas em biblioteca na memória para armazenamentos de dados mais eficientes, escaláveis e prontos para produção do nosso conteúdo de regras de detecção no Elasticsearch. Com base em nossos resultados iniciais, entendemos o potencial e a viabilidade da integração do GenAI no fluxo de trabalho do analista (por exemplo, permitindo seleção de janela de tempo de evento, geração de consulta e adição de linha de tempo). Com base nessas primeiras vitórias, colocamos em nosso roteiro interno planos para prosseguir com a P&D de LLM e decidimos abordar um de nossos fluxos de trabalho de produtividade interna.
Um Novo Horizonte: Gerando Guias de Investigação
Ao longo dos anos, o Elastic Security Labs amadureceu seu conteúdo. Começando em 2020 adicionando o recurso de segurança do Guia de investigação e padronizando esses guias em 2021. Até 2023, com mais de 900 regras em vigor, buscaremos ativamente uma maneira eficiente de gerar guias altamente precisos, detalhados e padronizados para todas as mais de 900 regras pré-criadas.
Combinando abordagens tradicionais de ML (como pesquisa de vetores de similaridade) com nosso molho especial de engenharia rápida, nossa equipe criou um novo protótipo centrado na geração de guias de investigação chamado Rulecraft. Agora, com apenas uma ID de regra em mãos, nossos autores de regras podem gerar uma solução de guia de investigação de base em poucos minutos!
Figura 4: Guia de investigação de exemplo
Nesta exploração inicial, fornecemos regras de detecção, mas limitamos a entrada a alguns campos das regras, como a descrição e o nome do GPT. Também tentamos fornecer a consulta, mas ela pareceu não corresponder ao resultado esperado que desejávamos. Inicialmente, fornecemos um prompt simples com esses campos para avaliar o quão bem o GPT poderia gerar um guia de investigação decente com o mínimo de esforço. À medida que exploramos mais profundamente, ficou evidente que poderíamos nos beneficiar do encadeamento de vários prompts, semelhante ao que fizemos durante o experimento de geração de consultas EQL. Então, passamos um tempo criando prompts adaptados a seções distintas do guia de investigação. Segmentar os prompts não apenas nos deu maior flexibilidade, mas também abordou áreas onde o GPT falhou, como a seção "Regras relacionadas", onde o GPT tendia a apresentar mais alucinações. Em momentos como esse, usamos métodos tradicionais de ML, como pesquisa por similaridade, e integramos nossas regras em um banco de dados vetorial para melhor contexto.
Em seguida, identificamos oportunidades para injetar contexto adicional em seções específicas. Para garantir uniformidade em nossos guias, selecionamos uma biblioteca de conteúdo e linguagem aprovados para cada segmento. Essa biblioteca então orientou o GPT na geração e formatação de respostas semelhantes às nossas mensagens padrão estabelecidas. Em seguida, comparamos os guias produzidos pela GenAI com suas versões criadas manualmente para identificar outras discrepâncias de formatação, erros gerais introduzidos pelo GPT e até mesmo problemas mais amplos com nossos prompts.
Com base nessas descobertas, optamos por melhorar o conteúdo gerado ajustando os prompts em vez de usar técnicas de pós-processamento, como formatação de strings. Embora os guias de investigação automatizados não sejam perfeitos, eles oferecem aos nossos engenheiros de detecção um ponto de partida sólido. No passado, os guias de investigação aprimoravam nosso processo de revisão por pares de RP, fornecendo ao revisor mais contexto sobre o comportamento esperado das regras. Agora podemos gerar o guia base, ajustá-lo e adicionar mais detalhes conforme necessário pelo engenheiro de detecção, em vez de começar do zero.
Para levar esse recurso diretamente aos nossos engenheiros de detecção, integramos o Rulecraft a um fluxo de trabalho de ação do GitHub, para que eles possam gerar guias sob demanda. Também produzimos mais de 650 guias adicionais em apenas 13 horas, uma tarefa que tradicionalmente levaria meses. A automação nos permite fazer pequenos ajustes e regenerar rapidamente o conteúdo base para regras que não possuem guias de investigação. Novamente, esses guias ainda estão sujeitos à nossa rigorosa revisão interna, mas o tempo e o esforço economizados ao utilizar o GenAI para nossos rascunhos preliminares são incríveis.
Mapeando o futuro: próximos passos
Nossa jornada de pesquisa e desenvolvimento continua, com foco central em refinar nossa abordagem para geração de conteúdo com LLMs e validar nossos resultados de forma mais completa. Aqui está uma pequena lista de nossas prioridades agora que exploramos a viabilidade e a eficácia da integração de LLMs em nosso fluxo de trabalho de engenharia de detecção:
- Compare modelos proprietários com os modelos de código aberto mais recentes
- Refine ainda mais nosso processo de experimentação, incluindo filtragem de eventos, otimização de prompts e exploração de vários parâmetros do modelo
- Crie um conjunto de testes para validar nossos resultados e evitar regressões.
- Integre perfeitamente nossos avanços em P&D ao Elastic AI Assistant.
No geral, queremos aumentar drasticamente a cobertura do nosso guia de investigação e reduzir o tempo gasto para criar esses guias do zero. Cada guia de investigação fornece aos analistas instruções detalhadas e passo a passo, além de consultas para triagem de alertas. Com uma mentalidade que coloca o cliente em primeiro lugar na vanguarda do nosso código-fonte, pretendemos elevar a experiência do analista com mais guias de investigação de qualidade ainda maior, o que se traduz em menos tempo gasto por nossos clientes em análise de FP e triagem de alertas.
Resumo
Mantendo o espírito de nossa inovação aberta e transparência, o Elastic Security Labs iniciou nossa jornada de IA generativa para aumentar a produtividade de nossos processos de detecção de ameaças. Nossos esforços continuam a evoluir e incorporar engenharia rápida e abordagens tradicionais de ML caso a caso, resultando em mais provas de conceito de P&D, como "LetmeaskGPT" e "Rulecraft". O último POC reduziu significativamente o tempo necessário para elaborar guias de base, melhorou a experiência do analista e reduziu análises de falsos positivos. Há muito mais a fazer e queremos incluir você em nossa jornada! Embora tenhamos feito progressos, nossos próximos passos incluem maior refinamento, desenvolvimento de uma estrutura para validar rigorosamente nossos resultados e exploração de oportunidades para operacionalizar nossa P&D, garantindo que permaneçamos na vanguarda dos avanços em segurança.
Estamos sempre interessados em ouvir casos de uso e fluxos de trabalho como esses, então, como sempre, entre em contato conosco por meio de problemas do GitHub, converse conosco em nossa comunidade Slack e faça perguntas em nossos fóruns de discussão!
Além disso, sinta-se à vontade para conferir estes recursos adicionais para saber mais sobre como estamos trazendo os mais recentes recursos de IA para as mãos do analista:
- Aprenda a usar o ChatGPT de forma responsável com o Elasticsearch
- Conheça o novo Elastic AI Assistant — o companheiro de IA aberto e generativo com tecnologia ESRE e faça a configuração