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.
Dica
Assista também ao Webinar de aprofundamento no Microsoft Sentinel: normalizando analisadores e conteúdo normalizado ou veja os slides. Para saber mais, confira as Próximas etapas.
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
ouimDns
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 deClient_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:
- Assista também ao Webinar de aprofundamento no Microsoft Sentinel: normalizando analisadores e conteúdo normalizado ou veja os slides
- Visão geral do ASIM (Modelo de Informações de Segurança Avançado)
- Analisadores do ASIM (Modelo de Informações de Segurança Avançado)
- Esquemas do ASIM (Modelo de Informações de Segurança Avançado)
- Conteúdo do ASIM (Modelo de Informações de Segurança Avançado)