Korelasyon SIEM ürünleri ile saldırı, şüpheli aktivite ve gözetleme işini yapan kısımdır. SIEM ürünlerinin en kritik, en önemli ve en değerli yeteneği korelasyon yeteneğidir. Ürünlerin korelasyon yetenekleri öncelikle ikiye ayrılır
• Gerçek zamanlı korelasyon yapabilenler
• Periyodik sorgu ile korelasyon yapanlar
Periyodik sorgu ile korelasyon yapan ürünler de kendi aralarında ikiye ayrılır
• Hiç gerçek zamanlı sorgu çalıştıramayanlar
• Gerçek zamanlı sorgu çalıştırıp ama sayısına limit koyanlar [1,2,3,4,5]
Saldırı, şüpheli aktivite ve gözetleme işini yaparken SIEM ürünlerinde korelasyon kurallarını veya makine öğrenmesi modellerini, istatistiksel ve matematiksel tespit yöntemlerini kullanırız. Dolayısı ile tespit işlemi de kendi arasında alt kategorilere ayrılır. Mevcutta bulunan ürünlerin detaylı korelasyon özelliklerinin anlatıldığı [6,7,8] numaralı referanslara bakılabilir. Ben bu makalede daha kolay kıyaslama yapılabilmesi adına öteden beri var olan ve en basit SIEM ürünlerinde bile olmasa gereken senaryo kalıplarını ve her kalıpla ilgili akılda canlanması için birkaç örnek senaryoyu ve daha sonra da iyi bir SIEM de olması gereken senaryo kalıplarını ve birer ikişer adet örneği paylaşacağım
1. SOC ve SIEM Çözümlerinde Korelasyon
Dr. Ertuğrul AKBAŞ
2. Korelasyon SIEM ürünleri ile saldırı, şüpheli aktivite ve gözetleme işini yapan kısımdır. SIEM ürünlerinin
en kritik, en önemli ve en değerli yeteneği korelasyon yeteneğidir. Ürünlerin korelasyon yetenekleri
öncelikle ikiye ayrılır
• Gerçek zamanlı korelasyon yapabilenler
• Periyodik sorgu ile korelasyon yapanlar
Periyodik sorgu ile korelasyon yapan ürünler de kendi aralarında ikiye ayrılır
• Hiç gerçek zamanlı sorgu çalıştıramayanlar
• Gerçek zamanlı sorgu çalıştırıp ama sayısına limit koyanlar [1,2,3,4,5]
Saldırı, şüpheli aktivite ve gözetleme işini yaparken SIEM ürünlerinde korelasyon kurallarını veya makine
öğrenmesi modellerini, istatistiksel ve matematiksel tespit yöntemlerini kullanırız. Dolayısı ile tespit
işlemi de kendi arasında alt kategorilere ayrılır. Mevcutta bulunan ürünlerin detaylı korelasyon
özelliklerinin anlatıldığı [6,7,8] numaralı referanslara bakılabilir. Ben bu makalede daha kolay kıyaslama
yapılabilmesi adına öteden beri var olan ve en basit SIEM ürünlerinde bile olmasa gereken senaryo
kalıplarını ve her kalıpla ilgili akılda canlanması için birkaç örnek senaryoyu ve daha sonra da iyi bir SIEM
de olması gereken senaryo kalıplarını ve birer ikişer adet örneği paylaşacağım
En Basit Kalıp
X logu gelirse tespit et
Bu kalıpta karar verme veya arama gelen tek bir loğa bakılarak yapılıyor. Ne geçmiş ne de gelecekle
ilişkilendirme yok.
Örnek Senaryolar:
• Domain admin grubuna bir kullanıcı eklenirse
• Mesai saati dışında VPN yapan olursa
• Yeni bir kullanıcı eklenirse
Sayma Kalıbı (Threshold)
Belirli bir süre içinde belirli bir sayıda olay olursa
Örnek Senaryolar:
• 5 dakikada 50 tane yanlış şifre denemsi olursa
• Aynı kullanıcı 10 dakika içinde 5 farklı makinede yanlış şifre girerse
• Aynı IP den farklı portlara 5 dakika içinde 100 tane bağlantı kurulursa
Çapraz Bağlama
Önceki olaylarla sonraki olayları ilişkilendirme
3. Örnek Senaryolar:
• Antivirüs bir makinada virüs tespit ettikten sonra, virüs tespit edilen makinaya RPD yapan
veya deneyen olursa
• Bir kullanıcı oluşturulur, daha sonra o kullanıcı ile işlem yapılır ve aynı gün içinde o kullanıcı
silinirse
• VPN yapan bir kullanıcı RDP yapmaması gereken bir makinaya RDP yapar veya denerse tespit
et
• VPN yapan bir kullanıcı çalıştırmaması gereken bir uygulamayı çalıştırır veya çalıştırmayı
denerse tespit et
Yukarıdaki iki senaryo tipini en basit ve ücretsiz bir SIEM ürününden beklememiz gereken özellikler. Bu
özelliklere sahip olmayan bir üründen uzak durulması gerekir. Bu temel özelliklerin üzerine aşağıdaki gibi
daha gelişmiş korelasyon yeteneklerine günümüz dünyasında saldırganlara karşı ihtiyaç duyulduğu
aşikârdır.
Gelişmiş Senaryolar
Gelişmiş senaryolar yukarıdaki senaryoların yetersiz kalacağı saldırı ve şüpheli aktivite tespitini sağlar
Gelişmiş Çapraz Bağlama
Önceki olaylarla sonraki olayları ilişkilendirme yaparken ayrıca şart eklenerek yazılan kurallar
Örnek Senaryolar:
• Bir kullanıcı oluşturulur, ve hiç kullanılmadan 10 dakika içinde silinirse alarm üretme çünkü bu
admin kullanıcısının yaptığı bu harf hatası, veya büyük harf küçük harf yada Türkçe karakter
hatasıdır ama daha sonra o kullanıcı ile işlem yapılır ve aynı gün içinde o kullanıcı silinirse
veya hiç işlem yapılmasa bile gün sonunda silinirse tespit et
•
Gelişmiş Çapraz Bağlama ve Sayma Bir arada
Önceki olaylarla sonraki olayları ilişkilendirme yaparken ayrıca şart eklenerek yazılan kuralların daha
sonra sayıya bağlı olaylarla bağlanması
4. Örnek Senaryolar:
• Yeni bir kullanıcı oluşturduktan sonra bu oluşturulan kullanıcı ile 30 dakika içinde 5 den fazla
ve arada bu yeni oluşturtulan kullanıcı ile hiç başarılı oturum açmadan yanlış şifre denesi
olursa tespit et
Listeler:
Listeler korelasyonu destekleyen önemli özelliklerden biridir. Her ürünün liste kullanma kapasitesi
incelenmelidir. SureLog SIEM [10], Qradar, Exabeam gibi ürünlerin dokümanları incelenebilir.
Tek Boyutlu Listelerin Kullanılması:
Herhangi bir olayın bir listede olup olmadığının kontrolü
Örnek Senaryolar:
• VPN yapan bir kullanıcı VPN devam ederken lokal olarak da login yaparsa tespit et
• Disable edilen bir kullanıcı hesabı enable edilmeden kullanılmaya çalışılırsa tespit et ama
enable edildikten sonra kullanılırsa uyarma
•
Çok Boyutlu Listelerin Kullanılması:
Herhangi bir olayın çok boyutlu bir listede olup olmadığının kontrolü
Örnek Senaryolar:
• Bir kullanıcı, izin verilen IP sadece izin verilen domaine erişim yapabilir. Bunun dışında bir
deneme olursa tespit et.
Listelerle birlikte listelerde yapılabilecek işlemler ve liste operatörleri de çok önemli korelasyon
yeteneklerindendir [10].
Özel korelasyon algoritmaları:
Yukarıdaki yöntemlerin dışında özel tespit yöntemleri. Mesela sayma kurallarında bütün ürünlerde
zaman üst limiti tanımlanır, 5 dakika içinde gibi ama bazen de alt limit tanımlamak gerekir.
5. Örnek Senaryolar:
• Ağda en az 30 gün veya daha uzun süre (40 gün, 90 gün, 360 gün vb..) ses çıkarmayan,
görünmeyen cihaz veya ,kullanıcılar tekrar ağda belirir, görünürse otomatik olarak bu kullancı
ve cihazları disable et veya blokla.
• Son 30 gündür kullanılmayan standart proxy target portları harici bir port yeniden
kullanılmaya başlamışsa ve bu port 1024 portundan büyük bir portsa birden fazla farklı dst ip
adresine 5 dk içerisinde requestMethod=POST olacak şekilde çoklu istek yapıyorsa alarm
trigger etsin!
• En az 15 gündür (20,30,40…265 gün) hiç VPN yapmamış bir kullanıcı, kısa süre içerisinde 1 den
fazla workstationda Remote interactive logon olmuşsa uyar.
• Bir kullanıcı en az bir aydır bağlantı kurulmadığı bir ülke ile tekrar bağlantı kurarsa( gelen-
giden trafik) uyar
• En azından son 30 gündür kullanılmayan bir port yeniden kullanılmaya başlarsa uyar
Yukarıdaki gelişmiş korelasyon yöntemleri çok kritik özelliklerdir. Bu teknolojiye UEBA, istatistiksel ve
matematiksel yöntemler ve Rule As Code [11] gibi yeni teknolojiler gelişen saldırıların bir sonucu olarak
geliştirilerek eklenmiştir.
UEBA, İstatistiksel ve Matematiksel Yöntemler ve Rule As Code
Burada çok çeşitli senaryo tipleri mevcuttur. Okuyucunun kafasında canlanması açısından çok önemli
gördüklerimle ilgili örnekler vereceğim
Geçmişle Karşılaştırma:
Aynı olayın geçen saat, geçen gün, geçen hafta, geçen ay ile karşılaştırılması
Örnek Senaryolar:
• Son 1 saatte gönderilen ve alınan toplam e-posta sayısı, geçen hafta aynı saatle
karşılaştırıldığında %30 daha fazlaysa tespit et
• Bir web sunucuya son saat içinde gelen toplam istek sayısı, geçen hafta aynı gün aynı
saattekine göre %30 yukarıda ise uyar
Anormalliklerin Tespiti:
Bir olayın anormal olup olmadığının tespiti
6. Örnek Senaryolar:
• Bir kullanıcı daha önce hiç yapmadığı bir şey yaparsa tespit et
• Bir kullanıcı daha önce hiç yapmadığı makinada bir şey yaparsa tespit et. (Başka makinalarda
yapmış ama bunda hiç yapmamış)
• Bir kullanıcı daha önce hiç vpn yapmadığı bir ülkeden VPN yaparsa tespit et
• Bir kullanıcının login saati anormal ise tespit et
• Ağdaki failed login sayısı anormal ise tespit et
Matematiksel ve İstatistiksel Yöntemler:
Bir senaryonun tespiti için matematik ve istatistik algoritmaların kullanılması
Örnek Senaryolar:
• Bir kullanıcının son saat içinde toplam oluşturduğu trafik, son haftaki toplam trafik
kullanımının yüzdebirlik (percentile) kısmından %10 fazla ise uyar
• Bir kullanıcının varlık sayısının (asset) yüzde 95'lik diliminden daha fazlasına erişim yaptığı
günü tespit et
• Son dört hafta oranına göre haftanın dördüncü gününde diğer kullanıcıların %95'inden %300
daha fazla HTTP ile DNS protokolü oranına sahip bir kullanıcı varsa tespit et.
Nadirlik Tespiti (Rarity Detection) :
Bir olayın nadir olması şüphe çeken bir durumdur. Bunun tespiti
Örnek Senaryolar:
• Herhangi bir portun kullanımı nadir ise tespit et
• Herhangi bir uygulamanın kullanımı nadir ise tespit et
Rule As code:
Kuralların kod şeklinde geliştirilmesi [11]
Örnek Senaryolar:
• Bir ağda son bir saat içindeki başarısız login sayılarının toplamının başarılı login sayılarının
toplamına oranı %5 i geçerse uyar Ağdaki failed login sayısı anormal ise tespit et
• En az 50 benzersiz IP'den gelen 15.000'den fazla olayın, bu olayların en fazla 10 farklı
kategoriye ait olduğu 3 dakika içinde mevcut ise bildirim gönder.
• Günlüklerdeki ekleme sayısı ile izlenen kritik tabloya eklenen satır sayısı arasında anormallikleri
tespit et.
7. • Veri kaybı tespiti: Bir veritabanı tablosunun günlüklerini veri eklemeleri ile karşılaştırarak
herhangi bir anormallik için izle. Eğer günlüklerdeki ekleme sayısı tabloya eklenen satır
sayısından önemli ölçüde daha düşükse, bu potansiyel veri kaybı veya silinme işaret edebilir.
• Veritabanı performans sorunlarının tespiti: Bir veritabanı tablosunun günlüklerini veri eklemeleri
ile karşılaştırarak herhangi bir tutarsızlık için izle. Eğer günlüklerdeki ekleme sayısı tabloya
eklenen satır sayısından önemli ölçüde daha yüksekse, bu yavaş veya başarısız sorgular gibi
veritabanı performans sorunlarını işaret edebilir.
• Yetkisiz veri erişiminin tespiti: Hassas bir veritabanı tablosuna erişimi günlükler üzerinden takip
et ve günlüklerdeki ekleme sayısını tabloya eklenen satır sayısıyla karşılaştır. İki sayı arasında
önemli bir fark varsa, bu, verilere yetkisiz erişim olabileceğini bildirmek için bir uyarı oluştur.
• Veri manipülasyonunun tespiti: Bir veritabanı tablosunun günlüklerini gerçek veri eklemeleri ile
karşılaştır
Yukarıdaki senaryolara benzer yüzlerce senaryoyu [12] referansta bulabilirsiniz.
Referanslar
1. https://community.splunk.com/t5/Splunk-Search/Real-Time-Search-Issues/m-p/423805
2. https://answers.splunk.com/answers/433872/why-are-real-time-searches-not-running-and-
getting.html
3. https://docs.splunk.com/Documentation/Splunk/latest/Search/Realtimeperformanceandlimitati
ons
4. https://answers.splunk.com/answers/671819/real-time-alert-1.html
5. https://docs.microsoft.com/en-us/azure/sentinel/near-real-time-rules
6. https://www.peerspot.com/articles/the-math-of-siem-comparison
7. https://www.peerspot.com/articles/how-to-select-the-right-siem-solution
8. https://www.peerspot.com/articles/what-really-matters-when-selecting-a-siem-and-how-to-
choose-a-siem-looking-into-the-correlation
9. https://medium.com/@surelog/surelog-lists-b952aca0a047
10. https://www.researchgate.net/publication/351905003_The_Math_of_SIEM_Comparison
11. https://www.researchgate.net/publication/328874259_Rule_as_a_Code-
SureLog_Correlation_Engine_and_Beyond
12. https://www.researchgate.net/publication/372458912_Extraordinary_SOC_SIEM_Use_Cases