Hoşgeldin Misafir

#STHM-Web DDoS Saldırılarını Tespit Etme

CW-ommah

17 Ocak 2022
905 Mesaj
TIM Görevleri
1

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Allah’ın Rahmeti Ve Bereketi Üzerinize Olsun
Selamun aleyküm dostlarım. Bu makalemizde beraber Allah’ın izniyle DoS ve DDoS saldırılarının uygulama katmanını nasıl hedef aldığını, bu saldırıların arkasındaki teknikleri ve bir savunmacı olarak bu yaygın tehditleri nasıl tespit edip azaltabileceğinizi inceleyeceğiz Cenab-ı Allah’ın izniyle.

DoS ve DDoS Atak
Özünde, Hizmet Reddi (DoS) saldırıları bir web sitesini veya uygulamayı insanların kullanamayacağı şekilde aşırı yüklemeyi amaçlar. Bu gerçekleştiğinde, müşteriler giriş yapamaz, alışveriş yapamaz veya hizmetlere erişemez; işletmeler ise hem para hem de güven kaybeder.
Hiç favori web sitenizi(TurkHacks) ziyaret etmeye çalıştığınızda sayfanın sürekli yüklendiğini ya da sizi tekrar tekrar CAPTCHA doğrulamalarına zorladığını gördünüz mü? Böyle bir durumda site, saldırganların aşırı trafik göndererek sistemi zorladığı ve savunmacıların hizmet sürekliliğini korumak için mücadele ettiği bir hizmet reddi saldırısıyla karşı karşıya kalıyor olabilir.
DoS saldırıları bir sistemin farklı katmanlarına yönelik olarak gerçekleştirilebilir. Ancak bu bölümde, web siteleri ve web uygulamalarının sıklıkla hedef alındığı OSI modelinin uygulama katmanına (Katman 7) odaklanacağız.

1776208297536.png
Hizmet Reddi (DoS)
Herhangi bir DoS saldırısı, ölçeği küçük ya da büyük olsun, bir web hizmetinin amaçlandığı şekilde çalışmasını engelliyorsa başarılı kabul edilir. Şimdi, basit ve hedefe yönelik bir saldırının bile bir web sitesini nasıl kullanılamaz hale getirebileceğine bakalım.
Popüler bir bisiklet parçası satan e-ticaret siteniz olduğunu ve bu sitede bir arama formu bulunduğunu hayal edin. Bu form, kullanıcıdan alınan girdiyi veritabanında sorgular ve eşleşen sonuçları döndürür. Eğer uygulama, bu girdiyi doğru şekilde doğrulamaz veya işlemezse, bir saldırgan beklenmeyen ya da hatalı biçimlendirilmiş veriler göndererek uygulamanın isteği işlerken takılmasına veya çökmesine neden olabilir. Bu şekilde, basit bir arama kutusu bile bir hizmet reddi saldırısı başlatmak için kötüye kullanılabilir. Ayrıca bir saldırgan, aynı arama formunu çok sayıda istekle ya da tek bir çok büyük istekle doldurarak, form uygun şekilde filtreleme veya doğrulama yapmıyorsa bir DoS kesintisine yol açabilir.

Dağıtık Hizmet Reddi (DDoS)

1776208422796.png
Basit bir DoS saldırısının sınırlaması, tek bir makineye ve tek bir internet bağlantısına dayanmasıdır. Bir bilgisayar çok sayıda istek oluşturabilse de, etkisi işlemci (CPU), bellek, bant genişliği ve ağ kapasitesi ile sınırlıdır.
Bu etkiyi büyütmek için saldırganlar Dağıtık Hizmet Reddi (DDoS) saldırılarına yönelir ve kendi kontrolleri altındaki ele geçirilmiş cihazlardan oluşan bir ordu olan botnet’leri kullanır. Bu bilgisayarlar, IoT cihazları ve hatta sunucular genellikle zararlı yazılımlarla enfekte edilir ve saldırgan tarafından gizlice kontrol edilir. Komut verildiğinde, bu botlar hedef web sitesine veya web uygulamasına yoğun trafik göndererek, tek bir makinenin yapabileceğinden çok daha etkili bir şekilde sistemi aşırı yükler.
Şimdi bisiklet parçası satan web sitenizi düşünün. Günlük olarak düzenli bir trafiği karşılayacak şekilde popülerdir, ancak kısa sürede milyonlarca isteği kaldıracak şekilde tasarlanmamıştır. Bir saldırgan botnet’ine sitenize akın etmesi talimatını verir ve aniden gelen bu yoğun trafik, kaynaklarınızı hızla tüketerek web sitesinin çökmesine neden olur.

Hizmet Reddi (DoS) Saldırı Türleri
Şimdi çeşitli hizmet reddi saldırı türlerini inceleyelim. Bu saldırılar tek bir saldırgan tarafından (DoS) gerçekleştirilebileceği gibi, bir botnet ağına dağıtılarak (DDoS) da gerçekleştirilebilir.

DoS Saldırı TürüAçıklama
SlowlorisSunucu kaynaklarını meşgul etmek için çok sayıda kısmi HTTP isteği gönderme
HTTP FloodSunucuyu aşırı yüklemek için çok sayıda HTTP isteği gönderme
Cache BypassCDN uç sunucularını atlayarak ana sunucunun yanıt vermesini zorlamak
Oversized QuerySunucuyu büyük ve kaynak yoğun istekleri işlemeye zorlamak
Login/Form AbuseGiriş denemeleri veya parola sıfırlamalarıyla kimlik doğrulama mantığını aşırı yüklemek
Faulty Input Validation AbuseKötü tasarlanmış girdi işleme mekanizmalarını istismar etmek


Saldırı Motivasyonları
1776208639326.png
Artık saldırganların DoS ve DDoS saldırılarını nasıl gerçekleştirdiğini öğrendiğinize göre, şimdi bunu neden yaptıklarına bakalım. İlk bakışta kısa süreli bir web hizmeti kesintisi önemsiz görünebilir, ancak sürekli erişilebilirliğe bağımlı olan kuruluşlar için sonuçlar ciddi olabilir; gelir kaybına, kullanıcıların hayal kırıklığına uğramasına ve itibar zedelenmesine yol açabilir.

Olası Saldırı Motivasyonları

MotivAçıklamaÖrnek Senaryo
Finansal KayıpSatışları ve geliri durdurmak veya azaltmak için hizmetleri kesintiye uğratmakYoğun tatil sezonu satışları sırasında bir e-ticaret sitesini aşırı trafikle doldurmak
ŞantajDevam eden bir saldırıyı durdurmak için ödeme talep etmekBir bankayı fidye DDoS saldırısıyla tehdit etmek
HacktivizmSosyal veya politik protesto amacıyla kesinti oluşturmakSeçim döneminde devlet web sitelerine saldırmak
Dikkat DağıtmaBaşka saldırılar gerçekleşirken savunmacıların dikkatini başka yöne çekmekDiğer altyapılara saldırırken aynı anda DDoS başlatmak
RekabetRakibin hizmetini kesintiye uğratarak maliyetlerini artırmak veya pazar payı kazanmakBir rakibin ürün lansmanı sırasında DDoS saldırısı yapmak
Cüzdan Boşaltma (Denial of Wallet)Kurbanın servis kullanım maliyetlerini artırmaya zorlamakSaldırganların AWS S3 verilerine sürekli erişerek her istek başına maliyet oluşturması
İtibar ZedelenmesiMüşterilerin bir şirkete olan güvenini azaltmakOyun sunucularının lansman gününde çökmesi

Not: Bu, saldırgan motivasyonlarının kapsamlı (tümünü içeren) bir listesi değildir. Saldırganlar, sahip oldukları kaynaklara ve hedefe bağlı olarak birden fazla amacı birleştirebilir veya farklı hedefler de güdebilir.

Gerçek Dünyadan Örnekler

  1. 2015 Yılbaşı Gecesi’nde, BBC bir DDoS saldırısının hedefi oldu ve web sitesi çevrimdışı kaldı. Siteyi ziyaret eden kullanıcılar, isteklerinin zaman aşımına uğraması veya “iç sunucu hatası” mesajlarıyla karşılaşmaları nedeniyle birkaç saat boyunca makalelere erişemedi. Saldırının sorumluluğunu üstlenen grup New World Hacking, bu DDoS saldırısını yalnızca yeteneklerini test etmek amacıyla gerçekleştirdiklerini belirtti.
  2. -------------------------------------------------------------------------------------------------------------------------------
  3. 2023 yılında Microsoft, Azure, OneDrive ve Outlook hizmetlerinde kesintilere yol açan büyük ölçekli bir katman 7 DDoS saldırısı yaşadı. Saldırının sorumluluğunu hacktivist grup Anonymous Sudan üstlendi. Saldırganlar, web sunucularını aşırı yüklemek için HTTP flood ve Slowloris gibi teknikler kullandı ve bu durum dünya genelindeki Microsoft müşterileri için ciddi kesintilere neden oldu.

Log Analizi
Web sunucu logları, hizmet reddi saldırılarını (DoS) araştırırken değerli bir kanıt kaynağıdır. Apache HTTP Server, NGINX veya Microsoft IIS gibi tüm büyük web servisleri, web isteklerini belirli ölçüde standartlaştırılmış bir log formatında kaydeder. Bu loglar incelenerek, analistler ve müdahale ekipleri normal kullanıcı trafiği ile kötü niyetli etkinlikleri ayırt etmeye yardımcı olacak desenleri ortaya çıkarabilir.


GöstergelerÖrnekAçıklama
Yüksek İstek Oranı10.10.10.100 → 1000 GET /login/login gibi kaynak tüketen sayfalar, kimlik doğrulama süreçlerini aşırı yüklemek için çok sayıda istekle doldurulur. Login sayfaları sık hedef alınır çünkü her istek parola kontrolü ve veritabanı sorgusu tetikleyebilir
Olağandışı User-Agent’lercurl/7.6.88 → /index tekrar tekrarSaldırganlar eski veya alışılmadık User-Agent değerlerini taklit ederek filtrelerden kaçmaya çalışır. curl veya Python-urllib/3.x gibi araçların tespit edilmesi otomatik saldırı belirtisi olabilir
Coğrafi AnomalilerDünya geneline yayılmış IP kaynaklarıMeşru trafik genellikle kullanıcıların bulunduğu birkaç bölgeden gelir. Küresel bir botnet ise dünyanın farklı yerlerinden IP adresleri kullanabilir
Ani Zaman Damgası Patlamaları1 saniyede 50 istek → /searchAynı saniyeye sıkışmış ani istek artışı, otomasyona işaret eden doğal olmayan bir trafik paterni oluşturur
Sunucu Hataları (5xx)503 Service Unavailable hatalarında belirgin artış500–511 arası sunucu hatalarının ani şekilde artması, kaynakların tükendiğini ve sistemin saldırı trafiği altında zorlandığını gösterir
Mantık SuistimaliGET /products?limit=999999Saldırganlar sunucuyu aşırı yükleyen sorgular oluşturarak büyük miktarda veriyi işlemek zorunda bırakır ve sistemi yavaşlatır

Analistler, bir DDoS girişimine işaret eden bir tablo oluşturmak için birden fazla ve katmanlı sinyale bakmalıdır. Örneğin, bir saldırganın dünya çapında bir botnet’i kontrol ederek tek bir siteyi hedef aldığını düşünün. Farklı coğrafi bölgelerden çok çeşitli IP adreslerinden gelen istekler görebilirsiniz. Bu istekler, daha meşru görünmek için aynı User-Agent dizesini kullanarak ya da farklı User-Agent’ler kullanarak birden fazla kaynak yoğun uç noktayı (endpoint) sürekli olarak zorlayabilir. Dikkat edilmesi gereken yaygın göstergelerden oluşan bir izleme listesi (watchlist) oluşturmak, bir analistin araç setinde değerli bir yardımcı olabilir.

Hedeflenen Kaynaklar
Eğer bir saldırgan, daha önce tartıştığımız gibi bir web hizmetini kesintiye uğratmayı amaçlıyorsa, büyük olasılıkla her istek başına en fazla sunucu kaynağı tüketen veya site işlevselliğini sürdürmek için en kritik olan uç noktalara (endpoint) odaklanacaktır. /login veya arama formları gibi sayfalar başlıca hedeflerdir çünkü her istek sunucunun bir veritabanı sorgusu yapmasını, girdiyi doğrulamasını ve sonuçları döndürmesini gerektirir. Bu durum, ürün sayfaları veya görseller gibi statik içeriklere kıyasla bu isteklerin işlenmesini çok daha maliyetli hale getirir.

Yaygın olarak hedeflenen uç noktalar ve nedenleri:

  • /login – kimlik doğrulama süreçlerini içerir
  • /search – karmaşık veritabanı sorguları gerektirir
  • /api uç noktaları – dinamik içerik sunumu için kritiktir
  • /register veya /signup – veritabanına yazma ve doğrulama işlemleri gerektirir
  • /contact veya /feedback – veritabanı kayıtları ve e-posta bildirimlerini tetikleyebilir
  • /cart veya /checkout – oturum yönetimi, envanter kontrolleri ve ödeme işlemleri gerektirir
Log Örneği
Bir DoS saldırısının olay sonrası (post-incident) senaryoda nasıl görünebileceğini anlamak için örnek bir özetlenmiş erişim logunu inceleyelim.

  • Normal Kullanıcı Trafiği – Her birkaç saniyede bir kullanıcı bir sayfa talep eder ve beklenildiği gibi bir yanıt alır.
  • DoS Saldırısı – 10:01:10 itibarıyla 203.0.113.55 IP adresinin /login.php sayfasına tekrar tekrar GET istekleri göndermeye başladığı görülür.
  • Web Sunucusu Çökmesi – Kullanıcılar sayfa talep etmeye devam eder ancak hizmetin kullanılamadığını gösteren 503 yanıtları almaya başlar.
