/

25 Eylül 2025

OWASP API Top 10:2023 – Sınırsız Kaynak Tüketimi

OWASP API Top 10:2023 – Sınırsız Kaynak Tüketimi

Modern uygulamalar kullanıcı dostu arayüzler sunarken, bu arayüzlerin arkasında çalışan API’ler yalnızca veri taşımakla kalmaz; ağ bant genişliği, CPU gücü, bellek, depolama alanı ve hatta üçüncü parti servisler gibi pek çok kritik kaynağı da kullanır. Bu kaynakların kontrolsüz biçimde tüketilmesi, hem hizmet sürekliliğini hem de işletme maliyetlerini doğrudan etkileyen ciddi bir güvenlik açığıdır. OWASP API Top 10:2023 listesinde dördüncü sırada yer alan Unrestricted Resource Consumption, yani kaynakların sınırsız tüketimi, bu tür risklerin başında gelir. Serimizin dördüncü bölümünde bu konuyu detaylıca ele alıyoruz.
Bu tür bir açık, API’ye yapılan isteklerin ne kadar kaynak tüketeceğine dair herhangi bir sınır veya kontrol mekanizmasının olmaması durumunda ortaya çıkar. Yani, kullanıcıların çok sayıda veya çok maliyetli işlemi arka arkaya çalıştırabilmesi engellenmiyorsa, sistem hem performans hem de maliyet açısından savunmasız hale gelir. Çoğu zaman bu durum, yük testi sırasında ya da gerçek kullanıcı trafiğinde fark edilmeyebilir; ancak saldırganlar için bu, sistemi zorlayarak yavaşlatmanın veya durdurmanın doğrudan bir yoludur.
Gerçek hayatta bu açık kendini farklı şekillerde gösterebilir. Örneğin, bir kimlik doğrulama servisi SMS tabanlı OTP gönderimi yapıyorsa ve bu işlemde rate limit uygulanmamışsa, saldırgan saniyeler içinde yüzlerce OTP isteği göndererek hem SMS servis maliyetini katlar hem de sistemi yavaşlatır. Bir başka örnekte, dosya yükleme endpoint’i maksimum boyut kontrolü yapmazsa saldırgan çok büyük dosyalar yükleyerek depolama alanını kısa sürede doldurabilir. Yine, raporlama API’sinde tarih aralığı kısıtlaması yoksa saldırgan yıllara yayılan devasa veri sorguları çalıştırarak CPU kullanımını %100’e çıkarabilir. Hatta login endpoint’inde brute force koruması yoksa, çok sayıda parola denemesi yapılarak hem kimlik doğrulama altyapısı zorlanır hem de arka plandaki üçüncü parti servisler gereksiz yere tüketilir.
Bu zafiyetin tehlikeli yanı, çoğu zaman arayüzde görünmemesidir. Kullanıcı, uygulamanın normal işlevlerini kullanırken fark etmez; ancak kötü niyetli biri, otomatik araçlar veya script’ler kullanarak API’ye çok yoğun ya da maliyetli istekler gönderebilir. Bu tür saldırılar yalnızca hizmetin durmasına değil, aynı zamanda beklenmeyen faturalara, üçüncü parti servis kotalarının aşılmasına ve müşteri deneyiminin ciddi biçimde bozulmasına yol açabilir.
Bu tip açıklardan korunmanın yolu, hem tasarım hem de test süreçlerinde kaynak yönetimi bilincini yerleştirmekten geçer. Her endpoint için istek başına, kullanıcı başına ve zaman aralıklarına göre limitler belirlenmeli; rate limiting, throttling ve kota yönetimi mekanizmaları uygulanmalıdır. Dosya yükleme boyutları sınırlandırılmalı, sorgular optimize edilmeli, maliyetli işlemler için önceden tanımlı kotalar konulmalıdır. Üçüncü parti servislerde günlük veya aylık kullanım limitleri belirlenmeli, asenkron iş kuyrukları kontrol altında tutulmalıdır. Ayrıca brute force gibi tekrarlayan kimlik doğrulama denemeleri de bu kapsama dahil edilmeli, giriş denemelerine sayısal sınırlamalar ve ek doğrulama adımları eklenmelidir.
Elbette güçlü bir test süreci de bu güvenliğin ayrılmaz parçasıdır. Farklı senaryolarla API’ye yük testi yapmak, büyük dosya yüklemelerini, ağır sorguları ve kimlik doğrulama brute force denemelerini simüle etmek, bu işlemlerin sistem kaynaklarını nasıl etkilediğini gözlemlemek gerekir. Bu süreç, manuel testlerle desteklenebileceği gibi Postman, JMeter, APIStrike gibi araçlarla sürekli ve otomatik biçimde de sürdürülebilir.
Unutulmaması gereken temel ilke şudur: API’nize ne kadar kaynak ayıracağınızı belirlemek kadar, hangi durumlarda kaynak ayırmayacağınızı tanımlamak da güvenlik açısından belirleyicidir. Kaynak tüketimine dair kontrollerin eksikliği, saldırganların sisteminizi hem durdurmasına hem de maliyetlerinizi artırmasına zemin hazırlar. Bu nedenle kaynak yönetimi ve sınırlama, modern API mimarilerinde göz ardı edilmemesi gereken kritik bir güvenlik katmanıdır.
Yerli çözümlerden biri olan Apifort, tam da bu ihtiyaca yanıt veriyor.

API’lerinize gelen istekleri gerçek zamanlı olarak izleyerek hem performans kaybını hem de maliyet risklerini minimuma indirmenizi sağlıyor.

Serimizin bir sonraki bölümünde, OWASP API Top 10 listesindeki diğer zafiyetleri ele alarak bu güvenlik yolculuğuna birlikte devam edeceğiz.

Benzer İçerikler