A referência do esquema de normalização de eventos do processo ASIM (Advanced Security Information Model) (visualização pública)

O esquema de normalização de eventos de processo é usado para descrever a atividade do sistema operacional de execução e encerramento de um processo. Tais eventos são relatados por sistemas operacionais e sistemas de segurança, como sistemas EDR (End Point Detection and Response).

Um processo, conforme definido pelo OSSEM, é um objeto de contenção e gerenciamento que representa uma instância em execução de um programa. Embora os processos em si não sejam executados, eles gerenciam threads que executam e executam código.

Para obter mais informações sobre normalização no Microsoft Sentinel, consulte Normalização e o modelo avançado de informações de segurança (ASIM).

Importante

O esquema de normalização de eventos de processo está atualmente em visualização. Esse recurso é fornecido sem um contrato de nível de serviço e não é recomendado para cargas de trabalho de produção.

Os Termos Suplementares do Azure Preview incluem termos legais adicionais que se aplicam a funcionalidades do Azure que estão em versão beta, pré-visualização ou ainda não disponibilizadas para disponibilidade geral.

Analisadores

Para usar os analisadores unificadores que unificam todos os analisadores listados e garantir que você analise todas as fontes configuradas, use os seguintes nomes de tabela em suas consultas:

  • imProcessCreate para consultas que exigem informações de criação de processos. Estas consultas são o caso mais comum.
  • imProcessTerminate para consultas que exigem informações de encerramento do processo.

Para obter a lista dos analisadores de eventos de processo fornecidos pelo Microsoft Sentinel prontos para uso, consulte a lista de analisadores ASIM.

Implante os analisadores de autenticação a partir do repositório GitHub do Microsoft Sentinel.

Para obter mais informações, consulte Visão geral dos analisadores ASIM.

Adicione seus próprios analisadores normalizados

Ao implementar analisadores de eventos de processo personalizados, nomeie suas funções KQL usando a seguinte sintaxe: imProcessCreate<vendor><Product> e imProcessTerminate<vendor><Product>. Substitua im por ASim para a versão sem parâmetros.

Adicione sua função KQL aos analisadores unificadores, conforme descrito em Gerenciando analisadores ASIM.

Parâmetros do analisador de filtragem

Os im analisadores e vim* suportam parâmetros de filtragem. Embora esses analisadores sejam opcionais, eles podem melhorar o desempenho da consulta.

Os seguintes parâmetros de filtragem estão disponíveis:

Nome Tipo Description
Hora de início datetime Filtre apenas eventos de processo ocorridos nesse período ou após esse período.
tempo de fim datetime Filtre apenas consultas de eventos de processo que ocorreram durante ou antes desse período.
commandline_has_any dynamic Filtre apenas eventos de processo para os quais a linha de comando executada tenha qualquer um dos valores listados. O tamanho da lista é limitado a 10.000 itens.
commandline_has_all dynamic Filtre apenas eventos de processo para os quais a linha de comando executada tenha todos os valores listados.. O tamanho da lista é limitado a 10.000 itens.
commandline_has_any_ip_prefix dynamic Filtre apenas eventos de processo para os quais a linha de comando executada tenha todos os endereços IP ou prefixos de endereço IP listados. Os prefixos devem terminar com um ., por exemplo: 10.0.. O tamanho da lista é limitado a 10.000 itens.
actingprocess_has_any dynamic Filtre apenas eventos de processo para os quais o nome do processo de atuação, que inclui todo o caminho do processo, tenha qualquer um dos valores listados. O tamanho da lista é limitado a 10.000 itens.
targetprocess_has_any dynamic Filtre apenas eventos de processo para os quais o nome do processo de destino, que inclui todo o caminho do processo, tenha qualquer um dos valores listados. O tamanho da lista é limitado a 10.000 itens.
parentprocess_has_any dynamic Filtre apenas eventos de processo para os quais o nome do processo de destino, que inclui todo o caminho do processo, tenha qualquer um dos valores listados. O tamanho da lista é limitado a 10.000 itens.
targetusername_has ou actorusername_has string Filtre apenas eventos de processo para os quais o nome de usuário de destino (para eventos de criação de processo) ou o nome de usuário do ator (para eventos de encerramento de processo) tenha qualquer um dos valores listados. O tamanho da lista é limitado a 10.000 itens.
dvcipaddr_has_any_prefix dynamic Filtre apenas eventos de processo para os quais o endereço IP do dispositivo corresponda a qualquer um dos endereços IP ou prefixos de endereço IP listados. Os prefixos devem terminar com um ., por exemplo: 10.0.. O tamanho da lista é limitado a 10.000 itens.
dvchostname_has_any dynamic Filtrar apenas eventos de processo para os quais o nome do host do dispositivo, ou FQDN do dispositivo, está disponível, tem qualquer um dos valores listados. O tamanho da lista é limitado a 10.000 itens.
tipo de evento string Filtre apenas eventos de processo do tipo especificado.

