İçeriği Gelişmiş Güvenlik Bilgi Modeli (ASIM) (Genel önizleme) kullanacak şekilde değiştirme
Microsoft Sentinel'de normalleştirilmiş güvenlik içeriği, birleştirici normalleştirme ayrıştırıcılarıyla çalışan analiz kurallarını, tehdit avcılığı sorgularını ve çalışma kitaplarını içerir.
Microsoft Sentinel galerilerinde ve çözümlerinde 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 Bilgileri Modeli (ASIM) ile 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.
İpucu
Ayrıca Microsoft Sentinel Ayrıştırıcıları ve Normalleştirilmiş İçeriği Normalleştirme hakkında Ayrıntılı Web Semineri'ni izleyin veya slaytları gözden geçirin. Daha fazla bilgi için bkz. Sonraki adımlar.
Önemli
ASIM şu anda ÖNİzLEME aşamasındadır. Azure Önizleme Ek Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan ek yasal koşulları içerir.
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:
Sorgunuzla ilgili tüm birleştirici ayrıştırıcıları kullanmak için sorgularınızı değiştirin.
Normalleştirilmiş şema alan adlarını kullanmak için sorgunuzdaki alan adlarını değiştirin.
Uygun olduğunda, koşulları sorgunuzdaki alanların normalleştirilmiş değerlerini kullanacak şekilde değiştirin.
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ı DNS analiz kuralıyla gözlemlenen Nadir istemciyi göz önünde bulundurun:
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-bağımsız sürümdü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
Çalışma alanı tarafından dağıtılan ASIM ayrıştırıcılarını kullanmak için ilk satırı aşağıdaki kodla değiştirin:
imDns(responsecodename='NXDOMAIN')
Yerleşik ve çalışma alanı tarafından dağıtılan ayrıştırıcılar arasındaki farklar
Yukarıdaki örnekteki iki seçenek işlevsel olarak aynıdır. Normalleştirilmiş, kaynak agnostik sürümü aşağıdaki farklılıklara sahiptir:
_Im_Dns
Infoblox Ayrıştırıcısı yerine veyaimDns
normalleştirilmiş ayrıştırıcılar kullanılır.Normalleştirilmiş ayrıştırıcılar yalnızca DNS sorgu olaylarını getirir, bu nedenle Infoblox sürümünde tarafından gerçekleştirilen
where ProcessName =~ "named" and Log_Type =~ "client"
olay türünü denetlemeye gerek yoktur.SrcIpAddr
alanı yerineClient_IP
kullanılır.Ayrıştırıcı parametresi filtrelemesi, ResponseCodeName için kullanılır ve açık
where
yan tümcelere olan ihtiyacı 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, filtreleme koşullarının özgün sorgudan saklanması dışında değişiklikler 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
Yukarıdaki örneklerde kullanılan aşağıdaki öğeler hakkında daha fazla bilgiyi Kusto belgelerinde bulabilirsiniz:
- let deyimi
- where işleci
- extend işleci
- join işleci
- summarize işleci
- isnotempty() işlevi
- count() toplama işlevi
KQL hakkında daha fazla bilgi için bkz. Kusto Sorgu Dili (KQL) genel bakış.
Diğer kaynaklar:
Sonraki adımlar
Bu makalede Gelişmiş Güvenlik Bilgi Modeli (ASIM) içeriği ele alınmaktadır.
Daha fazla bilgi için bkz.
- Microsoft Sentinel Ayrıştırıcıları ve Normalleştirilmiş İçeriği Normalleştirme hakkında Ayrıntılı Web Semineri'ni izleyin veya slaytları gözden geçirin
- Gelişmiş Güvenlik Bilgileri Modeline (ASIM) genel bakış
- Gelişmiş Güvenlik Bilgileri Modeli (ASIM) ayrıştırıcıları
- Gelişmiş Güvenlik Bilgileri Modeli (ASIM) şemaları
- Gelişmiş Güvenlik Bilgileri Modeli (ASIM) içeriği