Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
- Assista ao webinar Deep Dive sobre a normalização de analisadores e conteúdo normalizado do Microsoft Sentinel ou revise os slides
- Visão geral do ASIM (Advanced Security Information Model, modelo avançado de informações de segurança)
- Analisadores ASIM (Advanced Security Information Model)
- Conteúdo do modelo avançado de informações de segurança (ASIM)