İçeriği Gelişmiş Güvenlik Bilgi Modeli'ni (ASIM) kullanacak şekilde değiştirme

Microsoft Sentinel'daki normalleştirilmiş güvenlik içeriği analiz kurallarını, avcılık sorgularını ve normalleştirme ayrıştırıcılarını birleştiren çalışma kitaplarını içerir.

Microsoft Sentinel galerilerinde ve Microsoft Sentinel çözüm kataloğunda normalleştirilmiş, kullanıma hazır içeriği bulabilir, kendi normalleştirilmiş içeriğinizi oluşturabilir veya mevcut özel içeriği normalleştirilmiş verileri kullanacak şekilde değiştirebilirsiniz.

Bu makalede, gelişmiş güvenlik bilgi modeli (ASIM) ile ASIM normalleştirilmiş verileri kullanmak için mevcut Microsoft Sentinel analiz kurallarının nasıl dönüştürüldüğü açıklanmaktadır.

Normalleştirilmiş içeriğin ASIM mimarisine nasıl uyduğunu anlamak için ASIM mimari diyagramına bakın.

Normalleştirmeyi kullanmak için özel içeriği değiştirme

Özel Microsoft Sentinel içeriğinizin normalleştirmeyi kullanmasını sağlamak için:

Analiz kuralları için örnek normalleştirme

Örneğin, Infoblox DNS sunucuları tarafından gönderilen DNS olaylarında çalışan yüksek ters DNS arama sayısıyla gözlemlenen nadir istemci DNS analiz kuralını ele alalım:

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

Aşağıdaki kod, DNS sorgu olayları sağlayan herhangi bir kaynak için aynı algılamayı sağlamak üzere normalleştirmeyi kullanan kaynak-belirsiz sürümüdür. Aşağıdaki örnekte yerleşik ASIM ayrıştırıcıları kullanılır:

_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

Normalleştirilmiş, kaynak belirsiz sürümü aşağıdaki farklılıklara sahiptir:

  • Infoblox Parser yerine _Im_Dns veya imDns normalleştirilmiş ayrıştırıcılar kullanılır.

  • Normalleştirilmiş ayrıştırıcılar yalnızca DNS sorgu olaylarını alır; bu nedenle, Infoblox sürümünde where ProcessName =~ "named" and Log_Type =~ "client" tarafından yapıldığı gibi olay türünü denetlemeye gerek yoktur.

  • SrcIpAddr alanı yerine Client_IPkullanılır.

  • Ayrıştırıcı parametre filtrelemesi ResponseCodeName için kullanılır ve bu da açık where yan tümceler gereksinimini ortadan kaldırır.

Not

Normalleştirilmiş DNS kaynaklarını desteklemenin dışında, normalleştirilmiş sürüm daha kısadır ve anlaşılması daha kolaydır.

Şema veya ayrıştırıcılar filtreleme parametrelerini desteklemiyorsa, filtre koşullarının özgün sorgudan saklanması dışında, kuralı normalleştirmek için gereken sorgu değişiklikleri benzerdir. Örneğin:

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

Kusto belgelerinde DNS sorgusu normalleştirme örneklerinde kullanılan aşağıdaki KQL öğeleri hakkında daha fazla bilgi edinin:

KQL hakkında daha fazla bilgi için bkz. Kusto Sorgu Dili (KQL) genel bakış.

Diğer kaynaklar:

Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın: