Uygulamaya dayalı dijital ekosistemdeki inovasyonun merkezinde yer almasına rağmen, API’ler veya Uygulama Programlama Arayüzleri, doğası gereği geleneksel web uygulamalarından daha fazla veri ve uç nokta açığa çıkararak onları saldırganlar için kazançlı hedefler haline getirir. Geliştirilmiş tanıtımı teşvik etmek amacıyla API güvenliğiOWASP, 2019’da her işletmenin koruması gereken yaygın API güvenlik risklerinin bir listesini yayınladı.
Bu makale, En İyi 10 API güvenlik riskini ve bu riskleri azaltmanın yollarını inceleyecektir.
Ortak API Güvenlik Riskleri: OWASP İlk 10 Listesi ve Bunların Azaltılması
Bozuk Nesne Düzeyinde Yetkilendirme (BOLA)
Nesne düzeyinde yetkilendirme, kullanıcıları ve hangi nesnelere erişebileceklerini doğrulamaya yardımcı olan bir erişim kontrol mekanizmasıdır. Nesne düzeyinde yetkilendirme bozulduğunda veya uygun şekilde uygulanmadığında veya etkinleştirilmediğinde, API’lerin uç noktaları ve hassas bilgileri saldırganlara gösterme ve saldırı yüzeyini önemli ölçüde genişletme olasılığı yüksektir. En yaygın ve şiddetli olanlardan biridir. API güvenlik riskleri.
Azaltma:
- Açıkça tanımlanmış roller ve hiyerarşilerle uygun bir nesne düzeyinde yetkilendirme mekanizması uygulayın
- Yalnızca yetkili kullanıcılara erişime izin vermek için nesne düzeyinde yetkilendirme kontrollerini ve erişim belirteçlerini kullanın
Bozuk Kullanıcı Kimlik Doğrulaması
API’lerde kimlik doğrulama, kritik olmasına rağmen, genellikle karmaşık ve kafa karıştırıcı bir mekanizmadır. Bozuk kullanıcı kimlik doğrulama riskleri, kimlik doğrulama mekanizmaları doğru bir şekilde uygulanmadığında ve/veya kimlik doğrulamayı işleyen API uç noktaları için yeterli güvenlik katmanları uygulanmadığında ortaya çıkar.
Böylece saldırganlar, kimlik doğrulama belirteçlerini kolayca tehlikeye atabilir, uç noktaları, API anahtarlarını ve hassas bilgileri açığa çıkarabilir, kullanıcı kimliklerini varsayabilir ve daha fazla hasara neden olabilir.
Azaltma:
- Çok faktörlü kimlik doğrulama ve sağlam kimlik doğrulama ilkelerini uygulayın
Aşırı Veriye Maruz Kalma
Daha hızlı uygulama için geliştiriciler, her nesnenin duyarlılığına dayalı olarak uygun ayrıntılı kısıtlamalar olmaksızın bir uç nokta paketi yayınlama eğilimindedir ve verileri gereksiz yere gerekenin ötesinde açığa çıkarır. Bu nedenle, veri filtreleme sorumluluğu kullanıcıya düşer ve saldırganlara neredeyse ücretsiz bir geçiş sağlar. Bu aşırı veriye maruz kalma, API’lerin güvenlik risklerini büyük ölçüde artırır.
Azaltma:
- Veri erişimini yalnızca güvenilir taraflara ve yalnızca gerekli olduğu ölçüde genişletin
- Güçlü TLS protokollerini kullanarak tüm API trafiğini şifreleyin
- Yalnızca meşru verileri içerdiklerinden emin olmak için hata mesajları da dahil olmak üzere API yanıtlarını inceleyin
Kaynak Eksikliği ve Hız Sınırlaması
Kullanıcı istekleriyle ilgili açıkça tanımlanmış ve zorunlu kısıtlamalar olmadan – talep edilebilecek kaynakların boyutu ve sayısı vb., API’ler DoS risklerine ve aşınmış sunucu performansına maruz kalır. Ayrıca, bu API güvenlik riski, API’yi kaba kuvvet saldırıları vb. gibi kimlik doğrulama kusurlarına karşı savunmasız hale getirir.
Azaltma:
- Katı hız sınırlayıcı politikalar uygulayın
- Yük kısıtlamalarını uygulayın
- Şüpheli davranışları tespit etmek için trafiği ve kullanıcı davranışını gerçek zamanlı olarak izleyin
- Tüm gelen kullanıcı isteklerini filtreleyin ve istekleri akıllıca izin verin/engelleyin/işaretleyin/ sorgulayın
Bozuk İşlev Düzeyi Yetkilendirmesi
İlgili karmaşıklık nedeniyle bozuk işlev düzeyinde yetkilendirme kusurları oluşur.
- birden çok rol, grup ve hiyerarşi ile erişim kontrol politikaları geliştirmek ve uygulamak
- idari ve genel API işlevleri arasında yeterli bir ayrım elde etmek
Bu karmaşıklık göz önüne alındığında, geliştiriciler nadiren doğruyu bulur ve saldırganlar, yetkilendirme kusurlarından yararlanarak ayrıcalıklı işlevlere ve kritik kaynaklara erişim elde eder.
Azaltma:
- Roller ve hiyerarşilere dayalı erişim kontrolünü tanımlarken en az ayrıcalık ilkesini takip edin
- Yetki kontrolleri bir zorunluluktur
Toplu Atama
Toplu Atama, tehdit aktörlerinin kötü niyetli girdiler göndererek sunucu tarafı değişkenlerinin üzerine yazabileceği/başlatabileceği bir web API güvenlik riskidir. Bunun başlıca nedeni, kullanıcı tarafından sağlanan verilerin (veri modellerine bağlı) doğrulanmaması ve filtrelenmemesidir. Saldırganlar, bu güvenlik açıklarından yararlanarak
- nesne özelliklerini tahmin et
- belgeleri oku
- diğer API uç noktalarını keşfedin
- API işlevlerini, özelliklerini ve değişkenlerini değiştirin
- hassas bilgilere erişim vb.
Azaltma:
- Giriş doğrulama, temizleme ve filtreleme vazgeçilmezdir
- Anormal davranışı tespit etmek için kullanıcı davranışını izleyin ve analiz edin
- Ayrıcalıkları ve erişimi tanımlarken beyaz liste ve kara liste ilkelerinin bir kombinasyonunu kullanın
Güvenlik Yanlış Yapılandırması
Güvenlik yanlış yapılandırması, uygun yapılandırmalarla saldırı yüzeyinin sertleştirilmemesi, yine bir başka yaygın API güvenlik riskidir. Birkaç küçük ayrıntı ve kusur, uygulamanızı/platformunuzu yüksek riske sokar. Bunlardan bazıları şunlardır:
- Varsayılan, güvenli olmayan, eksik ve/veya geçici yapılandırmalar
- Açık bulut depolama
- Yanlış yapılandırılmış HTTP üstbilgileri
- Gereksiz özellikler etkinleştirildi
- İzin Verilen Çapraz Kaynaklı Kaynak Paylaşımı (CORS)
- Ayrıntılı hata mesajları vb.
Azaltma:
- Tekrarlanabilir bir sertleştirme süreci tasarlayın ve uygulayın
- Varsayılan yapılandırmaları kullanmayın
- Yanlış yapılandırmaları düzenli olarak tarayın ve anında çözümler uygulayın
- Gereksiz özellikleri kaldırın
Enjeksiyon
API’ler SQL, NoSQL, komut enjeksiyonları, kod enjeksiyonu vb. gibi enjeksiyonlara eğilimlidir. Kullanıcıların, sorgu/komutun bir parçası olarak veri girişlerini, bunları ayrıştırmadan ve doğrulamadan yorumlayıcıya göndermelerine olanak tanır. Bu nedenle saldırganlar, uzaktan kod yürütmeyi başlatmak, veri/veritabanı/sistem işlevlerine erişmek, kayıtları silmek/değiştirmek vb. için bu enjeksiyon kusurlarından yararlanır.
Azaltma:
Giriş temizleme ve doğrulama, bu API güvenlik riskini azaltmak için kritik öneme sahiptir.
Uygunsuz Varlık Yönetimi
Uygun dokümantasyon ve varlık yönetimi olmadan, hataları ve güvenlik zayıflıklarını proaktif olarak belirlemek, varlıkları korumak ve riskleri etkin bir şekilde yönetmek zorlaşır.
Azaltma:
- Varlıklarınızı, uç noktalarınızı ve ana bilgisayarlarınızı düzenli olarak envanterleyin ve yönetin
- Geliştirme aşamalarından itibaren doğru belgeleri koruyun
- Eski sürümlerin artık etkin olmadığından emin olmak için API kullanımdan kaldırma zaman çizelgelerinizi ve sürümlerinizi yayınlanmadan önce planlayın.
Yetersiz Kayıt ve İzleme
Bu web API güvenlik riski, saldırganların diğer sistemlere saldırmasına ve kalıcı olmasına, daha uzun süre fark edilmemesine ve güvenlik açıklarından yararlanmaya devam etmesine, verileri yok etmesine ve kuruluşa finansal ve itibar açısından çok daha fazla zarar vermesine olanak tanır.
Azaltma:
Tüm etkinlikleri ve olayları etkin bir şekilde günlüğe kaydetmek ve izlemek için akıllı güvenlik çözümlerini kullanın. Kullanıcı etkinliklerini izlemek için davranışsal analitiği kullanın. Proaktif koruma sağlamak için anormal etkinliklerde gerçek zamanlı uyarılar ve tetikleyiciler sağlamak üzere panoları yapılandırın.
Çözüm
gibi akıllı, yönetilen bir güvenlik çözümünden yararlanın AppTrana’nın API Koruması ortak API güvenlik risklerini etkili bir şekilde azaltmak ve güvenlik duruşunuzu sağlamlaştırmaya devam etmek için.