Esquemas ASIM (Advanced Security Information Model)

Um esquema ASIM (Advanced Security Information Model) é um conjunto de campos que representam uma atividade. Utilizar os campos de um esquema normalizado numa consulta garante que a consulta funcionará com todas as origens normalizadas.

Para entender como os esquemas se encaixam na arquitetura ASIM, consulte o diagrama de arquitetura ASIM.

As referências de esquema descrevem os campos que compõem cada esquema. Atualmente, o ASIM define os seguintes esquemas:

Esquema Versão Estado
Evento de Auditoria 0.1 Pré-visualizar
Evento de autenticação 0.1.3 Pré-visualizar
Atividade de DNS 0.1.7 Pré-visualizar
Atividade DHCP 0.1 Pré-visualizar
Atividade de arquivo 0.2.1 Pré-visualizar
Sessão de rede 0.2.6 Pré-visualizar
Evento do processo 0.1.4 Pré-visualizar
Evento de registo 0.1.2 Pré-visualizar
Gestão de Utilizadores 0.1 Pré-visualizar
Sessão Web 0.2.6 Pré-visualizar

Importante

Os esquemas e analisadores ASIM estão atualmente em visualizaçã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.

Conceitos de esquema

Os conceitos a seguir ajudam a entender os documentos de referência do esquema e a estender o esquema de maneira normalizada caso seus dados incluam informações que o esquema não cobre.

Conceito Descrição
Nomes de campos No núcleo de cada esquema estão seus nomes de campo. Os nomes dos campos pertencem aos seguintes grupos:

- Campos comuns a todos os esquemas.
- Campos específicos de um esquema.
- Campos que representam entidades, como usuários, que participam do esquema. Os campos que representam entidades são semelhantes entre esquemas.

Quando as fontes têm campos que não são apresentados no esquema documentado, elas são normalizadas para manter a consistência. Se os campos extras representarem uma entidade, eles serão normalizados com base nas diretrizes do campo da entidade. Caso contrário, os esquemas se esforçam para manter a consistência em todos os esquemas.

Por exemplo, enquanto os logs de atividade do servidor DNS não fornecem informações do usuário, os logs de atividade do DNS de um ponto de extremidade podem incluir informações do usuário, que podem ser normalizadas de acordo com as diretrizes da entidade do usuário.
Tipos de campo Cada campo de esquema tem um tipo. O espaço de trabalho do Log Analytics tem um conjunto limitado de tipos de dados. Por esse motivo, o Microsoft Sentinel usa um tipo lógico para muitos campos de esquema, que o Log Analytics não impõe, mas é necessário para compatibilidade de esquema. Os tipos de campo lógico garantem que os valores e os nomes de campo sejam consistentes entre as fontes.

Para obter mais informações, consulte Tipos lógicos.
Classe de campo Os campos podem ter várias classes, que definem quando os campos devem ser implementados por um analisador:

- Os campos obrigatórios devem aparecer em todos os analisadores. Se sua fonte não fornecer informações para esse valor, ou se os dados não puderem ser adicionados de outra forma, ela não suportará a maioria dos itens de conteúdo que fazem referência ao esquema normalizado.
- Os campos recomendados devem ser normalizados, se disponíveis. No entanto, eles podem não estar disponíveis em todas as fontes. Qualquer item de conteúdo que faça referência a esse esquema normalizado deve levar em conta a disponibilidade.
- Os campos opcionais , se disponíveis, podem ser normalizados ou deixados na sua forma original. Normalmente, um analisador mínimo não os normalizaria por motivos de desempenho.
- Os campos condicionais são obrigatórios se o campo que seguem estiver preenchido. Os campos condicionais são normalmente usados para descrever o valor em outro campo. Por exemplo, o campo comum DvcIdType descreve o valor int do campo comum DvcId e, portanto, é obrigatório se este último for preenchido.
- Alias é um tipo especial de campo condicional e é obrigatório se o campo com alias estiver preenchido.
Campos comuns Alguns campos são comuns a todos os esquemas ASIM. Cada esquema pode adicionar diretrizes para usar alguns dos campos comuns no contexto do esquema específico. Por exemplo, os valores permitidos para o campo EventType podem variar de acordo com o esquema, assim como o valor do campo EventSchemaVersion.
Entidades Os eventos evoluem em torno de entidades, como usuários, hosts, processos ou arquivos. Cada entidade pode necessitar de vários campos para a descrever. Por exemplo, um host pode ter um nome e um endereço IP.

Um único registro pode incluir várias entidades do mesmo tipo, como um host de origem e de destino.

O ASIM define como descrever entidades de forma consistente, e as entidades permitem estender os esquemas.

Por exemplo, embora o esquema de Sessão de Rede não inclua informações de processo, algumas fontes de eventos fornecem informações de processo que podem ser adicionadas. Para obter mais informações, consulte Entidades.
Pseudónimos Os aliases permitem vários nomes para um valor especificado. Em alguns casos, usuários diferentes esperam que um campo tenha nomes diferentes. Por exemplo, na terminologia DNS, você pode esperar um campo chamado DnsQuery, enquanto mais geralmente, ele contém um nome de domínio. O alias Domain ajuda o usuário, permitindo o uso de ambos os nomes.

Em alguns casos, um alias pode ter o valor de um dos vários campos, dependendo de quais valores estão disponíveis no evento. Por exemplo, o alias Dvc, aliases os campos DvcFQDN, DvcId, DvcHostname ou DvcIpAddr ou Produto do Evento. Quando um alias pode ter vários valores, seu tipo deve ser uma cadeia de caracteres para acomodar todos os possíveis valores com alias. Como resultado, ao atribuir um valor a esse alias, certifique-se de converter o tipo em string usando a função KQL tostring.

As tabelas normalizadas nativas não incluem aliases, pois isso implicaria armazenamento de dados duplicado. Em vez disso, os analisadores de stub adicionam os aliases. Para implementar aliases em analisadores, crie uma cópia do valor original usando o extend operador .

Tipos lógicos

Cada campo de esquema tem um tipo. Alguns têm tipos internos do Log Analytics, como string, , intdatetimeou dynamic. Outros campos têm um tipo lógico, que representa como os valores de campo devem ser normalizados.

Tipo de dados Tipo físico Formato e valor
Booleano Bool Use o tipo de dados KQL bool interno em vez de uma representação numérica ou de cadeia de caracteres de valores booleanos.
Enumerado String Uma lista de valores conforme explicitamente definido para o campo. A definição de esquema lista os valores aceitos.
Data/Hora Dependendo da capacidade do método de ingestão, use qualquer uma das seguintes representações físicas na prioridade decrescente:

- Tipo de data/hora integrado do Log Analytics
- Um campo inteiro usando a representação numérica datetime do Log Analytics.
- Um campo string usando representação numérica datetime do Log Analytics
- Um campo de cadeia de caracteres que armazena um formato de data/hora suportado do Log Analytics.
A representação de data e hora do Log Analytics é semelhante, mas diferente da representação de hora do Unix. Para obter mais informações, consulte as diretrizes de conversão.

Nota: Quando aplicável, o fuso horário deve ser ajustado.
Endereço MAC String Notação dois-pontos-hexadecimal.
Endereço IP String Os esquemas do Microsoft Sentinel não têm endereços IPv4 e IPv6 separados. Qualquer campo de endereço IP pode incluir um endereço IPv4 ou um endereço IPv6, da seguinte forma:

- IPv4 em uma notação ponto-decimal.
- IPv6 em notação de 8-hextets, permitindo a forma curta.

Por exemplo:
- IPv4: 192.168.10.10
- IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
- Forma abreviada IPv6: 1080::8:800:200C:417A
FQDN String Um nome de domínio totalmente qualificado usando uma notação de ponto, por exemplo, learn.microsoft.com. Para obter mais informações, consulte A entidade Device.
Nome de Anfitrião String Um nome de host que não é um FQDN, inclui até 63 caracteres, incluindo letras, números e hífenes. Para obter mais informações, consulte A entidade Device.
Tipo de domínio Enumerated O tipo de domínio armazenado em campos de domínio e FQDN. Para obter uma lista de valores e mais informações, consulte A entidade Dispositivo.
DvcIdType Enumerated O tipo do ID do dispositivo armazenado nos campos DvcId. Para obter uma lista de valores permitidos e mais informações, consulte DvcIdType.
Tipo de dispositivo Enumerated O tipo do dispositivo armazenado nos campos DeviceType. Valores possíveis incluem:
- Computer
- Mobile Device
- IOT Device
- Other. Para obter mais informações, consulte A entidade Device.
Nome de utilizador String Um nome de usuário válido em um dos tipos suportados. Para obter mais informações, consulte A entidade Usuário.
UsernameType Enumerated O tipo de nome de usuário armazenado em campos de nome de usuário. Para obter mais informações e uma lista de valores suportados, consulte A entidade Usuário.
UserIdType Enumerated O tipo de ID armazenado em campos de ID de usuário.

Os valores suportados são SID, , , , OktaIdAWSIdUISAADIDe .PUID Para obter mais informações, consulte A entidade Usuário.
Tipo de usuário Enumerated O tipo de usuário. Para obter mais informações e uma lista de valores permitidos, consulte A entidade Usuário.
Tipo de aplicativo Enumerated O tipo de um aplicativo. Os valores suportados incluem: Process
, , , , , CSPSaaS applicationURL, ServiceResourcee Other.
País String Uma cadeia de caracteres usando ISO 3166-1, de acordo com a seguinte prioridade:

- Códigos alfa-2, como US para os Estados Unidos.
- Códigos alfa-3, como USA para os Estados Unidos.
- Nome curto.

A lista de códigos pode ser consultada no sítio Web da Organização Internacional de Normalização (ISO).
Região String O nome da subdivisão do país, usando a ISO 3166-2.

A lista de códigos pode ser consultada no sítio Web da Organização Internacional de Normalização (ISO).
Localidade String
Longitude Duplo Representação de coordenadas ISO 6709 (decimal assinado).
Latitude Duplo Representação de coordenadas ISO 6709 (decimal assinado).
MD5 String Caracteres hexadecimais de 32 hex.
SHA1 String Caracteres hexadecimais de 40 hex.
SHA256 String 64 caracteres hexadecimais.
SHA512 String Caracteres hexadecimais de 128 hex.

Entidades

Os eventos evoluem em torno de entidades, como usuários, hosts, processos ou arquivos. A representação de entidade permite que várias entidades do mesmo tipo façam parte de um único registro e ofereça suporte a vários atributos para as mesmas entidades.

Para habilitar a funcionalidade de entidade, a representação de entidade tem as seguintes diretrizes:

Diretriz Descrição
Descritores e aliasing Como um único evento geralmente inclui mais de uma entidade do mesmo tipo, como hosts de origem e destino, os descritores são usados como um prefixo para identificar todos os campos associados a uma entidade específica.

Para manter a normalização, o ASIM usa um pequeno conjunto de descritores padrão, escolhendo os mais apropriados para o papel específico das entidades.

Se uma única entidade de um tipo for relevante para um evento, não há necessidade de usar um descritor. Além disso, um conjunto de campos sem um descritor aliases a entidade mais usada para cada tipo.
Identificadores e tipos Um esquema normalizado permite vários identificadores para cada entidade, que esperamos coexistir em eventos. Se o evento de origem tiver outros identificadores de entidade que não podem ser mapeados para o esquema normalizado, mantenha-os no formulário de origem ou use o campo dinâmico AdditionalFields .

Para manter as informações de tipo para os identificadores, armazene o tipo, quando aplicável, em um campo com o mesmo nome e um sufixo de Tipo. Por exemplo, UserIdType.
Atributos As entidades geralmente têm outros atributos que não servem como um identificador e também podem ser qualificados com um descritor. Por exemplo, se o usuário de origem tiver informações de domínio, o campo normalizado será SrcUserDomain.

Cada esquema define explicitamente as entidades centrais e os campos de entidade. As diretrizes a seguir permitem que você compreenda os campos de esquema central e como estender esquemas de maneira normalizada usando outras entidades ou campos de entidade que não estão explicitamente definidos no esquema.

A entidade Utilizador