Bu log parçası oldukça özetlenmiştir ve gerçek bir DoS veya DDoS saldırısında loglarda aynı anda yüzlerce veya binlerce isteğin akışı görülebilir.
1776210854759.png


SIEM’lerden Yararlanma
Güvenlik Bilgi ve Olay Yönetimi (SIEM) platformları, birden fazla log kaynağını birleştirme ve faydalı alanlar üzerinde sorgulama yapma imkânı sağlayarak log analizini çok daha verimli hale getirir. Bir log dosyasındaki sonsuz ham kayıtları kaydırmak yerine, logları IP adresine, kullanıcı aracısına (user agent) veya yanıt koduna göre filtreleyebilir ve sıralayabilirsiniz. Bu özellik, trafik içindeki desenleri (kalıpları) tespit etmeyi çok daha kolay hale getirir.

Normal Kullanıcı İstekleri – Her dakika çeşitli sayfalara yapılan birkaç istek
DoS Saldırısı – Bir dakika içinde /login.php sayfasına 1.000 istek

Savunma
Saldırganlar sürekli olarak istismar edilecek zayıf noktalar ararlar, ancak savunmacıların sistemleri dayanıklı tutmak için çeşitli araçları ve yöntemleri vardır. Bu makalede, web sitelerimizi ve web uygulamalarımızı hizmet reddi saldırılarından mümkün olduğunca korumak için kullanılabilecek önleme ve azaltma (mitigasyon) stratejilerini inceleyeceğiz.

Uygulama Düzeyi Savunma
Güvenli Geliştirme Uygulamaları

Güvenli bir site, güvenli kod ile başlar. Arama alanları ve formlar, kötüye kullanımın önlenmesi için girdileri doğrulamalıdır. Arama formunu, kullanıcı isteği üzerine kitapları bulan bir kütüphaneci gibi düşünebilirsiniz. Kütüphanecinin net kuralları varsa, örneğin “sadece 50 karakterden kısa başlıkları ara”, hızlı bir şekilde yanıt verebilir. Kurallar yoksa, biri kütüphaneciye çok uzun veya özel karakterler içeren garip bir başlık araması yaptırabilir; bu da kütüphaneciyi yavaşlatır ve diğer herkesin isteklerinin gecikmesine neden olur. Aynı şekilde, web uygulamaları da sistemi aşırı yüklemeye yönelik özel sorguların gönderilmesini önlemek için girdi doğrulama (input validation) yapmalıdır.

Doğrulama Yöntemleri
Otomatik trafiği durdurmanın bir yolu, erişim vermeden önce bir doğrulama adımı gerektirmektir. Bu, kullanıcıdan bir bulmacayı çözmesini isteyen CAPTCHA gibi bir yöntem olabilir; örneğin resimlere tıklamak veya bir kutuyu işaretlemek. İnsanlar için küçük bir adım olsa da, botlar için saldırıyı engelleyebilir veya yavaşlatabilir.
Web siteleri ayrıca arka planda sessizce çalışarak ziyaretçinin gerçek bir kullanıcı mı yoksa otomatik trafik mi olduğunu doğrulayan JavaScript tabanlı doğrulamalar da kullanabilir. Meşru kullanıcılar genellikle bunları fark etmez, ancak otomatik araçlar ve botnet’ler çoğu zaman başarısız olur; bu da kötü niyetli trafiğe karşı etkili bir filtre oluşturur.

1776211317732.png

Ağ ve Altyapı Savunmaları
İçerik Dağıtım Ağı (CDN)
[Content Delivery Network]
CDN’ler, sunucu yükünü yönetmeye yardımcı olur; içeriği kullanıcıya en yakın uç sunucularda (edge server) önbelleğe alır ve sunar. Bu, gecikmeyi azaltır ve ana sunucunun yalnızca taleplerin küçük bir kısmını işlemesini sağlar, geri kalan talepler ise CDN tarafından karşılanır. Sonuç olarak, CDN’ler DDoS saldırılarını hafifletme yükünün büyük bir kısmını üstlenir. Ayrıca, trafik dağılımını sağlayarak (load-balancing) tek bir sunucunun aşırı yüklenmesini önler ve bir sunucu kullanılamaz hale gelirse istekleri yeniden yönlendirir.
Aşağıda, Cloudflare CDN panosunda görüntülenen 16 TB’lık bir DDoS saldırısına örnek verilmiştir:

  • 30 günlük toplam bant genişliği – Bu, son 30 gün içindeki toplam trafik hacmini gösterir. Eğer siteniz normalde ayda birkaç yüz gigabayt trafik alıyorsa, aniden 16 TB görmek olağan dışı bir duruma işaret eder.
  • CDN uç sunucuları tarafından önbelleğe alınan toplam bant genişliği – Bu, CDN’nin uç sunucuları tarafından başarıyla teslim edilen trafik miktarını temsil eder. Bant genişliğinin neredeyse tamamının önbelleğe alınması, Cloudflare’in saldırı trafiğini arka uç sunuculara ulaşmadan önce absorbe ettiğini gösterir.
  • DDoS saldırısından kaynaklanan trafik artışı – Grafikteki ani yükseliş, DDoS saldırısının imzasıdır. Bir CDN olmadan, bu yoğun istek akışı doğrudan ana sunucuya ulaşırdı.
CDN’ler yalnızca trafiği absorbe etmekle kalmaz, aynı zamanda analistlere güçlü bir görünürlük de sağlar; web sitesi trafiğine dair yararlı görseller ve tanılama (diagnostic) bilgileri sunar. Bu sayede istekleri coğrafi konum, hacim ve kaynak desenlerine göre hızla inceleyebilir, kötü niyetli trafiği meşru kullanıcıdan ayırt etmenize yardımcı olur.

Web Uygulama Güvenlik Duvarı (WAF)
CDN’ler genellikle müşterilerinin sunucularını korumak amacıyla WAF’leri entegre eder. WAF’ler gelen trafiği inceler ve istekleri ya kabul eder, ya doğrulama adımı uygular ya da engeller. WAF’ler, bilinen saldırı göstergeleri ve tehdit istihbaratını içeren kurallar üzerinden çalışır. Modern WAF çözümleri, neye dikkat edeceklerini bildikleri için DoS ve DDoS saldırılarını hafifletmede oldukça etkilidir. Ayrıca, hedefli tehditlere karşı savunmayı güçlendirmek için özel kurallar da geliştirilebilir.

Örneğin, /login.php sayfasına yapılan istekleri dakikada beş ile sınırlayan bir rate-limiting (hız sınırlama) kuralı uygulayabilirsiniz. Eğer aynı IP adresi bu sayfaya beşten fazla istek gönderirse, belirli bir süre boyunca gelecekteki istekleri engellenir veya isteğin insan tarafından yapıldığını kanıtlaması için bir doğrulama adımı sunulur.

1776211561248.png

Büyük Ölçekli Hafifletme (Mitigation)
Modern savunma çözümleri, hizmet reddi (DoS) saldırılarını engelleyebilir ve aynı zamanda geniş dağıtılmış altyapılarını kullanarak büyük trafik hacimlerini absorbe edebilir ve dengeleyebilir. 2023 yılında Google, saniyede 398 milyon isteğe ulaşan büyük ölçekli bir DDoS saldırısını hafifletti. Cloudflare ise şimdiye kadar kaydedilen en büyük DDoS saldırısını hafiflettiğini iddia ediyor; bu saldırı saniyede 11,5 Tbps’ye ulaştı ve yalnızca 35 saniye sürdü. Bu örnekler, sağlayıcıların küresel ağlar ve trafik filtreleme yöntemlerini kullanarak en büyük saldırıların bile kritik hizmetleri çevrimdışı bırakmasını engelleyebildiklerini göstermektedir.

Güvenlik Önlemlerini Aşma
CDN’ler, önbellekleme ve WAF’ler güçlü koruma sağlasa da, saldırganlar çoğu zaman bu savunmaları aşmayı dener. Bir teknik, rastgele sorgu parametreleri eklemektir. CDN’iniz /products adresinde önbelleğe alınmış bir URL sunabilir, ancak saldırgan /products?a=abcd gibi rastgele bir sorgu eklerse, CDN önbelleğe alınmış sayfayı sunamaz ve ana sunucu yanıt vermek zorunda kalır. Benzer şekilde, kullanıcı aracısını değiştirmek, referans sayfalarını taklit etmek veya farklı coğrafi bölgelerden istekler göndermek, saldırganların WAF filtreleme kurallarından kaçmasına yardımcı olabilir dostlarım.

1776211947548.pngOkuduğunuz için teşekkür ederim

CW-Ommah
Bug Researchers Tim Sundu...
1776211998858.png
 

Ekli dosyalar

  • 1776211077215.png
    1776211077215.png
    16.7 KB · Görüntüleme: 1