Uygulama Güvenliği Sızma Testi - İçgörü
API Yetki Sınırını Gerçek Kullanıcı Akışında Sınamak
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.
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
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.
Bir kullanıcının rolü için izin verilmeyen bir işlevi veya yönetim işlemini çağırabilmesidir.
Ç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.