SOC ve SIEM Çözümlerinde Korelasyon
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
Ö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ı
Ö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.
Ö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 kullanıcı 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
Ö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.
• 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/Realtimeperformanceandlimitations
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
9. https://medium.com/@surelog/surelog-lists-b952aca0a047
10. https://www.researchgate.net/publication/351905003_The_Math_of_SIEM_Comparison
12. https://www.researchgate.net/publication/372458912_Extraordinary_SOC_SIEM_Use_Cases