SIEM ÜRÜNLERİ GÖRÜNÜŞTE BİRBİRİNE BENZİYOR HATTA LOG YÖNETİMİ ÇÖZÜMÜ OLUP DA SİEM DİYEN DE ÇOK. NASIL AYIRT EDECEĞİZ?
1. SIEM ÜRÜNLERİ GÖRÜNÜŞTE BİRBİRİNE BENZİYOR HATTA LOG
YÖNETİMİ ÇÖZÜMÜ OLUP DA SİEM DİYEN DE ÇOK. NASIL AYIRT
EDECEĞİZ?
SIEM ürünleri görünüşte birbirine benziyor. Hatta Log yönetimi yapıp da SIEM olduğunu söyleyen ve
korelasyon vurgusu yapan ürün de çok. Nasıl ayırt edeceği. Bu kafa karışıklığının sebebi ne?
Açık kaynaklogürünleri çokpopülerolmaklabirlikte ne kadarderde devaolduğu tartışılır.Herkesinde
bildiği gibi neredeyse yüzlerce açık kaynak log yönetimi çözümü mevcut. ELK/Solr/Lucene ve
Spark/Storm zatenartık standartolupbunlarınüzerinebiriki regexve birarayüz(GUI) giydiripyenibir
teknoloji imiş gibi sunmak sadece gerçek SIEM algısına balta vurmak ve bu SIEM den fayda ummak
boşmuş, bu teknolojiden fayda gelemez dedirtmekten başka bir şeye yaramaz.
Bir log arama motoru yapmak artık çok kolay. Parçaları birleştirerek bile aşağıdaki ekranları
oluşturabilirsiniz. https://www.elastic.co/blog/kibana-3-0-0-ga-now-available
Bunun için
ELK
Apache Spark/Storm
Kafka/Zeromq/Redis
Ürünlerini birlikte kullanmak yeterli.
Genelde ürünler seçilirken aslında belli bir seviyede log yönetimi yapabilecek ürünler SIEM olarak
alınıyor. Daha sonrasında ise SIEMolarak alınan bu yazılım sadece iki şey için kullanılıyor:
Log Arama Motoru
En Çok Analizleri
2. dolayısı ile ürünün güvenlik analizleri açısından hiçbir faydası olmamaktadır.
Burada ürünleri üç gruba ayırabiliriz.
Açık kaynak üzerine kurulu servis olarak sunulan ürünler
Açık kaynak yazılımın kopyasını yeni bir teknoloji olarak sunup YENİ BİR ARAYÜZ İLE
DÜNYANIN EN İYİ SIEM İNİ BİZ YAPTIK DİYEN ürünler.
Aslında Log Yönetimi olarak tasarlanıp SIEM olarak pazarlanan ürünler.
Log Analiz (Parser) Kütüphanesi
Yukarıdaki ürünler log analiz(parser) yeteneği olarak etrafta bulunan kaynaklardan ve firma kendi
yetenekleriilene geliştirdi iseondanoluşanbir loganaliz(parser) listesioluşturmayaçalışmaklabirlikte
genelde
Log kaynağını 1 hafta dinleyelim ona göre log analiz(parser) yazalım
Sistem çalışırken bakarız ona göre eksikleri ekleriz
gibi yöntemleri de kullanarak loganaliz(parser) kütüphanesi oluştururlar.Buyönteminne kadareksik
olduğunugösterebilmekadına TippingPointiçinANETSureLogSIEMloganaliz(parser) dosyasıörneğini
verirsek
Regex sayısı yaklaşık 11 bin adet
İmza(Signature) adedi yaklaşık 10 000 adet (Zaten pek çok yazılımda karşılığı yok!!)
Veyabenzerşekilde “dünyadaeniyi SIEMçözümübiziz”benzeri sloganlara Elastic/Sparktemelli ticari
bir ürünün Fortigate Firewall ile ilgili log analiz(parser) kütüphanesi (regex dosyası+parser kodu)
toplamda yaklaşık 5000 satırdır. ANET SureLog SIEM in sadece parser dosyası ise 100000 satırın
üstündedir evet yanlış okumadınız yüzbin satırdan büyük bir dosya ve yüzlerce regex ve on binlerce
imza(signature) dan oluşmaktadır. Peki fark ne!!!
Fortigate için farkı anlatmak gerekirse fortigate logları içindeki log_id, attack_id, SN gibi alanların
kombinasyonlarına göre SureLog SIEM bu logu
Malicious.PasswordCracking
Malicious.Virus
Malicious.Worm
Malicious.Bot
Malicious.Web.Injection
Veya
Compromised.Trojan
Compromised.Trojan.Response
gibi 1500 e yakın tiptenbiri olaraktespiteder(Taxonomy).Loganaliz(parser) işlemleri pek çokaçıdan
daha detaylıincelenebilir.Bunlardanbiri de logzenginleştirme verilerinindoğruluğudur.Aşağıdayine
yukarıda bahsedilen yazılımın log zenginleştirme verisi ile Fortigate kullanıcı kılavuzunun
3. karşılaştırması görülmektedir. Hata çok barizdir. Üretici tarafından Error olarak kategorize edilen
olay üründe Info olarak gösterilmiştir.
Benzer bir analizi de TrendMicro DeepSecurity için yaparsak
"378": {
"SubType":"Info",
"Type":"Operation",
"Context":"System"
}
https://help.deepsecurity.trendmicro.com/Events-Alerts/ref-events-
system.html
Hata yine çokbarizdir. Üreteci tarafından Warning olarak ifade edilen bir event info olarak parse
edilmiştir.
Bir SIEM ürününün amacı logu kaynak IP, Hedef IP, URL, kaynak port, hedef port, kullanıcı, action,
gönderilen paket boyutu, alınan paket boyutu vb.. alanlara ayırıp sonra
Log Arama Motoru
En Çok Analizleri
Yapmak DEĞİLDİR!. Zaten bunlar en basit bir ürün için bile olmazsa olmaz temel özelliklerdir. Logu
analiz etmekten kasıt onu anlamlandırmaktır.
Bu Log ne için oluşmuş?
Hangi olayın bir parçası?
Dikkat etmemiz gereken bir durum oluşmuş mu? Şüpheli bir aktivite logu mu?
Diğer hangi loglarla ilişkili?
Gibi bilgilerin logunanaliz edilmiş halinde kullanıcı tarafından bulunabilmesi ve bütün log tipleri için
aynı gruplandırmanın uygulanmasıdır (Taxonomy)
Gruplandırma(Taxonomy)
Karşılaştırmasınıokuyucuyabırakarakdiğerbir konuolangruplandırma(taxonomy)konusunageçelim.
Raporlama ve de daha önemlisi korelasyon için taxonomy kritiktir. Kısaca taxonomy yi anlatmak
gerekirse
Aruba Wireless
Fortinate Firewall
Windows Sunucu
Linux Server
McAffe IPS
4. den gelen yeni bir kullanıcı oluşturuldu olayı “Informational.Account.Created” taxonomy grubuna
eklenmeli ki hem raporda hem de korelasyonda kullanabilelim. Şöyle ki:
Oluşturulan kullanıcıların raporlarını oluştur
Yeni bir kullanıcı oluşturulursa uyar
gibi raporve korelasyonlaroluşturulabilmeli.Bunuyapabilmekiçinbütünloglarıbilenmodatabirle bir
üst akıl yani her bir loguparça parça parse etmekyerine diğerleri ile ilişkisini bilerekparse edebilecek
bütünleşikbir parser motoruna sahip olmalı. Açık kaynak dünyası pek çok log tipini parse etmekiçin
regex,kod,scripte sahipolsabile hiçbiri aynıtiplogiçinaynı/ortak birtaxonomy oluşturamamakta!.
Dolayısı ile yeni bir kullanıcı oluşturuldu raporunu çekmek için en iyi durumda ayrı ayrı
Aruba Wireless
Fortinate Firewall
Windows Sunucu
Linux Server
McAffe IPS
loglarından5 farklırapor çekmenizgerekmektedir.Eğerbirde bu loglarkullanıcıoluşturuldu şeklinde
parse edilmiyorsa işin içinden çıkmak iyice zorlaşır.
Aynı şekilde taxonomy özelliği olan bir ürünlerle
“Yeni bir kullanıcı oluşursa uyar” diyebilecekken
Aruba Wireless da yeni bir kullanıcı oluşursa uyar VEYA
Fortinate Firewall da yeni bir kullanıcı oluşursa uyar VEYA
Windows Sunucu da yeni bir kullanıcı oluşursa uyar VEYA
Linux Server da yeni bir kullanıcı oluşursa uyar VEYA
McAffe IPS da yeni bir kullanıcı oluşursa uyar
Gibi yazmakgerekir.Hele birde eğer bir de bu loglarkullanıcı oluşturulduşeklinde parse edilmiyorsa
işin içinden çıkmak iyice zorlaşır.
Başka bir örnek vermek gerekirse Fortigate logları içinde Virüsün başarı bir şekilde karantinaya
alınması ile ilgili loglarilerTrendmicroOficeScanloglarıiçindeki Virüsünbaşarıbirşekilde karantinaya
alınması loglarını aynı gruba ayırmalı (Taxonmy) ki hem raporlarda hem de korelasyonda karantinaya
alınan virüsile ilgili raporve korelasyonlarıkonuşurgibi yazabilelimve oluşturabilelim.Diğertürlüher
üreticinin loğunu son kullanıcı olarak bizim bilmemiz ve normalize edilmiş alanlarda ID,mesaj vb..
alanlara göre arama yaparak bizim bir şeyler yapmamız gerekir.
Diğer bir anlatımla son 1 günde kötü niyetli (Malicious) bütün olayları raporla veya kötü niyetli
(Malicious) bir olay olursa uyar gibi istekler eğer Taxonomy modülü olmazsa bütün log tiplerinin
(Örnek: Aruba Wireless, Fortinate Firewall, Windows Sunucu, Linux Server, McAffe IPS, Fortigate)
tanınması ve kötü niyetli olaylar için logun içindeki alanların kullanıcı tarafından bilinmesini vs..
gerektirir ki bu da ürünü çöpe atmak demek. Taxonomy ile ilgili detay bilgi için
http://www.slideshare.net/anetertugrul/siniflandirma-temell-korelasyon-yaklaimi
Korelasyon
5. Son olarak da korelasyon yeteneğini değerlendirirsek bu tarz yazılımlarda gerçek manada bir
korelasyonmotoruyoktur.Dolayısıile gerçekmanada bir korelasyon yeteneğindensözedilemez.Bu
tarz yazılımların genelde uyguladığı
Elastic temelli elastalert https://github.com/Yelp/elastalert
Ekrandaki text alanlarına sorgu girilmesi
Ekrandaki text alanlarına arama dili ile cümlecik girilmesi
Ekrandaki text alanlarına özel notasyonlu cümlecik yazmak
Script
Yazılım dili
Arama dili
ile sağlanması gibi kısıtlı ve hiç de kullanıcı dostu olmayan yöntemlerle çözmeye çalışmaktadır. Bu
yöntemlerin dezavantajlarının detayları için http://www.slideshare.net/anetertugrul/log-yonetimi-
korelasyon-ve-siem , http://www.slideshare.net/anetertugrul/surelog-siem-ve-log-ynetimi-zm-
stnlkleri
ANET SureLog SIEM Korelasyon özelliği ile bu yöntemleri kıyaslarsak; aşağıda görüleceği gibi her şey
görsel ve sihirbaz temellidir.
Gelişmiş kurallarıbusihirbazvasıtasıile yazabilirsiniz.
1. Bir kullanıcı15 dakikadaaynı makinada3 başarısız oturumdenediktensonra,2saat
içerisinde başkabirmakinada(önceki başarısızoturumaçtığı makine dışında) da başarısız
oturumaçarsa uyar
2. Bir kullanıcı15 dakikadaaynı makinada3 başarısız oturumdenediktensonra,2 saat içerisinde
bu makinadankendi makinasınaoturumaçarsauyar
6. 3. Bir kullanıcıherhangi birsunucuyaloginolamayıpauthenticationfailureasebepolduktan
sonra 2 saat içerisinde aynıkullanıcının aynısunucuyabaşarılı oturumaçmadığı takdirde uyar,
4. Ertuğrul kullanıcısının(Herhangi birX Kullanıcısı) son1 aydır hiçgitmediği birsiteyegitmesi
durumundauyar,
5. UnusualUDPTrafficüretenkaynakIPyi bildir,
Gibi kurallar hazır olarak gelmekte ve benzeri veya daha karmaşık kurallar kolay ara yüzlerle
oluşturulabilmektedir.
Özetlersek:
Parser listesinin genişliği ve doğruluğu
Taxonomy
Korelasyon
Belirleyicidir.