ou exemplo, para filtrar apenas eventos de autenticação do último dia para um usuário específico, use:

imProcessCreate (targetusername_has = 'johndoe', starttime = ago(1d), endtime=now())

Gorjeta

Para passar uma lista literal para parâmetros que esperam um valor dinâmico, use explicitamente um literal dinâmico. Por exemplo: dynamic(['192.168.','10.']).

Conteúdo normalizado

Para obter uma lista completa de regras de análise que usam eventos de processo normalizados, consulte Conteúdo de segurança de eventos de processo.

Detalhes do esquema

O modelo de informações do Evento do Processo está alinhado ao esquema de entidade do Processo OSSEM.

Campos ASIM comuns

Importante

Os campos comuns a todos os esquemas são descritos em detalhes no artigo Campos comuns do ASIM.

Domínios comuns com orientações específicas

A lista a seguir menciona campos que têm diretrizes específicas para eventos de atividade de processo:

Campo Classe Tipo Description
Tipo de Evento Obrigatório Enumerated Descreve a operação relatada pelo registro.

Para registros de processo, os valores suportados incluem:
- ProcessCreated
- ProcessTerminated
EventSchemaVersion Obrigatório String A versão do esquema. A versão do esquema documentada aqui é 0.1.4
EventSchema Opcional String O nome do esquema documentado aqui é ProcessEvent.
Campos Dvc Para eventos de atividade do processo, os campos do dispositivo referem-se ao sistema no qual o processo foi executado.

Importante

O EventSchema campo é atualmente opcional, mas passará a ser obrigatório em 1º de setembro de 2022.

Todos os campos comuns

Os campos que aparecem na tabela abaixo são comuns a todos os esquemas ASIM. Qualquer diretriz especificada acima substitui as diretrizes gerais para o campo. Por exemplo, um campo pode ser opcional em geral, mas obrigatório para um esquema específico. Para obter mais detalhes sobre cada campo, consulte o artigo Campos comuns do ASIM.

Classe Campos
Obrigatório - EventCount
- EventStartTime
- EventEndTime
- Tipo de Evento
- EventResult
- EventoProduto
- EventVendor
- EventSchema
- EventSchemaVersion
- DVC
Recomendado - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcNome do host
- DvcDomínio
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcional - EventMessage
- SubTipo de Evento
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- Proprietário do Evento
- DvcZona
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Campos Adicionais
- DvcDescrição
- DvcScopeId
- DvcScope

Processar campos específicos do evento

Os campos listados na tabela abaixo são específicos para eventos de processo, mas são semelhantes aos campos em outros esquemas e seguem convenções de nomenclatura semelhantes.

O esquema de eventos do processo faz referência às seguintes entidades, que são centrais para a atividade de criação e encerramento do processo:

  • Ator - O usuário que iniciou a criação ou encerramento do processo.
  • ActingProcess - O processo utilizado pelo Ator para iniciar a criação ou terminação do processo.
  • TargetProcess - O novo processo.
  • TargetUser - O usuário cujas credenciais são usadas para criar o novo processo.
  • ParentProcess - O processo que iniciou o Processo do Ator.

Aliases

Campo Classe Tipo Description
Utilizador Alias Alias para o TargetUsername.

Exemplo: CONTOSO\dadmin
Processo Alias Alias para o TargetProcessName

