Türkiye’deki Log Yönetimi Projelerinde Eksik Korelasyon Algısı
Dr. ERTUĞRUL AKBAŞ
eakbas@gmail.com
Kelimeler: Korelasyon, Korelasyon Motorları, Bilgi Çıkarımı, Bilgi Güvenliği, Log Yönetimi, Log Analizi, Kurumlarda Log Yönetiminin Gerekliliği, 5651 Sayılı Yasa, Log Yönetimi, Log Normalleştirme, SIEM, SYSLOG, SNMP, 5651 Sayılı Kanun, Karmaşık Olay İnceleme, Complex Event Processing, CEP, Olaylar Akımı İnceleme, Event Stream Processing, ESP, RETE Algorithm, CEP, Event, ECA, Rules, İleri Analitik ve Korelasyon Yetenekleri
OLAY VE KORELASYON TANIMI
Genellikle
olay basitçe, zaman içerisinde herhangi bir anda olan her şey olarak tarif
edilebilir. Örnek olarak: Bir telefonun zil çalması, bir trenin varışı, bir
dosyaya erişilmesi veya olan herhangi bir şey verilebilir.
Bilişim
terminolojisi açısından bakarsak olay ne olduğu ve ne zaman olduğu ile ilgili
bilgi içeren mesajdır. Örnek vermek gerekirse: WEB sunucusuna yapılan isteğin
sistem log dosyasına kaydı, network link down mesajı ya da kullanıcı butona
bastı olayları gibi
Korelasyon ise farklı olaylar arasındaki
ilişkiyi ortaya çıkarma işlemine verilen addır.
Olay
Korelasyonu (Event correlation) olaylardaki bilgilerden daha anlamlı ve yüksek
seviye bilgi çıkarımına verilen addır.
Örnek
Senaryolar:
·
Olağanüstü
durumları tespit etmek,
·
Bir
sorunun kök nedenini (root cause) belirlemek,
·
veya
gelecekle ilgili tahminler yapmak ve eğilimleri analiz etmek .
Korelasyon
teknikleri pek çoktur. İleride bu tekniklerle ilgili bilgiler verilecektir.
Uygulama alanları da çok çeşitlidir.
·
Piyasa
ve işletme veri analizi (örneğin pazar
eğilimleri tepiti),
·
Algoritmik
alım satım (bir hisse senedi fiyatı gelişimi hakkında tahminler yapmak gibi),
·
Sahtekarlık
algılama (örneğin bir kredi kartı kullanım alışkanlıklarındaki anormallik
tespiti),
·
Sistem
log analizi (örneğin benzer mesajları gruplama ve önemli olayları iletme)
·
veya
ağ yönetimi ve hata analizi (örneğin bir ağ kök neden (root cause) tespit
sorunu)
·
Log
Yönetimindeki yeri ise ağ üzerindeki sayısız olay lar arasında birbiri ile
bağlantılı olanları analiz ederek yöneticiye daha anlamlı bilgiler sağlamaktır.
OLAY VE KORELASYON İLE İLGİLİ TERMİNOLOJİ
Her konuda olduğu gibi konunun
daha iyi anlaşılabilmesi için terminolojinin bilinmesi gerekmektedir.
·
Geri plan yordamı (Deamon): Arka planda gelen isteklere cevap
veren uygulama
·
Olumsuz olay (incident): Dikkat edilmesi gereken geçici
anormal durum veya bilgi işleme sistemlerinde, gerçek ya da potansiyel anlamda
olumsuz etkisi olacak olay. Bir olumsuz olaydan birden fazla olay üretilebilir.
·
Yanlış kabul (False Positive) : Problem olmaması durumunu
problem diye algılama. Sözlük anlamı ise: İstatistiksel hipotez testinde boş
varsayımı doğru iken boş varsayımının yadsınması hatası.
·
Yanlış Red Hatası (False
Negative) :
Problem olması durumunun problemsiz olarak algılanması. Sözlük anlamı ise:
İstatistiksel hipotez testinde boş varsayımı doğru değilken bunun kabul edilme
hatası
·
Olay Kaynağı (Event Source) :
·
Olay Hedefi (Event Sink): Mesela veritabanı ve helpdesk
sistemi
·
Ham olay (Raw Event) : Log sistemine yazıldığı format
·
Giriş Olayı (Input event) :Korelasyon safhasındaki olay
·
Çıkış olayı (Output event) :Olayın Korelasyon motorundan
çıkan hali
·
Sonuç olayı (Derived event
-Synthetic event))
: Korelasyon motoru tarafındna üretilen-Bir kurala bağlı olarak- olay
·
Sıkıştırılmış Olay (Compressed
event) :
Birden fazla aynı olayı temsil eden ama diğer olayları içermeyen olay
·
Komposit Olay (Composite event) :Korelasyon motoru tarafından
üretilen ve ham olay,sonuç olayı vs.. içeren üst seviye olay
·
Alarm (alarm - alert): Üretilen uyarı mesajları
Gerçek Korelasyon Nedir?
Sistemlerden toparlanan çeşitli loglarda oluşabilecek
şüpheli durumları tespit edebilmek için, logların ilişkilendirilebilmesi
gerekmektedir.
Bilgi güvenliği ve olay yönetimi (SIEM) sistemleri
sayesinde, insan gözünden kaçabilecek şüpheli olaylar logların
ilişkilendirilmesiyle ortaya net bir şekilde çıkartılabilmektedir.
Her ne kadar, log yönetim sistemleriyle logları toplamak
gerekli olsa da yeterli değildir.
Toplanan bu logların birbirleriyle ilişkilendirilmesi ve
otomatik olarak analizlerinin yapılması gerekmektedir ve bu sebeple SIEM
sistemleri büyük önem taşımaktadır. SIEM sistemlerinin en önemli özellikleri de
korelasyon yetenekleridir.
Korelasyonun motorunun Türkiye’deki algısı ile global algı
arasında ciddi bir fark oluşmuş durumda.
Temel algı farkları:
1.
Global olarak korelasyon in Memory
olmalıdır. Yani Korelasyon hafızada (in
memory) yapılmalı. SQL sorgu şeklinde veri tabanı veya storage sistemi
üzerinden yapılmamalıdır. Bunun temel 2
sebebi vardır
a) Sistemde
tanımlı 100 lerce kural olsa her log geldiğinde bu yüzlerce kural için SQL
sorgusu çalışırsa sistemin bunu kaldıramayacağı aşikârdır. Saniyede 1000 log
gelen bir sistem için saniyede 1000 SQL sorgusu yapılması anlamına gelir ki
bunun ne demek olduğunu azıcık veri tabanları üzerinde çalışmış olanlar bilir.
Veri tabanının SQL, NoSQL veya tamamen özel de geliştirilmiş olsa bu yükü kaldırmaz
ya da çok büyük sistem kaynakları ister. Bu tür analizler PoC sırasında fark
edilemediği için bunun isterler listesi veya şartnameye aşağıdaki gibi bir
madde eklenmelidir.
Korelasyon
hafızada (in memory) yapılmalı. SQL sorgu şeklinde veri tabanı veya storage
sistemi üzerinden yapılmamalıdır. SQL sorgu şeklinde yapılarak zaman kaybı veya
yazma okuma ile ilgili bileşenlerden etkilenmemelidir.
b)
SQL sorgu şeklinde yapılarak zaman kaybı veya
yazma okuma ile ilgili bileşenlerden etkilenmemelidir.
2.
Korelasyon Kuralları log veya log kaynakları
arasında ilişkisel bağlantı kurabilmelidir. Örnek: Bir sunucuya bir kullanıcı
login olmayı deneyip başarısız olduktan sonra 2 saat içerisinde aynı kullanıcı
aynı sunucuya başarılı bir şekilde logon olmadı ise uyar gibi. Bu tarz
ilişkisel kurallara örnekler:
·
Sistemde oluşan olaylar arasında “ve”, “veya”,
“değil”, “group by”, “exist”, “count”
ilişkileri kurularak tanımlanabilen süre boyunca belirli olayların
oluşması halinde özel bir korelasyon uyarısı oluşturulabilmelidir.
·
Birden fazla olay kayıdı üzerinde çalışıp
aralarındaki kullanıcı tanımlı ya da ön tanımlı ilişkilere bakarak geçici veya
nihai kararlar üretebilmelidir. Geçici kararlar üretebilmek için işlenen olay
kayıtlarının ilişkisine bakarak yeni olay kayıtları üretebilmeli ve sistem
tarafından üretilen bu özel olay kayıtları (correlation event) tekrar
korelasyon motorunundan geçirilebilecek şekilde geri besleme kaydı olarak
kullanılabilmelidir. Başka bir deyişle sistem kendi oluşturduğu olay kayıtlarını
da korelasyona tabi tutabilmelidir
·
Korelasyon kuralı oluşumunda “eşittir, eşit değildir,
içeriyorsa, içermiyorsa, büyüktür, küçüktür, başlıyorsa, bitiyorsa, boş ise, boş
değil ise, distinct count” gibi ifadelerine bağlı olarak kurallar
tanımlanabilmelidir.
·
Log/veri toplanan herhangi bir kaynağa ait bir
olay gerçekleştikten sonra belirli bir süre içerisinde aynı Log/veri toplanan
herhangi bir kaynağa ait farklı olaydan meydana gelmezse şeklinde tanımlama
yapılabilmelidir.(Örn: Bir sunucuya bir kullanıcı login olmayı deneyip
başarısız olduktan sonra 2 saat
içerisinde aynı kullanıcı aynı
sunucuya başarılı bir şekilde logon
olmadı ise uyar)
3.
Sistemin near real time çalışabilmesi. Bir
korelasyon motoru kullanılmasının en temel sebeplerinden birisi olay olurken en
kısa sürede bundan haberdar olmaktır. Bunu sağlamak için isterler listesi veya
şartnameye yazılabilecek kural örneği: Seçilen
X makinesine Y kullanıcısı Z yazılımını kurduğu anda uyar tarzı gerçek zamanlı
alarmlar üretebilmeli ve bu alarmlar merkezi log sistemine ulaşır ulaşmaz
uyarıları üretmelidir.
4.
Sistemin Kural hazırlama sihirbazı. Buradaki
global algı kullanıcıya ne kadar kolay bir arayız verilirse o kadar iyidir. Bu
kullanıcının hem zaman kazanmasını sağlar hem de yazılıma özel br sorgu dili
öğrenmesine gerek kalmaz. . Bunu sağlamak için isterler listesi veya şartnameye
yazılabilecek kural örneği: Sistemde
kolay kural hazırlamak için bir kural
hazırlama sihirbazı bulunacaktır. Ve bu sihirbaz ile bu isterler listesi/şartnamedeki
bütün kurallar herhangi bir özel sorgu yazma ihtiyacı olmadan görsel bir
şekilde geliştirilebilecektir.