Pesquise registros brutos

Compatível com:

Quando você faz uma pesquisa, o Google Security Operations primeiro examina os dados de segurança que foram ingeridos, analisados e normalizados. Se as informações não forem encontradas nos dados normalizados, use a Pesquisa de registros brutos para examinar os registros brutos não analisados. Você também pode usar expressões regulares para analisar os registros brutos com mais detalhes.

Use a Pesquisa de registros brutos para investigar artefatos que aparecem nos registros (mas não são indexados), incluindo:

  • Nomes de usuário
  • Nomes de arquivos
  • Chaves de registro
  • Argumentos de linha de comando
  • Dados brutos relacionados a solicitações HTTP
  • Nomes de domínio baseados em expressões regulares
  • Namespaces e endereços de recursos

A pesquisa de registros brutos é uma ferramenta de investigação especializada projetada para os seguintes casos de uso:

  • Verifique a normalização e resolva problemas com analisadores: compare entradas de registro brutas com eventos da UDM gerados para identificar lacunas de normalização, verificar o mapeamento de campos ou localizar registros não analisados.
  • Investigação forense detalhada e busca de ameaças: procure indicadores de comprometimento (IOCs), argumentos de linha de comando, chaves de registro, caminhos de arquivo ou strings específicas incomuns ou não indexados que não estão mapeados para campos UDM estruturados.
  • Investigue dados não estruturados e personalizados: consulte imediatamente fontes de registros recém-integradas ou proprietárias sem esperar que um analisador de UDM seja desenvolvido.

Você pode fazer uma pesquisa de registros brutos usando a barra Pesquisar, localizada na página de destino ou na barra de menus. Escolha um dos seguintes métodos:

Use o formato raw=

É possível consultar registros brutos usando o formato raw=. Este é o método recomendado.

  • Para pesquisar uma substring, coloque o termo de pesquisa entre aspas. Por exemplo, raw = "ABC".
  • Para pesquisar usando uma expressão regular, coloque a expressão em barras (/). Por exemplo, raw = /AB*C/.
  • Opcional: filtre por status analisado usando a palavra-chave parsed:
    • parsed = false: mostra registros não analisados em que nenhum evento da UDM foi gerado.
    • parsed = true: mostra os registros que foram analisados com sucesso em eventos da UDM.

Método legado: use o comando "Pesquisa de registro bruto"

  • Na barra Pesquisar, insira uma string de pesquisa com pelo menos quatro caracteres (por exemplo, um hash MD5), incluindo caracteres curinga.
  • Se a pesquisa não retornar resultados, a opção Pesquisa de registros brutos vai aparecer.
  • Opcional: especifique o Horário de início e o Horário de término. O período padrão é de sete dias.
  • Opcional: na lista Fontes de registros, selecione uma ou mais fontes. A configuração padrão é Todos.
  • Clique em Pesquisar.

Os eventos associados à string de pesquisa são mostrados na Linha do tempo. Clique em um evento (ou no ícone de registro bruto) para abrir o registro bruto correspondente. A consulta de pesquisa e os filtros aplicados também ficam visíveis na página Pesquisa de registros brutos.

Otimizar consultas de registros brutos

As pesquisas de registros brutos verificam payloads de registros não indexados e geralmente são mais lentas do que as pesquisas de UDM. Para melhorar a performance da pesquisa, limite a quantidade de dados que você consulta mudando as configurações de pesquisa:

  • Seletor de período: limite o período dos dados em que você executa a consulta.
  • Seletor de fontes de registros: limite sua pesquisa de registros brutos apenas aos registros de fontes específicas, em vez de todas as fontes. No menu Fontes de registros, selecione uma ou mais fontes de registros (o padrão é Todas) ou adicione o filtro log_source diretamente à consulta (log_source = IN["<var>LOG_SOURCE_NAME</var>"]).
  • Expressões regulares: use uma expressão regular específica. Por exemplo, raw = /goo\w{3}\.com/ corresponde a google.com, goodle.com e goog1e.com para limitar ainda mais o escopo da pesquisa de registros brutos.

Exemplos de pesquisa segmentada de registros brutos

Combine o prefixo raw = com os filtros log_source e parsed para restringir sua pesquisa a feeds relevantes e evitar que fontes de registros de alto volume truncem seus resultados:

  • Pesquisar uma única origem do registro para uma string exata:

    raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_NAME</var>"]
    
  • Pesquisar um subconjunto de origens de registros:

    raw = "<var>SEARCH_TERM</var>" and log_source = IN["<var>LOG_SOURCE_1</var>", "<var>LOG_SOURCE_2</var>"]
    
  • Pesquisar registros não analisados com uma expressão regular:

    raw = /<var>REGULAR_EXPRESSION</var>/ and parsed = false and log_source = IN["<var>LOG_SOURCE_NAME</var>"]
    

Tendência ao longo do tempo

Use o gráfico Tendência ao longo do tempo para entender a distribuição de registros brutos durante o período da pesquisa. É possível aplicar filtros no gráfico para procurar registros analisados e brutos. Clique em Abrir mais (ou Abrir menos) para abrir ou fechar o gráfico.

Resultados de registros brutos

Quando você faz uma pesquisa de registros brutos, os resultados são uma combinação de eventos e entidades da UDM gerados pelos registros brutos que correspondem às suas pesquisas, além dos registros brutos. Para saber mais sobre os resultados da pesquisa, clique em qualquer um deles:

  • Evento ou entidade da UDM: se você clicar em um evento ou entidade da UDM, o Google SecOps vai mostrar todos os eventos e entidades relacionados, além do registro bruto associado a esse item.

  • Registro bruto: se você clicar em um registro bruto, o Google SecOps vai mostrar toda a linha do registro bruto, além da origem dele.

Limites de resultados e amostragem

As pesquisas de registros brutos aplicam os seguintes limites de resultados e consultas:

  • Limite de resultados de grandes lotes: para registros ingeridos recentemente e armazenados em lotes antes da exportação para armazenamento colunar de longo prazo, há um limite de 1.000 resultados retornados de grandes lotes de registros que contêm 1.000 ou mais eventos. Depois que os registros são exportados para o armazenamento colunar de longo prazo, esse limite de lote de 1.000 resultados não se aplica.
  • Limite total de exportação de CSV e da interface: uma única pesquisa de registros brutos no console do Google SecOps ou uma exportação de CSV retorna até 10.000 resultados totais em todas as fontes de registros consultadas. Se uma consulta corresponder a mais de 10.000 entradas, o Google SecOps vai retornar uma amostra representativa de 10.000 resultados.
  • Limite de resultados da API: a API Raw Log Search (SearchRawLogs) impõe um limite máximo de 10.000 entradas por solicitação de consulta (page_size).
  • Tamanho da consulta de pesquisa: o campo de entrada de pesquisa de registros brutos é limitado a 150 caracteres.

Quando você pesquisa em várias fontes de registros simultaneamente (deixando o menu Fontes de registros definido como Todas), o Google SecOps executa consultas em paralelo em fragmentos de armazenamento distribuídos com limites de consultas de proteção aplicados antes da filtragem na memória para manter tempos de resposta rápidos. Devido a essa arquitetura distribuída, a contagem total de resultados retornados pode variar entre consultas abrangentes de várias fontes e de uma única fonte devido aos seguintes fatores:

  • Volumes de ingestão variados: fontes de registros de alto volume geram grandes lotes que atingem o limite de 1.000 resultados mais rápido do que fontes de volume menor.
  • Amostragem distribuída por lotes: grandes lotes com 1.000 ou mais eventos são limitados a 1.000 resultados retornados antes que o limite geral de amostragem de consultas de 10.000 resultados seja aplicado, o que muda a proporção de registros amostrados retornados em todas as consultas.
  • Níveis de armazenamento recentes e históricos: os registros ingeridos recentemente são consultados em um armazenamento em lote de baixa latência para disponibilidade imediata de pesquisa, em que se aplica o limite de 1.000 resultados em lotes grandes. Depois que os registros são exportados para o armazenamento colunar de longo prazo, as consultas verificam entradas de registro individuais diretamente, sem o limite de lote de 1.000 resultados (até o limite total de consulta de 10.000 resultados), fornecendo contagens de resultados mais consistentes para pesquisas históricas.

Baixar resultados de registros brutos

Para baixar os resultados de registros brutos em um arquivo CSV, na tabela de resultados Registros brutos, clique em Mais > Baixar como CSV.

Por padrão, o arquivo CSV sempre inclui a coluna Registro bruto. Use o botão Colunas para abrir o Gerenciador de colunas e remover ou adicionar as colunas Carimbo de data/hora e Tipo. Se você adicionar outras colunas, elas vão aparecer na tabela, mas não serão baixadas no arquivo CSV.

Para fazer o download dos campos da UDM, execute uma pesquisa, selecione as colunas necessárias e faça o download como um arquivo CSV.

Se o erro Failed to execute 'showSaveFilePicker' aparecer no Google Chrome, siga estas etapas:

  1. Acesse Dispositivos > Chrome > Configurações.

  2. Selecione Usuários e navegadores.

  3. Localize a configuração Acesso de gravação a sistemas de arquivos.

  4. Adicione prefix.backstory.chronicle.security à lista de sites permitidos.

Expressões regulares

É possível usar expressões regulares no Google SecOps para pesquisar e corresponder conjuntos de strings de caracteres nos seus dados de segurança. As expressões regulares ajudam a restringir a pesquisa usando fragmentos de informações em vez de exigir uma correspondência exata.

Para fazer uma pesquisa usando a sintaxe de expressão regular:

  • Em Pesquisa do SIEM, insira raw = /YOUR_REGEX/ no campo de pesquisa e clique em Executar pesquisa.
  • Na barra Pesquisar legada:
    1. Insira uma expressão regular (de 4 a 66 caracteres) no campo Pesquisar.
    2. Marque a caixa de seleção Executar consulta como regex e clique em Pesquisar (ou Atualizar pesquisa na página de resultados da Pesquisa de registros brutos).

A infraestrutura de expressão regular do Google SecOps é baseada no Google RE2, um mecanismo de expressão regular de código aberto. O Google SecOps usa a mesma sintaxe de expressão regular.

A tabela a seguir destaca algumas das sintaxes de expressões regulares comuns que você pode usar nas suas pesquisas.

Qualquer caractere .
x número de quaisquer caracteres {x}
Classe de caracteres [xyz]
Classe de caracteres negada [^xyz]
Alfanumérico (0-9A-Za-z) [[:alnum:]]
Alfabético (A-Za-z) [[:alpha:]]
Dígitos (0 a 9) [[:digit:]]
Minúsculas (a-z) [[:lower:]]
Maiúscula (A-Z) [[:upper:]]
Caracteres de palavras (0-9A-Za-z_) [[:word:]]
Dígito hexadecimal (0-9A-Fa-f) [[:xdigit:]]
Símbolo de ponto de interrogação (?) Corresponde a zero ou uma ocorrência do elemento anterior.
Asterisco (*) Corresponde a zero ou mais ocorrências do caractere ou grupo anterior.
Sinal de mais (+) Corresponde a uma ou mais ocorrências do caractere ou grupo anterior.

Os exemplos a seguir ilustram como usar expressões regulares para pesquisar dados:

  • goo.le\.com: corresponde a qualquer string que comece com goo, seguida por um único caractere e por le.com, como google.com ou goo0le.com.
  • goo\w{3}\.com: corresponde a strings que começam com goo, seguidas por exatamente três caracteres de palavra (\w) e terminam com .com. Por exemplo, google.com, goojle.com ou goodle.com.
  • [[:digit:]]\.[[:alpha:]]: corresponde a uma string que tem um único dígito, seguido por um ponto (.) e um único caractere alfabético, como 34323.system, 23458.office ou 897.net.

Exemplos de expressões regulares para pesquisar registros do Windows

Esta seção fornece strings de consulta de expressão regular que podem ser usadas com a Pesquisa de registros brutos do Google SecOps para encontrar eventos do Windows monitorados com frequência. Estes exemplos pressupõem que as mensagens de registro do Windows estão no formato JSON.

Para mais informações sobre IDs de eventos do Windows monitorados com frequência, consulte Eventos a serem monitorados. Os exemplos fornecidos seguem um padrão semelhante, descrito nesses casos de uso.