Exemplo: C:\Windows\System32\rundll32.exe
Linha de comando Alias Alias para TargetProcessCommandLine
Hash Alias Alias para o melhor hash disponível para o processo de destino.

Campos de atores

Campo Classe Tipo Description
ActorUserId Recomendado String Uma representação única, alfanumérica e legível por máquina do Ator. Para obter o formato suportado para diferentes tipos de ID, consulte a entidade User.

Exemplo: S-1-12
ActorUserIdType Condicional String O tipo de ID armazenado no campo ActorUserId . Para obter uma lista de valores permitidos e mais informações, consulte UserIdType no artigo Visão geral do esquema.
ActorScope Opcional String O escopo, como o locatário do Microsoft Entra, no qual ActorUserId e ActorUsername são definidos. ou mais informações e lista de valores permitidos, consulte UserScope no artigo Visão geral do esquema.
ActorUsername Obrigatório String O nome de usuário do ator, incluindo informações de domínio, quando disponíveis. Para obter o formato suportado para diferentes tipos de ID, consulte a entidade User. Use o formulário simples somente se as informações do domínio não estiverem disponíveis.

Armazene o tipo de nome de usuário no campo ActorUsernameType . Se outros formatos de nome de usuário estiverem disponíveis, armazene-os nos campos ActorUsername<UsernameType>.

Exemplo: AlbertE
ActorUsernameType Condicional Enumerated Especifica o tipo do nome de usuário armazenado no campo ActorUsername . Para obter uma lista de valores permitidos e mais informações, consulte UsernameType no artigo Visão geral do esquema.

Exemplo: Windows
ActorSessionId Opcional String O ID exclusivo da sessão de login do Ator.

Exemplo: 999

Nota: O tipo é definido como string para suportar sistemas variados, mas no Windows esse valor deve ser numérico.

Se você estiver usando uma máquina Windows e usou um tipo diferente, certifique-se de converter os valores. Por exemplo, se você usou um valor hexadecimal, converta-o em um valor decimal.
ActorUserType Opcional UserType O tipo de ator. Para obter uma lista de valores permitidos e mais informações, consulte UserType no artigo Visão geral do esquema.

Nota: O valor pode ser fornecido no registro de origem usando termos diferentes, que devem ser normalizados para esses valores. Armazene o valor original no campo ActorOriginalUserType .
ActorOriginalUserType Opcional String O tipo de usuário de destino original, se fornecido pelo dispositivo de relatório.

Campos do processo de atuação

Campo Classe Tipo Description
ActingProcessCommandLine Opcional String A linha de comando usada para executar o processo de atuação.

Exemplo: "choco.exe" -v
ActingProcessName Opcional string O nome do processo de atuação. Esse nome geralmente é derivado da imagem ou do arquivo executável usado para definir o código inicial e os dados mapeados no espaço de endereço virtual do processo.

Exemplo: C:\Windows\explorer.exe
ActingProcessFileCompany Opcional String A empresa que criou o arquivo de imagem do processo de atuação.

Exemplo: Microsoft
ActingProcessFileDescription Opcional String A descrição incorporada nas informações de versão do arquivo de imagem do processo de atuação.

Exemplo: Notepad++ : a free (GPL) source code editor
ActingProcessFileProduct Opcional String O nome do produto a partir das informações de versão no arquivo de imagem do processo de atuação.

Exemplo: Notepad++
ActingProcessFileVersion Opcional String A versão do produto a partir das informações de versão do arquivo de imagem do processo de atuação.

Exemplo: 7.9.5.0
ActingProcessFileInternalName Opcional String O nome do arquivo interno do produto a partir das informações de versão do arquivo de imagem do processo de atuação.
ActingProcessFileOriginalName Opcional String O nome do arquivo original do produto a partir das informações de versão do arquivo de imagem do processo de atuação.

Exemplo: Notepad++.exe
ActingProcessIsHidden Opcional Boolean Uma indicação de se o processo de atuação está no modo oculto.
ActingProcessInjectedAddress Opcional String O endereço de memória no qual o processo de atuação responsável é armazenado.
ActingProcessId Obrigatório String A ID do processo (PID) do processo de atuação.

