Modificar conteúdo para utilizar o Modelo de Informações de Segurança Avançada (ASIM)

O conteúdo de segurança normalizado do Microsoft Sentinel inclui regras analíticas, consultas de investigação e pastas de trabalho que funcionam com parsers de normalização unificados.

Você pode encontrar conteúdo normalizado e pronto para uso em galerias Microsoft Sentinel e Microsoft Sentinel catálogo de soluções, criar seu próprio conteúdo normalizado ou modificar conteúdo personalizado existente para usar dados normalizados.

Este artigo explica como converter regras de análise de Microsoft Sentinel existentes para usar dados normalizados asIM com o ASIM (Modelo avançado de informações de segurança).

Para compreender como os conteúdos normalizados se enquadram na arquitetura ASIM, veja o diagrama de arquitetura ASIM.

Modificar conteúdo personalizado para utilizar a normalização

Para ativar o conteúdo Microsoft Sentinel personalizado para utilizar a normalização:

Normalização de amostras para regras de análise

Por exemplo, considere a regra analítica de DNS cliente raro observado com alta contagem de consultas de DNS reverso, que funciona com base em eventos de DNS enviados por servidores DNS da Infoblox:

let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
    | where ProcessName =~ "named" and Log_Type =~ "client"
    | where isnotempty(ResponseCode)
    | where ResponseCode =~ "NXDOMAIN"
    ) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP

O código seguinte é a versão agnóstica de origem, que utiliza a normalização para fornecer a mesma deteção para qualquer origem que forneça eventos de consulta DNS. O exemplo seguinte utiliza analisadores ASIM incorporados:

_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

A versão normalizada e agnóstica de origem tem as seguintes diferenças:

  • Os analisadores _Im_Dns ou imDnsnormalizados são usados em vez do Parser da Infoblox.

  • Os analisadores normalizados obtêm apenas eventos de consulta DNS, pelo que não é necessário verificar o tipo de evento, conforme realizado pelo where ProcessName =~ "named" and Log_Type =~ "client" na versão do Infoblox.

  • O SrcIpAddr campo é utilizado em vez de Client_IP.

  • A filtragem de parâmetros no analisador é usada para ResponseCodeName, eliminando a necessidade de cláusulas where explícitas.

Observação

Além de suportar qualquer origem de DNS normalizada, a versão normalizada é mais curta e fácil de compreender.

Se o esquema ou os analisadores não derem suporte a parâmetros de filtragem, as alterações de consulta necessárias para normalizar a regra serão semelhantes, exceto que as condições de filtragem serão mantidas da consulta original. Por exemplo:

let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
    | where isnotempty(ResponseCodeName)
    | where ResponseCodeName =~ "NXDOMAIN"
    ) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr

Confira mais informações sobre os seguintes elementos KQL usados nos exemplos de normalização da consulta DNS, na documentação do Kusto:

Para obter mais informações sobre o KQL, veja Descrição geral do Linguagem de Consulta Kusto (KQL).

Outros recursos:

Para obter mais informações, consulte os seguintes recursos: