Partilhar via


Esquemas ASIM (Advanced Security Information Model)

Um esquema do Modelo Avançado de Informação de Segurança (ASIM) é um conjunto de campos que representam uma atividade ou entidade. Usar os campos de um esquema normalizado numa consulta garante que a consulta funciona com todas as fontes normalizadas.

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

Esquemas de Atividade/Evento

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

Esquema Nome do esquema para testes Versão Status
Evento de alerta AlertEvent 0.1 disponibilidade geral
Evento de auditoria AuditEvent 0.1.2 disponibilidade geral
Evento de autenticação Authentication 0.1.4 disponibilidade geral
Atividade DHCP DhcpEvent 0.1.1 disponibilidade geral
Atividade de DNS Dns 0.1.7 disponibilidade geral
Atividade de Ficheiro FileEvent 0.2.2 disponibilidade geral
Sessão de rede NetworkSession 0.2.7 disponibilidade geral
Evento do processo ProcessEvent 0.1.4 disponibilidade geral
Evento de registo RegistryEvent 0.1.3 disponibilidade geral
Gestão de Utilizadores UserManagement 0.1.2 disponibilidade geral
Sessão Web WebSession 0.2.7 disponibilidade geral

Esquemas de Entidades

Atualmente, a ASIM define os seguintes esquemas para entidades:

Esquema Nome do esquema para testes Versão Status
Entidade de Ativos AssetEntity 0.1.0 disponibilidade geral

Para entidades que fazem parte de outros esquemas ASIM, consulte Entidades de Evento.

Nomeação 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 extra representarem uma entidade, sã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.

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 .

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 a sua fonte não fornecer informação para esse valor, ou se os dados não puderem ser adicionados de outra forma, não suporta a maioria dos itens de conteúdo que referenciam o 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.

Entidades do Evento

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.

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

Diretriz Descrição
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.
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.

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

Para mais informações sobre esquemas de entidades completas, consulte:

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.

Tabelas normalizadas nativas não incluem aliases, pois esses implicariam armazenamento duplicado de dados. 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. O espaço de trabalho Log Analytics tem um conjunto limitado de tipos de dados. Por esta razão, o Microsoft Sentinel utiliza um tipo lógico para muitos campos de esquema, que o Log Analytics não aplica, mas é necessário para compatibilidade de esquemas. Os tipos de campo lógico garantem que os valores e os nomes de campo sejam consistentes entre as fontes.

Tipo de dados Tipo físico Formato e valor
Booleano 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.
Enumerado String Uma lista de valores definida explicitamente conforme 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 incorporado no Log Analytics
- Um campo inteiro utilizando a representação numérica de data e hora do Log Analytics.
- Um campo de cadeia de caracteres usando a representação numérica de data-hora do Log Analytics
- Um campo de cadeia de caracteres que armazena um formato de data/hora do Log Analytics suportado.
A representação de data e hora do Log Analytics é semelhante, mas diferente da representação de hora 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 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 seja um FQDN inclui até 63 caracteres, incluindo letras, números e hífens. 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 Enumerado 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 Enumerado 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 Enumerado 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 Enumerado 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 Enumerado 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 Enumerado O tipo de usuário. Para obter mais informações e uma lista de valores permitidos, consulte A entidade Usuário.
Tipo de aplicativo Enumerado O tipo de um aplicativo. Para uma lista de valores suportados, consulte A Entidade de Aplicação.
País String Uma cadeia de caracteres usando ISO 3166-1, de acordo com a seguinte prioridade:

- Códigos Alpha-2, como US para os Estados Unidos.
- Códigos Alpha-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 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).
Cidade String
Longitude Duplo Representação de coordenadas ISO 6709 (decimal assinado).
Latitude Duplo 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.
Nome de utilizador String Um nome de utilizador simples ou qualificado por domínio

Exemplo de mapeamento de entidade

Esta secção utiliza o evento Windows 4624 como exemplo para descrever como os dados do evento são normalizados para 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 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 nestas entidades, Windows evento 4624 é normalizado da seguinte forma (alguns campos são opcionais):

Campo normalizado Campo original Valor no exemplo Notas
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
Id do usuário TargetUserSid Alias
TargetUserIdType - SID
TargetUserName NomeDeDomínioDestino\ NomeDeUtilizadorDestino Administrator\WIN-GG82ULGC9GO$ Construído pela concatenação dos dois campos
Nome de utilizador NomeDeDomínioDestino\ NomeDeUtilizadorDestino Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName ProcessName C:\Windows\System32\svchost.exe
ActingProcessId ProcessId 0x44c
SrcHostname WorkstationName Windows
SrcIpAddr Endereço IP 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Computador WIN-GG82ULGC9GO
Nome do host Computador Alias

Próximos passos

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

Para obter mais informações, consulte: