Web Uygulama Güvenliği Tek Seferlik Hizmet

Yetkilendirme Testi

Kırık erişim kontrolü, OWASP Top 10'un en tepesindeki risk kategorisidir ve gerçek ihlallerin en yaygın nedenlerindendir. Yetkilendirme testi, uygulamanızın “kim neye erişebilir” kuralını rol rol ve kaynak kaynak doğrular: yatay/dikey yetki yükseltme, IDOR/BOLA, işlev düzeyi kırık yetki ve çok kiracılı mimarilerde kiracı izolasyonu. Amacımız, her erişim kararının sunucu tarafında gerçekten zorlandığını kanıtlamaktır. Testler yalnızca yazılı yetkilendirme ve tanımlı kapsamla yürütülür.

8 teknik alan 7 adımlı süreç 6 teslimat
Koruma katmanları
Yatay yetki
Dikey yetki
İşlev/uç nokta düzeyi
İzolasyon ve ilke
Neden ihtiyacınız var?

Bu hizmet hangi sorunu çözer?

Yetkilendirme, uygulamalarda en çok gözden kaçan ve en pahalıya patlayan alandır çünkü kolayca “görünmez” biçimde kırılır. Arayüz doğru düğmeleri gizleyebilir; ancak asıl soru, arka uçun her isteği bağımsız olarak yetkilendirip yetkilendirmediğidir. Bir kullanıcı, kendi hesabındaki bir kimliği başka bir kimlikle değiştirdiğinde başkasının verisine erişebiliyorsa bu yatay yetki yükseltmedir (IDOR/BOLA). Standart bir kullanıcı, yalnızca istemcide gizlenmiş bir yönetici uç noktasını doğrudan çağırabiliyorsa bu dikey yetki yükseltmedir. Çok kiracılı bir SaaS'ta bir kiracının verisi başka kiracıya sızıyorsa bu kiracı izolasyonu ihlalidir; birçok ihlalin kaynağıdır. İşlev düzeyinde bazı uç noktalar yetki kontrolünü tamamen atlıyor olabilir. Bu kusurlar tarayıcılarla neredeyse hiç yakalanmaz çünkü uygulamanın rol modelini, kaynak sahipliğini ve iş kurallarını anlamayı gerektirir. Yetkilendirme testi bu modeli açıkça çıkarır ve her rol/kaynak kombinasyonunu sistematik olarak sınar; “erişebilmemesi gerekene erişebiliyor mu?” sorusunu kanıtla yanıtlar.

  • IDOR/BOLA ile bir kullanıcının başka kullanıcının verisine erişmesi
  • Dikey yetki yükseltmeyle standart kullanıcının yönetici işlevlerini çağırması
  • Çok kiracılı mimaride bir kiracının verisinin başka kiracıya sızması
  • İşlev düzeyinde eksik yetki kontrolüyle korunmasız uç noktalar
  • En az ayrıcalık ilkesinin ihlaliyle aşırı geniş erişim ve veri kaybı
Neden önemli?

Bu sorunu görmezden gelmenin riski

OWASP'ın 1 numaralı riskiKırık erişim kontrolü, OWASP Top 10 (2021) listesinde en üsttedir ve pratikte en sık istismar edilen kategorilerdendir.
Tarayıcılar göremezYetki kusurları uygulamanın rol ve veri modeline bağlıdır; bunu ancak roller arası sistematik manuel test ortaya çıkarır.
Etki doğrudan veridirKırık yetkinin sonucu genellikle doğrudan veri sızması veya ayrıcalık kazanımıdır; ara adım gerektirmez, bu yüzden çok tehlikelidir.
Multi-tenant'ta katlanırÇok kiracılı platformlarda tek bir izolasyon kusuru tüm müşteri tabanının verisini riske atar; ayrı ve titiz test şarttır.
İstemci kısıtlaması koruma değildirArayüzde bir işlevi gizlemek onu korumaz. Gerçek koruma yalnızca sunucu tarafı yetki zorlamasıyla sağlanır.
Uyum ve gizlilik gereğiKişisel/hassas veri işleyen sistemlerde yetki izolasyonu, veri koruma yükümlülüklerinin temel taşıdır.
Kapsam

Neyi değerlendirir ve düzeltiriz?

Yatay yetki

  • IDOR/BOLA: kaynak kimliği değiştirerek başka kullanıcı verisine erişim
  • Aynı roldeki kullanıcılar arası veri sınırları
  • Dolaylı referanslar ve tahmin edilebilir kimlik kullanımı

Dikey yetki

  • Standart kullanıcının yönetici uç noktalarına erişimi
  • Rol yükseltme ve ayrıcalık kazanımı senaryoları
  • Gizlenmiş ama korunmasız işlevlerin doğrudan çağrılması

İşlev/uç nokta düzeyi

  • Yetki kontrolü olmayan veya tutarsız uygulanan uç noktalar
  • HTTP metodu bazlı yetki atlaması (GET vs POST/PUT/DELETE)
  • İş akışı adımlarının sıra dışı çağrılmasıyla yetki atlaması

İzolasyon ve ilke

  • Çok kiracılı (multi-tenant) veri izolasyonu
  • En az ayrıcalık (least privilege) uygunluğu
  • Rol tanımlarının (RBAC) tutarlılığı ve kapsam sızıntıları
Teknik kapsam

Ele aldığımız teknik alanlar

Kırık erişim kontrolü (OWASP Top 10 A01) sistematik testiIDOR/BOLA: nesne düzeyi yetkilendirme doğrulamasıYatay ve dikey yetki yükseltme senaryolarıİşlev düzeyi kırık yetki ve HTTP metodu bazlı atlamalarÇok kiracılı (multi-tenant) izolasyon testiRBAC tutarlılığı ve en az ayrıcalık uygunluğuİş akışı adım atlama ile yetki baypasıCVSS temelli önceliklendirme ve kavram kanıtı
Metodoloji

Nasıl çalışırız?

Kapsam ve yetkilendirmeRolleri, kaynak türlerini, kiracı modelini ve test hesaplarını belgeler; yazılı yetkilendirme ile kuralları netleştiririz. Her rol için ayrı test hesapları isteriz.
Rol ve kaynak matrisiHangi rolün hangi kaynağa ve işleve erişmesi gerektiğini gösteren bir erişim matrisi çıkarırız; bu matris testin omurgasıdır.
Yatay yetki testiFarklı kullanıcıların kimlikleriyle kaynaklara erişimi sistematik deneyerek IDOR/BOLA'yı test ederiz.
Dikey yetki testiDüşük ayrıcalıklı hesaplarla yüksek ayrıcalıklı işlevleri doğrudan çağırmayı deneriz.
İzolasyon testiÇok kiracılı yapıda kiracılar arası veri sızıntısını ve sınırları test ederiz.
Doğrulama ve raporlamaBulguları kavram kanıtıyla doğrular, CVSS ile önceliklendirir ve sunucu tarafı yetki odaklı net adımlarla raporlarız.
Yeniden testGiderme sonrası her rol/kaynak kombinasyonu için düzeltmeleri doğrularız.
Örnek bulgular

Tipik olarak neler tespit ederiz?

Aşağıdakiler illüstratif örneklerdir; gerçek müşteri verisi değildir.

Kritik

Çok kiracılı yapıda kiracılar arası veri sızıntısı (örnek bulgu)

Etki

Bir kiracının kullanıcısı, istekteki kaynak kimliğini değiştirerek başka bir kiracının kayıtlarına erişebiliyordu; sunucu tarafı kiracı bağlamı doğrulanmıyordu.

Öneri

Her sorguyu oturumun kiracı bağlamıyla sınırlayın; kaynak erişimini yalnızca kimlikle değil, sahiplik ve kiracı eşleşmesiyle doğrulayın.

Yüksek

Dikey yetki yükseltme: standart kullanıcının yönetici işlevine erişimi (örnek bulgu)

Etki

Yönetici işlevleri arayüzde gizliydi ancak uç nokta düzeyinde yetki kontrolü yoktu; standart bir kullanıcı isteği doğrudan göndererek yönetici eylemini gerçekleştirebiliyordu.

Öneri

Yetkiyi istemci gizlemeye değil, sunucu tarafı rol kontrolüne dayandırın; her hassas uç noktada rolü açıkça doğrulayın.

Orta

HTTP metodu bazlı yetki tutarsızlığı (örnek bulgu)

Etki

Bir kaynak GET ile korunuyordu ancak aynı kaynağın DELETE metodu yetki kontrolünden yoksundu; bu, yetkisiz silmeye izin veriyordu.

Öneri

Yetki kontrolünü tüm HTTP metotları için tutarlı ve merkezi biçimde uygulayın; metot bazlı boşlukları test ile kapatın.

Sonuç

Ne teslim alırsınız, kimler için?

Ne teslim alırsınız?

  • Rol/kaynak erişim matrisi ve beklenen-gerçek karşılaştırması
  • Yetkilendirme bulgu kataloğu (kanıt + etki + CVSS)
  • IDOR/BOLA ve yetki yükseltme senaryolarının kanıtlı gösterimi
  • Çok kiracılı izolasyon değerlendirmesi (varsa)
  • Önceliklendirilmiş giderme yol haritası
  • Aktarım görüşmesi ve giderme sonrası yeniden test

Kimler için?

  • Rol tabanlı erişim (RBAC) kullanan tüm uygulamalar
  • Çok kiracılı (multi-tenant) SaaS platformları
  • Admin/kullanıcı/misafir gibi çok seviyeli portallar
  • Hassas veya düzenlemeye tabi veri işleyen sistemler
Ne zaman?

Bu hizmeti ne zaman düşünmelisiniz?

  • Yeni roller, ayrıcalık seviyeleri veya izin modeli eklendiğinde
  • Çok kiracılı mimariye geçildikten sonra
  • Yeni yönetim paneli veya ayrıcalıklı işlevler devreye alınırken
  • Veri koruma/gizlilik uyum gereksinimlerini karşılamak için
Karşılaştırma

Yetkilendirme Testi mi, Kimlik Doğrulama Testi mi?

Yetkilendirme TestiKimlik Doğrulama Güvenlik Testi
Yanıtladığı soruKim neye erişebilir?Kullanıcı gerçekten iddia ettiği kişi mi?
Öne çıkan risklerIDOR/BOLA, yetki yükseltme, izolasyonKaba kuvvet, oturum, MFA, token
Ana yöntemRoller arası sistematik erişim testiKimlik akışı ve oturum testi
İdeal tamamlayıcıKimlik doğrulama testiyle birlikteYetkilendirme testiyle birlikte
SSS

Sıkça Sorulan Sorular

IDOR ve BOLA aynı şey mi?
Büyük ölçüde örtüşürler. IDOR (Insecure Direct Object Reference) klasik web bağlamında, BOLA (Broken Object Level Authorization) API bağlamında kullanılır; ikisi de bir kullanıcının başkasının nesnesine yetkisiz erişmesini tarif eder.
Kaç test hesabı sağlamalıyız?
İdeal olarak her rol ve ayrıcalık seviyesi için en az ikişer hesap. Böylece hem roller arası (dikey) hem aynı rol içi (yatay) erişimi karşılaştırmalı test edebiliriz.
Arayüzde gizlediğimiz işlevler yeterince korunmuş sayılmaz mı?
Hayır. İstemcide gizlemek koruma değildir; uç nokta doğrudan çağrılabilir. Gerçek koruma yalnızca sunucu tarafında her istekte yetki zorlamasıyla sağlanır.
Çok kiracılı mimarimiz için ekstra bir şey gerekir mi?
Evet. Kiracı izolasyonu ayrı ve titiz test gerektirir; tek bir izolasyon kusuru tüm müşteri tabanını etkileyebileceği için bunu özel olarak ele alırız.
Test sırasında veri değiştirir misiniz?
Kavram kanıtı için gereken minimum ve tahribatsız işlemleri, önceden mutabık kalarak yaparız. Mümkünse test verisi/hesapları ve staging ortamını tercih ederiz.
RBAC kullanıyoruz, yine de gerekli mi?
Evet. RBAC tanımlamak, doğru uygulandığını garanti etmez. Test, rol tanımlarının her uç noktada tutarlı ve eksiksiz zorlanıp zorlanmadığını kanıtlar.
Bu API güvenlik testiyle çakışır mı?
Kesişir. API güvenlik değerlendirmesi de BOLA/işlev düzeyi yetkiyi içerir; yetkilendirme testi ise hem arayüz hem API genelinde erişim modeline uçtan uca odaklanır. Kapsam birlikte netleştirilir.
Sonuçta %100 güvenli olur muyum?
Hayır. Test, mevcut erişim modelindeki kusurları ortaya çıkarır ve azaltır. Yeni roller ve özellikler yeni riskler getirebilir; her önemli değişiklikten sonra tekrar önerilir.
Sonraki adım

İlgili hizmetler, araçlar ve rehberler

Yetkilendirme Testi için başlayalım

Kapsamı netleştirelim, önceliklerinizi belirleyelim ve size özel, şeffaf bir güvenlik yol haritası çıkaralım — abartılı vaat değil, ölçülebilir risk azaltma.