Compartilhar via


Modificar conteúdo para usar o ASIM (Modelo de Informações de Segurança Avançado) (Visualização pública)

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

Você pode encontrar conteúdo normalizado pronto para uso em galerias e soluções do Microsoft Sentinel, criar seu conteúdo normalizado ou modificar o conteúdo personalizado existente para usar dados normalizados.

Este artigo explica como converter regras de análise existentes do Microsoft Sentinel para usar dados normalizados com o ASIM (Modelo de Informações de Segurança Avançado).

Para entender como o conteúdo normalizado se ajusta à arquitetura do ASIM, veja o Diagrama de arquitetura do ASIM.

Importante

O ASIM está atualmente em VERSÃO PRÉVIA. Os termos suplementares de versão prévia do Azure incluem termos legais adicionais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Modificar o conteúdo personalizado para usar normalização

Para habilitar o conteúdo personalizado do Microsoft Sentinel para usar normalização:

  • Modifique suas consultas para usar os analisadores unificadores relevantes para a consulta.

  • Modifique os nomes de campo em sua consulta para usar os nomes de campo de esquema normalizado.

  • Quando aplicável, altere as condições para usar os valores normalizados dos campos em sua consulta.

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

Por exemplo, considere o Cliente raro observado com uma regra analítica de DNS de contagem de pesquisa de DNS de reversão alta, que funciona em eventos DNS enviados por servidores DNS 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 a seguir é a versão independente da origem, que usa a normalização para fornecer a mesma detecção para qualquer fonte que forneça eventos de consulta DNS. O seguinte exemplo usa analisadores ASIM internos:

_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

Para usar analisadores ASIM implantados no workspace, substitua a primeira linha pelo seguinte código:

imDns(responsecodename='NXDOMAIN')

Diferenças entre analisadores internos e implantados no workspace

As duas opções no exemplo acima são funcionalmente idênticas. A versão normalizada e independente da origem tem as seguintes diferenças:

  • Os analisadores normalizados _Im_Dns ou imDns são usados em vez do Analisador Infoblox.

  • Os analisadores normalizados buscam somente eventos de consulta DNS, portanto, não há necessidade de verificar o tipo de evento, conforme executado por where ProcessName =~ "named" and Log_Type =~ "client" na versão Infoblox.

  • O campo SrcIpAddr é usado em vez de Client_IP.

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

Observação

Além de dar suporte a qualquer fonte DNS normalizada, a versão normalizada é mais curta e fácil de entender.

Se o esquema ou os analisadores não derem suporte a parâmetros de filtragem, as alterações 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

Próximas etapas

Este artigo aborda o conteúdo do ASIM (Modelo de Informações de Segurança Avançado).

Para obter mais informações, consulte: