İçeriğe geç
Tüm içgörü yazıları

Uygulama Güvenliği Sızma Testi - İçgörü

API Yetki Sınırını Gerçek Kullanıcı Akışında Sınamak

Karar

API yetki kontrolünü otomatik tarama sonucuyla sınırlamayın. Kritik kullanıcı akışlarını, rol ve müşteri sınırlarını manuel testlerle doğrulayarak yayın kararını somut bulgulara dayandırın.

Segment: sürüm ritmi yüksek ürün ekipleriHizmet: PT-1 - Uygulama Güvenliği Sızma Testi

Bir API, geçerli kimlik bilgileriyle yapılan her isteği doğru yetkilendirmiş sayılmaz. Asıl güvenlik sorusu, kullanıcının kendi rolü ve müşteri sınırı içinde kalıp kalmadığıdır. Bu sınır, kritik akışlarda manuel olarak sınanmadıkça yayın kararı eksik bilgiye dayanır.

Yanlış çerçeve

Otomatik taramanın temiz sonuç vermesi, nesne ve işlev düzeyindeki yetki kontrollerinin doğru çalıştığını göstermez. Örneğin bir istek geçerli bir oturumla gönderilip başka müşteriye ait kaydı döndürebilir; protokol açısından olağan görünen bu yanıt, iş mantığı içinde kritik bir güvenlik bulgusudur.

Doğru çerçeve

OWASP API Security Top 10, nesne düzeyindeki yetkilendirme sorunlarını BOLA, işlev düzeyindeki sorunları BFLA başlığı altında ele almaktadır. Test kapsamı, her kritik işlem için kullanıcı rolünü, erişilen kaynağın sahibini ve izin verilen eylemi birlikte değerlendirmelidir.

Çok müşterili (multi-tenant) yapılarda aynı uç nokta farklı roller ve müşteri sınırlarıyla tekrar denenmelidir. Kimlik doğrulama, rol kontrolü ve kaynak sahipliği ayrı kontrollerdir; bunlardan birinin çalışması diğerlerinin de doğru olduğu anlamına gelmez.

Saha: vakalar

Optus vakasında kimlik doğrulaması istemeyen bir API üzerinden milyonlarca müşteri kaydına erişilmesi, tahmin edilebilir kimliklerin ve eksik kaynak sahipliği kontrolünün etkisini gösterdi. Olayın ölçeği, basit görünen bir API davranışının veri güvenliği üzerindeki sonucunu görünür kıldı.

API yetki testi, yanıt kodundan önce iş kuralını sınar. Kullanıcı doğru oturumla yanlış kaynağa veya işleve ulaşabiliyorsa, doğrulanması gereken bulgu tam olarak bu erişim yoludur.

Mitigasyonun sınırı

WAF, şema doğrulama ve merkezî yetkilendirme bileşenleri önemli kontrol katmanlarıdır. Yine de uygulamanın hangi kullanıcının hangi kaynağa erişebileceğini doğru tanımlayıp tanımlamadığını tek başlarına kanıtlayamazlar. Kontrolün etkisi gerçek roller ve işlemler üzerinden test edilmelidir.

Teslim ve doğrulama

Uygulama Güvenliği Sızma Testi (PT-1), doğrulanmış bulguyu istek ve yanıt kayıtları, etkilenen roller, iş etkisi ve yeniden üretim adımlarıyla teslim etmektedir. Bulgular öncelikli kapatma listesine alınır; müşteri kontrolleri uyguladıktan sonra seçili senaryolar yeniden test edilir.

Doğru ilk adım

Yeni bir kritik akış, rol modelinde değişiklik veya müşteri güvenlik incelemesi yaklaşıyorsa ilk adım kapsamı netleştirmektir. Test edilecek roller, API uçları ve korunacak veriler belirlendiğinde yetki sınırı ölçülebilir hâle gelir.

Yazıda Geçen Kavramlar ve Kısaltmalar

BOLA (Broken Object Level Authorization)

Kimliği doğrulanmış bir kullanıcının, sahiplik kontrolü eksik olduğu için başka bir kullanıcıya veya müşteriye ait kaynağa erişebilmesidir.

BFLA (Broken Function Level Authorization)

Bir kullanıcının rolü için izin verilmeyen bir işlevi veya yönetim işlemini çağırabilmesidir.

Müşteri sınırı

Çok müşterili bir üründe bir müşterinin kimlik, veri ve işlemlerini diğer müşterilerden ayıran yetki sınırıdır.

// SONRAKİ ADIM

Kritik API akışlarındaki yetki sınırını doğrulayın

Rolleri, API uçlarını ve korunacak verileri birlikte netleştirelim. Uygun test kapsamını ve beklenen çıktıları keşif görüşmesinde belirleyebiliriz.

API Yetki Sınırı Testi: Doğrulanmış Bulgular ve Etki | RinP · Offensive Security