Değerli arkadaşlar, merhaba! Bu yazımızda sizlere, sıkça karıştırılan ve bazı yerlerde birbirinin yerine kullanılan iki kavramdan bahsedeceğiz: DoS ve DDoS.
Bloga başlamadan önce özellikle DDoS saldırısını anlamak adına 'Botnet' ve 'ping' isimli bloglarımızı okumanızı öneririz.
Bir makineyi veya ağı kapatarak hedeflenen kullanıcılar tarafından erişilmez hâle getirme amaçlı bir saldırıdır. DoS saldırıları, hedefi trafikle doldurarak yani sürekli bir istekte bulunarak veya bir çökmeyi tetikleyen bilgiler göndererek başarır. Her iki durumda da DoS saldırısı, meşru kullanıcıları (yani çalışanları, üyeleri veya hesap sahiplerini) bekledikleri hizmet veya kaynaktan mahrum bırakır.
Bir DoS saldırısında siber saldırganlar, sunucunun bant genişliğini aşmak adına hedef sunucuya hızlı ve sürekli istekler gönderir. Bunu yaparken genelde bir internet bağlantısı ve bir adet cihaz kullanılır. DoS saldırıları, tek bir kişi ve cihaz tarafından uygulanır. DoS saldırganları da, sistemdeki bir yazılım güvenlik açığından yararlanır ve sunucunun RAM veya CPU'sunu tüketmeye devam eder. Daha geniş bir anlatım ile DoS saldırıları; bilgisayar ağ teknolojilerindeki çeşitli zayıflıklardan yararlanır. Sunucuları, ağ yönlendiricilerini veya ağ iletişim bağlantılarını hedefleyebilirler. Bilgisayarların, yönlendiricilerin çökmesine ve bağlantıların tıkanmasına neden olabilirler.
Örneğin bir bankanın mobil uygulamasında 'Giriş Yap' butonu aynı anda 100.000 kişiyi taşıyor olsun. Eğer siz, bu istekleri aynı anda 150.000 defa yaparsanız aslında bir DoS veya DDoS saldırısı yapmış olursunuz (saldırının yöntemine bağlı) ve sistemi çökertmiş olursunuz. Bu sayede diğer kullanıcıların giriş yapmasını önlersiniz, bir tıkanıklık yaratırsınız ve saldırının uzunluğu veya büyüklüğü ile bağlantılı olarak bankaya ciddi bir para, prestij ve müşteri kaybı yaşatırsınız; elbette, bu en basit anlatımdı.
Yukarıdaki bilgiden sonra bu saldırının daha çok nerelerde ve hangi amaçlarla kullanıldığına dair fikriniz oluşmuştur. Bu saldırı daha çok bankalara, hastanelere, devlet yanlısı veya karşıtı web sitelerine, normal web sitelerine, çeşitli işletme veya kurum ve kuruluşlara yapılır. Bu saldırının amacı, sistemin kullanılabilirliğini yok etmek ve bunun sonucunda sistem sahibi kurum veya kuruluşu ciddi kayıplara uğratmaktır. Bir diğer amaç, şantajdır. Saldırgan, kurum veya kuruluşu bu saldırı ile tehdit ederek finansal taleplerde bulunabilir. Kısacası DoS, bir kaynağı (sunucu, site, uygulama vb.) kullanılamaz hâle getirmeye odaklanır.
Peki, yukarıdaki paragraftan ne anlayabiliriz? Bir DoS saldırısı; saatler, günler, haftalar hatta aylar alabilir. Bu, hedef sistemin donanımına daha doğrusu dayanıklılığına bağlıdır. Bununla beraber saldırganın da bant genişliği oldukça yüksek olmalıdır çünkü bu kadar isteği sıradan bir cihaz yapamaz; hedefin RAM ve CPU gücünü emerken aslında saldırganın kendisi de güç tüketir.
'ping' isimli blogumuzda, 'ping' komutunun ne işe yaradığından söz etmiştik ve sınırsız ping isteği atmamıza olanak tanıyan komutun 'ping /t <ip_adresi>' veya 'ping /t <domain_adresi>' olduğunu söylemiştik. Aşağıda bir örneğini görebilirsiniz.

