Investigar com o Genie
Visualização
O Lakewatch está em Pré-visualização privada. Para solicitar acesso, entre em contato com a equipe da sua conta da Databricks.
Databricks Genie traz assistência de dados em linguagem natural para o Lakewatch. Você usará principalmente duas partes da família Genie:
- Genie Code é um assistente de AI integrado em toda a interface do Lakewatch. Use-o para obter ajuda rápida e contextual: escrever SQL, criar regras de detecção e explorar fontes de dados. Clique em Genie no menu esquerdo, ou no ícone Genie no canto superior direito, para abri-lo ao lado de qualquer página.
- Genie Agents (anteriormente Genie spaces) são ambientes dedicados para investigações profundas e de várias etapas alimentadas pelo Genie Research Agent.
Esta página aborda o uso de ambos para fluxos de trabalho de segurança do Lakewatch. Para saber o que é o Genie, como é cobrado e sua configuração geral, siga os links acima.
Triagem de alertas com o Genie
O Genie pode fazer a triagem de um alerta de segurança para você na página de detalhes do alerta. Ao selecionar Fazer triagem com o Genie em um alerta, o Genie trabalha como um analista sênior: ele cria um plano de investigação, reúne o contexto e as evidências relevantes, chega a um veredito e atualiza o alerta com suas conclusões.
O botão Triagem com Genie está disponível apenas em alertas de segurança. Não aparece em erros do sistema.
Como o Genie tria um alerta
Quando você pede ao Genie para fazer a triagem de um alerta de segurança, ele percorre as seguintes fases:
- Planeja a investigação : o Genie apresenta um plano curto antes da execução de qualquer coisa, incluindo algumas explicações benignas para testar juntamente com a maliciosa, para que você possa acompanhar o seu raciocínio.
- Coleta contexto : o Genie lê a regra de detecção que produziu o alerta, revisa com que frequência essa regra foi disparada antes para medir quão barulhenta ela é e examina os sinais no alerta.
- Investiga as evidências : o Genie executa consultas nos dados de segurança para testar cada explicação, focando nas entidades do alerta, como usuários, endereços IP e hosts.
- Chega a um veredito : o Genie classifica o alerta como positivo verdadeiro, positivo falso ou positivo benigno, com base nas evidências coletadas. Se a evidência for insuficiente, o Genie informará isso e não alterará a classificação e o estado do alerta.
- Atualiza o alerta : com sua aprovação, o Genie publica um comentário de investigação, define a classificação e o estado do alerta e atribui o alerta a você.
Triagem de um alerta
Para triar um alerta de segurança com o Genie:
- Vá para Explorar > Alertas e abra o alerta de segurança que você deseja investigar.
- Selecione Triagem com Genie na parte superior do alerta. O Genie abre e começar a investigação. Se você já fez a triagem deste alerta antes, o botão lê Retomar triagem e reabre a investigação anterior.
- Revise o plano que o Genie propõe e acompanhe enquanto ele reúne contexto e faz a execução de suas queries de investigação.
- Revise o veredito. O Genie solicita sua aprovação antes de adicionar seu comentário ao alerta e novamente antes de definir a classificação e o estado e atribuir o alerta a você. Aprove cada alteração apenas se ela corresponder à sua avaliação.
O que o Genie produz
O Genie registra sua investigação como um comentário no alerta, estruturado para um leitor que não fez a execução das queries:
- Resumo : O veredito e a principal causa raiz, em algumas frases.
- Avaliação : A classificação (verdadeiro, falso ou positivo benigno) e o estado resultante do alerta.
- Evidências baseadas em risco : uma tabela de cada constatação que influenciou o veredito, com o período e os dados dos quais ela veio.
- Avaliação da qualidade da detecção : uma avaliação da regra que foi acionada, incluindo qualquer lacuna que tenha causado um falso positivo e uma correção recomendada.
- Os passos seguintes : ações de acompanhamento recomendadas, separadas em trabalho imediato e adiado.
Após a sua aprovação, o Genie também define a classificação e o estado do alerta e atribui o alerta a si. O Genie salva a conversa de triagem no alerta para que possa reabri-lo mais tarde para revisar ou continuar a investigação.
Limitações
- A execução ocorre apenas em alertas de segurança. O botão Triagem com Genie não está disponível em erros do sistema.
- O Genie precisa de um SQL warehouse em execução para ler os eventos do alerta e executar suas queries de investigação.
- O Genie gira em torno dos sinais do alerta e das entidades que eles referenciam, como usuários, endereços IP e hosts.
Configure um Genie Agent para inteligência de ameaças
O Genie Research Agent (RA) analisa feeds de inteligência contra ameaças e revela possíveis ameaças dos seus dados de segurança. Esta seção percorre a configuração de um Genie Agent para fluxos de trabalho de inteligência contra ameaças do Lakewatch.
Pré-requisitos
- Tabelas analisadas inseridas e disponíveis em seu catálogo
- Um feed de inteligência contra ameaças carregado no Databricks (por exemplo, um feed TAXII/STIX mapeado para uma tabela)
- Research Agent habilitado para seu workspace
O passo 1: Criar um Genie Agent com seus dados de segurança
Criar um Genie Agent e conectar os dados que deseja que o Genie query:
- Todas as tabelas analisadas relevantes
- A view
signalsno schema__lakewatchdo seu catálogo - A tabela system
system.lakewatch.system_events - Tabela de inteligência de ameaças
Um Genie Agent suporta no máximo 30 tabelas. Para ambientes maiores, crie agentes específicos por tópico (por exemplo, “Endpoint RA”).
O passo 2: Ligar o Research Agent
Em seu novo Genie Agent, altere o modo de query de Chat para Research Agent . Isso permite que o Genie execute análises de várias etapas em seus dados em vez de responder a perguntas únicas.
Passo 3: Adicionar instruções
Boas instruções ajudam o Genie a entender seu modelo de dados e onde procurar ao responder a perguntas. Acesse Configurar > Instruções > Texto e adicione um contexto que cubra as seguintes áreas.
Orientações gerais:
- Foque as queries nas tabelas analisadas, a menos que o usuário solicite explicitamente sobre dados brutos.
- O Lakewatch executa regras de detecção conforme um agendamento.
Terminologia principal:
- Sinal : um alerta gerado quando uma regra de detecção corresponde às suas condições.
- Entidade : Usuários, hosts, aplicações ou dispositivos de rede.
- Ativo : recursos protegidos monitorados quanto ao status de segurança.
- Regra de detecção : Uma query SQL salva que pesquisa dados de eventos em busca de padrões específicos.
- Fonte de dados : Um pipeline de dados que ingere dados de segurança de fontes externas (por exemplo, AWS CloudTrail, Akamai WAF), tabelas existentes do Unity Catalog ou conectores de API.
Contexto do esquema:
- As tabelas analisadas incluem os campos declarados por você, além das colunas gerenciadas pelo Lakewatch (
lw_id,lw_meta,lw_observables). - Níveis de gravidade: 1=Informativo, 2=Baixo, 3=Médio, 4=Alto, 5=Crítico, 6=Fatal.
Na instrução a seguir, substitua <threat-intel-table> pelo nome da sua tabela de inteligência de ameaças.
Contexto do feed de inteligência de ameaças:
- A tabela
<threat-intel-table>contém feeds de ameaças recentes. Os usuários podem usar esta tabela para entender as ameaças que eles devem considerar.
Nomear explicitamente a tabela de inteligência contra ameaças em suas instruções é importante. Sem esse contexto, o Genie pode responder a perguntas sobre ameaças usando outras tabelas (como sinais) em vez de seu feed de inteligência.
O passo 4: query ameaças
Depois de configurar seu agente, faça perguntas ao Genie sobre seu cenário de ameaças.
Se o Genie não fizer referência à sua tabela de inteligência de ameaças automaticamente, faça um dos seguintes:
- Nomeie explicitamente a tabela em sua pergunta: "Usando a tabela
<threat-intel-table>, de quais ameaças devo me preocupar?" - Adicione instruções apontando o Genie para a tabela para query relacionadas a ameaças (consulte a Etapa 3).
Exemplos de query
Consulta | O que o Genie retorna |
|---|---|
"Quais ameaças devo considerar?" | Resumo das ameaças ativas, puxando de sinais |
“Usando a tabela | Análise das técnicas do MITRE ATT&CK, grupos de atores de ameaças e famílias de malware do seu feed de inteligência |
"Existem novas ameaças que devo considerar ou procurar?" | Padrões de ataque atualizados recentemente, famílias de malware emergentes e campanhas ativas |
“Encontre lacunas de cobertura de detecção para táticas de comando e controle.” | Análise de lacunas nas táticas MITRE ATT&CK |
“Você pode analisar toda a atividade do IP 203.0.113.42?” | Resumo da investigação de uma entidade específica |
"Explique o que aconteceu com a desfiguração do bucket S3 corporativo." | Resumo de ataque em fases com próximos os passos |
Solução de problemas
O Genie não está usando a tabela de inteligência de ameaças
Adicione instruções explícitas na configuração do Genie Agent apontando para o nome da tabela e seu propósito. O Genie usa por default a tabela que parece mais relevante para a pergunta. Sem uma dica, ele pode usar sinais em vez disso.
O feed de inteligência de ameaças não está no Databricks
O feed precisa ser ingerido e estruturado como uma tabela antes que o Genie possa fazer uma query nele. Uma tabela de cluster líquido que mapeia 1:1 para os campos de arquivo TAXII é a abordagem recomendada.
Dicas para obter melhores resultados
- Seja específico em seus prompts : Nomear a tabela diretamente melhora a relevância.
- Use instruções para reduzir atritos : após documentar a tabela de threat intel nas instruções do Genie, os analistas podem fazer perguntas em linguagem natural sem especificar nomes de tabelas.
- Iterar nas instruções : Se o Genie extrair consistentemente da fonte errada, refine suas instruções para ser mais explícito sobre qual tabela usar para qual tipo de pergunta.
- Para saber mais sobre a criação e ajuste de agentes, consulte Criar e gerenciar um Genie Agent.
Exemplos de prompts do Genie Code
O Genie Code pode ajudar a escrever queries SQL, criar regras de detecção, explorar fontes de dados e muito mais. Os exemplos de prompts abaixo estão organizados por caso de uso.
Para fazer a triagem passo a passo de um alerta de segurança com o Genie, consulte Fazer a triagem de alertas com o Genie.
Geral
Mostrar prompts gerais
query SQL:
- "Execute esta query SQL: SELECT * FROM my_table LIMIT 10"
- "Execute uma query para contar as linhas na tabela de autenticação"
- "Mostre-me o esquema desta tabela"
- “Fazer uma query da última hora de dados de tráfego de rede”
Descoberta de tabela e esquema:
- "Pesquisar todas as tabelas com 'user' no nome"
- "Localizar tabelas no catálogo de segurança"
- "Quais colunas a tabela http_activity possui?"
- “Mostrar-me tipos de dados para todos os campos desta tabela”
- "Listar todos os catálogos e esquemas disponíveis"
Pesquisa de ativos:
- "Localizar volumes do Unity Catalog com dados confidenciais"
- "Pesquisar painéis relacionados ao monitoramento de segurança"
- "Localizar Notebooks que query logs de autenticação"
Pesquisa de documentação:
- "Pesquisar na documentação sobre funções de data do Spark SQL"
- "Como faço para usar funções de janela no Databricks?"
- "Encontrar documentação sobre viagem do tempo no Delta Lake"
Detecção
Use esses prompts ao criar e gerenciar regras de detecção.
Mostrar prompts de detecção
Descreva o que você deseja detectar:
- "Quero detectar a exfiltração de dados da nossa rede"
- "Criar uma regra para encontrar usuários acessando arquivos confidenciais que eles não deveriam"
Descobrir tabelas:
- "Quais tabelas contêm eventos de autenticação?"
- "Mostre-me dados de exemplo da tabela network_activity"
- "Quais campos estão disponíveis na tabela de autenticação?"
Escreva SQL de detecção para diferentes tipos de lógica de detecção:
- "Escreva SQL para detectar IPs com mais de 100 logins falhos em uma hora" (limite)
- "Detectar usuários com contagens de login incomuns em comparação com sua linha de base" (anomalia)
- " Detectar quando um usuário faz login em um host pela primeira vez" ( visto pela primeira vez)
- "Detectar usuários fazendo login de vários países em um intervalo de 2 horas" (geoanomalia)
- "Detectar consultas de banco de dados executadas após a meia-noite" (baseado em tempo)
Modificar o SQL de detecção existente:
- "Adicionar um filtro para excluir account de serviço"
- "Aumentar o limite para reduzir o ruído"
- "Combine isso com a filtragem fora do horário comercial"
Testar e depurar queries:
- "Execução esta query de detecção e me mostre os resultados"
- “A query não retorna resultados, ajude-me a depurar”
- "Esta query é muito lenta, ajude-me a otimizá-la"
- "Isso gera muitos falsos positivos, como posso ajustá-lo?"
Mapear para MITRE ATT&CK:
- "Quais técnicas MITRE se aplicam a ataques de força bruta?"
- "Mapeie essa detecção para as táticas e técnicas apropriadas"
- "Mostre-me detalhes sobre a técnica T1078"
Definir saída de sinal:
- “Escreva um padrão de resumo para este alerta”
- "Quais campos de contexto devo incluir?"
- "Mostre-me como o alerta fica com dados de amostra"
Configure programar e o compute:
- "Configure isso para execução a cada 15 minutos"
- "Configure uma verificação diária de compliance às 2 da manhã"
- "Execução isso apenas durante o horário comercial para economizar custos"
- "Devo execução esta regra em compute Serverless ou em um SQL Warehouse?"
Trabalhar com as regras existentes:
- "Mostrar-me a configuração para a regra 'Login de Força Bruta'"
- "Listar todas as regras de detecção neste workspace"
- "Modificar o limite na regra existente"
Saiba mais sobre os conceitos de detecção:
- “Explique como funciona a detecção de limite”
- "Qual é a diferença entre a detecção de anomalia e a de limite?"
- “Quais são as implicações de custo de diferentes programar?”
Crie fluxos de trabalho de várias etapas:
- "Criar uma detecção completa de força bruta a partir do zero"
- "Criar uma correlação entre logins com falha e escalonamento de privilégios"
Solucionar problemas de detecções:
- "Por que esta deteção não está a ser Trigger?"
- "Validar se todos os nomes de campo existem no esquema"
- "A linha de base está errada, como posso reconstruí-la?"
Query
Use esses prompts na página de query.
Mostrar prompts de query
Explorar dados:
- "Quantas linhas existem na tabela bruta da fonte de dados Okta?"
- "Mostre-me o esquema de tabela analisado para AWS CloudTrail"
- "Compare as contagens de linhas entre as tabelas brutas e analisadas para a fonte de dados crowdstrike_events"
- "Mostre-me os últimos 10 eventos da tabela analisada do Crowdstrike"
Refinar resultados:
- "Filtrar esses resultados para mostrar apenas eventos dos EUA."
- "Adicionar uma coluna que calcula a pontuação de risco"
- “Remover linhas onde o status é 'teste'”
- "Agrupar esses resultados por usuário e contar eventos"
- “Classificar pela coluna de timestamp de forma decrescente”
Otimizar queries:
- "Esta query está demorando muito. Como posso acelerá-la?"
- "Ele retornou 5 milhões de linhas. Como faço para reduzir isso?"
- "Essa query é eficiente?"
- "Como posso otimizar este JOIN?"
- "Ajude-me a corrigir o erro da query"
Interpretar resultados:
- “O que esses resultados me dizem?”
- "Existem padrões nestes dados?"
- "Resuma o que estou vendo"
- "O que devo investigar com base nisso?"
Fonte de dados
Use estes prompts ao configurar e gerenciar fontes de dados.
Mostrar prompts de origem de dados
Avaliar a qualidade dos dados:
- "Mostre-me um resumo da qualidade dos meus dados"
- "Existem colunas com valores maioritariamente nulos?"
- "Qual é a distribuição de valores na coluna 'event_type'?"
- "Analise o esquema bruto e mostre-me quais colunas existem"
- "Quais colunas têm dados JSON que precisam de extração?"
Diagnosticar erros:
- "Por que minha visualização de fonte de dados falhou?"
- "A pré-visualização retornou um erro, ajude-me a depurar"
- "Estou recebendo um erro de 'coluna não existe', o que há de errado?"
Extrair campos JSON:
- “Aplanar o objeto JSON 'user' em colunas separadas”
- "Extrair campos da coluna JSON 'metadata'"
- “Preservar a coluna JSON original após a extração”
- "Adicionar um prefixo aos campos JSON extraídos"
Transformar campos:
- "Renomeie a coluna 'userId' para 'user_id'"
- "Converta o campo 'timestamp' para o tipo TIMESTAMP adequado"
Filtrar dados:
- "Filtrar endereços IP internos"
- "Incluir apenas registros onde o status é 'sucesso'"
- "Excluir registros com valores nulos no campo 'user_id'"
Criar e modificar tabelas:
- "Criar uma nova tabela analisada apenas para eventos de autenticação"
- "Divida os dados brutos em tabelas separadas por event_type"
- "Adicionar uma tabela personalizada com apenas campos específicos"
- "Modificar a tabela 'security_events' existente para adicionar um novo campo"
Configurar preservação de coluna:
- "Preservar todas as colunas não referenciadas da tabela bruta"
- "Omitir colunas que não estão mapeadas explicitamente"
Validar e visualizar:
- "Validar esta expressão de campo antes de aplicá-la"
- “Pré-visualizar os resultados da transformação”
- "Mostrar dados de amostra após aplicar essas alterações"
Obter recomendações:
- “Meus dados parecem confusos, quais transformações você recomenda?”
- "Há algum problema de qualidade de dados que eu deva resolver?"
- "Qual é a melhor maneira de lidar com essa coluna de alta taxa de nulos?"