Anasayfa
» yeni nesil ddos saldırıları ve savunma
» Yeni Nesil DDoS Saldırıları ve Savunma Yöntemleri - I
Yeni Nesil DDoS Saldırıları ve Savunma Yöntemleri - I
Geçtiğimiz haftalarda Amerikan kongresi tarafından İnternet üzerinde korsan içerikle mücadele etmek için çıkarılmak istenen SOPA (Stop Online Piracy Act ) ve PIPA (Protect IP Act) yasa taslakları ile yasadışı materyaller bulunduran sitelere, sunuculara ve içerik sağlayıcılara erişim yasağı getirmeyi planlanıyordu. Bu yasayı protesto etmek üzere aralarında Wikipedia, Yahoo, Google gibi sitelerin bulunduğu binlerce site ana sayfasını kararttı ve bu yasa tasarasını protesto etti. [1]
Bu olaylar devam ederken en çok bilinen dosya paylaşım sitelerinden olan Megaupload’un kapatılıp, kurucularının tutuklanması ile [2] kendilerini Hacktivist* olarak tanımlayan Anonymous grubunun harekete geçmesine sebep oldu.
* Hacktivism hacking ve aktivizm kelimelerinden meydana gelen bir terimdir. Hacktivistler politik, sosyal konular için bilgisayar korsanlığını protesto amaçlı kullanmaktadırlar. Amaçlarını diğer insanlara bu şekilde duyurmaya çalışmaktadırlar.
Anonymous tarafından daha önceleri çeşitli nedenlerden Scientology’e, Wikileaks sitesine gelen mali yardımların kesilmesini sağlayan PAYPAL ve Mastercard’a ve Türkiye’deki BTK, TİB gibi birçok kuruma karşı DDoS atağı gerçekleştirmiş ve Anonymous üyelerinin de bu saldırılarda rol alabilmesi için LOIC adlı yazılımı geliştirmişlerdi. Bu yazılıım ağ stres testi aracı olarak kullanılabilmektedir. Fakat Anonymous bu aracı DDoS saldırıları gerçekleştirmek için kullanmaktadır. Low Orbit Ion Cannon yazılımını indiren Anonymous üyeleri belirlenen hedef adreslere DDoS saldırısı yapabilmektediler. Bu saldırılar LOIC ile HTTP GET, TCP ve UDP flood şeklinde gerçekleştiriliyor. UDP flood içinAnonymous grubu LOIC aracı ile yapılan saldırıların etkisin arttırmak ve daha fazla gönüllü üye ile saldırıyı gerçekleştirmek için bu aracı web üzerinden çalıştırabilecek hale getirdi. drive-by-download* saldırıları gibi herhangi bir web sitesine enjekte edilmiş bir kod ile ya da kullanıcıya içerisinde bu zararlı kodun olduğu bir siteye girdirmek sureti ile saldırı otomatik olarak başlayacak şekilde tasarlanmıştır. Kullanıcı herhangi bir siteden içerisinde LOIC javascript versiyonu enjekte edilmiş bir sitenin linkine tıkladığı andan itibaren DDoS saldırıları devam edecektir.
alert udp $EXTERNAL_NET any -> $HOME_NET any (msg:"SLR - LOIC DoS Tool (UDP Mode) - Behavior Rule (tracking/threshold)"; threshold: type threshold, track by_src, count 100 , seconds 5; reference: url,
www.simpleweb.org/reports/loic-report.pdf
; classtype:misc-activity; sid:1234590; rev:1;)
TCP flood için
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"LOIC DoS Tool v1.0.6.35 (TCP Mode) - Behavior Rule (tracking/threshold)"; flow: established,to_server; flags:S; seq:0; window:64240;threshold: type threshold, track by_src, count 400 , seconds 2; classtype:misc-attack;sid:1000006;rev:1;)
HTTP GET için
alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"LOIC DoS Tool v1.0.6.35 (HTTP Mode)"; flow: established,to_server; content:"|47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a 0d 0a 0d 0a|"; threshold: type threshold, track by_src, count 400 , seconds 2;classtype:misc-attack;sid:1000005; rev:1;)
Siteye giren kullanıcılar üst tarafta bulunan twitleri ya da yazılan mesajları okumaya başladığı andan itibaren alt tarafta bulunan JavaScript kod parçası belirlenen adreslere anlık olarak bağlantı kurmaya başlatmaktadır. Yapılan bu GET istekleri hedef olarak seçilen web sunucuyu cevap veremeyecek duruma sokmaktadır. Son kullanıcı hedef olarak belirtilen siteye girmeden herhangi bir etkileşime girmeden JS kodunda hedef olarak belirlenen sisteme DDoS atağı gerçekleşmektedir.Sitede o an kaç aktif kullanıcı var ise saldırının boyutu da lineer olarak artmaktadır.
var requestsHT = {}; // requests hash table, may come in handy later
var makeHttpRequest = function () {
…
var rID =Number(new Date());
var img = new Image();
…
img.setAttribute("src", targetURL + "?id=" + rID + "&msg=" + messageNode.value);
…
requestsHT[rID] = img;
…
}
fireButton.onclick = function () {Bu JavaScript kodunu incelediğimizde, sayfa açılır açılmaz atağın başlatılması için en altta FireIbero() fonksiyonu çağırılıyor. Bu fonksiyon ise JavaScript’in dahili fonksiyonlarından setInterval kullanarak makeHttpRequest fonksiyonu çağırılıyor.
if (isFiring) {
…
}
function FireIbero() {
…
}
…
document.getElementById("targetURL").value = "http://www.justice.gov";
FireIbero();
…
makeHttpRequest fonksiyonu ise,
var rID =Number(new Date());satırları aracılığı ile yeni bir Image() objesi oluşturup
var img = new Image();
requestsHT[rID] = img;satırı ile bu objeyi daha önceden oluşturulmuş olan requests Hash Table’ına ekliyor. Resim için GET isteği gönderildikten sonra isteğin başarılı veya başarısız olması durumlarında ekrandaki göstergeler arttırılıp, Hash Table’ından siliyor. Eğer silme işlemi yapılmazsa, bir müddet sonra tarayıcı çok fazla bellek tüketmeye başlayıp, yavaşlayacaktır. Bu da kullanıcılar için istenen bir şey değildir.
Saldırı sırasında hedef sistemin web sunucu kayıtları aşağıdaki gibidir.
aaa.bbb.ccc.ddd - - [26/Jan/2012:11:24:05 +0200] "GET /?id=1327572484770&msg=Somos%20legi%C3%B3n! HTTP/1.1" 200 69 "hxxp://www.example.com/d/2.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"
aaa.bbb.ccc.ddd - - [26/Jan/2012:11:24:05 +0200] "GET /?id=1327572484818&msg=Somos%20legi%C3%B3n! HTTP/1.1" 200 69 "hxxp://www.example.com/d/2.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"
aaa.bbb.ccc.ddd - - [26/Jan/2012:11:24:05 +0200] "GET /?id=1327572484720&msg=Somos%20legi%C3%B3n! HTTP/1.1" 200 69 "hxxp://www.example.com/d/2.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"
aaa.bbb.ccc.ddd - - [26/Jan/2012:11:24:05 +0200] "GET /?id=1327572484936&msg=Somos%20legi%C3%B3n! HTTP/1.1" 200 69 "hxxp://www.example.com/d/2.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"
Not:linklerin tıklanabilir olmasını engellemek için web sunucu kayıt dosyasında yer alan http ifadeleri hxxp olarak değiştirilmiştir.
Bu saldırı için hazırlanabilecek örnek Snort imzası aşağıdaki gibidir. Snort imzasının PCRE ile atak yakalanabilmektedir.alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"Attempted DoS using JS LOIC DoS Tool"; flow: established,to_server ; pcre:”/&id=\d{13}&msg=/Uis”; threshold: type threshold, track by_src, count 400 , seconds 5 ; classtype:misc-attack; sid:1000005; rev:1;)id alanındaki değer UNIX timestamp olarak atanmaktadır ve 13 karakter uzunluğundır. Bu rasgele bir değer oluşturmak için kullanılmaktadır.
msg alanında ki değer farklılık arz edebilir. Yapılan çeşitli saldırılarda kullanılan mesajlar aşağıdaki gibidir.
Kullanıcı eğer farkında olmadan bu saldırıya katılmış ise genellikle msg alanında herhangi bir değişiklik yapmayacaktır. Ama gönüllü olarak bu saldırıyı gerçekleştiriyor ise msg alanının değiştirip gönderebilir. Böyle bir durumda snort imzasını gelen ataklara göre güncellemek gerekir. Fakat bu değişiklik de atağı durdurmak için yeterli olamayabilir. Böyle bir durumda daha ayrıntılı ağ trafiği analizi ile IDS imzaları güncellenebilir. Hedef alınan servislere gelen istekler kısıtlanabilir. Örneğin belirli bir IP adresinden dakikada yapılacak HTTP GET isteklerini sınırlama gibi.msg=%C2%A1%C2%A1NO%20NOS%20GUSTA%20LA%20msg=:)msg=:Dmsg=Somos%20Legion!!!msg=Somos%20legi%C3%B3n!msg=Stop%20S.O.P.A%20:)%20%E2%99%AB%E2%99%AB HTTP/1.1" 200msg=We%20Are%20Legion!msg=ghmsg=open%20megauploadmsg=que%20sepan%20los%20nacidos%20y%20los%20que%20van%20a%20nacer %20que%20nacimos%20para%20vencer%20y%20no%20para%20ser%20vencidosmsg=stop%20SOPA!!msg=We%20are%20Anonymous.%20We%20are%20Legion.%20We%20do%20not %20forgive.%20We%20do%20not%20forget.%20Expect%20us!
Ayrıca son kullanıcıların bu saldırılara dahil olmalarını engellemek için internet tarayıcılarına NoScript benzeri tarayıcı eklentileri ile saldırıya istemsiz olarak katılımı engellenebilir. İstemci tarafında çalışacak güvenlik yazılımları ile kullanıcının erişim yapacağı sitelere olan istekler limitlenebilir.
Giderek daha karmaşıklaşan bu tür ataklara karşı hem kullanıcıların istemsiz olarak saldırıya katılımını engellemek, hem de kendi sunucularımızı bu tür saldırılardan korumak zorlaşmaktadır. Mümkün olduğu kadar ağ trafiği analiz edilmeli ve bu atağa uygun Güvenlik Duvarı kuralları ve Saldırı Tespit/Engelleme Sistemleri imzaları güncellenmelidir.Son kullanıcılar bu tür ataklara karşı bilgilendirilmelidir.
Referanslar
[1] http://news.blogs.cnn.com/2012/01/18/sopa-internet-blackout/[2] http://www.stopfraud.gov/opa/pr/2012/January/12-crm-074.html
[3] http://blog.spiderlabs.com/2011/01/loic-ddos-analysis-and-detection.html
Kategori:
ddos çözüm,
security,
yeni nesil ddos saldırıları ve savunma
0 yorum → "Yeni Nesil DDoS Saldırıları ve Savunma Yöntemleri - I"
Yorum Gönder