Şimdi, aynı işlemi Linux üzerinden yapalım.

Yukarıda, Kali Linux üzerinden bir ping işlemi görüyorsunuz. Burada, Windows üzerinde olduğu gibi parametre vermenize gerek yoktur. Bu işlemi yaptıktan sonra kesilmesini isterseniz 'CTRL + C' kombinasyonunu kullanabilirsiniz. Peki, bunları söylememizdeki amaç nedir?
Deminden beri 'istek'lerden bahsettik. Peki, ping bir istek değil midir? Elbette. Yani ping atarak aslında bir DoS saldırısı yapabilirsiniz (ne kadar etkili olacağı tartışılır). Anlattıklarımızın teoride kalmaması ve aslında arka tarafta neler olduğunu görmeniz adına sizin için dün gece Python programlama dili ile DoS saldırı aracı hazırladım.
[*] Aşağıdaki program yalnızca eğitim amacıyla hazırlanmıştır. Programı yasa dışı bir faaliyet için kullanan şahısların bizimle bir ilgisi kesinlikle yoktur. Olası bir yasa dışı faaliyette site admini herhangi bir sorumluluk kabul etmeyecektir!

Python bilenler yukarıdaki kodu rahatça anlayacaktır ama yukarıda yazanları anlamanız için Python bilmenize gerek yoktur. Dikkat etmeniz gereken yerler, kırmızı kutu içerisine aldığım kısımlar ve yeşil yazılardır; zaten yeşil yazılar her şeyi açıklıyor. Fakat yeşil yazıları da anlamıyorsanız 'HTTP vs HTTPS' isimli blogumuzu mutlaka okuyun (üzerine tıklayarak erişebilirsiniz). Şimdi, isterseniz bunu çalıştıralım ve ne olacağına bakalım.

Yukarıdaki terminale bakın. Bu program 'python dos.py <IP_adresi> apache' komutu ile çalışıyor. Kırmızı ile kapattığım yerlerde IP adresi mevcut. Ne olup bittiğini görmeniz için programı çalıştırıp hemen durdurdum. Bu program, parametre olarak verilen IP adresine 'for' yapısına verdiğimiz değer kadar HTTP isteği (HTTP Request) yolluyor; ping'in otomatikleştirilmiş hâli gibi düşünebilirsiniz.
for yapısı:
for i in range (1, 100000):
Şimdi bu araç çalışırken ağı analiz edelim.

Bakın, yukarıdaki alan bomboş. Ben komutu henüz çalıştırmadım çünkü çalıştırmadan önce ve çalıştırdıktan sonra ağın durumunu görmenizi istiyorum. Şimdi programı çalıştıralım.

