Layer 7 (Uygulama Katmanı) DDoS saldırıları, günümüzde en zor tespit edilen ve en maliyetli saldırı türleri arasında yer alıyor. Bu saldırılar, yüksek trafik üretmek yerine gerçek kullanıcı gibi davranarak uygulama kaynaklarını tüketmeyi hedefler.Bu teknik makalede L7 DDoS saldırılarının çalışma prensipleri, adaptive rate limiting, query cost bazlı koruma, bot davranış analizi ve gerçek bir vaka üzerinden savunma stratejileri derinlemesine incelenmektedir.
Layer 7 (Uygulama Katmanı) DDoS saldırıları, klasik DDoS anlayışının en tehlikeli evrimidir. Bu saldırılar ağ altyapısını hedef almaz; bant genişliği taşırmaz, paket fırtınası yaratmaz. Bunun yerine doğrudan uygulamanın işleyişini, hesaplama kapasitesini ve mimari zayıflıklarını hedef alır.
Dışarıdan bakıldığında her şey normaldir:
HTTP istekleri geçerlidir, TLS bağlantıları sorunsuzdur, tarayıcı parmak izleri gerçek kullanıcıya aittir. Buna rağmen sistem yavaşlar, gecikmeler artar ve servis pratikte kullanılamaz hale gelir.
Bu yazı, L7 DDoS’un neden bu kadar etkili olduğunu ve neden savunmasının yalnızca güvenlik katmanında değil, uygulama mimarisinde ele alınması gerektiğini teknik düzeyde inceler.
L7 DDoS Nedir? Neden “Tehlikeli”dir?
OSI modelinin 7. katmanı olan Uygulama Katmanı (Application Layer), HTTP/HTTPS gibi protokollerin çalıştığı yerdir. L7 DDoS saldırıları, bant genişliğini doldurmayı hedefleyen klasik volumetrik saldırıların aksine, doğrudan uygulama mantığını hedef alır.
Amaç şudur:
Sunucunun en pahalı (CPU, RAM, I/O açısından en maliyetli) işlemlerini, mümkün olan en az trafikle tekrar tekrar çalıştırmak.
Bir HTTP GET isteği dışarıdan bakıldığında masumdur. Ancak bu istek;
- Karmaşık bir SQL sorgusunu tetikliyorsa
- Cache dışı bir endpoint’e gidiyorsa
- Kimlik doğrulama, token doğrulama veya şifreleme işlemleri içeriyorsa
işte o zaman “küçük” bir istek, sunucu için pahalı bir operasyona dönüşür.
“Normal Kullanıcı Gibi Davranmak” Ne Demek?
L7 saldırılarını asıl zorlaştıran nokta burasıdır. Bu saldırılar:
- Gerçek tarayıcı User-Agent’ları kullanır
- JavaScript çalıştırabilir (headless browser’lar)
- Cookie ve session yönetimini doğru yapar
- Sayfalar arasında mantıklı gezinir
- Rate limitleri bilinçli şekilde zorlar ama aşmaz
Yani saldırgan, “tek seferde çökertelim” yerine şunu yapar:
“Sistemi yavaş yavaş boğalım, alarm çalmasın.”
Bu yüzden klasik “çok fazla istek = saldırı” mantığı burada çoğu zaman işe yaramaz.
L7 DDoS’un Temel Prensibi: Hesaplama Asimetrisi
L7 DDoS’un kalbinde basit ama yıkıcı bir gerçek vardır:
Saldırganın maliyeti, sunucunun maliyetinden her zaman düşüktür.
Bir HTTP isteği saldırgan için neredeyse bedavadır. Aynı istek sunucu tarafında şu zinciri tetikler:
- TLS handshake ve kriptografik işlemler
- HTTP parsing ve middleware zinciri
- Kimlik doğrulama ve yetkilendirme
- İş mantığı (business logic)
- Veritabanı sorguları
- Cache erişimi veya cache miss
- Harici servis çağrıları
- Response serialization
L7 DDoS, bu zincirde en pahalı halkayı hedef alır. Trafik düşük kalır, fakat request başına CPU, bellek ve I/O maliyeti hızla yükselir.
Neden “Normal Kullanıcı” Gibi Görünür?
Modern L7 saldırıları artık basit botlar değildir. Operasyonel olarak:
- Headless browser (Chrome, Playwright vb.) kullanırlar
- Gerçek TLS fingerprint’lerine sahiptirler
- JavaScript çalıştırabilirler
- Cookie ve session yönetimini doğru yaparlar
- Mantıklı endpoint geçişleri uygularlar
Bu nedenle IP engelleme, User-Agent filtreleme veya statik rate limit mekanizmaları çoğu zaman etkisiz kalır. Saldırı protokole değil, davranışa gizlenmiştir.
En Sık Hedef Alınan Uygulama Noktaları
Kimlik Doğrulama ve Token Endpoint’leri
Login ve token üretim noktaları L7 DDoS için idealdir çünkü:
- Password hashing CPU yoğundur
- JWT üretimi ve doğrulaması maliyetlidir
- Session ve token lookup I/O üretir
Düşük frekansta bile bu endpoint’ler sistemi yıpratabilir.
Cache’i Bilinçli Şekilde Kıran İstekler
Cache varlığı tek başına koruma değildir. Parametre varyasyonlarıyla cache sistematik olarak bypass edilebilir:
- Sürekli değişen arama parametreleri
- Sıralama ve filtre kombinasyonları
- Timestamp veya rastgele değerler
Sonuç: Cache hit oranı düşer, veritabanı doğrudan hedef olur.
Masum Görünen Ama Pahalı Endpoint’ler
Saldırganlar genellikle şu noktaları seçer:
- Raporlama ve export endpoint’leri
- Geniş tarih aralıklı sorgular
- Pagination’sız API’ler
- Çoklu join içeren SQL sorguları
Bu endpoint’ler düşük trafikte bile ciddi kaynak tüketir.
Savunmanın Temeli: Request Sayısını Değil, Maliyeti Yönetmek
Adaptive Rate Limiting
Klasik “saniyede X istek” yaklaşımı L7 DDoS için yetersizdir. Doğru soru şudur:
“Bu aktör, belirli bir zaman aralığında sisteme ne kadar hesaplama maliyeti bindirdi?”
Adaptive rate limiting; endpoint bazlı CPU-time, P95/P99 latency, hata–retry davranışı ve sistem sağlığına (DB pool doluluğu, kuyruk uzunluğu) bakarak limitleri dinamik şekilde ayarlar.
Query Cost Cap ve Fail-Fast Yaklaşımı
Her request için runtime’da bir maliyet skoru hesaplanır:
- Toplam DB execution süresi
- Çalışan sorgu sayısı
- Taranan satır miktarı
- Harici servis gecikmeleri
Belirlenen eşik aşıldığında request erken sonlandırılır veya degrade response döndürülür. Bu yaklaşım, L7 saldırıyı ekonomik olmaktan çıkarır.
Pre-Auth Throttling ve Kullanıcı Deneyimi Dengesi
Login ve auth öncesi noktalar tamamen serbest bırakılmamalıdır; ancak sert önlemler gerçek kullanıcıyı da cezalandırır.
Doğru yaklaşım kademelidir:
- İlk temas: hiçbir sürtünme yok
- Şüpheli davranış: küçük gecikmeler ve görünmez JS kontrolleri
- Israrcı davranış: davranış doğrulama
- Yüksek risk: CAPTCHA veya proof-of-work
Gerçek kullanıcı ilk hatasında engellenmez; ısrarcı otomasyon hedef alınır.
Bot Detection ve Zamansal Korelasyon
Zamansal korelasyon, bir aktörün zaman içindeki davranışının analiz edilmesidir:
- İstekler arası sürelerin tutarlılığı
- Endpoint çağrı sıraları
- Hata sonrası davranış değişimi
- Gün içi aktivite paterni
İnsan davranışı düzensizdir; bot davranışı aşırı tutarlıdır. Bu fark, heuristic kurallar, istatistiksel sapma analizleri ve gerektiğinde hafif ML modelleriyle tespit edilebilir.
Vaka Analizi: 2023’te Bir E-Ticaret Platformunda L7 DDoS Saldırısı
2023’ün ikinci çeyreğinde, Avrupa pazarına hizmet veren orta ölçekli bir e-ticaret platformu, ağ trafiği normal görünmesine rağmen ciddi performans sorunları yaşamaya başladı. Firewall ve CDN loglarında anormallik yoktu; ancak kullanıcılar arama ve ödeme adımlarında yoğun gecikmeler yaşıyordu.
Teknik Bulgular
- CPU kullanımı sürekli yüksek kaldı
- DB connection pool’ları sık sık doldu
- Cache hit oranı %85’ten %20’nin altına düştü
- Login denemeleri başarısız olmasına rağmen tekrarlandı
Analiz sonucunda saldırının, düşük hızda çalışan ve cache’i bilinçli kıran bir L7 DDoS olduğu tespit edildi.
Çözüm
- Endpoint bazlı maliyet ölçümü yapıldı
- Adaptive rate limiting devreye alındı
- Search sorgularına query cost cap uygulandı
- Login endpoint’inde kademeli pre-auth throttling tanımlandı
CAPTCHA yalnızca küçük ve yüksek riskli bir kullanıcı grubuna uygulandı.
Sonuç
- Ortalama yanıt süresi %45 iyileşti
- DB saturation ortadan kalktı
- Saldırı tamamen kesilmedi ama etkisizleştirildi
- Gerçek kullanıcı deneyimi korunarak sistem stabil hale getirildi
Nasıl Başlarım? – L7 DDoS’a Karşı İlk Pratik Adımlar
Bu noktaya kadar anlatılanlar karmaşık görünebilir. Ancak L7 DDoS’a karşı savunma, tek seferde mükemmel sistem kurmak değil; doğru yerden başlamak meselesidir.
- Önce maliyeti görünür kılın. Her endpoint için ortalama süre, P95 latency ve DB süresini ölçün.
- En pahalı 3 endpoint’i bulun. Savunmaya buradan başlayın.
- Rate limit’i endpoint bazlı düşünün; request sayısına değil kaynak tüketimine bakın.
- Cache hit oranlarını izleyin. Ani düşüşler L7 sinyalidir.
- Login ve auth öncesi noktaları izole edin; ayrı limit ve timeout tanımlayın.
- Hata ve retry davranışlarını loglayın. Israr eden aktörleri ayırın.
- Fail-fast refleksi kazandırın. Pahalı request’leri erken kesin.
- CAPTCHA’yı en sona bırakın. Önce görünmez ve davranış temelli önlemleri kullanın.
- “Engellemek” yerine “absorbe etmek” hedefini benimseyin.
Sonuç
L7 DDoS saldırıları bize şunu açıkça gösterir:
İnternete açılan her endpoint, düşmanca kullanılacak şekilde optimize edilir.
Bu saldırılara karşı kazanmak, daha sert engeller koymakla değil;
maliyeti ölçmek, pahalı davranışı erken öldürmek ve sistemi bilinçli şekilde yormamakla mümkündür.
İyi mimari sadece performans için değil,
internet ortamında hayatta kalmak için yazılır.