DDoS nedir ve nasıl yapılır?
Bu flood’da web uygulamalarına yapılan DDoS - Distributed Denial of Service
ataklarından ve bu atakları yapma yöntemlerinin bazılarından bahsedeceğim.
Bir önceki Firewall
flood'unda, Firewall
'lar ile ağımızda bulunan sunucuları dış dünyadan gelen istenmeyen trafiklerden koruyabileceğimizi anlatmıştık. https://medium.com/@gokhansengun/55c56eed4ffa
Dış dünyadan kabul etmek istediğimiz (örn 443 HTTPS) dolayısıyla Firewall
'dan geçmesine izin verdiğimiz trafik çeşidi kötü niyetli kişiler tarafından sunucularımızın karşılayamayacağı kadar yüksek hacimde oluşturularak verdiğimiz hizmet kesintiye uğratılmak istenebilir.
Örnek olarak internete yükleme hızı 500 Mbps olan bir veri merkezinden bir web uygulaması ile hizmet verildiğini düşünelim. Kötü amaçla organize edilen botlar uygulamaya saniyede 500 Mb trafik oluşturursa uygulamanın hizmet vermesini engellerler. Kullanıcıların hizmet alması engellendiği için bu atağa DoS - Denial of Service
adı verilir. 500 Mbps sadece bir veri merkezi veya bir ülkeden oluşturulursa veri merkezi sağlayıcının Firewall
'larından ilgili IP veya IP bloklarından gelen trafik filtrelenerek atak kolaylıkla bertaraf edilir.
Atağın etkisini artırmak ve sürekliliğini sağlamak için bu tip ataklar genellikle birçok ülkeden ve sayısız IP’den birden yapılır, ilgili IP’leri normal trafikten ayırmak mümkün olmaz. Bu tip DoS
ataklarına DDoS
yani Distributed DoS
denir.
En etkili DDoS
ataklar, mobil telefon, bilgisayar veya IoT cihazlarına bulaşan ve bu cihazların kontrolünü onlara yerleştirdikleri malware
'ler ile sağlayan Botnet
'ler tarafından yapılmaktadır. Malware
bulaşan ve atakta kullanılan cihaz Zombie
olarak adlandırılmaktadır.
Kötü amaçlı kişiler Zombie
'leştirdikleri cihazlardan oluşan Botnet
leri istedikleri zaman uzaktan kontrol ederek DDoS
saldırısı yapabilirler hatta bu mekanizma bu kişiler tarafından ücret karşılığı hizmet olarak da sunulmaktadır.
2015'te GitHub
'a yapılan ve 5 gün süren DDoS saldırısında bir ülke, dünyadan ülkesinde sunulan sayfalara gelen web sayfası isteklerinin belirli bir yüzdesine ekstra bir JavaScript kodu enjekte ederek kullanıcı tarayıcısının Github
'dan birkaç sayfa çağırmasını sağlamıştı.
GitHub
tarafından bakıldığında istekler belirli bir ülke yerine bütün dünyadan geldiği için bu DDoS
atakla mücadele pek mümkün olmamıştır. İlgili ülkenin sayfalara JS enjekte edebilmesi trafiğin HTTP
olması ile mümkün olmuştur, HTTPS
ile bu işlem mümkün olmayacaktır.
2016'nın sonlarına doğru Dyn
adlı DNS
sağlayıcısına Zombie
IoT cihazları ile yapılan DDoS
saldırısı DNS
sunucuları uzun saatler boyunca devre dışı bırakmış, bu nedenle Dyn
'den DNS
hizmeti alan Twitter
, Spotify
, Reddit
gibi uygulamaları etkilemişti.
Görüleceği üzere başarılı DDoS
saldırıları yukarıda verilen örneklerdeki gibi finansmanı DDoS
'u asıl yapan kişi yerine DDoS
yapıldığından haberi olmayan gerçek kullanıcılar tarafından yapılan saldırılardır.
Son olarak gerçek kullanıcıların kullanıldığı bir Botnet
yerine saldırı için finanse edilen sunucuların kullanıldığı DDoS
saldırıları, saldırıyı sürdürmenin yüksek maliyeti nedeniyle kısa süreli olacak ve yaratacağı etki düşük olacaktır.
DDoS
saldırılarını hafifletme, önleme ve genel olarak bot
'larla mücadele yöntemlerine sonraki flood'larda yer vereceğiz.
Dünya üzerindeki anlık DDoS
ataklarını takip etmek için http://map.norsecorp.com'daki uygulamaya bakılabilir.