DDoS (Distributed Denial of Service) yani Dağıtık Hizmet Reddi Saldırısı olarak Türkçeleştirilen bir siber saldırı türüdür. Örneğin bir web sitesine, bir sunucuya farklı farklı yerlerden çok sayıda bilgisayarın aynı anda istek (request) yapması ile sunucunun cevap (response) veremeyecek hale gelmesine ve devre dışı kalmasına DDoS saldırısı denir.
Bu işlemde genelde aynı anda çok farklı IP’lerden dağıtık bir şekilde, belli bir hedefe paketler halinde veri veya istek gönderilir. Hedef web sitesinin barındığı sunucunun (server) normal şartlar altında aynı anda yapabileceği işlem sayısı ve kapasitesi bellidir. Bunun yanında sunucunun size tanımladığı bandwidth (trafik) oranında işlem yapılmasına izin verilir. Bu kapasitelerin aşılması sistemi felç edecek ve sunucunun down olmasına neden olacaktır.
DDoS saldırıları, metodları ve saldırı için kullanılan protokole göre çeşitli şekillerde gerçekleştirilmektedir. DDoS saldırıları internetin bazı protokollerinde (TCP/IP) veya sunucuların bazı özellikleri (Bandwidth) manipule edilerek gerçekleştirilir. DDoS saldırısını açıklayabilmek için öncelikle bazı tanımları açıklamak gerekir.
Botnet Ağı
Botnet ağı, hackerlar tarafından zararlı yazılım yardımı ile ele geçirilmiş bilgisayarlar tarafından oluşturulan zombi bilgisayar ağına denir. Hackerler çeşitli yazılımlar yardımıyla birer birer birçok bilgisayarı ele geçirirler ve bu bilgisayarları çeşitli amaçlarla (Kripto para madenciliği, siber saldırı vb.) tek tek veya aynı anda kullanırlar. Çoğu zaman anlaşılamayan bu durum sizi botnet ağının bir üyesi haline getirir. DDoS saldırıları da genelde bu Botnet Ağı bilgisayarlarından, yani farklı Ip adreslerinden aynı anda yapılmaktadır. Özetle Botnet ( Zombi Ağ) oluşturma amaçları genelde;
- Spam yaratma
- DDoS Saldırısı
- Bilgi çalma
- Kripto para madenciliği
- Google reklamlarından para kazanma
- Google’da öne çıkma veya bir firmayı aşağı çekme
gibi amaçlarla yapılabilmektedir.
Bir Botnet ağına dahil olmak istemiyorsanız bir antivirüs programı kullanmalı, güvenli olmayan kaynaklardan dosya veya program indirmemelisiniz.
Bandwidth (Bant Genişliği)
Bir sunucudan aynı anda girip çıkabilecek veri akışı sınırlıdır ve bu sınır bazı durumlarda özel olarak genişletilebilir. Yani sunucunun saniye başına aktarabileceği maksimum veri miktarı o sunucunun bandwidth değeridir.
Örneğin bir haber sitesine aynı anda çok sayıda kişi ulaşmaya çalışırken, sunucunun bant genişliğinin kapasitesi kadar veri akışı olduğu müddetçe site ulaşılabilir haldedir. Daha fazla talep gelmeye başlarsa sunucu yanıt süreleri uzar ve sonrasında tamamen yanıtsız kalır.
TCP/IP
İnternet ağı çeşitli katmanlara ayrılmıştır ve internet ağı üzerinden gerçekleşen iletişim için oluşturulmuş bazı protokoller vardır. TCP/IP sistemi içinde bulunan bağlantı protokolleri çeşitli amaçlarla kullanılır. Bir bilgisayarın diğer bir bilgisayara bağlantı yapması, internet üzerinden veri akışı bu karmaşık bağlantı protokolleri üzerinden bu 4 katmanda gerçekleşir.
Application Layer (Uygulama Katmanı)
Bu katmanda veriyi göndermeye çalışan uygulama ve dosya biçimine göre farklı protokoller kullanılır. HTTP (Hyper Text Transfer Protocol) , SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), Telnet vs bu katmanda kullanılan protokollerdir. Her protokol taşıma katmanıyla bazı portlar (HTTP: 80 nolu port, FTP 21 nolu port vs.) yardımıyla bağlantı kurar.
Transport Layer (Taşıma Katmanı)
Taşıma katmanı verinin taşınmasını ve ilgili tarafa aktarılmasını sağlar. TCP (Transmission Control Protocol) ve UDP (User Datagram Protocol) bu katmandaki iki çeşit veri aktarım protokolüdür.
TCP veri aktarım protokolünde iki bilgisayar arasında Three-Way Handshake (üç yönlü el sıkışma) olmadan bağlantı oluşmaz.
Örneğin bir web sitesine bağlanmak istiyoruz diyelim,
- Bilgisayarımız o web sitesinin sunucuya SYN bayraklı bir paket yollar
- Sunucu bu SYN bayrağına, SYN ve ACK bayraklı paket ile cevap verir
- Bilgisayarımız da bu mesaja kendi ACK bayraklı paket yollar
bu aşamada bağlantı gerçekleşmiştir, veri alışverişine hazır hale geliriz ve web sitesinin görüntülenmesi başlatılır.
Bu bağlantının sonlanması da benzer başka bir işlem adımlarını gerektirir.
- Bilgisayarımız FIN bayraklı paketi sunucuya yollar
- Sunucu FIN ve ACK bayraklı paketle cevap verir
- Bilgisayar da ACK paketiyle işleme devam eder
ve bağlantı sonlanır.
Bu veri aktarım protokolünde HTTP, HTTPS, POP3, SMTP, FTP bağlantı protokolleri kullanmaktadır.
UDP protokolünde ise verinin iletilip iletilmediği kontrol edilmez. Çok daha hızlı veri aktarımı gerçekleştirilen bir protokoldür ve TFTP (Trivial File Transfer Protocol) ile SNMP (Simple Network Management Protocol) protokolleri UDP yoluyla çalışmaktadır. Üçlü handshake oluşturmadığı için daha hızlıdır ancak güvenilir bir veri aktarım protokolü değildir.
Internet Layer (İnternet Katmanı)
Bu katmanda IP adresleri yoluyla bağlantı yapan bilgisayarlar tanımlanır veriye eklenirler. İnternette veriler belirli büyüklükteki paketler halinde aktarılmaktadır. Paketler bu katmanda oluşturulur ve bu paketlerin maksimum boyutu 65.535 byte olmaktadır. IP (Internet Protocol), ICMP (Internet Control Message Protocol), ARP (Address Resolution Protocol), IGMP gibi protokoller bu katmanda çalışmaktadır.
Network Interface Layer (Ağ Arayüz Katmanı)
Ethernet bağlantı protokolleri ile verilerin fiziksel olarak ağdan aktarılmasını sağlayan katmandır. MAC (Media Access Control), LLC (Logical Link Control) ve Fiziksel bağlantı gibi katmanlar ile veriler elektriksel sinyallere dönüşürler.
DDoS Saldırı Çeşitleri
Şimdi bu saldırı türünün çeşitlerini başlıklar üzerinden değerlendirelim isterseniz.
Volume Based (Hacim Bazlı) DDoS Saldırısı
Hacim bazlı DDoS saldırılarında hedef sunucunun bandwidth kapasitesi olur. Bu saldırı türünde hedef sunucuya kapasitesinin üstünde veri paketleri yollanır ve sistemin kapasitesinin aşımı nedeniyle yanıt verememesi ile down olması hedeflenir. Genelde bu DDoS saldırısı UDP, SYN paketlerinin manipülasyonu yoluyla gerçekleştirilir.
Protocol Based (Protokol Bazlı) DDoS Saldırısı
Adı üstünde TCP/IP ve OSI internet protokollerinin açıkları üzerinden işlev gören DDoS saldırı modeline protokol bazlı DDoS saldırısı denir.
Flood DDoS Saldırısı
Ping Flood DDoS Saldırısı
Çok sayıda bilgisayar bir IP adresine ping atar. Bu işlemler o kadar çok sayıdadır ki ping işlemiyle gönderilen paketlere sununun cevap vermesini imkansız hale gelir ve işlem yapmasını engeller. ICMP protokolü üzerinden yapılan bu saldırı hayati önemi olmayan bu servis kapatılarak kolayca engellenebilir.
SYN Flood DDoS Saldırısı
Bu DDoS saldırısı modelinde sunucuya çok sayıda farklı ip adresinden SYN bayraklı paket gönderilir ve sunucunun kapasitesi üstünde gelen bu paketlere yanıt vermesi imkansızlaşır. Bir işletim sisteminde alınan her SYN paketi ile Three-way Handshake gerçekleşene kadar bir veri kapasitesi ayrılmaktadır. Üçlü el sıkışma gerçekleşmemiş her SYN bayraklı paket, backlog queue denen bir log kuyruğu oluşturur.
Bu kuyruğun uzunluğu işletim sisteminin kapasitesiyle doğru orantılı olacaktır. İşlem kuyruğu sistemin kapasitesinin üzerine gelince başka SYN paketi alınmaz hale gelir ve hiçbir kimse tarafından bağlantı gerçekleştirilemez.
TCP/IP internet modelinin manipülasyonu yoluyla yapılan bu saldırı en çok karşılaşılan saldırı tipidir.
UDP Flood DDoS Saldırısı
UDP paketleri kullanılarak gerçekleşen bu saldırıda ise UDP portların kapanması hedeflenir. Kapanan UDP portu nedeniyle hizmet engellenmiş olur.
Application Layer (Aplikasyon Katmanı) DDoS Saldırısı
HTTP protokolü kullanılarak gerçekleşen bu DDoS saldırısı modelinde GET POST işlemleri üzerinden işlem yapılır. Nispeten daha basit ve zararsız saldırı türüdür.
Neden DDoS Saldırısı Yapılır?
Bilgisayar korsanlarının büyük bir çoğunluğu, internet sisteminde baskın olma duygusu ile ekonomik ve siyasi çıkarlar nedeniyle eylemde bulunurlar. Tecrübesiz olanlar ise sadece yeteneklerini test etmek için veya sebepsiz yere saldırıda bulunabilir.
DDoS saldırısının etkisi, sistemin çalışmasını durdurma yönünde olduğu için asıl amacı zarar vermektir.
Siyasi amaçla yapılan DDoS saldırıları ülkeler arasındaki gerginlikler arttığı zaman meydana gelir. Genelde ülkeler arasında ulusal ve milli çıkarların çatıştığı zamanlarda gerçekleşirler. Ülkenin bankacılık sistemi, dijital devlet işlemlerinin yürütüldüğü web tabanlı sistemler ilk hedef alınan yerler olmaktadır.
Diğer DDoS saldırıları ise genelde ticari amaçla yapılır. Çok fazla reklam geliri elde eden bir web sitesine yapılan saldırı sonucunda sunucunun kapanıp tekrar açılmasına kadar geçen sürede kaybedeceği tıklama başına reklam geliri çok fazla olacaktır.
Yine benzer şekilde bir kripto para borsası böyle bir saldırıya maruz kaldığı zaman, yayının kesildiği süre boyunca yapılamayan işlemlerden dolayı hem kullanıcılar hem de borsa işletenler zarar görecektir.
DDoS Saldırılarından Korunmanın Yolları
DDoS saldırısından tamamen kurtulmak mümkün olmamakla beraber bazı önlemler ile büyük oranda korunmak mümkündür. Apache Web Server’lar yapısı ve kapasitesi gereği Litespeed Web Server’ a nazaran daha kolay manipüle edilebilir. Bu sebeple Web Server’ın banner bilgisinin kapatılması hangi web serverı kullanıldığının anlaşılmasını da engeller.
Bunun yanında CloudFlare gibi sunucu sistemi kullanmak da yine DDoS saldırılarına karşı daha fazla güvende olunması anlamına gelmektedir. Yapısı gereği bulut sistemlerin kaynak tüketimi daha zor olacaktır.
Hosting hizmetini aldığınız firmanın bu hizmetleri sunduğundan emin olun. SYN Flood DDoS saldırısında en sık kullanılan korunma yöntemleri;
- SYN Cookie
- SYN Cache
- SYN Proxy
SYN Cookie’de, backlog queue oluşturmamak için her SYN paketi için bir kaynak ayrılmaz bağlantı gerçekleşene kadar sistem kaynağı ayrılmadığı için kaynağın doyurulması mümkün olmaz. Ancak bu yöntem sistemin çalışmasında genel başka sorunlara yol açabilir. Ayrıca sunucunun CPU kullanımını arttırır.
SYN Cache ise SYN paketleri için ayrılan sistem kaynak boyutunu azaltır ve belirli bir kapasitenin üstüne çıkarsa SYN Cookie’yi tetikler.
SYN Proxy, adından da anlaşılacağı üzere, bir proxy sistemi kurularak gerçekleşir. Proxy sunucusu bağlantıları süzer ve üçlü el sıkışma gerçekleşmeyen bağlantıları asıl sunucuya iletmez. Böylece bağlantılar daha sağlıklı bir şekilde gerçekleşir.
Ayrıca sunucularda daha komplike firewall (güvenlik duvarı) sistemleri kurulmuş olabilir. Ancak DDoS u tamamen engellemek neredeyse mümkün değildir.