Partilhar via


Esquemas ASIM (Advanced Security Information Model)

Um esquema ASIM (Advanced Security Information Model) é um conjunto de campos que representam uma atividade. Usar os campos de um esquema normalizado em uma consulta garante que a consulta funcione com todas as fontes 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:

Schema Version Status
Evento de alerta 0.1 disponibilidade geral
Evento de auditoria 0.1.2 disponibilidade geral
Evento de autenticação 0.1.4 disponibilidade geral
Atividade de DNS 0.1.7 disponibilidade geral
Atividade DHCP 0.1.1 disponibilidade geral
Atividade de Ficheiro 0.2.2 disponibilidade geral
Sessão de rede 0.2.7 disponibilidade geral
Evento do processo 0.1.4 disponibilidade geral
Evento de registo 0.1.3 disponibilidade geral
Gestão de Utilizadores 0.1.2 disponibilidade geral
Sessão Web 0.2.7 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.

Nomenclatura 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 utilizadores, que participam no 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 lógicos 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.

Classes de campo

Os campos podem ter várias classes, que definem quando os campos devem ser implementados por um analisador:

  • 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.
  • Campos opcionais , se disponíveis, podem ser normalizados ou mantidos 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 aliasado 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 por esquema, assim como o valor do campo EventSchemaVersion .

Entities

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.

Aliases

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.

Observação

Os pseudónimos destinam-se a ajudar um analista com consultas interativas. Ao usar consultas em conteúdos reutilizáveis, como deteções personalizadas, regras analíticas ou cadernos de exercícios, utilize o campo aliasado em vez do alias. A utilização do campo aliased garante melhor desempenho, menos erros e melhor legibilidade de consultas.

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 faz alias para os campos DvcFQDN, DvcId, DvcHostname, ou DvcIpAddr, ou Produto de 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, int, datetimeou 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
Boolean Bool Utilize o tipo de dados interno KQL bool em vez de utilizar uma representação numérica ou de cadeia para os valores booleanos.
Enumerated String Uma lista de valores definida explicitamente conforme o campo. A definição de esquema lista os valores aceitos.
Date/Time 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 de número inteiro que utiliza a representação numérica de data/hora do Log Analytics.
- Um campo do tipo string que utiliza a representação numérica de 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 Colon-Hexadecimal notação.
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, conhecida como 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 Dispositivo.
Nome do host 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 Dispositivo.
Domain String a parte de domínio de um FQDN, sem o nome de anfitrião, por exemplo, learn.microsoft.com. Para obter mais informações, consulte a entidade Dispositivo.
DomainType Enumerated O tipo de domínio armazenado nos 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. Os valores possíveis incluem:
- Computer
- Mobile Device
- IOT Device
- Other. Para obter mais informações, consulte a entidade Dispositivo.
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 identificação armazenado nos campos de identificação do utilizador.

Os valores suportados são SID, UIS, AADID, OktaId, AWSIde 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
, Service, Resource, URL, SaaS application, CSP, e Other.
Country 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).
Region String O nome da subdivisão país/região, 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).
City String
Longitude Double Representação de coordenadas ISO 6709 (decimal assinado).
Latitude Double Representação de coordenadas ISO 6709 (decimal assinado).
MD5 String 32 caracteres hexadecimais.
SHA1 String 40 caracteres hexadecimais.
SHA256 String 64 caracteres hexadecimais.
SHA512 String Caracteres hexadecimais de 128 caracteres.
Nível de Confiança Número inteiro Um nível de confiança normalizado para o intervalo de 0 a 100.
RiskLevel Número inteiro Um nível de risco normalizado para o intervalo de 0 a 100.
SchemaVersion String Uma versão do esquema ASIM no formato <major>.<minor>.<sub-minor>
DnsQueryClassName String O nome da classe DNS.
Username String Um nome de utilizador simples ou qualificado por domínio

Entities

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 da entidade, a representação da entidade tem as seguintes diretrizes:

Guideline Description
Prefixos e pseudônimos Como um único evento frequentemente inclui mais do que uma entidade do mesmo tipo, como hosts de origem e destino, são usados prefixos para identificar a entidade a que um campo está associado.

Para manter a normalização, o ASIM utiliza um pequeno conjunto de prefixos 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 prefixo. Além disso, um conjunto de campos sem prefixo cria um alias para a entidade mais utilizada de 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.
Attributes 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.

Para mais informações sobre tipos específicos de entidades, consulte:

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 Description
Subject 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.
Process - ActingProcess O processo que tentou iniciar sessão.
Informações da rede - Src A máquina a partir da qual foi realizada 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 Notes
ActorUserId SubjectUserSid S-1-5-18
ActorUserIdType - SID
ActorUserName NomeDoDomínio\NomeDoUtilizador WORKGROUP\WIN-GG82ULGC9GO$ Construído pela concatenação dos dois campos
ActorUserNameType - Windows
ActorSessionId SubjectLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
UserId TargetUserSid Alias
TargetUserIdType - SID
TargetUserName NomeDeDomínioDestino\ NomeDeUtilizadorDestino Administrator\WIN-GG82ULGC9GO$ Construído pela concatenação dos dois campos
Username NomeDeDomínioDestino\ NomeDeUtilizadorDestino Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName ProcessName C:\Windows\System32\svchost.exe
ActingProcessId ProcessId 0x44c
SrcHostname WorkstationName Windows
SrcIpAddr IpAddress 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Computer WIN-GG82ULGC9GO
Hostname Computer 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: