spacer.png, 0 kB
Bilgi için: bilgi at bilgiguvenligi gov tr   

 

spacer.png, 0 kB
spacer.png, 0 kB
HTTP DoS Saldırılarına Karşı Saldırı Yüzeyini Web Uygulaması Seviyesinde Azaltma Örnekleri Yazdır E-posta
Gökhan Muharremoğlu, PwC   
15.07.2013

Web uygulamalarının HTTP DoS/Flood saldırıları altında saldırı yüzeyini azaltabilecek şekilde tasarlanması için gerekli bilgileri içeren makalelere referanslar bölümünden ulaşılabilir. Bu yazıda senaryolar bazında yapılacak HTTP DoS saldırına karşı alınabilecek önlemlerden örnekler verilecektir. Bu örneklerden önce referanslarda verilen ilk iki makalenin okunması tavsiye edilir.

1. İstek Sayısı Limitleme (Temel Yaklaşım)  

Temel yaklaşım, belirli bir süre zarfında yapılabilecek en fazla istek (GET, POST, vb.) sayısını tespit etmek, bu kuralı ihlal eden bir IP adresini saptamak ve  önceden belirlenmiş aksiyonu uygulamaktır. Bu aksiyon tespit edilen IP adresinin yeni isteklerine belirli bir süre boyunca cevap vermemek veya Web uygulamasına ait sayfaların sadece bir kısmını cevap olarak döndürmek olabilir.

İstek sayılarının limitlenmesi aşamasındaki en önemli nokta, isteğin karakterini tespit etmeye yarayan kuralı doğru tanımlamaktır. 10 saniyelik bir süre zarfında 100 istek gönderen bir IP adresinin (A) karakteristiği ile 1 saniyelik süre zarfında 10 istek gönderen bir IP adresinin (B) karakteristiği farklıdır. Her ne kadar oran bazında bakıldığında saniyede 10 istek ile aynı gibi gözüken bu iki kuraldan ilki, ikincisine oranla daha toleranslıdır.   

2_copy_copy_copy.png

                                                                Şekil 1 (A) ve (B) HTTP İsteklerinin Kıyaslanması

Kural ihlalinin tespit edildiği durumda gerekli aksiyon alınır. Bu aksiyon genellikle ya istek yapan IP adresinin engellenmesidir ya da saldırı yüzeyini azaltmak ve Web servisi ile Web uygulamasına bağlı diğer sistemlerin kaynaklarını korumak için boş sayfa benzeri bir cevapla isteğe geri dönüş yapmaktır. Düşük kaynak tüketen cevapla geri dönüldüğünde bu cevabın askıda kalma süresi önem arz eder. Kuralı ihlal eden IP adresine 10 saniye süre boyunca boş bir sayfa, uyarı mesajı veya CAPTCHA gösterilebilir.

a. Düşük Kaynaklı Cevap Süresini Belirleme
Bu aşamada askıdaki 10 saniyelik zaman diliminde gönderilen cevabın yeni isteklere açık olması sağlanabilir. 10 saniyelik süre zarfında istek yapmaya devam eden IP adresi 10 saniyelik süre sonunda sayfanın tam sürümünü görüntüleme hakkını yine de elde eder. Bu hak, kuralı tekrar ihlal edene kadar güncelliğini korur. Diğer bir yaklaşım ise, 10 saniyelik süre zarfında istek gelmeye devam ederse, her gelen yeni istek için kuralın ihlal edildiğini varsayarak 10 saniyelik zaman dilimini başa almaktır. Böylece sayfanın tam sürümünü görüntülemek isteyen IP adresinin 10 saniye boyunca hiçbir istek göndermemiş olması gerekmektedir. 10 saniyelik süreyi beklemek istemeyenler için CAPTCHA sorulabilir.

b. Kural İhlali Yapan IP Adresine Her Zaman CAPTCHA Sorulması

IP adresinin bir kere kuralı ihlal etmiş olması nedeniyle bu IP adresi ona düşük kaynaklı sayfa gösterilmesinin yanı sıra başka bir listeye de alınabilir. Bu listede bulunan bütün IP adreslerine Web sayfasını görüntülemek için bir CAPTCHA sorulur ve sadece bu CAPTCHA’yı çözen IP adresine belirli bir süre sayfayı görüntüleme izni verilir. Ancak bu izin, HTTP Session aracılığı ile tanımlanan bir Token değeri ile gerçekleştirilir. İznin verildiği süre zarfında kural ihlali gerçekleştiren IP adresi yine düşük kaynaklı cevap gönderilen sayfayla ve CAPTCHA ile karşılaşır.

1_copy_copy.png

                                                                Şekil 2 HTTP İsteğinin Geçtiği Ağ Öğeleri

Gönderilen düşük kaynaklı isteklerle Web uygulamasına bağlı kaynakların kullanımı da azaltılmış olur. Böylece, önündeki güvenlik sistemlerini aşan bir HTTP DoS saldırısı Web uygulaması seviyesinde bir saldırı yüzeyi azaltılması girişimi ile karşı karşıya kalır.

4_copy_copy_copy.png

                                             Şekil 3 HTTP İsteği ve Web Uygulaması Arkasındaki Teknolojiler

2. Implicit Deny ve Token Access Yaklaşımı (Varsayılan Olarak Kuralı İhlal Edildi Saymak)

Bu yaklaşımda hali hazırda gelen her isteğin bir DDoS saldırısı altındaymış gibi kötü amaçlı olduğu varsayılır. Bu durumda içinde CAPTCHA sorulan bir sayfa gösterilir. CAPTCHA’yı çözen kullanıcılara belirli bir süreliğine sayfayı görüntüleme fırsatı verilir. Bu süre zarfında kural ihlali yaşanırsa bu IP adresi kara listeye alınır ve CAPTCHA sayfasına geri döndürülür.

Aynı zamanda bu ekranda dahi kural ihlali yaptığı tespit edilen IP adresleri işletim sistemi üzerinde bulunan bir Host-Firewall veya ağ katmanında bulunan bir Stateless/Statefull Firewall aracılığı ile engellenebilir. Böylece düşük kaynaklı sayfa ile cevap döndürülürken aynı zamanda da kural ihlal eden IP adresleri tespit edilmiş olur.

3_copy_copy.png

                                                                Şekil 4 Anomali Tespitinin Yapılması

Web uygulaması tabanlı bu çözüm ile saldırı esnasında tüketilen kaynak (SQL sorgusu, CPU, vs.) miktarı azaltılabilir, saldırgan IP adresleri tespit edilebilir ve/veya otomatik olarak başka bir sistem aracılığı ile (Htaccess, Iptables veya bir Stateless/Stateful Firewall ile) bu adresler engellenebilir. Web uygulamasının diğer katmanlardaki güvenlik cihazları ile konuşuyor olması, HTTP Flood saldırıları için Web uygulamasını barındıran sistemin de ek bir güvenlik önlemiyle daha korunması sonucunu doğuracaktır.

Referanslar

[1]-HTTP Flood Saldırılarına Karşı Web Uygulaması Seviyesinde Yaklaşımlar - http://www.bilgiguvenligi.gov.tr/web-guvenligi/http-flood-saldirilarina-karsi-web-uygulamasi-seviyesinde-yaklasimlar.html

[2]-Web Application Level Approach against the HTTP Flood Attacks - http://goo.gl/VC9B6

[3]-HTTP Anti Flood Security Gateway Module - https://sourceforge.net/projects/iosec/

[4]-IOSEC.ORG-http://www.iosec.org

[5]-SANS-http://www.sans.org/reading_room/whitepapers/detection/denial-service-attacks-mitigation-techniques-real-time-implementation-detailed-analysi_33764

[6]-Applicure-http://www.applicure.com/solutions/prevent-denial-of-service-attacks

[7]-Proof of Concept Video-http://www.youtube.com/watch?v=LzLY_SKLq9w


Favori olarak ekle (0) | Görüntüleme sayısı: 4923

Bu yazıya ilk yorumu yazın

Sadece kayıtlı kullanıcılar yorum yazabilir.
Lütfen sisteme giriş yapın veya kayıt olun.

 
spacer.png, 0 kB
spacer.png, 0 kB
Copyright 2017 TÜBİTAK-BİLGEM. Sitenin teknik altyapısında Joomla kullanılmıştır. Yazar ve site referans gösterilmeden alıntı yapılamaz. Görüşleriniz
spacer.png, 0 kB