Pular para o conteúdo principal

Investigar com o Genie

info

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:

  1. Planeja a investigação. O Genie apresenta um plano curto antes de fazer uma execução de qualquer coisa, incluindo algumas explicações benignas para testar juntamente com a maliciosa, para que você possa seguir seu raciocínio.
  2. Coleta contexto. O Genie lê a regra de detecção que produziu o alerta, revisa quantas vezes essa regra foi acionada antes para avaliar quão ruidosa ela é e examina os sinais no alerta.
  3. Investiga as evidências. O Genie realiza a execução de queries em seus dados de segurança para testar cada explicação, girando nas entidades do alerta, como usuários, endereços IP e hosts.
  4. Chega a um veredito. O Genie classifica o alerta como um verdadeiro positivo, falso positivo ou positivo benigno, com base nas evidências coletadas.
  5. Atualiza o alerta. O Genie publica um comentário de investigação e define a classificação, o estado e o responsável pelo alerta.

Triagem de um alerta​

Para triar um alerta de segurança com o Genie:

  1. Vá para Explorar > Alertas e abra o alerta de segurança que você deseja investigar.
  2. 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.
  3. 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.
  4. Revise o veredito e o comentário que o Genie adiciona ao alerta. O Genie define a classificação, o estado e o responsável com base nas suas descobertas; portanto, confirme se eles correspondem à sua avaliação antes de fechar o alerta.

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.

O Genie também define a classificação , o estado e o atribuído do alerta e salva a conversa de triagem no alerta para que você possa reabri-lo mais tarde para analisar 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
  • Tabelas do sistema como signals e operational_alerts
  • Tabela de inteligência de ameaças
nota

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 usa o Apache Spark para executar regras de detecção em um agendamento fixo.

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 rastreados quanto ao status de segurança.
  • Regra de detecção: uma query SQL salva que pesquisa padrões específicos nos dados de eventos.
  • 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 do Lakeflow Connect.

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.

Contexto do feed de inteligência de ameaças:

  • A tabela mitre_enterprise_attack_gold contém feeds de ameaças recentes. Os usuários podem usar esta tabela para entender as ameaças que eles devem considerar.
dica

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​

Assim que seu agente estiver configurado, 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 mitre_enterprise_attack_gold, sobre 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 mitre_enterprise_attack_gold, com quais ameaças devo me preocupar?"

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 revisar todas as atividades do IP 5.161.151.88?”

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

Consulta

O que o Genie retorna

"Quais ameaças devo considerar?"

Resumo das ameaças ativas, puxando de sinais

"Usando a tabela mitre_enterprise_attack_gold, com quais ameaças devo me preocupar?"

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 revisar todas as atividades do IP 5.161.151.88?”

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 contra 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 o atrito. Uma vez que a tabela de inteligência de ameaças esteja documentada nas instruções do Genie, os analistas podem fazer perguntas em linguagem natural sem especificar nomes de tabela.
  • Itere sobre as instruções. Se o Genie extrair informações constantemente da fonte errada, refine suas instruções para ser mais explícito sobre qual tabela deve ser usada 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.

dica

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

Queries 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 tabelas 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"

Descubra fontes de dados

  • "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?"

Escrever SQL de detecção

Tipos de lógica de detecção diferentes:

  • "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 queries existentes:

  • "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 query

  • "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"

Configurar programar e 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 usar compute automático ou dedicado?”

Trabalhe com 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"

Aprenda sobre 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?”

Criar fluxos de trabalho de múltiplas 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

  • “Adicionar um novo campo chamado 'is_admin' que é verdadeiro quando a função contém 'admin'”
  • "Renomeie a coluna 'userId' para 'user_id'"
  • "Converta o campo 'timestamp' para o tipo TIMESTAMP adequado"
  • "Criar um campo compute para o nome completo do usuário a partir do primeiro e último nomes"

Filtrar dados

  • "Filtrar endereços IP internos"
  • "Incluir apenas registros onde o status é 'sucesso'"
  • "Excluir registros com valores nulos no campo 'user_id'"

join e enriquecer dados

  • "join ao nosso diretório de usuários para enriquecer com informações de departamento"
  • "Adicionar dados de reputação de IP de uma tabela de referência externa"
  • "Como configuro um join com outra tabela do Unity Catalog?"

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 a preservação de coluna

  • "Preservar todas as colunas não referenciadas da tabela bruta"
  • "Incorporar colunas não referenciadas em uma única coluna"
  • "Omitir colunas que não estão mapeadas explicitamente"

Validar e pré-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?"

Entender as opções de configuração

  • "Explique a diferença entre addTables e modifyTables"
  • “O que 'unreferencedColumns.preserve' faz?”
  • “Como funcionam as junções estáticas em enriquecimentos?”

Outros recursos​