kurumsal ağlarda log analizi yöntemi İle saldırı tespiti - huzeyfe Önal...
DESCRIPTION
Siber Güvenlik Konferansı'14 etkinliğinde Huzeyfe Önal Tarafından gerçekleştirilen sunum dosyasıdır.TRANSCRIPT
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Huzeyfe ÖNAL Bilgi Güvenliği AKADEMİSİ
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Huzeyfe ÖNAL • Bilgi Güvenliği Danışmanı & Ağ Güvenliği Araş<rmacısı @BGA
• PenetraAon Tester • Eğitmen – Bilgi Güvenliği AKADEMİSİ – Linux AKADEMİ
• ÖğreAm Görevlisi Bilgi / Bahçeşehir Üniversitesi
• Siber Güvenlik Derneği
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Amaç • Güvenliğin en temel bileşenlerinden biri olan loglama ve saldırı analizi kavramlarının ortak noktalarının tespiA ve saldırı analizinde kullanılacak yöntem ve araçların değerlendirilmesi.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Sorularla Güvenliğimiz… • Kaç kişi/kurum son bir yıl içerisinde APT benzeri sofisAke bir saldırıya maruz kaldı
• Daha da önemlisi kaç kişi/kurum bu saldırıya maruz kaldığını tespit eV ve nasıl/ne zaman?
• Daha daha da önemlisi kaç kurum bu Ap saldırıyla karşı karşıya kaldığından habersiz?
• Tüm bu soruların net cevabı kurumun log altyapısı ve saldırı analizi kabiliyeAne bağlıdır.
• BGA’dan örnekler… – Kamu / Özel sektör
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Loglamanın Saldırı TespiA Açısından Önemi • Sağlıklı gerçekleşArilmiş bir log/izleme altyapısı yaşanmış saldırıların analizinde yaşanacak muhtemel saldırıların erken farkedilmesinde hayaA role sahipAr. – Hangi sistemlerde neyin logu alınacak nasıl yorumlanacak
• Kurumlar genellikle ürünlere yap<kları ya<rımları onları değerlendirecek güvenlik personeline veya danışman firmaya yapmazlar – Saldırının tanımını iyi yapmadan 1-‐0 man<ğı ile çalışan güvenlik ürünleri birşey katamaz.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log YöneAmi • Farklı kaynaklarda toplanan farklı Ap ve çeşitlerdeki logların tek bir merkeze yönlendirilerek değer ifade edecek şekilde işlenmesidir.
• Log yöneAmi ile log toplama farklı işlemlerdir. • Log yöneAmi olabilmesi için öncelikle sağlıklı log toplama mekanizmasının kurulu olması gerekir.
• Toplanan loglardan anlamlı sonuçlar üretecek işlemler gerçekleşAriliyorsa log toplamadan log yöneAmine doğru geçiş yapılıyor demekAr.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log Korelasyonu • Log yöneAmi projelerinde anahtar bileşendir. • Birden fazla kaynaktan gelen birden fazla log kaydının tek bir sa<rda ifade edilmesi.
• Üzerinden en fazla konuşulup gerçekleşArilemeyen LOG YÖNETİMİ proje bileşenidir.
• Aynı anda onlarca porta yönelik gelen SYN paketlerinin her birini ayrı ayrı loglamak yerine tek bir sa<rda gösterip Port Tarama olarak yazmak...
• Örnek korelasyon kuralları
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Korelasyon Örneği-‐SSH Brute Force • SSH: Uzaktan UNIX/Linux sistemleri yönetmek amaçlı kullanılan güvenli bir protokol. – Ön tanımlı olarak 22/TCP portundan çalışır
• Genellikle UNIX sistem yöneAcileri her yerden sistemlerine erişebilmek icin SSH servisini dışarı açık bırakırlar.
• Genele açık SSH servisleri hackerlarin ilgisini çeker ve SSH parolası bulma saldırıları gerçekleşArirler.
• Örnek SSH Brute Force Denemesi hydra 192.168.1.100 ssh2 –L users.txt -‐P password.txt -‐e s
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
SSH Brute Force Saldırısı Log Örneği
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
SSH Brute Force Log Korelasyonu • Her gün onlarca farklı kaynaktan binlerce SSH login denemesi gelmektedir.
• Sistem üzerinde her bir SSH denemesi ayrı bir log sa<rı olarak işlenmektedir.
• Ortalama bir SSH brute force saldırısı 200-‐300 arası log sa<rı üretmektedir.
• Korele edilmiş bir log dosyası ilgili bileşenleri değerlendirerek aşağıdaki gibi bir log üretmesi gerekmektedir.
Unsuccessful SSH Login Agemp From <IPS> for USERNAME <USER_Listes> between date1-‐date2
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log GörselleşArme
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log Analizi • Loglama tek başına bir değer ifade etmez. • Nasıl ki tarladan toplanan hasat işlenmeden bir işe yaramazsa koleksiyon amacı ile toplanan ve izlenip değerlendirilmeyen loglar da bir şey ifade etmez.
• Birçok kurumda loglar sadece kayıt al<na alınmaktadır fakat log analizi yapılmamaktadır.
• Bilgi Güvenliği(BG) YöneAm Standardında log(iz kaydı) yöneAmi ve analizinin önemi vurgulanmaktadır.
• Log analizi teknik bir işin ötesinde ilgili konuya dair ciddi tecrübe ve düşünme yeAsi ister. – Hangi saldırı Api gerçekleşArilmiş sorusunun cevabını bulabilmek için saldırı kavramını ve detaylarını bilmek gerekir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log Analizi Yazılımları • Farklı amaçlar için kullanılabilecek onlarca Acari ve açık kaynak kodlu ücretsiz log analizi yazılımı bulunmaktadır.
• Log analizi yazılımlarının çoğu aynı zamanda log yöneAmi işlevini de gerçekleşArmektedir.
• Örnek yazılımlar: – File System Auditor, OSSIM, Kiwi Syslog Deamon, Swatch, Infraskope, Manage Engine Event Log Analyzer, OSSIM
• Log analiz yazılımları genellikle arka planda bir veritabanı uygulaması kullanarak işlem yapar.
• Yazılımları doğru kullanabilmek için neyi aradığını bilmek önemlidir. – Saldırıyı nasıl tanımlarsınız (web tabanlı, network tabanlı)
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log Analizi Araçları • Log analizi için temelde iki seçenek bulunmaktadır
1. Temel linux araçları 2. Özel gelişArilmiş yazılımlar
• Her iki yöntemin de kendine has Avantaj ve dezavantajları vardır. Büyük verilerin incelenmesinde Veritabanı kullanımı şartdır. -‐Benzeri işlemler için kolaylık sağlar. • Ne istediğinizi biliyorsanız basitlik her zaman kazandırır. • Çok büyük verileri incelemek için Nosql kullanılabilir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Linux Araçlarıyla Log Analizi • Linux işleAm sistemi dosya temelli olması nedeniyle dosya işleme amaçlı onlarca araç barındırmaktadır.
• Cut, awk, grep , ngrep, less, tail, head, cat, sed, sort, uniq, strings, mulAtail, urlsnarf,
• Avantajlar: – Hız, esnek ve performanslı kullanım
• Dezavantajları: – Veritabanı man<ğı olmadığı için her işlemde tekrar aynı süreç yaşanır
– Çok büyük log dosyalarının işlenmesinde zaman kaybı ve performans problemi (Big data)
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log Analizi Metodolojisi • Log analizinde en önemli bileşen log/loglar içerisinde ne arandığının belirlenmesidir.
• Bunun için daha önce denenmiş, tecrübe edilmiş çeşitli yöntemler kullanılmalıdır.
KAYNAK: hfp://faculty.ist.psu.edu/jjansen/academic/jansen_search_log_analysis.pdf
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Log Analizi Metodoloji Adımları
I.Adım • Log dosyalarının elde edilmesi • Log dosyalarının normalleşArilmesi
II.Adım • Log analiz amacının belirlenmesi • Log analiz amacının teknik dile çevrimi
III. Adım • Log analiz yazılımı kullanarak istenen verileri ayıklama • Doğrulama adımı (istenen sonuç elde edildi mi?
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Örnek Analiz: Adım-‐1 • Hedef:Hacklenmiş bir web sunucunun log analizi • 1.adım: web sunucu loglarının toplanması ve loglar içerisinde encode edilmiş verilerin normalleşArilmesi.
• Log normalleşArme yapılmadan analiz aşamasına geçilirse günümüz saldırılarının büyük çoğu farkedilemez.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Encoding • Bir veriyi başka formatlarda gösterme işlemidir • Geriye çevrilebilir algoritmalardır. • Encoding algoritması ek bir gizlilik sağlamaz. • Base64 encoding, url encoding, hex encoding en sık karşılaşılan çeşitlerdir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Örnek Analiz: Adım-‐2 • 2. adım: Saldırgan ip adresinin ve saldırı yönteminin belirlenmesi
• Şüphelenilen saldırı Apleri için komut sa<rı araçlarının hazırlanması – Web üzerinden gelebilecek saldırı türleri konusunda bilgi sahibi olunması gerekir.
– Saldırgan on farklı yöntemle sunucuyu ele geçirmiş olabilir. • Disk üzerinde ilgili tarihe ait değişiklikler izleniyor mu? • Gereksiz log sa<rlarının ayıklanması – Javascript, gif, jpg, …
• Teknik dile çevirim – Grep –i select, union, exec, base64_encode *.log
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Örnek Analiz: Adım-‐3 • 3. Adım:Verilerin ayıklanması ve doğrulama aşaması.
• Bir önceki adımda elde edilen ayıklanmış veriler gerçekten saldırgan ip adresini ve saldırı yöntemi hakkında net bilgiler içeriyor mu? – İlgili ip adresi ve ip adresinin erişAği URL/istek denenerek zafiyet olup olmadığı kontrol edilebilir.
– İlgili ip adresine ait başka sistemlerden kayıt alınabilir. – İlgili ip adresi internegen araş<rılabilir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Web Sunucu Saldırı Analizi • Yapılan araş<rmalar siber saldırılar için ilk aşamaların Web ve istemcilere yönelik oltalama saldırıları olduğunu göstermektedir.
• Web üzerinden gerçekleşArilen saldırıları tespit etmek ve aksiyon almak daha kolaydır.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Web Sunucu Log Detayları • Apache ve diğer web sunucular ön tanımlı olarak POST isteklerinde gelen değerleri loglamazlar.
• Bunun için mod_forensic gibi ya da mod_security gibi ek bileşenler kullanılmalıdır
• Web sunuculara yönelik POST üzerinden gerçekleşArilecek saldırıları yakalamak için ek olarak WAF, Load Balancer, IPS gibi ürünlerin loglarına başvurmak gerekebilir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Web Sunucu Log Örnekleri-‐POST
127.0.0.1 – -‐ [04/Mar/2012:02:10:10 -‐0500] “POST /dvwa/login.php HTTP/1.1″₺ 302 454 “hgp://localhost/dvwa/login.php” “Mozilla/5.0 (X11; Linux i686; rv:5.0.1) Gecko/20100101 Firefox/5.0.1″₺
• Standart yapılandırmaya sahip bir web sunucu logları incelendiğinde POST istekleri aşağıdaki gibi bir çık< verecekAr.
• Log sa<rları detaylı incelenirse POST isteği içerisinde
gönderilen veri kısmı (payload) ile ilgili herhangi bir bilginin olmadığı görülecekAr.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
POST isteğini detaylı olarak incelendiğinde (Network üzerinden) hangi kullanıcı adı ve parola bilgilerinin girildiği ortaya çıkmaktadır. Bu detay web sunucu loglarında gözükmeyecekAr. Web sunucu loglarında sadece hangi URL’e istek yapıldığı bilgisi kayıt al<na alınır.
T 127.0.0.1:47635 -‐> 127.0.0.1:80 [AP] POST /dvwa/login.php HTTP/1.1. Host: localhost. User-‐Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0.1) Gecko/20100101 Firefox/5.0.1. Accept: text/html,applicaAon/xhtml+xml,applicaAon/xml;q=0.9,*/*;q=0.8. Accept-‐Language: en-‐us,en;q=0.5. Accept-‐Encoding: gzip, deflate. Accept-‐Charset: ISO-‐8859-‐1,u�-‐8;q=0.7,*;q=0.7. ConnecAon: keep-‐alive. Referer: hgp://localhost/dvwa/login.php. Cookie: security=high; XpLiCo=i68o2ejvm6jnp3b9pv083i4mi7; PHPSESSID=uvn4olrlfd6sckjhe4eea4jno4. Content-‐Type: applicaAon/x-‐www-‐form-‐urlencoded. Content-‐Length: 49. username=admin&password=hatali_parola&Login=Login
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
SQL InjecAon İncelemesi
• SQLi saldırı tanımı:Uygulamaların veri tabanı ile ilişkili olan kısımlarının manipüle edilerek veritabanında sorgu çalış<rma işlemi.
• Veri tabanıyla ilişkisi olan tüm girdi noktalarında SQLi zafiyeA bulunabilir.
• Web uygulaması özelinde: • GET isteğinde (URL’de) • POST isteğinin veri(Payload) kısmında
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
SQL InjecAon Saldırısı -‐ Detay • SQL InjecAon saldırıları ile hedef sistem ele geçirilebilir, hedef sistemdeki doğrulama (form based) aşılabilir, hedef sistemde kullanılan veritabanına ait tablolar ve diğer bilgilere erişim sağlanabilir.
• SQL injecAon saldırıları web üzerinden yapılsa da aslında saldırının isAsmar aşaması tamamen veritabanına yönelikAr.
• Veritabanından nasıl bilgi çekileceğini bilmeyen biri için saldırı çok bir şey ifade etmez.
• En fazla görülen ve en tehlikeli saldırı Aplerinden biridir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Örnek SQL InjecAon Saldırısı ve Log Kaydı 200.96.104.241 -‐ -‐ [12/Sep/2006:09:44:28 -‐0300] "GET /modules.php?name=Downloads&d_op=modifydownloadrequest&%20lid=-‐1%20UNION%20SELECT%200,username,user_id,user_password,name,%20user_email,user_level,0,0%20FROM%20nuke_users HTTP/1.1" 200 9918 "-‐" "Mozilla/4.0 (compaAble; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
GET İsteği Üzerinden SQLi İncelemesi • HTTP GET kullanılarak gerçekleşArilen SQLi saldırıları loglarda olduğu gibi gözükecekAr.
• Bazı durumlarda saldırgan çeşitli encoding teknikleri kullanarak saldırıyı gizlemeye çalışır.
• Günümüzde kriAk SQLi zafiyetlerinin çoğu POST detaylarında bulunur.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
POST Üzerinden SQLi İncelemesi • Daha önce de belirAldiği gibi POST üzerinden giden detaylar web sunucu loglarında gözükmeyecekAr.
• Aşağıdaki log sa<rında herhangi bir anormallik gözükmemektedir.
• Oysa POST ile gönderilen veri kısmı incelenirse SQL I saldırısı olduğu anlaşılabilir.
127.0.0.1 – -‐ [04/Mar/2012:02:10:10 -‐0500] “POST /dvwa/login.php HTTP/1.1″₺ 302 454 “hgp://localhost/dvwa/login.php” “Mozilla/5.0 (X11; Linux i686; rv:5.0.1) Gecko/20100101
Firefox/5.0.1″₺
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
T 127.0.0.1:47632 -‐> 127.0.0.1:80 [AP] POST /dvwa/login.php HTTP/1.1. Host: localhost. User-‐Agent: Mozilla/5.0 (X11; Linux i686; rv:5.0.1) Gecko/20100101 Firefox/5.0.1. Accept: text/html,applicaAon/xhtml+xml,applicaAon/xml;q=0.9,*/*;q=0.8. Accept-‐Language: en-‐us,en;q=0.5. Accept-‐Encoding: gzip, deflate. Accept-‐Charset: ISO-‐8859-‐1,u�-‐8;q=0.7,*;q=0.7. ConnecAon: keep-‐alive. Referer: hgp://localhost/dvwa/login.php. Cookie: security=high; XpLiCo=i68o2ejvm6jnp3b9pv083i4mi7; PHPSESSID=uvn4olrlfd6sckjhe4eea4jno4. Content-‐Type: applicaAon/x-‐www-‐form-‐urlencoded. Content-‐Length: 234. . username=ECYH%252C%2528SELECT%2520%2528CASE%2520WHEN%2520%25282167%253D2167%2529%2520THEN%2520ECYH%2520ELSE%25 202167%252A%2528SELECT%25202167%2520FROM%2520INFORMATION_SCHEMA.CHARACTER_SETS %2529%2520END%2529&password=parola&Login=Login
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
HTTP POST İsteği Veri Kısmı • URL encode edilmiş veri decode edilirse aşağıdakine benzer bir SQL sorgusu olduğu ortaya çıkacak<r.
• Bu Ap POST isteği kullanılarak gerçekleşArilen saldırılar Ağ tabanlı IPS/IDS sistemleri ya da WAF/Load Balancer sistemler kullanarak da belirlenebilir.
ECHO SELECT … CASE … WHEN … THEN ECYH ELSE SELECT FROM INFORMATION_SCHEMA.CHARACTER_SETS AND password=parola&Login
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
SQL InjecAon Denemelerini Yakalama • SQLi denemelerini web sunucu loglarından yakalamak için genellikle tercih edilen yöntem sqli için kullanılan kelimeler ve evasion amaçlı kullanılan özel karekterlerin web sunucu loglarından ara<lmasıdır.
• SQLi aratmak için Concat, char, union, select, order by, group by gibi komutlar ‘ denenebilir.
• Bu kelimeleri log dosyasında aratmak false posiAve sonuçlar çıkarabileceği için çıkan sonuçların teker teker incelenmesi gerekir.
• Burada yine sadece GET üzerinden denenen sqli saldırılarının loglarından anlamlı bir şeyler çıkacağını belirtmemiz gerekiyor.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
SQLi Belirleme:grep –i concat|union
127.0.0.1 – -‐ [28/Feb/2012:05:03:40 -‐0500] “GET /dvwa/vulnerabiliAes/sqli/?id=9&Submit=Submit%27%29%20AND%20%28SELECT %204770%20FROM%28SELECT%20COUNT%28%2A%29%2CCONCAT %28CHAR%2858%2C118%2C106%2C115%2C58%29%2C%28SELECT%20%28CASE%20WHEN %20%284770%3D4770%29%20THEN%201%20ELSE%200%20END%29%29%2CCHAR%2858%2C101%2C111%2C102%2C58%29 %2CFLOOR%28RAND%280%29%2A2%29%29x%20FROM%20 INFORMATION_SCHEMA.CHARACTER_SETS%20GROUP%20BY%20x%29a%29%20AND%20%28%27JrPI%27%3D%27JrPI HTTP/1.1″₺ 200 4660 “-‐” “sqlmap/1.0-‐dev (r4009) (hgp://sqlmap.sourceforge.net)” 127.0.0.1 – -‐ [28/Feb/2012:05:03:40 -‐0500] “GET /dvwa/vulnerabiliAes/sqli/?id=9&Submit=Submit%27%20AND%20%28SELECT%204770%20FROM%28SELECT%20COUNT%28%2A%29%2CCONCAT%28 CHAR%2858%2C118%2C106%2C115%2C58%29%2C%28SELECT%20%28CASE%20WHEN%20%284770%3D4770%29%20 THEN%201%20
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Scalp Aracı Kullanarak Web Log Analizi • Scalp, Web sunucu loglarından denenmiş web saldırılarını log analizi yöntemiyle bulmaya çalışır.
• Saldırı analizinde kullanacağı değişkenleri de PHPIDS projesinden almaktadır.
hgps://dev.itratos.de/projects/php-‐ids/repository/raw/trunk/lib/IDS/default_filter.xml adresinden filtreler edinilebilir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Scalp Komut Sa<rı Seçenekleri
Scalp esnek komut sa<rı seçeneklerine sahipAr. Bunlar sadece belirli saldırı Apleri için arama, belirli zaman aralıkları için loglara bakma ve çık< Apini değişArme amaçlı kullanılabilir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Belirli Atak Tipleri için Sorgulama
85.95.238.173 – -‐ [11/Feb/2012:00:50:50 -‐0600] “GET /nessus\\..\\..\\..\\..\\..\\..\\winnt\\win.ini HTTP/1.1″₺ 404 21816 “-‐” “Mozilla/4.0 (compaAble; MSIE 8.0; Windows NT 5.1; Trident/4.0)” Reason: “Detects basic directory traversal” 85.95.238.173 – -‐ [11/Feb/2012:00:50:50 -‐0600] “GET /exchweb/bin/auth/owalogon.asp?url=hgp://12345678910 HTTP/1.1″₺ 404 21816 “-‐” “Mozilla/4.0 (compaAble; MSIE 8.0; Windows NT 5.1; Trident/4.0)” Reason: “Detects specific directory and path traversal” 85.95.238.173 – -‐ [11/Feb/2012:00:50:50 -‐0600] “GET /%80../%80../%80../%80../%80../%80../windows/win.ini HTTP/1.1″₺ 404 21816 “-‐” “Mozilla/4.0 (compaAble; MSIE 8.0; Windows NT 5.1; Trident/4.0)” Reason: “Detects basic directory traversal” 85.95.238.173 – -‐ [11/Feb/2012:00:50:52 -‐0600] “GET /%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./windows/win.ini HTTP/1.1″₺ 404 21816 “-‐” “Mozilla/4.0 (compaAble; MSIE 8.0; Windows NT 5.1; Trident/4.0)” Reason: “Detects basic directory traversal”
Sadece belirli Apteki saldırıları aratmak için –a sqli, xss gibi parametre kullanılabilir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Basit UNIX Araçlarıyla Web Log Analizi • Bu yöntemde önemli olan logların arasından ne Ap özellikte olanlarını bulmak istediğimizi belirlemekAr.
• Milyonlarca sa<r log arasında ne aradığını bilmeyen birinin samanlıkta iğne arayandan farkı yoktur.
• Linux araçlarıyla log analizi yapabilmek için öncelikle log içerisinde ne aradığınızı teknik olarak ifade edebiliyor olmak gerekir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Saldırı Olarak Değerlendirilebilecek Durumlar • Saldırı yapılan sunucuya özel bazı dizin/dosyaların istenmesi
• Mesela WordPress gibi sistemlerde genellikle /wp-‐admin gibi dizinler ya da wp-‐login.php gibi dosyalara yönelik brute force denemeleri gerçekleşArilir.
• Saldırı imzası olarak /wp-‐admin ve wp-‐login.php gibi kelimeleri ara�rırsak saldırı yapanların bir kısmı belirlenmiş olunur.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Belirli Dizin/Dosyaların İstenmesi • Bazı durumlarda saldırganı ulaşmaması gereken yerlere ulaş<ğında belirleyebiliriz. – Wordpress için wp-‐login.php sayfasını normal bir kullanıcı çağırmaz.
• Grep kullanarak belirli dizinlerin veya dosyaların istendiğini loglar arasından çıkartabiliriz.
g# grep wp-‐login.php mertsarica-‐access_log |head 94.55.164.119 -‐ -‐ [15/Sep/2012:20:32:51 +0300] "GET /wp-‐login.php?redirect_to=hgp%3A%2F%2Fwww.mertsarica.com%2Fwp-‐admin%2F&reauth=1 HTTP/1.1" 200 6299 "-‐" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:15.0) Gecko/20100101 Firefox/15.0.1" 94.55.164.119 -‐ -‐ [15/Sep/2012:20:32:52 +0300] "GET /wp-‐admin/css/colors-‐fresh.css?ver=3.4.2 HTTP/1.1" 200 6986 "hgp://www.mertsarica.com/wp-‐login.php?redirect_to=hgp%3A%2F%2Fwww.mertsarica.com%2Fwp-‐admin%2F&reauth=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:15.0) Gecko/20100101 Firefox/15.0.1" 94.55.164.119 -‐ -‐ [15/Sep/2012:20:32:52 +0300] "GET /wp-‐admin/css/wp-‐admin.css?ver=3.4.2 HTTP/1.1" 200 22741 "hgp://www.mertsarica.com/wp-‐login.php?redirect_to=hgp%3A%2F%2Fwww.mertsarica.com%2Fwp-‐admin%2F&reauth=1"
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Bağlan< Kuran IP Adres ve Bağlan< Sayıları • Sunucu üzerinde deneme gerçekleşAren ip adreslerinin normalin üzerinde bağlan< sayısına sahip olması beklenir.
• Aşağıdaki komutla Apache loglarında hangi ip adresi kaç adet bağlan< gerçekleşArmiş (top 10) ortaya çıkarılabilir.
# cat siber-‐access_log |awk -‐F ” ” ‘{print $1}’|sort -‐n|uniq -‐c|sort -‐nr|head 3556 9.6.2.2 1527 9.2.4.1 1142 1.1.2.8 1055 193.2.2.1 1046 9.1.2.1
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Directory Traversal Denemelerini Bulma • Web üzerinden gerçekleşArilebilecek önemli saldırı yöntemlerinden birisi web üzerinden sistemdeki dosyaları okuma olarak tanımlayabileceğimiz LFI(Local File Inclusion) saldırılarıdır.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
LFI/RFI Bulma • Web üzerinden gerçekleşArilen LFI vs saldırılarını loglardan yakalamak için ara bileşen olarak kullanılan ../ ..\ gibi özel ifadeleri aratmak yeterli olacak<r.
• Yine burada ha<rlanması gereken önemli nokta bu karekterler GET isteği üzerinden taşındığı zaman web sunucu loglarında yer bulacak<r.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
LFI ve Directory Treversal Log Örneği
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Web sunucu Log Analizinde Cevaplar • Burada önemli olan bu Ap isteklere web sunucunun döndüğü cevap<r .
• Web sunucu 404 değil 300 veya 200 lü cevap dönüyorsa saldırının başarılı olmuş olma ihAmali vardır.
• 404 alınıyorsa bu saldırganın denediği atakların başarılı olmadığı, sunucu tara�nda bulunmadığı anlamına gelir.
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Ağ Trafiği Üzerinde Loglama • Network forensics çalışmalarının temeli • İnterneAn tamamı loglanabilir mi? • Tamamen pasif loglama • Silinme riski yok! • Performansa etkisi olumsuz yönde yok (pasif loglama)
• SSL kullanılmadığı takdirde tüm sistemelere ait tüm detaylar ağ trafiği içerisinden elde edilebilir
• Örnek yazılımlar – Netwitness, Ngrep , Xplico , Tcpdump, Wireshark
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
TAP • TAP = Traffic Access Point • Paket çoğullayıcı • Donanımsal • Sniffer/IDS Kullanımında yaygın
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Sniffer Araçları • Farklı protokolleri izlemek ve hassas bilgileri ayıklamak amacıyla çeşitli sniffer yazılımları gelişArilmişAr.
• Açık kaynak kodlu araçlar – Tcpdump – Wireshark, Tshark – Ngrep – Dsniff (urlsnarf, mailsnarf,…..) – Snort – Xplico – Suricata
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
Ağ Üzerinden Saldırı TespiA için Snort Kullanımı
Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR Siber Güvenlik Konferansı ‘14 / Istanbul BGA (BİLGİ GÜVENLİĞİ AKADEMİSİ) |BGA.COM.TR
İleAşim Bilgileri
• www.lifeoverip.net • Blog.bga.com.tr Blog
• @bgasecurity • @huzeyfeonal Twiger
• [email protected] • [email protected] İleAşim