Api Security Owasp4:2023
Sınırsız Kaynak Tüketimi
API isteklerinin cevaplanması sırasında belli kaynaklar tüketilir; cpu,ram,disk,network. Ek olarak sms ,mail ya da biyometrik doğrulama için kaynaklar tüketilebilir. Bu doğrulama hizmetleri çoğunlukla üçüncü taraf hizmet olarak satın alındığı için kullanım sayısına göre ücretlendirme gerçekleşir.
Aşırı kaynak tükenmesinin en yaygın sonucu hizmet reddi (DDOS) ve meşru kullanıcıların hizmet alamamasıdır.
Bir file upload edilen servisiniz olsun , yüklenebilecek maksimum file boyutu vermediğinizde açık vermiş olacaksınız. Benzer şekilde çalışma zamanına bir timeout koymamak , kullanılan üçüncü taraf hizmetlerine limit koymamak , maksimum ayrılabilir bellek sınırı kullanmamak, proses sayılarına sınırlama getirmemek gibi açıklar verilebilir.
Nasıl önlenir?
Kaynak kullanımlarına mümkün olduğunca sınırlar koyun.
Bir istemcinin belirli bir zaman dilimi içerisinde API ile ne sıklıkta etkileşimde bulunabileceğine ilişkin bir sınır uygulayın (hız sınırlaması).
Bir api kullanıcısının bir işlemi ne sıklıkla ya da kaç kez yapabileceğini sınırlayın.
Yanıtta döndürülecek data boyutunu kontrol eden bir doğrulamanız olsun.
API entegrasyonlarını ve üçüncü taraf servis sağlayıcılardan alınan hizmetler için harcama limitleri tanımlayın. Limit tanımlamanın mümkün olmadığı durumlarda fatura limit uyarıları belirleyin.
Güvenli kodlar.