Os usuários são fundamentais para as atividades relatadas pelos eventos. Os campos listados nesta seção são usados para descrever os usuários envolvidos na ação. Os prefixos são usados para designar a função do usuário na atividade. Os prefixos Src e são usados para designar a função do usuário em eventos relacionados à rede, nos quais um sistema de origem e Dst um sistema de destino se comunicam. Os prefixos 'Actor' e 'Target' são usados para eventos orientados ao sistema, como eventos de processo.

O ID do usuário e o escopo

Campo Classe Tipo Descrição
UserId Opcional String Uma representação única, alfanumérica e legível por máquina do utilizador.
UserScope Opcional string O escopo no qual UserId e Username são definidos. Por exemplo, um nome de domínio de locatário do Microsoft Entra. O campo UserIdType representa também o tipo do associado a este campo.
UserScopeId Opcional string A ID do escopo no qual UserId e Username são definidos. Por exemplo, uma ID de diretório de locatário do Microsoft Entra. O campo UserIdType representa também o tipo do associado a este campo.
UserIdType Opcional UserIdType O tipo do ID armazenado no campo UserId .
UserSid, UserUid, UserAadId, UserOktaId, UserAWSId, UserPuid Opcional String Campos usados para armazenar IDs de usuário específicos. Selecione o ID mais associado ao evento como o ID primário armazenado em UserId. Preencha o campo ID específico relevante, além de UserId, mesmo que o evento tenha apenas um ID.
UserAADTenant, UserAWSAccount Opcional String Campos usados para armazenar escopos específicos. Use o campo UserScope para o escopo associado ao ID armazenado no campo UserId. Preencha o campo de escopo específico relevante, além de UserScope, mesmo que o evento tenha apenas uma ID.

Os valores permitidos para um tipo de ID de usuário são:

Tipo Descrição Exemplo
SID Um ID de usuário do Windows. S-1-5-21-1377283216-344919071-3415362939-500
UID Um ID de usuário do Linux. 4578
AADID Um ID de usuário do Microsoft Entra. 9267d02c-5f76-40a9-a9eb-b686f3ca47aa
OktaId Um ID de usuário Okta. 00urjk4znu3BcncfY0h7
AWSId Um ID de usuário da AWS. 72643944673
PUID Um ID de usuário do Microsoft 365. 10032001582F435C
SalesforceId Um ID de usuário do Salesforce. 00530000009M943

O nome de utilizador

Campo Classe Tipo Descrição
Nome de utilizador Opcional String O nome de usuário de origem, incluindo informações de domínio, quando disponíveis. 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 UsernameType .
UsernameType Opcional UsernameType Especifica o tipo do nome de usuário armazenado no campo Nome de usuário .
UserUPN, WindowsUsername, DNUsername, SimpleUsername Opcional String Campos usados para armazenar nomes de usuário adicionais, se o evento original incluir vários nomes de usuário. Selecione o nome de usuário mais associado ao evento como o nome de usuário principal armazenado em Nome de usuário.

Os valores permitidos para um tipo de nome de usuário são:

Tipo Descrição Exemplo
UPN Um designador de nome de usuário UPN ou endereço de e-mail. johndow@contoso.com
Windows Um nome de utilizador do Windows, incluindo um domínio. Contoso\johndow
DN Um designador de nome distinto LDAP. CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM
Simples Um nome de usuário simples sem um designador de domínio. johndow
AWSId Um ID de usuário da AWS. 72643944673

Campos de utilizador adicionais

Campo Classe Tipo Descrição
Tipo de usuário Opcional UserType O tipo de usuário de origem. Os valores suportados incluem:
- Regular
- Machine
- Admin
- System
- Application
- Service Principal
- Service
- Anonymous
- Other.

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 OriginalUserType .
OriginalUserType Opcional String O tipo de usuário de destino original, se fornecido pelo dispositivo de relatório.

A entidade do dispositivo

Dispositivos, ou hosts, são os termos comuns usados para os sistemas que participam do evento. O Dvc prefixo é usado para designar o dispositivo primário no qual o evento ocorre. Alguns eventos, como sessões de rede, têm dispositivos de origem e destino, designados pelo prefixo Src e Dst. Nesse caso, o prefixo é usado para o dispositivo que relata o evento, que pode ser a origem, o Dvc destino ou um dispositivo de monitoramento.

Os aliases do dispositivo

Campo Classe Tipo Descrição
Dvc, Src, Dst Obrigatório String Os Dvccampos , 'Src' ou 'Dst' são usados como um identificador exclusivo do dispositivo. Ele é definido como o melhor disponível identificado para o dispositivo. Esses campos podem usar o alias dos campos FQDN, DvcId, Hostname ou IpAddr . Para fontes de nuvem, para as quais não há um dispositivo aparente, use o mesmo valor que o campo Produto do evento.

O nome do dispositivo

Os nomes de dispositivos relatados podem incluir apenas um nome de host ou um nome de domínio totalmente qualificado (FQDN), que inclui um nome de host e um nome de domínio. O FQDN pode ser expresso usando vários formatos. Os campos a seguir permitem suportar as diferentes variantes nas quais o nome do dispositivo pode ser fornecido.

Campo Classe Tipo Descrição
Nome de Anfitrião Recomendado Hostname (Nome do anfitrião) O nome de host curto do dispositivo.
Domínio Recomendado String O domínio do dispositivo no qual o evento ocorreu, sem o nome do host.
Tipo de domínio Recomendado Enumerated O tipo de domínio. Os valores suportados incluem FQDN e Windows. Este campo é obrigatório se o campo Domínio for usado.
FQDN Opcional String O FQDN do dispositivo, incluindo Hostname e Domain . Este campo suporta o formato FQDN tradicional e o formato domínio\nome de host do Windows. O campo DomainType reflete o formato usado.

Por exemplo:

Campo Valor da entrada appserver.contoso.com valor para entrada appserver
Nome de Anfitrião appserver appserver
Domínio contoso.con <empty>
Tipo de domínio FQDN <empty>
FQDN appserver.contoso.com <empty>

Quando o valor fornecido pela fonte é um FQDN, ou quando o valor pode ser um e FQDN ou um nome de host curto, o analisador deve calcular os 4 valores. Use as funções _ASIM_ResolveFQDNauxiliares do ASIM , , _ASIM_ResolveSrcFQDN_ASIM_ResolveDstFQDNe _ASIM_ResolveDvcFQDN para definir facilmente todos os quatro campos com base em um único valor de entrada. Para obter mais informações, consulte Funções auxiliares do ASIM.

O ID e o Âmbito do Dispositivo

Campo Classe Tipo Descrição
DvcId Opcional String O ID exclusivo do dispositivo . Por exemplo: 41502da5-21b7-48ec-81c9-baeea8d7d669
ScopeId Opcional String O ID de escopo da plataforma de nuvem ao qual o dispositivo pertence. Mapa de escopo para uma ID de assinatura no Azure e para uma ID de conta na AWS.
Scope Opcional String O escopo da plataforma de nuvem ao qual o dispositivo pertence. Mapa de escopo para uma assinatura no Azure e para uma conta na AWS.
DvcIdType Opcional Enumerated O tipo de DvcId. Normalmente, esse campo também identificará o tipo de Escopo e ScopeId. Este campo é obrigatório se o campo DvcId for usado.
DvcAzureResourceId, DvcMDEid, DvcMD4IoTid, DvcVMConnectionId, DvcVectraId, DvcAwsVpcId Opcional String Campos usados para armazenar IDs de dispositivo adicionais, se o evento original incluir vários IDs de dispositivo. Selecione o ID do dispositivo mais associado ao evento como o ID principal armazenado no DvcId.

Observe que os campos nomeados devem preceder um prefixo de função, como Src ou Dst, mas não devem preceder um segundo Dvc prefixo se usados nessa função.

Os valores permitidos para um tipo de ID de dispositivo são:

Tipo Descrição
MDEid A ID do sistema atribuída pelo Microsoft Defender for Endpoint.
AzureResourceId A ID de recurso do Azure.
MD4IoTid A ID de recurso do Microsoft Defender para IoT.
VMConnectionId A ID de recurso da solução Azure Monitor VM Insights.
AwsVpcId Um ID de VPC da AWS.
VectraId Um ID de recurso atribuído ao Vectra AI.
Outro Um tipo de ID não listado acima.

