Coletar registros do Tanium Stream

Compatível com:

Este documento explica como ingerir registros do Tanium Stream no Google Security Operations usando a funcionalidade nativa de exportação do AWS S3 do Tanium Connect. O Tanium Stream fornece telemetria de endpoint em tempo real, dados de busca de ameaças e análises comportamentais em formato JSON, que podem ser exportados diretamente para o S3 usando o Tanium Connect sem exigir funções Lambda personalizadas. O analisador transforma registros JSON brutos do Tanium Stream em um modelo de dados unificado (UDM). Primeiro, ele normaliza campos comuns e aplica uma lógica específica com base em "logType" ou "eventType" para mapear informações relevantes nos campos apropriados da UDM, processando vários tipos de eventos, como conexões de rede, logins de usuários, inicializações de processos e modificações de arquivos.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Uma instância do Google SecOps
  • Tanium Core Platform 7.0 ou mais recente
  • O módulo Tanium Stream instalado e configurado
  • Módulo Tanium Connect instalado com uma licença válida
  • Tanium Threat Response 3.4.346 ou mais recente (se estiver usando a integração do TR)
  • Acesso privilegiado ao Tanium Console com direitos administrativos
  • Acesso privilegiado à AWS (S3, IAM)

Configurar a conta de serviço do Tanium Stream

  1. Faça login no Tanium Console.
  2. Acesse Módulos > Transmissão.
  3. Clique em Configurações no canto superior direito.
  4. Na seção Conta de serviço, configure o seguinte:
    • Usuário da conta de serviço: selecione um usuário com as permissões adequadas do Stream.
    • Verifique se a conta tem o privilégio de função de usuário de conexão.
    • Confirme o acesso às fontes de dados e aos endpoints do Stream.
  5. Clique em Salvar para aplicar a configuração da conta de serviço.

Coletar os pré-requisitos do Tanium Stream

  1. Faça login no Tanium Console como administrador.
  2. Acesse Administração > Permissões > Usuários.
  3. Crie ou identifique um usuário da conta de serviço com os seguintes papéis:
    • Função Administrador de stream ou Usuário somente leitura de stream.
    • Privilégio da função Usuário de conexão.
    • Acesso a grupos de computadores monitorados (recomendado: grupo Todos os computadores).
    • Permissão Ler pergunta salva para conjuntos de conteúdo do Stream.

Configurar o bucket do AWS S3 e o IAM para o Google SecOps

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Como criar um bucket
  2. Salve o Nome e a Região do bucket para referência futura (por exemplo, tanium-stream-logs).
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso posterior.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar o destino do AWS S3 do Tanium Connect

  1. Faça login no Tanium Console.
  2. Acesse Módulos > Conectar.
  3. Clique em Criar conexão.
  4. Informe os seguintes detalhes de configuração:
    • Nome: insira um nome descritivo. Por exemplo, Stream Telemetry to S3 for SecOps.
    • Descrição: descrição opcional (por exemplo, Export endpoint telemetry and threat hunting data to AWS S3 for Google SecOps ingestion).
    • Ativar: selecione para ativar a conexão e executá-la conforme programado.
  5. Clique em Próxima.

Configurar a origem da conexão

  1. Na seção Origem, forneça os seguintes detalhes de configuração:
    • Tipo de origem: selecione Pergunta salva.
    • Pergunta salva: selecione uma das seguintes perguntas salvas relacionadas ao Stream:
      • Stream - Endpoint Events para telemetria de endpoint em tempo real.
      • Transmita eventos de rede para monitorar a atividade de rede.
      • Stream - Process Events para acompanhamento da execução de processos.
      • Stream - File Events para atividade do sistema de arquivos.
      • Stream - Threat Hunting Data para análise comportamental.
    • Grupo de computadores: selecione Todos os computadores ou grupos específicos para monitorar.
    • Intervalo de atualização: defina o intervalo adequado para a coleta de dados (por exemplo, 5 minutos para telemetria em tempo real).
  2. Clique em Próxima.

Configurar o destino do AWS S3

  1. Na seção Destino, forneça os seguintes detalhes de configuração:
    • Tipo de destino: selecione AWS S3.
    • Nome do destino: insira um nome exclusivo (por exemplo, Google SecOps Stream S3 Destination).
    • Chave de acesso da AWS: insira a chave de acesso da AWS do arquivo CSV baixado na etapa de configuração do AWS S3.
    • Chave de acesso secreta da AWS: insira a chave de acesso secreta da AWS do arquivo CSV baixado na etapa de configuração do AWS S3.
    • Nome do bucket: insira o nome do bucket do S3 (por exemplo, tanium-stream-logs).
    • Região: selecione a região da AWS em que o bucket do S3 está localizado.
    • Prefixo da chave: insira um prefixo para os objetos do S3 (por exemplo, tanium/stream/).
  2. Clique em Próxima.

Configurar filtros

  1. Na seção Filtros, configure as opções de filtragem de dados:
    • Enviar apenas novos itens: selecione essa opção para enviar apenas novos dados de telemetria desde a última exportação.
    • Filtros de coluna: adicione filtros com base em atributos de evento específicos, se necessário (por exemplo, filtre por tipo de evento, nome do processo ou indicadores de ameaça).
  2. Clique em Próxima.

Formatar dados para o AWS S3

  1. Na seção Formato, configure o formato dos dados:
    • Formato: selecione JSON.
    • Opções:
      • Incluir cabeçalhos: desmarque para evitar cabeçalhos na saída JSON.
      • Incluir células vazias: selecione de acordo com sua preferência.
    • Opções avançadas:
      • Nomeação de arquivos: use a nomeação padrão com base no carimbo de data/hora.
      • Compactação: selecione Gzip para reduzir os custos de armazenamento e o tempo de transferência.
  2. Clique em Próxima.

Programar a conexão

  1. Na seção Programação, configure a programação de exportação:
    • Ativar programação: selecione para ativar as exportações automáticas programadas.
    • Tipo de programação: selecione Recorrente.
    • Frequência: selecione A cada 5 minutos para dados de telemetria quase em tempo real.
    • Horário de início: defina o horário de início adequado para a primeira exportação.
  2. Clique em Próxima.

Salvar e verificar conexão

  1. Revise a configuração da conexão na tela de resumo.
  2. Clique em Salvar para criar a conexão.
  3. Clique em Testar conexão para verificar a configuração.
  4. Se o teste for bem-sucedido, clique em Executar agora para fazer uma exportação inicial.
  5. Monitore o status da conexão na página Visão geral do Connect.

Configurar um feed no Google SecOps para ingerir registros do Tanium Stream

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em + Adicionar novo feed.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, Tanium Stream logs).
  4. Selecione Amazon S3 V2 como o Tipo de origem.
  5. Selecione Tanium Stream como o Tipo de registro.
  6. Clique em Próxima.
  7. Especifique valores para os seguintes parâmetros de entrada:
    • URI do S3: s3://tanium-stream-logs/tanium/stream/
    • Opções de exclusão de fontes: selecione a opção de exclusão de acordo com sua preferência.
    • Idade máxima do arquivo: inclui arquivos modificados no último número de dias. O padrão é de 180 dias.
    • ID da chave de acesso: chave de acesso do usuário com acesso ao bucket do S3.
    • Chave de acesso secreta: chave secreta do usuário com acesso ao bucket do S3.
    • Namespace do recurso: o namespace do recurso.
    • Rótulos de ingestão: o rótulo aplicado aos eventos deste feed.
  8. Clique em Próxima.
  9. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
additional.event__AlgorithmName additional.fields.key: eventAlgorithmName
additional.fields.value.string_value: %{additional.event
AlgorithmName}
Valor extraído diretamente do campo additional.event__AlgorithmName do registro bruto.
additional.event__AuthenticationPackageName target.resource.name: %{additional.event__AuthenticationPackageName} Valor extraído diretamente do campo additional.event__AuthenticationPackageName do registro bruto.
additional.event__CallerProcessId principal.process.pid: %{additional.event__CallerProcessId} Valor extraído diretamente do campo additional.event__CallerProcessId do registro bruto.
additional.event__CallerProcessName principal.process.file.fullpath: %{additional.event_CallerProcessName} Valor extraído diretamente do campo additional.event__CallerProcessName do registro bruto.
additional.event__ClientProcessId principal.process.pid: %{additional.event__ClientProcessId} Valor extraído diretamente do campo additional.event__ClientProcessId do registro bruto.
additional.event__ClientProcessStartKey additional.fields.key: eventClientProcessStartKey
additional.fields.value.string_value: %{additional.event
ClientProcessStartKey}
Valor extraído diretamente do campo additional.event__ClientProcessStartKey do registro bruto.
additional.event__CommandLine target.process.commandline: %{additional.event_CommandLine} Valor extraído diretamente do campo additional.event__CommandLine do registro bruto.
additional.event__ElevatedToken additional.fields.key: event__ElevatedToken
additional.fields.value.string_value: Yes/No
Valor extraído diretamente do campo de registro bruto additional.event__ElevatedToken.
Se o valor for "%%1842", ele será substituído por "Sim".
Se o valor for "%%1843", ele será substituído por "Não".
additional.event__FQDN principal.hostname: %{additional.event__FQDN} Valor extraído diretamente do campo additional.event__FQDN do registro bruto.
additional.event__FailureReason additional.fields.key: eventFailureReason
additional.fields.value.string_value: %{additional.event
FailureReason}
Valor extraído diretamente do campo additional.event__FailureReason do registro bruto.
additional.event__ImpersonationLevel additional.fields.key: eventImpersonationLevel
additional.fields.value.string_value: %{additional.event
ImpersonationLevel}
Valor extraído diretamente do campo additional.event__ImpersonationLevel do registro bruto.
additional.event__IpAddress target.ip: %{additional.event__IpAddress} Valor extraído diretamente do campo additional.event__IpAddress do registro bruto.
additional.event__IpPort target.port: %{additional.event__IpPort} Valor extraído diretamente do campo de registro bruto additional.event__IpPort e convertido em um número inteiro.
additional.event__KeyLength additional.fields.key: eventKeyLength
additional.fields.value.string_value: %{additional.event
KeyLength}
Valor extraído diretamente do campo additional.event__KeyLength do registro bruto.
additional.event__KeyName additional.fields.key: eventKeyName
additional.fields.value.string_value: %{additional.event
KeyName}
Valor extraído diretamente do campo additional.event__KeyName do registro bruto.
additional.event__KeyType additional.fields.key: eventKeyType
additional.fields.value.string_value: %{additional.event
KeyType}
Valor extraído diretamente do campo additional.event__KeyType do registro bruto.
additional.event__LmPackageName additional.fields.key: eventLmPackageName
additional.fields.value.string_value: %{additional.event
LmPackageName}
Valor extraído diretamente do campo additional.event__LmPackageName do registro bruto.
additional.event__LogonGuid target.resource.product_objectid: %{additional.event_LogonGuid} Valor extraído diretamente do campo de registro bruto additional.event__LogonGuid com chaves removidas.
additional.event__LogonProcessName target.process.file.fullpath: %{additional.event_LogonProcessName} Valor extraído diretamente do campo additional.event__LogonProcessName do registro bruto.
additional.event__LogonType extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} Valor extraído diretamente do campo additional.event__LogonType do registro bruto.
additional.event__MandatoryLabel additional.fields.key: eventMandatoryLabel
additional.fields.value.string_value: %{additional.event
MandatoryLabel}
Valor extraído diretamente do campo additional.event__MandatoryLabel do registro bruto.
additional.event__NewProcessId target.process.pid: %{additional.event__NewProcessId} Valor extraído diretamente do campo additional.event__NewProcessId do registro bruto.
additional.event__NewProcessName target.process.file.fullpath: %{additional.event_NewProcessName} Valor extraído diretamente do campo additional.event__NewProcessName do registro bruto.
additional.event__ObjectServer security_result.categorydetails: %{additional.event_ObjectServer} Valor extraído diretamente do campo additional.event__ObjectServer do registro bruto.
additional.event__Operation additional.fields.key: eventOperation
additional.fields.value.string_value: %{additional.event
Operation}
Valor extraído diretamente do campo additional.event__Operation do registro bruto.
additional.event__ParentProcessId principal.process.parentprocess.pid: %{additional.event_ParentProcessId} Valor extraído diretamente do campo additional.event__ParentProcessId do registro bruto.
additional.event__ParentProcessName principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} Valor extraído diretamente do campo additional.event__ParentProcessName do registro bruto.
additional.event__ProcessId principal.process.pid: %{additional.event__ProcessId} Valor extraído diretamente do campo additional.event__ProcessId do registro bruto.
additional.event__ProcessName principal.process.file.fullpath: %{additional.event_ProcessName} Valor extraído diretamente do campo additional.event__ProcessName do registro bruto.
additional.event__PrivilegeList principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} Valor extraído diretamente do campo additional.event__PrivilegeList do registro bruto.
additional.event__ProviderName additional.fields.key: eventProviderName
additional.fields.value.string_value: %{additional.event
ProviderName}
Valor extraído diretamente do campo additional.event__ProviderName do registro bruto.
additional.event__RestrictedAdminMode additional.fields.key: eventRestrictedAdminMode
additional.fields.value.string_value: %{additional.event
RestrictedAdminMode}
Valor extraído diretamente do campo additional.event__RestrictedAdminMode do registro bruto.
additional.event__ReturnCode additional.fields.key: eventReturnCode
additional.fields.value.string_value: %{additional.event
ReturnCode}
Valor extraído diretamente do campo additional.event__ReturnCode do registro bruto.
additional.event__RpcCallClientLocality additional.fields.key: eventRpcCallClientLocality
additional.fields.value.string_value: %{additional.event
RpcCallClientLocality}
Valor extraído diretamente do campo additional.event__RpcCallClientLocality do registro bruto.
additional.event__Service securityresult.description: %{additional.event_Service} Valor extraído diretamente do campo additional.event__Service do registro bruto.
additional.event__Status additional.fields.key: eventStatus
additional.fields.value.string_value: %{additional.event
Status}
Valor extraído diretamente do campo additional.event__Status do registro bruto.
additional.event__SubStatus additional.fields.key: eventSubStatus
additional.fields.value.string_value: %{additional.event
SubStatus}
Valor extraído diretamente do campo additional.event__SubStatus do registro bruto.
additional.event__SubjectDomainName principal.administrativedomain: %{additional.event_SubjectDomainName} Valor extraído diretamente do campo additional.event__SubjectDomainName do registro bruto.
additional.event__SubjectLogonId additional.fields.key: eventSubjectLogonId
additional.fields.value.string_value: %{additional.event
SubjectLogonId}
Valor extraído diretamente do campo additional.event__SubjectLogonId do registro bruto.
additional.event__SubjectUserName principal.user.user_displayname: %{additional.event_SubjectUserName} Valor extraído diretamente do campo additional.event__SubjectUserName do registro bruto.
additional.event__SubjectUserSid principal.user.windowssid: %{additional.event_SubjectUserSid} Valor extraído diretamente do campo additional.event__SubjectUserSid do registro bruto.
additional.event__TaskContentNew additional.fields.key: eventTaskContentNew
additional.fields.value.string_value: %{additional.event
TaskContentNew}
Valor extraído diretamente do campo additional.event__TaskContentNew do registro bruto.
additional.event__TaskName additional.fields.key: eventTaskName
additional.fields.value.string_value: %{additional.event
TaskName}
Valor extraído diretamente do campo additional.event__TaskName do registro bruto.
additional.event__TargetDomainName target.administrativedomain: %{additional.event_TargetDomainName} Valor extraído diretamente do campo additional.event__TargetDomainName do registro bruto.
additional.event__TargetLinkedLogonId additional.fields.key: eventTargetLinkedLogonId
additional.fields.value.string_value: %{additional.event
TargetLinkedLogonId}
Valor extraído diretamente do campo additional.event__TargetLinkedLogonId do registro bruto.
additional.event__TargetLogonId additional.fields.key: eventTargetLogonId
additional.fields.value.string_value: %{additional.event
TargetLogonId}
Valor extraído diretamente do campo additional.event__TargetLogonId do registro bruto.
additional.event__TargetOutboundDomainName additional.fields.key: eventTargetOutboundDomainName
additional.fields.value.string_value: %{additional.event
TargetOutboundDomainName}
Valor extraído diretamente do campo additional.event__TargetOutboundDomainName do registro bruto.
additional.event__TargetOutboundUserName additional.fields.key: eventTargetOutboundUserName
additional.fields.value.string_value: %{additional.event
TargetOutboundUserName}
Valor extraído diretamente do campo additional.event__TargetOutboundUserName do registro bruto.
additional.event__TargetSid target.user.windowssid: %{additional.event_TargetSid} Valor extraído diretamente do campo additional.event__TargetSid do registro bruto.
additional.event__TargetUserName target.user.userid: %{additional.event__TargetUserName} Valor extraído diretamente do campo additional.event__TargetUserName do registro bruto.
additional.event__TargetUserSid target.user.windowssid: %{additional.event_TargetUserSid} Valor extraído diretamente do campo additional.event__TargetUserSid do registro bruto.
additional.event__TokenElevationType additional.fields.key: eventTokenElevationType
additional.fields.value.string_value: %{additional.event
TokenElevationType}
Valor extraído diretamente do campo additional.event__TokenElevationType do registro bruto.
additional.event__TransmittedServices additional.fields.key: eventTransmittedServices
additional.fields.value.string_value: %{additional.event
TransmittedServices}
Valor extraído diretamente do campo additional.event__TransmittedServices do registro bruto.
additional.event__VirtualAccount additional.fields.key: eventVirtualAccount
additional.fields.value.string_value: %{additional.event
VirtualAccount}
Valor extraído diretamente do campo additional.event__VirtualAccount do registro bruto.
additional.event__WorkstationName target.hostname: %{additional.event__WorkstationName} Valor extraído diretamente do campo additional.event__WorkstationName do registro bruto.
additional.event_id security_result.rule_name: EventID: %{additional.event_id} Valor extraído diretamente do campo de registro bruto additional.event_id e convertido em uma string.
additional.query network.dns.questions.name: %{additional.query} Valor extraído diretamente do campo additional.query do registro bruto.
additional.response network.dns.answers.name: %{additional.response} Valor extraído diretamente do campo additional.response do registro bruto.
metadata.description metadata.description: %{metadata.description} Valor extraído diretamente do campo metadata.description do registro bruto.
metadata.eventTimestamp metadata.event_timestamp.seconds: Extracted from %{metadata.eventTimestamp}
metadata.event_timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Os segundos e nanossegundos são extraídos do campo de registro bruto metadata.eventTimestamp usando a análise de data.
metadata.eventType metadata.product_event_type: %{metadata.eventType}
metadata.event_type: %{metadata.eventType}
Valor extraído diretamente do campo metadata.eventType do registro bruto.
metadata.logType metadata.product_event_type: %{metadata.logType}
metadata.event_type: %{metadata.logType}
Valor extraído diretamente do campo metadata.logType do registro bruto.
network.applicationProtocol network.application_protocol: %{network.applicationProtocol} Valor extraído diretamente do campo network.applicationProtocol do registro bruto.
network.direction network.direction: %{network.direction} Valor extraído diretamente do campo network.direction do registro bruto.
network.ipProtocol network.ip_protocol: %{network.ipProtocol} Valor extraído diretamente do campo network.ipProtocol do registro bruto.
principal.assetId principal.asset_id: TANIUM:%{principal.assetId} Valor extraído diretamente do campo de registro bruto principal.assetId e com o prefixo "TANIUM:".
principal.hostname principal.hostname: %{principal.hostname} Valor extraído diretamente do campo principal.hostname do registro bruto.
principal.process.companySpecificParentProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId} Valor extraído diretamente do campo de registro bruto principal.process.companySpecificParentProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.companySpecificParentProcessId}".
principal.process.companySpecificProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId} Valor extraído diretamente do campo de registro bruto principal.process.companySpecificProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.companySpecificProcessId}".
principal.process.commandLine target.process.command_line: %{principal.process.commandLine} Valor extraído diretamente do campo de registro bruto principal.process.commandLine com aspas duplas removidas e hífens substituídos por e comercial.
principal.process.file.fullPath target.process.file.full_path: %{principal.process.file.fullPath} Valor extraído diretamente do campo principal.process.file.fullPath do registro bruto.
principal.process.file.md5 target.process.file.md5: %{principal.process.file.md5} Valor extraído diretamente do campo de registro bruto principal.process.file.md5 e convertido para minúsculas.
principal.process.parentPid principal.process.pid: %{principal.process.parentPid} Valor extraído diretamente do campo de registro bruto principal.process.parentPid apenas para eventos PROCESS_LAUNCH.
principal.process.pid target.process.pid: %{principal.process.pid} Valor extraído diretamente do campo de registro bruto principal.process.pid apenas para eventos PROCESS_LAUNCH.
principal.process.productSpecificProcessId principal.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Valor extraído diretamente do campo principal.process.productSpecificProcessId do registro bruto e formatado como "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}".
principal.user.groupid principal.user.group_identifiers: %{principal.user.groupid} Valor extraído diretamente do campo principal.user.groupid do registro bruto.
principal.user.userid principal.user.userid: %{principal.user.userid} Valor extraído diretamente do campo principal.user.userid do registro bruto.
src.ip principal.ip: %{src.ip} Valor extraído diretamente do campo src.ip do registro bruto.
src.port principal.port: %{src.port} Valor extraído diretamente do campo de registro bruto src.port e convertido em um número inteiro.
target.file.fullPath target.file.full_path: %{target.file.fullPath} Valor extraído diretamente do campo target.file.fullPath do registro bruto.
target.file.md5 target.file.md5: %{target.file.md5} Valor extraído diretamente do campo target.file.md5 do registro bruto.
target.port target.port: %{target.port} Valor extraído diretamente do campo de registro bruto target.port e convertido em um número inteiro.
target.registry.registryKey target.registry.registry_key: %{target.registry.registryKey} Valor extraído diretamente do campo target.registry.registryKey do registro bruto.
target.registry.registryValue target.registry.registry_value_data: %{target.registry.registryValue} Valor extraído diretamente do campo target.registry.registryValue do registro bruto.
target.user.userDisplayName target.user.user_display_name: %{target.user.userDisplayName} Valor extraído diretamente do campo target.user.userDisplayName do registro bruto.
target.user.windowsSid target.user.windows_sid: %{target.user.windowsSid} Valor extraído diretamente do campo target.user.windowsSid do registro bruto.
user-agent network.http.user_agent: %{user-agent} Valor extraído diretamente do campo de registro bruto user-agent com aspas duplas removidas.
N/A extensions.auth.auth_mechanism: LOCAL/NETWORK/BATCH/SERVICE/UNLOCK/NETWORK_CLEAR_TEXT/NEW_CREDENTIALS/REMOTE_INTERACTIVE/CACHED_INTERACTIVE/MECHANISM_UNSPECIFIED Determinado pelo código do analisador com base no valor de additional.event__LogonType.
N/A extensions.auth.type: MACHINE Adicionado pelo código do analisador para eventos USER_LOGIN e USER_LOGOUT.
N/A metadata.event_type: PROCESS_LAUNCH/NETWORK_CONNECTION/FILE_OPEN/FILE_DELETION/REGISTRY_MODIFICATION/USER_LOGIN/STATUS_UPDATE/USER_LOGOUT/PROCESS_MODULE_LOAD/PROCESS_TERMINATION/USER_CHANGE_PERMISSIONS/SCHEDULED_TASK_MODIFICATION/SCHEDULED_TASK_DISABLE/SCHEDULED_TASK_ENABLE/SCHEDULED_TASK_DELETION/SCHEDULED_TASK_CREATION/PROCESS_UNCATEGORIZED Determinado pelo código do analisador com base no valor de metadata.logType e additional.event_id.
N/A metadata.log_type: TANIUM_TH Valor codificado adicionado pelo código do analisador.
N/A metadata.product_name: Stream Valor codificado adicionado pelo código do analisador.
N/A metadata.vendor_name: Tanium Valor codificado adicionado pelo código do analisador.
N/A principal.hostname: %{principal_hostname} Valor extraído de principal.hostname ou additional.event__FQDN.
N/A principal.ip: %{srcIp} Extraído da mensagem de registro bruta usando grok se src.ip estiver presente.
N/A securityresult.about.resource.name: %{additional.event_AuthenticationPackageName} Valor extraído diretamente do campo de registro bruto additional.event__AuthenticationPackageName para valores additional.event_id específicos.
N/A security_result.category: AUTH_VIOLATION Adicionado pelo código do analisador para valores específicos de additional.event_id.
N/A security_result.rule_name: EventID: %{additional.event_id} Valor extraído diretamente do campo de registro bruto additional.event_id e convertido em uma string.
N/A target.hostname: %{query_host} Extraído do campo de registro bruto additional.query se ele contiver um nome de host.
N/A target.ip: %{dstIp} Extraído da mensagem de registro bruta usando grok se src.ip estiver presente.
N/A target.ip: %{query_ip} Extraído do campo de registro bruto additional.query se ele contiver um endereço IP.
N/A target.process.command_line: %{principal_process_commandLine} Valor extraído de principal.process.commandLine se não estiver vazio.
N/A target.process.file.full_path: %{principal_process_file_fullPath} Valor extraído de principal.process.file.fullPath se não estiver vazio.
N/A target.process.file.md5: %{principal_process_file_md5} Valor extraído de principal.process.file.md5 se não estiver vazio.
N/A target.process.product_specific_process_id: TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId} Valor extraído de principal.process.productSpecificProcessId e formatado como "TANIUM:%{principal.assetId}:%{principal.process.productSpecificProcessId}".
N/A target.resource.resource_type: TASK Adicionado pelo código do analisador para valores específicos de additional.event_id.
N/A timestamp.seconds: Extracted from %{metadata.eventTimestamp}
timestamp.nanos: Extracted from %{metadata.eventTimestamp}
Os segundos e nanossegundos são extraídos do campo de registro bruto metadata.eventTimestamp usando a análise de data.

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