icerige gec

Türkiye’deki Log Yönetimi Projelerinde Eksik Korelasyon Algısı

Temmuz 19, 2014 yazan ertugrul.akbas

Türkiye’deki Log Yönetimi Projelerinde Eksik Korelasyon Algısı

 

Dr. ERTUĞRUL AKBAŞ

[email protected]

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.

 

  1. 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)

 

  1. 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.

 

  1. 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.