Por exemplo, a solução Azure Monitor VM Insights fornece informações de sessões de rede no VMConnection. A tabela fornece uma ID de Recurso do _ResourceId Azure no campo e uma ID de dispositivo específica do VM Insights no Machine campo. Use o seguinte mapeamento para representar essas IDs:

Campo Mapear para
DvcId O Machine campo na VMConnection tabela.
DvcIdType O valor VMConnectionId
DvcAzureResourceId O _ResourceId campo na VMConnection tabela.

Campos de dispositivo adicionais

Campo Classe Tipo Descrição
IpAddr Recomendado Endereço IP O endereço IP do dispositivo.

Exemplo: 45.21.42.12
DvcDescrição Opcional String Um texto descritivo associado ao dispositivo. Por exemplo: Primary Domain Controller.
MacAddr Opcional MAC O endereço MAC do dispositivo no qual o evento ocorreu ou que relatou o evento.

Exemplo: 00:1B:44:11:3A:B7
Zona Opcional String A rede na qual o evento ocorreu ou que relatou o evento, dependendo do esquema. A zona é definida pelo dispositivo de relatório.

Exemplo: Dmz
DvcOs Opcional String O sistema operacional em execução no dispositivo no qual o evento ocorreu ou que relatou o evento.

Exemplo: Windows
DvcOsVersion Opcional String A versão do sistema operacional no dispositivo no qual o evento ocorreu ou que relatou o evento.

Exemplo: 10
DvcAction Opcional String Para comunicar sistemas de segurança, a ação tomada pelo sistema, se aplicável.

Exemplo: Blocked
DvcOriginalAction Opcional String O DvcAction original conforme fornecido pelo dispositivo de relatório.
Interface Opcional String A interface de rede na qual os dados foram capturados. Este campo é normalmente relevante para a atividade relacionada com a rede que é capturada por um dispositivo intermediário ou toque.

Observe que os campos nomeados na lista com o prefixo Dvc devem preceder um prefixo de função como Src ou Dst, mas não devem preceder um segundo Dvc prefixo se usados nessa função.

Exemplo de mapeamento de entidade

Esta seção usa o evento 4624 do Windows como exemplo para descrever como os dados de evento são normalizados para o Microsoft Sentinel.

Este evento conta com as seguintes entidades:

Terminologia da Microsoft Prefixo do campo de evento original Prefixo do campo ASIM Descrição
Assunto Subject Actor O usuário que relatou informações sobre uma entrada bem-sucedida.
Novo Logon Target TargetUser O usuário para o qual a entrada foi executada.
Processo - ActingProcess O processo que tentou entrar.
Informações da rede - Src A máquina a partir da qual foi executada uma tentativa de início de sessão.

Com base nessas entidades, o evento 4624 do Windows é normalizado da seguinte forma (alguns campos são opcionais):

Campo normalizado Campo original Valor no exemplo Notas
ActorUserId AssuntoUserSid S-1-5-18
ActorUserIdType - SID
ActorUserName SubjectDomainName\ SubjectUserName GRUPO DE TRABALHO\WIN-GG82ULGC9GO$ Construído pela concatenação dos dois campos
ActorUserNameType - Windows
ActorSessionId AssuntoLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
UserId TargetUserSid Alias
TargetUserIdType - SID
TargetUserName TargetDomainName\ TargetUserName Administrador\WIN-GG82ULGC9GO$ Construído pela concatenação dos dois campos
Nome de utilizador TargetDomainName\ TargetUserName Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName ProcessName C:\Windows\System32\svchost.exe
ActingProcessId ProcessId 0x44c
SrcHostname Nome da estação de trabalho Windows
SrcIpAddr Endereço IP 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Computador VITÓRIA-GG82ULGC9GO
Nome de Anfitrião Computador Alias

Próximos passos

Este artigo fornece uma visão geral da normalização no Microsoft Sentinel e ASIM.

Para obter mais informações, consulte: