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 depois aplica uma lógica específica com base no "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 aos endpoints e às fontes de dados 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 Connect User.
    • Acesso aos 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 Tanium Connect AWS S3

  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 execução programada da conexão.
  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.
      • Stream - Network Events para monitoramento da atividade de rede.
      • Stream - Process Events para rastreamento 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 específicos do evento, 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 de 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:
      • Nomenclatura de arquivos: use a nomenclatura padrão baseada em 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 a 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 da fonte: selecione a opção de exclusão de acordo com sua preferência.
    • Idade máxima do arquivo: inclui arquivos modificados nos últimos 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 de UDM

Campo de registro Mapeamento de UDM Lógica
additional.event__AlgorithmName additional.fields.key: eventAlgorithmName
additional.fields.value.string_value: %{additional.event
AlgorithmName}
Valor extraído diretamente do campo de registro bruto additional.event__AlgorithmName.
additional.event__AuthenticationPackageName target.resource.name: %{additional.event__AuthenticationPackageName} Valor extraído diretamente do campo de registro bruto additional.event__AuthenticationPackageName.
additional.event__CallerProcessId principal.process.pid: %{additional.event__CallerProcessId} Valor extraído diretamente do campo de registro bruto additional.event__CallerProcessId.
additional.event__CallerProcessName principal.process.file.fullpath: %{additional.event_CallerProcessName} Valor extraído diretamente do campo de registro bruto additional.event__CallerProcessName.
additional.event__ClientProcessId principal.process.pid: %{additional.event__ClientProcessId} Valor extraído diretamente do campo de registro bruto additional.event__ClientProcessId.
additional.event__ClientProcessStartKey additional.fields.key: eventClientProcessStartKey
additional.fields.value.string_value: %{additional.event
ClientProcessStartKey}
Valor extraído diretamente do campo de registro bruto additional.event__ClientProcessStartKey.
additional.event__CommandLine target.process.commandline: %{additional.event_CommandLine} Valor extraído diretamente do campo de registro bruto additional.event__CommandLine.
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 de registro bruto additional.event__FQDN.
additional.event__FailureReason additional.fields.key: eventFailureReason
additional.fields.value.string_value: %{additional.event
FailureReason}
Valor extraído diretamente do campo de registro bruto additional.event__FailureReason.
additional.event__ImpersonationLevel additional.fields.key: eventImpersonationLevel
additional.fields.value.string_value: %{additional.event
ImpersonationLevel}
Valor extraído diretamente do campo de registro bruto additional.event__ImpersonationLevel.
additional.event__IpAddress target.ip: %{additional.event__IpAddress} Valor extraído diretamente do campo de registro bruto additional.event__IpAddress.
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 de registro bruto additional.event__KeyLength.
additional.event__KeyName additional.fields.key: eventKeyName
additional.fields.value.string_value: %{additional.event
KeyName}
Valor extraído diretamente do campo de registro bruto additional.event__KeyName.
additional.event__KeyType additional.fields.key: eventKeyType
additional.fields.value.string_value: %{additional.event
KeyType}
Valor extraído diretamente do campo de registro bruto additional.event__KeyType.
additional.event__LmPackageName additional.fields.key: eventLmPackageName
additional.fields.value.string_value: %{additional.event
LmPackageName}
Valor extraído diretamente do campo de registro bruto additional.event__LmPackageName.
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 de registro bruto additional.event__LogonProcessName.
additional.event__LogonType extensions.auth.authdetails: Logon Type: %{additional.event_LogonType} Valor extraído diretamente do campo de registro bruto additional.event__LogonType.
additional.event__MandatoryLabel additional.fields.key: eventMandatoryLabel
additional.fields.value.string_value: %{additional.event
MandatoryLabel}
Valor extraído diretamente do campo de registro bruto additional.event__MandatoryLabel.
additional.event__NewProcessId target.process.pid: %{additional.event__NewProcessId} Valor extraído diretamente do campo de registro bruto additional.event__NewProcessId.
additional.event__NewProcessName target.process.file.fullpath: %{additional.event_NewProcessName} Valor extraído diretamente do campo de registro bruto additional.event__NewProcessName.
additional.event__ObjectServer security_result.categorydetails: %{additional.event_ObjectServer} Valor extraído diretamente do campo de registro bruto additional.event__ObjectServer.
additional.event__Operation additional.fields.key: eventOperation
additional.fields.value.string_value: %{additional.event
Operation}
Valor extraído diretamente do campo de registro bruto additional.event__Operation.
additional.event__ParentProcessId principal.process.parentprocess.pid: %{additional.event_ParentProcessId} Valor extraído diretamente do campo de registro bruto additional.event__ParentProcessId.
additional.event__ParentProcessName principal.process.parent_process.file.fullpath: %{additional.event_ParentProcessName} Valor extraído diretamente do campo de registro bruto additional.event__ParentProcessName.
additional.event__ProcessId principal.process.pid: %{additional.event__ProcessId} Valor extraído diretamente do campo de registro bruto additional.event__ProcessId.
additional.event__ProcessName principal.process.file.fullpath: %{additional.event_ProcessName} Valor extraído diretamente do campo de registro bruto additional.event__ProcessName.
additional.event__PrivilegeList principal.user.attribute.permissions.name: %{additional.event__PrivilegeList} Valor extraído diretamente do campo de registro bruto additional.event__PrivilegeList.
additional.event__ProviderName additional.fields.key: eventProviderName
additional.fields.value.string_value: %{additional.event
ProviderName}
Valor extraído diretamente do campo de registro bruto additional.event__ProviderName.
additional.event__RestrictedAdminMode additional.fields.key: eventRestrictedAdminMode
additional.fields.value.string_value: %{additional.event
RestrictedAdminMode}
Valor extraído diretamente do campo de registro bruto additional.event__RestrictedAdminMode.
additional.event__ReturnCode additional.fields.key: eventReturnCode
additional.fields.value.string_value: %{additional.event
ReturnCode}
Valor extraído diretamente do campo de registro bruto additional.event__ReturnCode.
additional.event__RpcCallClientLocality additional.fields.key: eventRpcCallClientLocality
additional.fields.value.string_value: %{additional.event
RpcCallClientLocality}
Valor extraído diretamente do campo de registro bruto additional.event__RpcCallClientLocality.
additional.event__Service securityresult.description: %{additional.event_Service} Valor extraído diretamente do campo de registro bruto additional.event__Service.
additional.event__Status additional.fields.key: eventStatus
additional.fields.value.string_value: %{additional.event
Status}
Valor extraído diretamente do campo de registro bruto additional.event__Status.
additional.event__SubStatus additional.fields.key: eventSubStatus
additional.fields.value.string_value: %{additional.event
SubStatus}
Valor extraído diretamente do campo de registro bruto additional.event__SubStatus.
additional.event__SubjectDomainName principal.administrativedomain: %{additional.event_SubjectDomainName} Valor extraído diretamente do campo de registro bruto additional.event__SubjectDomainName.
additional.event__SubjectLogonId additional.fields.key: eventSubjectLogonId
additional.fields.value.string_value: %{additional.event
SubjectLogonId}
Valor extraído diretamente do campo de registro bruto additional.event__SubjectLogonId.
additional.event__SubjectUserName principal.user.user_displayname: %{additional.event_SubjectUserName} Valor extraído diretamente do campo de registro bruto additional.event__SubjectUserName.
additional.event__SubjectUserSid principal.user.windowssid: %{additional.event_SubjectUserSid} Valor extraído diretamente do campo de registro bruto additional.event__SubjectUserSid.
additional.event__TaskContentNew additional.fields.key: eventTaskContentNew
additional.fields.value.string_value: %{additional.event
TaskContentNew}
Valor extraído diretamente do campo de registro bruto additional.event__TaskContentNew.
additional.event__TaskName additional.fields.key: eventTaskName
additional.fields.value.string_value: %{additional.event
TaskName}
Valor extraído diretamente do campo de registro bruto additional.event__TaskName.
additional.event__TargetDomainName target.administrativedomain: %{additional.event_TargetDomainName} Valor extraído diretamente do campo de registro bruto additional.event__TargetDomainName.
additional.event__TargetLinkedLogonId additional.fields.key: eventTargetLinkedLogonId
additional.fields.value.string_value: %{additional.event
TargetLinkedLogonId}
Valor extraído diretamente do campo de registro bruto additional.event__TargetLinkedLogonId.
additional.event__TargetLogonId additional.fields.key: eventTargetLogonId
additional.fields.value.string_value: %{additional.event
TargetLogonId}
Valor extraído diretamente do campo de registro bruto additional.event__TargetLogonId.
additional.event__TargetOutboundDomainName additional.fields.key: eventTargetOutboundDomainName
additional.fields.value.string_value: %{additional.event
TargetOutboundDomainName}
Valor extraído diretamente do campo de registro bruto additional.event__TargetOutboundDomainName.
additional.event__TargetOutboundUserName additional.fields.key: eventTargetOutboundUserName
additional.fields.value.string_value: %{additional.event
TargetOutboundUserName}
Valor extraído diretamente do campo de registro bruto additional.event__TargetOutboundUserName.
additional.event__TargetSid target.user.windowssid: %{additional.event_TargetSid} Valor extraído diretamente do campo de registro bruto additional.event__TargetSid.
additional.event__TargetUserName target.user.userid: %{additional.event__TargetUserName} Valor extraído diretamente do campo de registro bruto additional.event__TargetUserName.
additional.event__TargetUserSid target.user.windowssid: %{additional.event_TargetUserSid} Valor extraído diretamente do campo de registro bruto additional.event__TargetUserSid.
additional.event__TokenElevationType additional.fields.key: eventTokenElevationType
additional.fields.value.string_value: %{additional.event
TokenElevationType}
Valor extraído diretamente do campo de registro bruto additional.event__TokenElevationType.
additional.event__TransmittedServices additional.fields.key: eventTransmittedServices
additional.fields.value.string_value: %{additional.event
TransmittedServices}
Valor extraído diretamente do campo de registro bruto additional.event__TransmittedServices.
additional.event__VirtualAccount additional.fields.key: eventVirtualAccount
additional.fields.value.string_value: %{additional.event
VirtualAccount}
Valor extraído diretamente do campo de registro bruto additional.event__VirtualAccount.
additional.event__WorkstationName target.hostname: %{additional.event__WorkstationName} Valor extraído diretamente do campo de registro bruto additional.event__WorkstationName.
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 de registro bruto additional.query.
additional.response network.dns.answers.name: %{additional.response} Valor extraído diretamente do campo de registro bruto additional.response.
metadata.description metadata.description: %{metadata.description} Valor extraído diretamente do campo de registro bruto metadata.description.
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 de registro bruto metadata.eventType.
metadata.logType metadata.product_event_type: %{metadata.logType}
metadata.event_type: %{metadata.logType}
Valor extraído diretamente do campo de registro bruto metadata.logType.
network.applicationProtocol network.application_protocol: %{network.applicationProtocol} Valor extraído diretamente do campo de registro bruto network.applicationProtocol.
network.direction network.direction: %{network.direction} Valor extraído diretamente do campo de registro bruto network.direction.
network.ipProtocol network.ip_protocol: %{network.ipProtocol} Valor extraído diretamente do campo de registro bruto network.ipProtocol.
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 de registro bruto principal.hostname.
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 de registro bruto principal.process.file.fullPath.
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 em letras 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 de registro bruto principal.process.productSpecificProcessId 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 de registro bruto principal.user.groupid.
principal.user.userid principal.user.userid: %{principal.user.userid} Valor extraído diretamente do campo de registro bruto principal.user.userid.
src.ip principal.ip: %{src.ip} Valor extraído diretamente do campo de registro bruto src.ip.
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 de registro bruto target.file.fullPath.
target.file.md5 target.file.md5: %{target.file.md5} Valor extraído diretamente do campo de registro bruto target.file.md5.
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 de registro bruto target.registry.registryKey.
target.registry.registryValue target.registry.registry_value_data: %{target.registry.registryValue} Valor extraído diretamente do campo de registro bruto target.registry.registryValue.
target.user.userDisplayName target.user.user_display_name: %{target.user.userDisplayName} Valor extraído diretamente do campo de registro bruto target.user.userDisplayName.
target.user.windowsSid target.user.windows_sid: %{target.user.windowsSid} Valor extraído diretamente do campo de registro bruto target.user.windowsSid.
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 fixado no código adicionado pelo código do analisador.
N/A metadata.product_name: Stream Valor fixado no código adicionado pelo código do analisador.
N/A metadata.vendor_name: Tanium Valor fixado no código 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.

Registro de alterações

Ver o registro de alterações deste analisador

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