Şu an program çalışır durumda ve ağın durumunu görüyorsunuz. En soldaki sayılara bakın; program, 2000. paketi çoktan yollamış, 3000'e doğru gidiyor. 10.0.2.4 IP adresi, sanal makinemin IP adresidir. Siyah şerit ile kapattığım yer ise saldırdığım yerin IP adresidir. İşte, DoS saldırısı yukarıdaki gibi çalışıyor. Çok yorucu ve gereksiz gibi gelebilir ama birazdan göreceğiniz 'Ping of Death' saldırısında bunun neden tehlikeli olduğunu göreceksiniz.
[*] Yukarıdaki program yalnızca eğitim amacıyla hazırlanmıştır. Programı yasa dışı bir faaliyet için kullanan şahısların bizimle bir ilgisi kesinlikle yoktur. Olası bir yasa dışı faaliyette site admini herhangi bir sorumluluk kabul etmeyecektir!
Bir DoS saldırısının verdiği hizmet kaybındaki hasar, 'izin ver/reddet - allow/deny' kuralları olan bir güvenlik duvarı uygulanarak kısa sürede düzeltilebilir. Bir DoS saldırısında (yukarıda gördüğünüz gibi) yalnızca bir IP adresi olduğu için IP adresi, bir güvenlik duvarı kullanılarak kolayca tespit edilebilir ve daha fazla erişim isteği yollanması engellenebilir. Yani IP adresini engellersiniz ve olur, biter. Ancak, tespit edilmesi o kadar kolay olmayan bir tür DoS saldırısı vardır; DDoS.
'Dağıtık' kelimesine dikkat ederseniz aslında bu saldırının ne olduğunu kestirebilirsiniz. DDoS saldırısında dağıtık şekilde zombi cihazlar (Dünya'nın her yerinde olabilir) söz konusudur. İşte, biz de buna 'Botnet' diyoruz. Botnet blogunda söz ettiğimiz gibi bir 'bot-herder' vardır. Bu bot-herder, ağındaki zombi (bot) bilgisayarlara DDoS için emir verir ve arkasına yaslanır. Peki, buradan neyi anlamamız lazım? DoS saldırısı tek bir kişi tarafından yapılan istek ordusu olduğu için tespit edilip önlem alınması daha kolaydır; sonuçta tek bir IP adresinden bahsediyoruz. Fakat DDoS saldırısı, bir emir ile birden fazla cihaz tarafından yapılan istek ordusu olduğu için hem tespit edilmesi hem de önlenmesi çok daha zordur; burada da birden fazla IP adresinden söz ediyoruz. 'Birden fazla' dediğime bakmayın; 50, 100 tane cihazdan bahsetmiyoruz...
Botnet blogunda verdiğimiz görseli buraya da koymak istiyoruz.

Elbette bunlar, saldırganın veya saldırgan grubunun hayal gücüne kalmıştır. Bir askeri üsse DDoS saldırısı yapmanın ve bunun sonucunda askeri üs içerisindeki sistemlerin çalışamayacak duruma düşmesinin nelere yol açabileceğini hayal edin. Evet, o kadar tehlikelidir.
Hassas bilgileri çalmak için başlatılan çoğu siber saldırının aksine ilk DDoS saldırıları, web sitelerini kullanıcıları için erişilemez hâle getirmek için başlatılır. Ancak bazı DDoS saldırıları, diğer kötü niyetli eylemler için bir cephe görevi görür; nasıl yani? Sunucular, başarılı bir şekilde çöktüğünde suçlular, web sitelerinin güvenlik duvarlarını kaldırmak veya gelecekteki saldırı planları için güvenlik kodlarını zayıflatmak için perde arkasına geçebilir.
DDoS saldırıları genel olarak üç ana kategoriye ayrılır; aşağıda bunları göreceksiniz. Bunun yanında bu kategoriler içerisinde bazı çeşitler vardır. İlerleyen kısımlarda bu çeşitler hakkında da bilgi sahibi olacaksınız.
Şimdi, biraz derine inelim ve kategorileri bırakıp saldırı çeşitlerine bakalım.
ping' gelebilir; orada 'HTTP GET Request' yapmıştık ve analiz ettiğimizde normal bir DNS sorgusu gibi gözükmüştü. POST için ise aklınıza 'Giriş Yap' bölümü gelsin. Bu saldırıdaki amaç, sunucunun karşılayabileceği istek sayısının üzerinde bir istek yoğunluğu oluşturup sunucuyu etkisiz hâle getirmektir.'ping' gelsin. Zararsız bir araç gibi duran bu arkadaş aslında oldukça tehlikeli olabilir; aracını boşuna yazmadık.ping komutlarını kullanarak hatalı biçimlendirilmiş veya izin verilenden daha büyük boyutlu paketler göndererek hedeflenen bilgisayarı veya hizmeti çökertmeye, istikrarsızlaştırmaya veya dondurmaya çalışır. Bu saldırı, yamalanmamış (güncellenmemiş) sistemlerde oldukça tehlikelidir.Bir DoS saldırısını durdurmak kolaydır; artık biliyorsunuz. Fakat işletmenizi bir DDoS saldırısından nasıl koruyacaksınız?
Öncelikle aşağıda yazanları daha iyi anlamanız ve benimsemeniz için 'Risk Analizi ve Bilginin Sınıflandırılması' isimli blogumuzu okumanız lazım.
Bir 'DDoS müdahale planı' oluşturun. Sistem ne kadar büyükse DDoS müdahale planı o kadar karmaşık olacaktır; endişelenmeyin. Bu plan büyük ölçüde önemlidir çünkü bütün gücüyle gelen bir DDoS saldırısı söz konusu olduğunda uygun eylemi bulmak için zaman yoktur; saniyelerin bile değeri vardır. DDoS saldırısı gittikçe şiddetlenecektir. Bu nedenle yanıt veren eylemleri etkinleştirmek ve herhangi bir hasarı en aza indirmek hatta önlemek için eylem planlarını önceden tanımlamak ve tanımak çok önemlidir. Bu plan içerisinde bazı tanımlamalar ve yönlendirmeler yapmanız gerekir:
Kesinlikle ve kesinlikle; ağınızı iyi tanıyın. Ağ içerisindeki normal trafiği neredeyse ezberlemiş bir seviyede olun. Eğer ağınız ve ağınızın trafiği hakkında bilgi sahibi değilseniz bir DDoS saldırısını fark etmeniz muhtemel olmayacaktır. Fakat ağınızı iyi tanıyorsanız bir DDoS saldırısını erken fark edip ona göre önlemler alabilirsiniz (erken teşhis her zaman iyidir). Bunun için öncelikle ağınızın nasıl gözüktüğüne dair bir profil oluşturmanız yararınıza olacaktır. Özellikle gözünüz, 'HTTP 503 (Service Unavailable - Hizmet Kullanılamıyor)' mesajını arasın. Eğer bu bilgi varsa gerçekten şanslısınızdır çünkü bu, bir DDoS saldırısını erken keşfetmenin en tatlı yollarından biridir. Erken keşif için belli zaman aralıklarını kapsayan ağ trafiğinizin grafiklerini inceleyin (bunu sağlayan şirketler veya programlar var). Eğer grafikte saçma sapan bir anormallik varsa gerekli birimleri uyarın. Bununla beraber makine öğrenmesi çözümleri de şüpheli durumlarda, durumları tespit edebilmeniz konusunda size kolaylık sağlayacaktır.
Aşırı tedarik sağayın. Sitenizin çok ziyaret edilmeyeceğini ve bunun yüzünden bant genişliğini (beklediğiniz yük oranı - hız) düşük tutmayı düşünebilirsiniz ama bu ölümcül bir hatadır. Bütçenize göre mümkün olan en yüksek bant genişliğini almanız lazım ki bir saldırı esnasında henüz siz ne olduğunu bile anlamadan siteniz çabucak kapanmasın. Eğer aşırıya kaçarsanız yani mümkün olan en yüksek hizmeti alırsanız saldırı esnasında size birkaç değerli dakika kazandıracaktır. "Benimle uğraşmazlar!" demeyin; uğraşırlar.
Trafiğinizi bir 'kara deliğe' yönlendirin Literatürde 'BlackHole Routing' olarak geçen 'kara delik yönlendirmesi' mantığına değinelim. DDoS saldırısında iyi niyetli kullanıcılar ile kötü niyetli kullanıcıları yani saldırganları ayırt etmek müthiş derecede zordur. Zaten DDoS'a karşı koymak bu yüzden zordur. Blackhole mantığında; hem iyi hem de kötü trafiği bir kara delikten geçirirsiniz. Kara delikten geçen bu trafik, kara delik içerisinde kaybolur ve veri paketleri boşa çıkar. Bu metot sadece DDoS saldırısında değil, ağın bakıma ihtiyacı olduğunda da kullanılır.
Hız sınırlaması ekleyin. Tek başına kullanılması neredeyse hiçbir işinize yaramaz ama hız sınırlaması, alınan trafik oranının kontrol edilmesini içerdiği için diğer metotlarla birlikte kullanıldığında oldukça faydalıdır.
Kara liste kullanın. Tespit ettiğiniz saldırganların IP adreslerini kara listeye alın. Böylece saldırgan erişim istekleri direkt olarak engellenecektir.
Yayınlanma Tarihi: 2022-08-25 23:43:14
Son Düzenleme Tarihi: 2022-08-29 18:06:25