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 Botnetleri 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.