Caso de uso: retornar eventos com o EventID 1150
String de expressão regular: \"EventID\"\:\s*1150
Valores correspondentes: "EventID":1150
Caso de uso:retornar eventos com um ID de evento 1150 ou 1151
String de expressão regular (?:\"EventID\"\:\s*)(?:1150|1151)
Valores correspondentes "EventID":1150 e "EventID":1151
Caso de uso: retornar eventos com um ID de evento 1150 ou 1151 e com ThreadID 9092
String de expressão regular (?:\"EventID\"\:\s*)(?:1150|1151).*(?:\"ThreadID\"\:\s*9092)
Valores correspondentes "EventID":1150 <...any number of characters...> "ThreadID":9092
e
"EventID":1151 <...any number of characters...> "ThreadID":9092

Encontrar eventos de gerenciamento da conta

Essas strings de consulta de expressão regular identificam eventos comuns de gerenciamento de contas usando o atributo EventID.

Tipo de evento Expressão regular
Conta de usuário criada "EventID\"\:\s*4720
Conta de usuário ativada "EventID\"\:\s*4722
Conta de usuário desativada "EventID\"\:\s*4725
Conta de usuário excluída "EventID\"\:\s*4726
Modificação de direitos do usuário "EventID\"\:\s*4703
Membro adicionado a um grupo global com segurança ativada "EventID\"\:\s*4728
Membro removido do grupo global com segurança ativada "EventID\"\:\s*4729
O grupo global com segurança ativada foi excluído "EventID\"\:\s*4730

Encontrar eventos de logon bem-sucedido

Essas strings de consulta de expressão regular identificam tipos de eventos de logon bem-sucedidos usando os atributos EventID e LogonType.

Tipo de evento Expressão regular
Login bem-sucedido "EventID\"\:\s*4624
Logon Success - Interactive (LogonType=2) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"2\"
Login bem-sucedido - login em lote (LogonType=4) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"4\"
Login bem-sucedido: login de serviço (LogonType=5) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"5\"
Login bem-sucedido - Login RemoteInteractive (LogonType=10) "EventID\"\:\s*4624.*?LogonType\"\:\s*\"10\"
Sucesso de logon: interativo, em lote, de serviço ou RemoteInteractive (?:"EventID\"\:\s*4624.*?LogonType\"\:\s*\")(?:2|4|5|10)\"

Encontrar eventos de falha de logon

Essas strings de consulta de expressão regular identificam tipos de eventos de logon com falha usando os atributos EventID e LogonType.

Tipo de evento Expressão regular
Falha no logon "EventID\"\:\s*4625
Falha de logon - interativa (LogonType=2) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"2\"
Falha de logon: logon em lote (LogonType=4) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"4\"
Falha no logon: login do serviço (LogonType=5) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"5\"
Falha no logon: login remoto interativo (LogonType=10) "EventID\"\:\s*4625.*?LogonType\"\:\s*\"10\"
Falha de logon: interativo, em lote, de serviço ou interativo remoto (?:"EventID\"\:\s*4625.*LogonType\"\:\s*\")(?:2|4|5|10)\"

Encontrar eventos de processo, serviço e tarefa

Essas strings de consulta de expressão regular identificam determinados eventos de processo e serviço usando o atributo EventID.

Tipo de evento Expressão regular
Início do processo "EventID\"\:\s*4688
Saída do processo "EventID\"\:\s*4689
Serviço instalado "EventID\"\:\s*4697
Novo serviço criado "EventID\"\:\s*7045
Tarefa agendada criada "EventID\"\:\s*4698

Essas strings de consulta de expressão regular identificam diferentes tipos de eventos relacionados a processos e serviços usando o atributo EventID.

Tipo de evento Expressão regular
Registro de auditoria limpo "EventID\"\:\s*1102
Tentativa de acesso a objeto "EventID\"\:\s*4663
Compartilhamento acessado "EventID\"\:\s*5140

Solução de problemas

Use a tabela a seguir para resolver problemas comuns de pesquisa de registros brutos:

Problema Descrição Corrigir
Contagens de resultados inconsistentes em várias pesquisas Consultar várias origens de registros (Todas) retorna contagens totais de resultados variadas em comparação com consultas de origem única para registros ingeridos recentemente devido ao limite de 1.000 resultados em grandes lotes (lotes com 1.000 ou mais eventos) no armazenamento em lote e na amostragem distribuída. Selecione fontes de registro específicas no menu Fontes de registro ou filtre usando log_source = IN["LOG_SOURCE_NAME"] e restrinja o período de pesquisa.
Resultados truncados ou amostrados (limite de 10.000 resultados atingido) A consulta de pesquisa correspondeu a mais de 10.000 registros totais na UI, exportação CSV ou API SearchRawLogs (page_size), retornando apenas uma amostra de 10.000 resultados. Reduza o período da consulta (por exemplo, para uma hora) e adicione expressões regulares RE2 específicas ou filtros parsed = false.
Discrepâncias na auditoria de ingestão volumétrica As contagens de resultados da pesquisa de registros brutos não correspondem aos volumes totais de registros ingeridos porque os limites de lote e fragmento de proteção são aplicados antes da filtragem na memória. Use a Pesquisa UDM, as estatísticas e agregações na Pesquisa UDM ou as métricas de integridade da ingestão para verificar a integridade e a paridade volumétrica da ingestão.
A consulta excede o limite de caracteres A string de pesquisa excede o limite de 150 caracteres para consultas de registros brutos. Simplifique a expressão regular ou divida a investigação em consultas menores e separadas que segmentam fontes de registros individuais.

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