Merhaba Arkadaşlar
Loglama ve Log kavramları esasında bir nevi sistemin kalbidir diyebiliriz.Loglar bir sistemin kalp atışları olarak değerlendirirsek.Loglama o kalp atışlarını çeşitli cihazlar ile takip edilip düzgün çalışıp çalışmadığını eğer çalışmıyorsa neden çalışmadığını anlamaya yönelik bir mekanizma diyebiliriz.İnsanların vücut sistemleri nasıl tıbbi cihazlar ile kayıt altına alınıyorsa,normal bilişim dünyasında kullandığımız programlar ve uygulamalarında kendine özel takip edebileceğimiz ve kayıt altına alabileceğimiz iz düşümleri mevcuttur.
Günümüzde sistemlerin içerisinde çalışan bütün uygulamalar ve güvenlik ürünleri günlük olarak her daim oldukça yüksek kapasitede log üretir.Bunların içerisinde istemcileri ve sunucularında girdiğini düşünürseniz orta veya büyük kurumlarda günlük üretilen log sayısı milyonlara ulaşabilir.Tabi bu logların incelenmesi içerisinden yararlı bilgilerin alınması oldukça zor ve nerdeyse bir ekip işi ile çözülebilicek bir durumdur.Tabi bunun yanında anlamlı sonuçlar verebilecek şekilde raporlanması neredeyse olanaksız bir hale gelmektedir.Bunun yanında kontrol gerçek anlamda sağlanamamakta ve kontrol edilemeyen bilgi sistemleri alt yapılarına yönelik yatırımlar da, verimli kullanılamamış olacaktır.
Log yönetiminde ilk konulardan bir tanesi bilişim sistemlerinin hangi alanlarında ve hangi süreçlerinde log yönetimi amacı ile değerlendirilmesi gerektiğine karar verilmesinden geçer.Öncelikle log yönetiminde nitelikler nicelikten daha önemli bir konumdadır.Bir kuruma SIEM ürünü konuşlandırıyor iseniz ortamın ihtiyaçlarına göre bunun hangi sistemler için gerçekleştirileceği ve hangi amaçlara hizmet edebileceği, ayrıca bunun sonuçları üzerinde nasıl bir değerlendirme yapılabileceği de hesaba katmanız gerekmektedir.Bunun yanında bu konuda işleyen bir organizmanın çeşitli birimleri ile görüşülerek bilgi toplanmaya çalışmakta sağlık bir log yönetim mekanizmasının kurulmasında önemli bir rol sağlar.Log yönetimi, bilgi güvenliği yönetiminin önemli bir bölümü veya bileşeni, bilgi güvenliği yönetimi ise ağın yönetimi ile oldukça yakın ilişkideki bir yönetim sistemidir.(Network güvenliği ve yönetimi, bilgi güvenliğinin sağlanması için gereken sistemlerden yalnızca biridir.) Ağ güvenliği yönetimi için, dikkat edilmesi gereken önemli bir mesele, network üzerindeki atakların saptanabilmesi ve bunları doğru olarak tanımlayabilmektir. Aslında bu durum çok kullanıcılı ve çok çeşitli sistem-ağ yapısına sahip ortamlarda, samanlıkta iğne aramaya benzetilebilir. Bilgi güvenliğini sağlamak üzere ihtiyaç duyulabilecek en önemli veriler güvenlik raporlarıdır. Güvenlik Raporları birer birer sistemlerin kendisinden alınabilecek raporlardan çok, farklı veritabanlarında bulunan veriler kullanılarak; otomatik olarak oluşturuldukları takdirde, güvenlik durumuna ait daha kapsamlı genel bir görüntü sunabilecek ve farklı bakış açılarına ait verileri bir araya getirecektir. Yine bu sonucu elde etmek üzere toplanan olay bilgilerinin, log kayıtları şeklinde depolanarak kullanılması, log yönetimindeki amaçlardan biridir.
Günümüzde loglama kavramı artık sadece işletim sistemleri değil güvenlik ürünleri ve bir çok yazılım ile kendine özgü default bir özellik olarak gelmektedir.Tabi bunların çeşitliği ve farklılıkları loglama mekanizması için yeterli olmamaktadır.Kullanıcıların ve sistemin uygulamalar ile ilgili yaptığı işlemler bu şekilde kayıt altına alınsada bunların anlamlı birer veriye dönüştürülmesi için ayrı bir ortak dile sahip bir loglama yazılımı gereklidir.Bu loglama yazılımlarına biz SIEM yazılımları diyoruz.Peki bu SİEM dediğimiz yazılımlar nedir genel bir açıklama yapmak gerekirse;
SIEM(Security Information and Event Management): SIEM adından anlaşıldığı gibi sistemlerde bulunan logların ortak bir dile çevrilerek daha anlamlı bütünler halinde detaylı ve daha derin analizleri raporlama ve ona uygun şekilde raporlama seçenekleri oluşturan araçtır diyebiliriz.Siem in en önemli özelliği bağımsız gibi görünen olaylar arasında anlamlı bağlantılar kurarak muhtemel saldırıları tespit etmeye yardımcı olan korelasyon tekniğidir.Siem bir çok noktadan gelen uyarı mesajlarını anlamlı birer mesaj tipine dönüştürerek sistem içerisinde bunları Siem yöneticisine iletir. Siem ürünü üzerinde korelasyon aşaması önceden belirlenmiş kuralların yardımıyla çeşitli sistemlerden veya uygulamalardan gelen olayları ilişkilendirerek güvenlik tehditlerinin tespitine ve harekete geçilmesine yardımcı olur. Siem üzerindeki aggregation olayı ise gerçekleşen olayların birden fazla sayıda logu eğer bu sistemde tutulmuşsa bunları bir kayıta indirerek analiz edilecek verinin hacmini düşürmekte ve işlemleri hızlandırmaya yardımcı olmaktadır.
Korelasyon Teknikleri ve İlgili Terminolojiye Genel Bakış
Öncelikle korelasyon ile alakalı konuşmadan önce teknik bakımdan bazı terminolojilere hakim olmamız gerekmektedir.Çünkü SIEM kendi içerisinde koskoca bir dünyadır.Bununla alakalı terminolojiler aşağıda sunulmuştur;
*Event Source:Türkçe anlamı olay kaynağıdır.Örneğin istemci bir bilgisayarın uygulaması veya sunucu sistemindeki davranışlar.
* Raw Event:Anlamı ham olay demektir.Logların ham olarak farklı metin dilleri ile orjinal formatını ifade eder.
*Input Event:Korelasyon safhasındaki logların derlenmesi süreci içerisinde ortaya çıkan algoritmadır.
* Output event:Korelasyon safhası bittikten sonra ortaya cıkan metin dilidir.
* False Positive:Esasında problem olmamasına rağmen durumu problem olarak algılayıp geri bildirimde bulunulması.
* False Negative:Buda False Positive olayının tam tersi.Problem olmasına rağmen problem olarak algılamayıp norma olarak göstermesi.
* Compressed Event:Esasında birden fazla eventi aynı olan ama içeriği farklı olan ileri seviye olaylara tanımlanan bir günlüktür.
*Alert Event:Alarm günlüğüdür.Oluşan uygulamaların yarattığı source olarakta bilinir.
* Deamon: Arka planda gelen isteklere cevap veren uygulamadır.
*Incident: Geçici anormal durum veya bilgi işleme sistemlerinde, gerçek ya da potansiyel anlamda olumsuz etkisi olacak olay.
Korelasyon teknikleri ise biraz daha farklı bir yapıya sahip yönergelerden oluşmaktadır.Dilerseniz bu yönergeleri biraz inceleyelim
Rule Based-RBR Tekniği:Esasında kural tabanlı bir tekniktir.Bu tekniğin en önemli özelliği belirlediğiniz kurallar vasıtası ile gelen yüksek miktardaki datanın süzgeçten geçirilmesi ve ortaya çıkan kaynak dataya karar vericilerin erişim sağlayarak gerekli uygulamayı almalarını sağlamaktır.
CBR Tekniği:Türkçe anlamı Durum Tabanlı Çıkarsama olan bu tekniğin özelliği önceden karşılaşmış olduğumuz sıkıntılı durumlardan yararlanılarak bir nevi feedback kategorisinde sorunları arşivlemektir.Geçmişte yaşanan olayların şimdiki probleme yararlı birer çözüm olarak sunulmasıdır diyebiliriz.
Finite State Machine-FSM Tekniği: FSM sınırlı sayıdaki durumlarım arasındaki iletişimi modellemek için kullanılır. Bu iletişim o anki durum ile dışardan gelen girdilere bağlıdır.
MBR Tekniği :Türkçe anlamı Model Tabanlı Çıkarım Sistemidir.Burada sistemin yapısına ve davranışlarına göre bir model belirlenerek o modelin tekniği belirlenir.
Codebook Based Correlation Tekniği:Anlamı Kod Tablosu Tabanlı Çıkarım olan bu teknikte sistem içerisindeki problemin daha lokal bir seviyede incelenebilmesi için sistem içerisindeki gözlemlenebilir belirtileri ve altında yatan problemlerin birbiriyle ilişkisi analiz edilir ve uygun bir belirtiler alt kümesi meydana getirilir.
Oylama Yaklaşımı Voting Approaches: Her eleman özel bir konuda görüş ifade etmelidir. Sonra, bir çoğunluk kuralı (örneğin salt çoğunluk ya da k-çoğunluk) (yani oy) görüşleri bu sette uygulanır.
Belirgin Hata Lokalleştirme (Explicit Fault-localization): Alarmlar güvenilir ve ağda sadece tek bir hata olduğu durumda arıza tespiti basittir: Hata her alarm tarafından belirtilen kümelerin kesiştiği yerde yatar. Böylece, sezgisel olarak, ortak bir kesişim paylaşan alarmlar kore edilmelidir.
Bağımlılık Grafikleri: Bağımlılık grafiği yönetilen nesneler arasındaki bağımlılıkları modelleyen yönlendirilmiş grafiklerdir.
Bayesian Network: Bir Bayesian ağ rasgele değişkenler tarafından temsil edilen şebeke elemanları arasındaki olasılıksal ilişkilerin modeller yönlendirilmiş bir rastegele grafiktir
Yapay Sinir Ağları (ANN): Yapay sinir agi; insan beyninin sinir hücrelerinden olusmus katmanli ve paralel olan yapisinin tüm fonksiyonlariyla beraber sayisal dünyada gerçeklenmeye çalisilan modellenmesidir. Sayisal dünya ile belirtilmek istenen donanim ve yazilimdir. Bir baska ifadeyle yapay sinir agi hem donanimsal olarak hemde yazilim ile modellenebilir. Bu baglamda, yapay sinir aglari ilk elektronik devreler yardimiyla kurulmaya çalisilmis ancak bu girisim kendini yavas yavas yazilim sahasina birakmistir. Böylesi bir kisitlanmanin sebebi; elektronik devrelerin esnek ve dinamik olarak degistirilememesi ve birbirinden farkli olan ünitelerin biraraya getirilememesi olarak ortaya konmaktadir
Genetik Algoritmalar: Genetik algoritmalar, doğada gözlemlenen evrimsel sürece benzer bir şekilde çalışan arama ve eniyileme yöntemidir. Karmaşık çok boyutlu arama uzayında en iyinin hayatta kalması ilkesine göre bütünsel en iyi çözümü arar. Genetik algoritmalar, doğal seçim ilkelerine dayanan bir arama ve optimizasyon yöntemidir.
Bulanık Mantık: Bulanık mantığın temeli bulanık küme ve alt kümelere dayanır. Klasik yaklaşımda bir varlık ya kümenin elemanıdır ya da değildir. Matematiksel olarak ifade edildiğinde varlık küme ile olan üyelik ilişkisi bakımından kümenin elemanı olduğunda (1) kümenin elemanı olmadığı zaman (0) değerini alır. Bulanık mantık klasik küme gösteriminin genişletilmesidir. Bulanık varlık kümesinde her bir varlığın üyelik derecesi vardır. Varlıkların üyelik derecesi, [0,1] aralığında herhangi bir değer olabilir ve üyelik fonksiyonu M(x) ile gösterilir .
SIEM Ürünlerinin Çalışma Mekanizmalarına ve Genel Projelendirme Safhaları
Birinci Adım İhtiyaçların Belirlenmesi:Siem genellikle orta veya büyük iş hacmine sahip sistemlerde daha verimli çalışan bir uygulama olduğunu düşürsek öncelikle Ürün yelpazesi içerisinde hangi program size uygun olucaktır öncelikle onu belirlemeniz gerekir.Bizim toplum geneli en iyisi en çok işe yarar olandır mantığı ile her yıl yüzbinlerce dolar ihtiyaca göre değil en iyisine göre şekillendirildiğinden ötürü her yapıda verimli bir şekilde kullanılamamaktadır.O yüzden işletmenizin veya kurumunuzun ihtiyacına yönelik Siem ürünleri alımında en iyisi değil en işlevseli ve size en uygun yönetimi olan uygulamayı edinmeniz hem maddi açıdan size kar getiricektir hemde uygulama manasında daha verimli bir Siem ürünüz ile sisteminizi kontrol edebiliceksiniz.
İkinci Adım Log Kaynaklarının Belirlenmesi:Siem ürünlerini eğer sisteminize entegre etmek istiyorsanız öncelikle yapınızda bulunan cihazlar ve hangi teknolojileri kullandığını bu cihazların kendileri ait bir loglama mekanizması olup olmadığını anlamak için genel bir topoloji çıkararak belirlemeniz gerekmektedir.Hangi cihazlar nerelerde işlev görmektedir,hangi cihazlar kritik safhada hizmet vermektedir,kurumun kritik iş sürekliliğini hangi uygulamalar sağlamaktadır tarzında bir kategori oluşturarak ortamdaki Siem ürüne dahil edilicek olan sistemleri belirlemeniz işinizi daha kolay hale getiricektir.
Üçüncü adım Kaynaklardan Alınacak Logların Detay ve İçeriğinin Belirlenmesi:Günümüzde bütün uygulamalar artık her türlü çalışma sistemi üzerinde sistemin a dan z ye kadar loglamaktadır.Tabi bu loglamaların bazıları bizim için önemli iken bazıları ise normal eventlarla alakalı olduğundan önemli olmayabilir ve dikkat edilicek bir durum oluşmayabilir.Örneğin bir Windows makinasından Audit logları önemli iken,Sharing ile alakalı logları bizim açımızdan önemli olmayabilir veya login loglarıda olabilir yani bu tamamen sizin hangi logları ne şekilde ihtiyaç dahilinde gereksinim duymanıza bağlı bir durum diyebilirim.Bunları belirlediğiniz vakit Siem tarafının genel itibari ile altyapısını hazırlamış oluyorsunuz.
Dördüncü Adım İlgili Donanımların Temini:Siem ürünleri gerek donanımsal gerek yazılımsal anlamda güçlü ve esnek yani dağınık bir mimariye sahip olmalıdır.Özellikle korelasyon yapar iken ram ve işlemci gücünü tam manası ile kullanabilen bir sistemdir.Tabi bunun yanında gerekli olan en önemli şey depolama (storage) alanıdır.İşletmenizin büyüklüğü ve log üretme kapasitesine göre uygun bir depolama alanı sağlamadığınız taktirde ürünü verimli kullanamayabilir,bunun yanında sürekli alan boşaltmak durumunda kalabilirsiniz.
Beşinci Adım Log Anlamlandırma, Etiketleme ve Seviyelendirilmesi:Siem ürünlerinde en önemli kritik nokta oluşturulan korelasyonlarda güvenlik seviyesinin belirlenmesidir.Örnek vermek gerekirse 1 den 10 a kadar olan severty modülü bulunur.Bu modülden bahsetmek gerekirse güvenlik olarak bir kullanıcının sisteme 3 defa login denemesi yaptığını farz edelim bu düşün bir leveli temsil edebilir.Kullanıcı çünkü şifresini unutmuş olabilir.Bunu lvl 1 olarak adlandırabiliriz.Yanlız kullanıcı örnek olarak 1 saat boyunca 50 defa şifre denemesi yaptı ise bu yüksek bir risk seviyesidir ve 10 a tekabül eder.İşte bu tarz örnekler ile sisteminizde logları anlamlandırıcak korelasyonları yaparak alert mekanizmalarını belirlemek önemlidir.Tabi bu logların zaman damgası ile etiketlendirilmeside 5651 kanununa göre zorunlu olduğundan en az 6 ay saklanıcak şekilde planlanmalı ve projelendirilmelidir.
Altıncı Adım Siber Tehlikelere Karşı Alarm Mekanizmalarının Oluşturulması:Siem kurulumu ve verilerin anlamlı bir şekilde oluşturulup ortak bir metin diline dönüştürüldükten sonra gelecek olan tehtlere karşı alrm mekanizmasının kurulması Siem ürünü için olmazsa olmazdır.Bütün saldırıların gündüz mesai içinde yapılmadığını düşünürsek.Bunun için en uygun zaman aralığı genelde ya haftasonları veya gece olduğunu söyleyebilriz.İşte bu durumda anlamlandırdığımız verilerin güvenlik seviyelerine göre anlamlandırıp alarm üretmesi ve bu alarma göre önlemlerin alınması çok önemlidir.
Yedinci Adım Gerçek Ortam Testinin Yapılması:Kurulan bir SIEM/Log sisteminin gerçek saldırılar karşısında ne kadar efektif olduğunu ölçmenin en kolay yanı kurum ortamına sanal bir saldırı simülasyonu gerçekleştirmek ve bu esnada siem sistemini izlemektir. Aksi halde yazılan ve doğru zamanda çalışıp alarm üreteceği düşünülen korelasyon kurallarının sizi yolda bırakma ihtimali %100’dür. Korelasyon kuralları yazıldıktan sonra mutlaka farklı senaryolarla tetiklenerek hatalı/eksik durumlar giderilmeli ve doğru zamanda doğru alarm üreteceğinden emin olunmalıdır.
Güvenlik Standartları ve Log Yönetiminde Dikkat Edilmesi Gerek Hususlar
Kurum içerisinde loglar toplanır ortak bir metne dönüştürülmeden önce dikkat edilmesi gereken bazı hususlar mevcut durumdadır bunları biraz incelemek gerekirse;
*Logların tarih ve zaman bakımından aynı sekronda olması önemlidir.Tarih ve zaman farklılıkları oluşturmak istediğiniz korelasyonlar için sıkıntı çıkarabilir.
*Logların eksik alınıp alınmadığı size’lara bakılarak kontrol edilmesi gerekmektedir.
* Logların bütünlügü ile ilgili diger önemli husus da logların degistirilmemesi ve bunun ispatlanmasıdır.Alınıcak olan güvenlik önlemleri ile birlikte bu değişimin olmama durumunun garantiye alınması gerekir.
* Router, Switch, Wireless, VPN sistemleri, Firewall ve IDS/IPS’lerin loglama mekanizmaları genelde syslog üzerinde tutulur bu gibi güvenlik cihazlarının loglarını alırken ilgili syslog path’lerini dikkatli bir şekilde çekmeniz gerekmektedir.
*Siem ürünlerinin yönetimi genellikle ilgili kurumdaki en kritik veri merkezinin temelini oluşturur.Yetkilendirmeler konusunda her daim dikkatli olunmalı ve bu logların güvenliği hem fiziksel manada hemde yazılımsal manada iyi korunması gerekmektedir.
*Loglama sistemlerinde loglar en kısa 90 gün ilgili depolama alanında tutulmalı en fazla 1 veya 2 sene muhafaza altında tutulmalıdır.Bu logların değiştirlemez olması ve içeriğinin 3.şahıslara açık olmamasıda önemli bir güvenlik önlemidir.
*İlgili Siem ürünün herkese hitap edicek şekilde monitörlemesinin yapılmasıda önemli bir husustur.
*Loglama noktasında eğer Siem ürününüz veriyi anlık çekiyorsa performans etkileri degisir. Eger sistem üzerinde yapılan tüm islemleri logluyorsa ve bu logları sizin network altyapınız üzerinden oldugu gibi alıyorsa hem loglanan sistem üzerinde hem de network üzerinde bir performans problemi olusabilir. Bunun için tavsiye edebileceğimiz husus logların alındığı sunucular üzerine Siem ürünün mevcut ise agentlarını kullanarak belirli zamanlarıda schedule ederek logların çekilmesidir.
*Özellikle loglama yaparken sisteminizde bulunan veritabanlarını eğer loglayacak iseniz dikkatli olmanız gerekmektedir.Bu yüzden veritabanı loglaması yaparken sadece ilgili islemleri loglamak gerekir. Yoksa veritabanınız loglama yapayım derken asıl işlevini yerine getiremez. Veritabanında loglamanın performansa etkisini ölçmek için monitoring ederek ilgili işlemin ne kadar kaynak ürettiğini belirlemek gerekmektedir.Bu islem veritabanının durumuna gore ortalama %30 civarında bir performans kaybına yol açacaktır.
*Özellikle belirtmek istediğim bir hususta sisteminizde bulunan network cihazlarından aldığınız logların durumudur.Eğer sistem üzerinde ayarları doğru yapmadığınız taktirde sistem tarafını DDOS atağını tetikletmiş oluruz.Tabi loglar gelen bir DDOS saldırısında sistemin diskine eğer yazılıyorsa sistem devre dısı kalabilir. Benzer sekilde logları ag üzerinden merkezi bir loglama sistemine gönderiyorsa loglama sistemi kısa sürede cevap veremez hale gelebilir.