Criar extensões do analisador com o Gemini

Compatível com:

Este guia explica como os analistas de segurança e os engenheiros de detecção podem usar comandos em linguagem natural para aumentar os analisadores de registro padrão. Com o recurso de extensão do analisador de IA, é possível extrair rapidamente outros campos, aplicar lógica condicional e mapear registros brutos para o modelo de dados unificado (UDM, na sigla em inglês) sem escrever uma sintaxe de analisador complexa ou expressões regulares.

Quando um analisador de registro padrão no Google SecOps analisa sua origem de registro, ele pode omitir atributos personalizados específicos do cliente, campos opcionais ou telemetria especializada. O recurso de extensão do analisador de IA permite fazer o seguinte:

  • Extrair outros campos de registros brutos e mapeá-los para campos UDM padrão ou additional.fields personalizados.
  • Aplicar lógica condicional e transformações de valor, como mapear ações de string para tipos enumerados de UDM.
  • Refinar as extensões geradas de forma interativa em sessões de conversa multiturno sem começar do zero.

Terminologia importante

  • Modelo de dados unificado (UDM): a estrutura de dados padrão usada no Google SecOps para armazenar e analisar dados de registro.

Antes de começar

Antes de começar, confirme se os seguintes pré-requisitos foram atendidos:

  • Cotas de uso:é possível executar no máximo 10 sessões de geração de extensão do analisador de IA por janela de 24 horas, com até 5 mensagens por sessão.

Práticas recomendadas para criar comandos

Para receber extensões de analisador precisas na primeira tentativa, siga estas diretrizes de comando:

  1. Especifique a origem e o destino explicitamente:declare claramente qual parte do registro bruto será extraída e qual caminho de campo UDM exato ela preenche, por exemplo, principal.ip, target.user.email_addresses ou security_result.action.
  2. Use aspas para literais de correspondência exata:ao se referir a strings literais, delimitadores ou valores de amostra em registros não estruturados, coloque-os entre aspas, por exemplo, "198.51.100.0" ou "allow".
  3. Processar campos personalizados usando additional.fields: para atributos proprietários ou específicos do fornecedor que não têm um campo UDM dedicado, instrua a IA a mapeá-los para additional.fields com um nome de chave claro, por exemplo, additional.fields["application"].

Gerar uma extensão do analisador

É possível iniciar o fluxo de trabalho da extensão do analisador em um dos seguintes locais no Google SecOps:

  • Página de configurações dos analisadores:acesse a página Analisadores para selecionar e estender qualquer analisador de registro existente.
  • Página de pesquisa:ao investigar registros na página Pesquisa, abra o fluxo de criação de extensão diretamente de um evento com campos não analisados.

Para gerar uma extensão do analisador na página de configurações Analisadores, siga estas etapas:

  1. No Google SecOps, acesse a página de configurações Analisadores.
  2. Pesquise o tipo de registro que você quer estender.
  3. Clique no menu ao lado do analisador e selecione a opção para estendê-lo.
  4. No campo REGISTRO BRUTO, cole um exemplo do registro que você quer analisar.
  5. Na seção Método de extensão, selecione a guia Gerar com IA.
  6. No campo de comando, insira uma descrição em inglês simples da extração.
  7. Clique em Confirmar.

    O sistema gera o código de extensão e atualiza a saída do UDM.

Refinar a extensão do analisador

É possível criar e refinar a extensão do analisador de forma iterativa em sessões de conversa multiturno. Quando você envia um comando de acompanhamento, a IA aplica suas novas instruções na extensão gerada anteriormente. Os mapeamentos e a lógica condicional das conversas anteriores são preservados automaticamente, a menos que você peça explicitamente para substituí-los ou removê-los.

  1. No campo de comando, insira uma instrução de acompanhamento para ajustar o código gerado.
  2. Clique em Confirmar.
  3. Após cada comando, visualize o código de extensão gerado, inspecione as saídas de UDM de amostra e confirme ou ajuste a lógica.

O fluxo de trabalho de exemplo a seguir mostra como o refinamento iterativo cria uma extensão do analisador em várias conversas:

  1. Conversa 1 (extração inicial):
    • Comando do usuário: "Extract source IP '198.51.100.0' to principal.ip and destination IP '198.51.100.1' to target.ip."
    • Resultado:a IA gera um mapeamento de extensão principal.ip e target.ip.
  2. Conversa 2 (mapeamento aditivo):
    • Comando do usuário: "Also map virtual system string 'vsys1' to observer.administrative_domain."
    • Resultado:a IA atualiza a extensão para mapear observer.administrative_domain, mantendo os mapeamentos de IP da conversa 1.
  3. Conversa 3 (refinamento condicional):
    • Comando do usuário: "In addition, map action string 'allow' to security_result[0].action as ALLOW."
    • Resultado:a IA incorpora o mapeamento de enumeração de ação condicional em todas as extrações anteriores.

Validar a extensão do analisador

  1. Clique em Validar.
  2. Analise as métricas de validação após a conclusão do processo.

Acessar informações de referência

Use os exemplos a seguir para criar comandos precisos.

Comandos de registros estruturados

Para registros estruturados em que os dados são organizados em chaves, atributos ou tags XML nomeadas, especifique os nomes ou caminhos dos campos no comando.

Exemplo de registro estruturado: 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"
  }
}

Exemplos de comandos para registros estruturados

Instrução de comando Campo ou chave de origem Campo 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

Comandos de registros não estruturados

Para registros não estruturados, especifique valores literais diretamente do registro de amostra, referências posicionais ou rótulos descritivos.

Exemplo de mensagem syslog não estruturada

<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

Exemplos de comandos para registros não estruturados

Instrução de comando Valor literal ou descrição de amostra Campo 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 no registro network.sent_bytes, network.received_bytes

Comandos de lógica condicional

Descreva a lógica condicional para normalizar valores de registro brutos para enumerações UDM específicas.

  • Normalização de enumeração: "If the firewall action in the log is 'allow', set security_result.action to ALLOW; otherwise set security_result.action to BLOCK."
  • Mapeamento de campo condicional: "If the protocol is 'icmp', map the ICMP type and code into network.icmp.type and network.icmp.code."
  • Mapeamento de status "When the log status contains 'success' or '0', set security_result.severity to INFO; if it contains 'error', set it to ERROR."

Limites de uso

Para manter o desempenho ideal e a disponibilidade de recursos, o recurso de extensão do analisador de IA aplica as seguintes cotas de uso:

  • 10 sessões por 24 horas:cada cliente recebe um máximo de 10 sessões de geração de extensão do analisador de IA por janela de 24 horas.
  • 5 mensagens por sessão:em uma única sessão, é possível enviar até 5 mensagens, incluindo o comando inicial e as conversas de refinamento subsequentes, para criar e refinar a extensão do analisador.

Se você atingir o limite de mensagens da sessão, poderá salvar a extensão atual ou iniciar uma nova sessão.

A seguir

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.