Bir IT sisteminde üretilen çeşitli verilerden sistem üzerinde süregelen etkileşimlerin özelden genele bağdaştırılma işlemine korelasyon denir. Günlük hayattan bir örnek verirsek;
- Saat 10’da yan komşunuzun olduğu taraftan yanık kokusu geliyor. Yanık kokusu evinizin içini kapladı hatta balkondan siyah is geliyor.
Şayet yan komşunuz sabahın köründe mangal yakacak kadar farklı biri değilse yan dairenizde yangın çıktığını anlar ve 110’u ararsınız. Peki burada ne yapmış oldunuz?
Sistemdeki anormalliklerden yola çıkarak yangın olduğunu anladınız ve bir alarm ürettiniz.
Aynı mantıkta, sistemlerinize gelen olağan dışı port taramalarını, hatalı şifre denemelerinin miktarına, bu taramaların geldiği iplere göre alarm tanımlamaya korelasyon denir. Korelasyonu sadece tek bir olay üzerinden değil, ilişkili olaylar bütünüyle tanımlamak gerekir. Saldırganların muhtemel atak senaryoları çıkarılarak korelasyonlar tanımlanır.
Korelasyon Motoru Nedir?
Korelasyon tanımlarının yapıldığı, log kaynaklarından gelen verilerin anlamlandırıldığı ve alarm üreten sistemlere kompleks olay işlemcisi (Complex Event Processor) ya da korelasyon motoru denmektedir. “Data Acquisition, reporting modules, event
notification, log and audit storages” Veri toplama, raporlama, olay bildirimleri, log kayıtları için depolama alanı bölümlerinden oluşur. Yukarıda da belirtildiği üzere bu yapılar SIEM altyapılarının en önemli bölümüdür. Sektörde açık kaynak ve kapalı kaynak korelasyon motorları kullanılmaktadır.
Private Label Korelasyon Motorları
- qRadar
- ArcSight
- splunk
- logsign
- mcAfee
Kaynak Korelasyon Motorları
- Esper
- Simple Event Correlator
- NodeBrain
- Drools
- OSSIM
- OSSEC
- PRELUDE
Korelasyon Motoru Karşılaştırması
Portekiz’de bulunan Coimbra Üniversitesi’nde yapılan açık kaynak kodlu korelasyon motorlarının karşılaştırılması, özellikle SIEM altyapısı kurulumunda karar aşamasında olan kişiler için aydınlatıcı olabilir düşüncesi ile yazımıza ekleme gereği duyduk. Intel Xeon X5660 CPU, 4 GB RAM ile çalışan CentOS 6.4 dağıtımında Esper, Drools, NodeBrain, Simple Event Correlator açık kaynak korelasyon motorları denenmiştir.
Karşılaştırmalar;
1) 500 kural setine (korelasyon tanımlaması) karşı 1.000 olaydan 1.000.000 olaya kadar çalışma zamanları ve saniye başı işlenen olay miktarı
2) Olaya karşı 20 kuraldan 500 kurala kadar korelasyon motorlarının çalışma zamanları ve saniye başı işlenen olay miktarı şeklindedir.
👉 Tüm araştırma sonucuna ulaşmak için tıklayınız.
Şimdi gelin araştırmada kullanılan korelasyon motorlarını yakından tanıyalım.
Esper Korelasyon Motoru Nedir? Nasıl Çalışır?
Esper alan adları üzerine yapılan kötü niyetli port taramalarını TCP bağlantı kurulumlarını analiz edip “Rank Based” Algoritma kullanarak tespit eder. Esper ayrıca sensör grubundan alınan verileri işleyerek, ortalama işlem hızları, bilgi üretimi, yoğunluk gibi analizleri yapabilmektedir. Esper’in Java ve .NET tabanlı versiyonları bulunmaktadır. Bu çalışmada Java versiyonu kullanılmıştır. Esper korelasyon kuralı tanımlamada SQL benzeri bir yaklaşım sergilemiştir. Loglar üzerinde örüntü yakalama mekanizması bulunan bu dile Event Processing Language denmektedir. Esper’e yüklenen EPL sorguları, eşleşen olayları zaman bazlı korelasyon mantığıyla sıralar ve çıktı sunar. Esper çıktısı Plain Old Java Objects(POJO) formatında yahut web tabanlı yazılımlarda görselleştirilebilen XML dosya türünde çıktı üretebilmektedir.
Drools Korelasyon Motoru Nedir? Nasıl Çalışır?
Drools çeşitli işletim sistemlerinde çalışabilecek şekilde Java Kütüphanesi olarak inşa edilmiştir. Drools sadece güvenlik için değil, korele edilebilecek diğer yazılım ihtiyaçlarına cevap verebilecek yapıdadır. Drools Cloud Mod ve Stream Mod olmak üzere zaman temeline göre farklılaşan iki ayrı modda çalışabilmektedir. Gerçekleşen olaylar Java Class’ı olarak tanımlanır. Kurallar Java kodu taşıyan özel tanımlı formatta yazılır. Kural işleme için “Rete” algoritması kullanır.
NodeBrain Korelasyon Motoru Nedir? Nasıl Çalışır?
NodeBrain C tabanlı API üzerinden tanımlanan kural seti üzerinden korelasyon işlemleri gerçekleştirebilen Açık kaynak lisanslı bir korelasyon motorudur. NodeBrain ön tanımlı format ile hazırlanan text girdi ile çalışır.
Farklı çalışma modları vardır. Daemon modunda sistem arka planda sürekli çalışır durumdadır. Batch modu ile eş zamanlı çalışma başlatılıp rapor alınır. Interaktif modda ise debug yapılabilmektedir. Girdi ve çıktı seçenekleri kullanılan iletişim yapısına göre değişkenlik göstermektedir. Shell kodları ile de çalışabilmektedir.
Simple Event Correlator Korelasyon Motoru Nedir? Nasıl Çalışır?
Simple Event Correlator Perl dilinde yazılmış küçük yapısına rağmen oldukça güçlü olan bir korelasyon motorudur.SIEM altyapılarına kolay entegre edilen birden çok işletim sistemiyle senkron ve uyumlu çalışabilen, açık kaynak lisanslı bir yazılımdır. SEC log kaynakları ile merkezi sunucular arasında gerçekleşen bilgi alışverişiyle oluşan yükü dağıtık senaryolarıyla indirgemede kullanılmaktadır. SEC ayrıca Intrusion Detection (Saldırı Tespit) algoritmasıyla tespit edilen atakların başarıya ulaşıp ulaşmadığını da tespit edebilmektedir.
SEC kuralları text benzeri yapıdadır. Eşleşme şartları regular expression ya da Perl subroutine olarak girilir. Output ise shell komutlarıyla şekillendirilebilmektedir. SEC config dosyasında bulunan kurallar üzerinden çalışmakla birlikte çoklu config dosyasıyla paralel analiz yapabilmektedir.