Exemplo: 48610176

Nota: O tipo é definido como string para suportar sistemas variados, mas no Windows e Linux esse valor deve ser numérico.

Se você estiver usando uma máquina Windows ou Linux e usou um tipo diferente, certifique-se de converter os valores. Por exemplo, se você usou um valor hexadecimal, converta-o em um valor decimal.
AtuaçãoProcessoGuid Opcional string Um identificador exclusivo (GUID) gerado do processo de atuação. Permite identificar o processo em todos os sistemas.

Exemplo: EF3BD0BD-2B74-60C5-AF5C-010000001E00
AtuaçãoProcessoIntegridadeNível Opcional String Cada processo tem um nível de integridade que é representado em seu token. Os níveis de integridade determinam o nível de proteção ou acesso ao processo.

O Windows define os seguintes níveis de integridade: baixo, médio, alto e sistema. Os usuários padrão recebem um nível de integridade médio e os usuários elevados recebem um alto nível de integridade.

Para obter mais informações, consulte Controle de integridade obrigatório - aplicativos Win32.
ActingProcessMD5 Opcional String O hash MD5 do arquivo de imagem do processo de atuação.

Exemplo: 75a599802f1fa166cdadb360960b1dd0
ActingProcessSHA1 Opcional SHA1 O hash SHA-1 do arquivo de imagem do processo de atuação.

Exemplo: d55c5a4df19b46db8c54c801c4665d3338acdab0
ActingProcessSHA256 Opcional SHA256 O hash SHA-256 do arquivo de imagem do processo de atuação.

Exemplo:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ActingProcessSHA512 Opcional SHA521 O hash SHA-512 do arquivo de imagem do processo de atuação.
ActingProcessIMPHASH Opcional String O hash de importação de todas as DLLs de biblioteca que são usadas pelo processo de atuação.
AtuaçãoProcessoCriaçãoTempo Opcional DateTime A data e a hora em que o processo de atuação foi iniciado.
ActingProcessTokenElevation Opcional String Um token que indica a presença ou ausência da elevação de privilégios do Controle de Acesso do Usuário (UAC) aplicada ao processo de atuação.

Exemplo: None
ActingProcessFileSize Opcional Longo O tamanho do arquivo que executou o processo de atuação.

Campos de processo pai

Campo Classe Tipo Description
ParentProcessName Opcional string O nome do processo pai. Esse nome geralmente é derivado da imagem ou do arquivo executável usado para definir o código inicial e os dados mapeados no espaço de endereço virtual do processo.

Exemplo: C:\Windows\explorer.exe
ParentProcessFileCompany Opcional String O nome da empresa que criou o arquivo de imagem do processo pai.

Exemplo: Microsoft
ParentProcessFileDescription Opcional String A descrição das informações de versão no arquivo de imagem do processo pai.

Exemplo: Notepad++ : a free (GPL) source code editor
ParentProcessFileProduct Opcional String O nome do produto das informações de versão no arquivo de imagem do processo pai.

Exemplo: Notepad++
ParentProcessFileVersion Opcional String A versão do produto a partir das informações de versão no arquivo de imagem do processo pai.

Exemplo: 7.9.5.0
ParentProcessIsHidden Opcional Boolean Uma indicação de se o processo pai está no modo oculto.
ParentProcessInjectedAddress Opcional String O endereço de memória no qual o processo pai responsável é armazenado.
ParentProcessId Recomendado String A ID do processo (PID) do processo pai.

Exemplo: 48610176
ParentProcessGuid Opcional String Um identificador exclusivo gerado (GUID) do processo pai. Permite identificar o processo em todos os sistemas.

Exemplo: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessIntegrityLevel Opcional String Cada processo tem um nível de integridade que é representado em seu token. Os níveis de integridade determinam o nível de proteção ou acesso ao processo.

O Windows define os seguintes níveis de integridade: baixo, médio, alto e sistema. Os usuários padrão recebem um nível de integridade médio e os usuários elevados recebem um alto nível de integridade.

Para obter mais informações, consulte Controle de integridade obrigatório - aplicativos Win32.
ParentProcessMD5 Opcional MD5 O hash MD5 do arquivo de imagem do processo pai.

Exemplo: 75a599802f1fa166cdadb360960b1dd0
ParentProcessSHA1 Opcional SHA1 O hash SHA-1 do arquivo de imagem do processo pai.

Exemplo: d55c5a4df19b46db8c54c801c4665d3338acdab0
ParentProcessSHA256 Opcional SHA256 O hash SHA-256 do arquivo de imagem do processo pai.

Exemplo:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ParentProcessSHA512 Opcional SHA512 O hash SHA-512 do arquivo de imagem do processo pai.
ParentProcessIMPHASH Opcional String O hash de importação de todas as DLLs de biblioteca que são usadas pelo processo pai.
ParentProcessTokenElevation Opcional String Um token que indica a presença ou ausência da elevação de privilégios do UAC (Controle de Acesso do Usuário) aplicada ao processo pai.

Exemplo: None
ParentProcessCreationTime Opcional DateTime A data e a hora em que o processo pai foi iniciado.

Campos de utilizador alvo

Campo Classe Tipo Description
TargetUsername Obrigatório para eventos de criação de processos. String O nome de usuário de destino, incluindo informações de domínio, quando disponíveis. Para obter o formato suportado para diferentes tipos de ID, consulte a entidade User. Use o formulário simples somente se as informações do domínio não estiverem disponíveis.

Armazene o tipo de nome de usuário no campo TargetUsernameType . Se outros formatos de nome de usuário estiverem disponíveis, armazene-os nos campos TargetUsername<UsernameType>.

Exemplo: AlbertE
TargetUsernameType Condicional Enumerated Especifica o tipo do nome de usuário armazenado no campo TargetUsername . Para obter uma lista de valores permitidos e mais informações, consulte UsernameType no artigo Visão geral do esquema.

Exemplo: Windows
TargetUserId Recomendado String Uma representação única, alfanumérica e legível por máquina do utilizador alvo. Para obter o formato suportado para diferentes tipos de ID, consulte a entidade User.

Exemplo: S-1-12
TargetUserIdType Condicional String O tipo do ID armazenado no campo TargetUserId . Para obter uma lista de valores permitidos e mais informações, consulte UserIdType no artigo Visão geral do esquema.
TargetUserSessionId Opcional String O ID exclusivo da sessão de login do usuário alvo.

Exemplo: 999

Nota: O tipo é definido como string para suportar sistemas variados, mas no Windows esse valor deve ser numérico.

Se você estiver usando uma máquina Windows ou Linux e usou um tipo diferente, certifique-se de converter os valores. Por exemplo, se você usou um valor hexadecimal, converta-o em um valor decimal.
TargetUserType Opcional UserType O tipo de ator. Para obter uma lista de valores permitidos e mais informações, consulte UserType no artigo Visão geral do esquema.

Nota: O valor pode ser fornecido no registro de origem usando termos diferentes, que devem ser normalizados para esses valores. Armazene o valor original no campo TargetOriginalUserType .
TargetOriginalUserType Opcional String O tipo de usuário de destino original, se fornecido pelo dispositivo de relatório.

Campos de processo de destino

Campo Classe Tipo Description
TargetProcessName Obrigatório string O nome do processo de destino. Esse nome geralmente é derivado da imagem ou do arquivo executável usado para definir o código inicial e os dados mapeados no espaço de endereço virtual do processo.

Exemplo: C:\Windows\explorer.exe
TargetProcessFileCompany Opcional String O nome da empresa que criou o arquivo de imagem do processo de destino.

Exemplo: Microsoft
TargetProcessFileDescription Opcional String A descrição das informações de versão no arquivo de imagem do processo de destino.

Exemplo: Notepad++ : a free (GPL) source code editor
TargetProcessFileProduct Opcional String O nome do produto a partir das informações de versão no arquivo de imagem do processo de destino.

Exemplo: Notepad++
TargetProcessFileSize Opcional String Tamanho do arquivo que executou o processo responsável pelo evento.
TargetProcessFileVersion Opcional String A versão do produto a partir das informações de versão no arquivo de imagem do processo de destino.

Exemplo: 7.9.5.0
TargetProcessFileInternalName Opcional String O nome do arquivo interno do produto a partir das informações de versão do arquivo de imagem do processo de destino.
TargetProcessFileOriginalName Opcional String O nome do arquivo original do produto a partir das informações de versão do arquivo de imagem do processo de destino.
TargetProcessIsHidden Opcional Boolean Uma indicação de se o processo de destino está no modo oculto.
TargetProcessInjectedAddress Opcional String O endereço de memória no qual o processo de destino responsável é armazenado.
TargetProcessMD5 Opcional MD5 O hash MD5 do arquivo de imagem do processo de destino.

Exemplo: 75a599802f1fa166cdadb360960b1dd0
TargetProcessSHA1 Opcional SHA1 O hash SHA-1 do arquivo de imagem do processo de destino.

Exemplo: d55c5a4df19b46db8c54c801c4665d3338acdab0
TargetProcessSHA256 Opcional SHA256 O hash SHA-256 do arquivo de imagem do processo de destino.

Exemplo:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
TargetProcessSHA512 Opcional SHA512 O hash SHA-512 do arquivo de imagem do processo de destino.
TargetProcessIMPHASH Opcional String O hash de importação de todas as DLLs de biblioteca que são usadas pelo processo de destino.
HashType Recomendado String O tipo de hash armazenado no campo alias HASH, os valores permitidos são MD5, SHA, SHA256SHA512 e IMPHASH.
TargetProcessCommandLine Obrigatório String A linha de comando usada para executar o processo de destino.

Exemplo: "choco.exe" -v
TargetProcessCurrentDirectory Opcional String O diretório atual no qual o processo de destino é executado.

Exemplo: c:\windows\system32
TargetProcessCreationTime Recomendado DateTime A versão do produto a partir das informações de versão do arquivo de imagem do processo de destino.
TargetProcessId Obrigatório String A ID do processo (PID) do processo de destino.

Exemplo: 48610176

Nota: O tipo é definido como string para suportar sistemas variados, mas no Windows e Linux esse valor deve ser numérico.

Se você estiver usando uma máquina Windows ou Linux e usou um tipo diferente, certifique-se de converter os valores. Por exemplo, se você usou um valor hexadecimal, converta-o em um valor decimal.
TargetProcessGuid Opcional String Um identificador exclusivo (GUID) gerado do processo de destino. Permite identificar o processo em todos os sistemas.

Exemplo: EF3BD0BD-2B74-60C5-AF5C-010000001E00
TargetProcessIntegrityLevel Opcional String Cada processo tem um nível de integridade que é representado em seu token. Os níveis de integridade determinam o nível de proteção ou acesso ao processo.

O Windows define os seguintes níveis de integridade: baixo, médio, alto e sistema. Os usuários padrão recebem um nível de integridade médio e os usuários elevados recebem um alto nível de integridade.

Para obter mais informações, consulte Controle de integridade obrigatório - aplicativos Win32.
TargetProcessTokenElevation Opcional String Tipo de token que indica a presença ou ausência da elevação de privilégios do Controle de Acesso do Usuário (UAC) aplicada ao processo que foi criado ou encerrado.

Exemplo: None
TargetProcessStatusCode Opcional String O código de saída retornado pelo processo de destino quando terminado. Este campo é válido apenas para eventos de encerramento do processo. Para consistência, o tipo de campo é string, mesmo que o valor fornecido pelo sistema operacional seja numérico.

Atualizações de esquema

Estas são as alterações na versão 0.1.1 do esquema:

  • Adicionado o campo EventSchema.

Estas são as alterações na versão 0.1.2 do esquema

  • Adicionados os campos ActorUserType, ActorOriginalUserType, TargetUserType, TargetOriginalUserType, e HashType.

Estas são as alterações na versão 0.1.3 do esquema

  • Alterou os campos ParentProcessId e de obrigatório para TargetProcessCreationTime recomendado.

Estas são as alterações na versão 0.1.4 do esquema

  • Adicionados os campos ActorScope, DvcScopeIde DvcScope.

Próximos passos

Para obter mais informações, consulte: