SSL Sertifika Analizi Açık Port Tespiti Web Uygulama Tarama DNS Güvenlik Denetimi HTTP Başlık Analizi Yanlış Yapılandırma Tespiti Yazılım Parmak İzi Alt Alan Adı Tarama
SSL Sertifika Analizi Açık Port Tespiti Web Uygulama Tarama DNS Güvenlik Denetimi HTTP Başlık Analizi Yanlış Yapılandırma Tespiti Yazılım Parmak İzi Alt Alan Adı Tarama

Tüm Kayıtlar

Kategori Erişim Kontrolü / Yetkilendirme
Tipik Önem Derecesi Kritik
OWASP A01:2021 – Bozuk Erişim Kontrolü
CWE CWE-284 (Hatalı Erişim Kontrolü), CWE-285 (Hatalı Yetkilendirme), CWE-639 (IDOR)
Diğer adları Güvensiz Doğrudan Nesne Referansı (IDOR), Yetki Yükseltme, Yetkisiz Erişim, Zorla Gezinme
Etkilenen sistemler Web uygulamaları, REST API'ler, mobil arka uçlar, yönetim panelleri, çok kiracılı SaaS platformları

Genel Bakış

Bozuk Erişim Kontrolü, OWASP Top 10 (2021) listesinin 1. sırasında yer almakta ve test edilen uygulamaların %94'ünde tespit edilmektedir. Bu kategori, bir sistemin kullanıcıların hangi işlemleri gerçekleştirebileceğini veya hangi verilere erişebileceğini doğru biçimde kısıtlayamaması durumlarının tamamını kapsamaktadır. Kimlik doğrulama hataları (kullanıcının kim olduğu) ile karşılaştırıldığında, erişim kontrolü hataları kimliği doğrulanmış —hatta doğrulanmamış— kullanıcıların ne yapmasına izin verildiğini ele alır.

Erişim kontrolü zafiyetleri; yatay yetki yükseltme (aynı yetki seviyesindeki başka bir kullanıcının verilerine erişme) ile dikey yetki yükseltme (yönetici ya da daha yüksek yetkili işlevlere erişme) arasında uzanmakta; kimliği doğrulanmamış kullanıcıların korumalı uç noktalara tamamen ulaşmasını da kapsamaktadır.

Nasıl çalışır?

Erişim kontrolü zafiyetleri, sunucu tarafı yetkilendirme mantığının eksik, yetersiz ya da tutarsız biçimde uygulanmasından kaynaklanır. Yaygın örüntüler şunlardır:

  • Güvensiz Doğrudan Nesne Referansı (IDOR): GET /api/faturalar/4821 gibi bir API uç noktası, isteği yapan kullanıcının söz konusu faturaya sahip olup olmadığını doğrulamadan yalnızca kullanıcının sağladığı kimliğe göre veri döndürür. Saldırgan kimlikleri numaralandırarak diğer kullanıcılara ait kayıtlara erişir.
  • Zorla gezinme (Forced Browsing): Sunucu, yalnızca arayüzde bağlantıları gizlediği için hassas sayfalar (örn. /admin/dashboard, /raporlar/disa-aktar) doğrudan URL gezintisiyle ulaşılabilir durumdadır; sunucu tarafında yetkilendirme uygulanmamaktadır.
  • İşlev düzeyinde eksik erişim kontrolü: Sıradan bir kullanıcı, rol denetimi içermeyen bir yönetici API uç noktasını (örn. DELETE /api/kullanicilar/:id) keşfeder ve başarıyla çağırabilir.
  • İstemci tarafı erişim kontrolü: Yetkilendirme kararları, istemcinin değiştirebileceği gizli form alanlarına, JavaScript bayraklarına ya da JWT taleplerine dayanır (örn. imzasız veya zayıf imzalı bir token'da "rol":"kullanici" değerini "rol":"admin" olarak değiştirmek).
  • CORS yanlış yapılandırması: Aşırı izin verilen Çapraz Kaynak Paylaşımı (CORS) politikaları, kötü amaçlı üçüncü taraf sitelerin kimlik bilgili istekler göndermesine olanak tanır.
  • Yol geçişiyle erişim kontrolü atlatma: /admin/../kullanici/profil gibi URL manipülasyonu, yalnızca değişmez yol ön ekini denetleyen ara yazılımı atlatır.
  • Meta veri manipülasyonu: Sunucu kriptografik doğrulama yapmadan güvendiğinde çerezlerin, JWT token'larının veya erişim düzeyini kontrol eden istek parametrelerinin kurcalanması.

İş etkisi

Bozuk erişim kontrolünün başarıyla istismar edilmesi ciddi ve çok boyutlu sonuçlar doğurabilir:

  • Veri ihlali: Saldırganlar, diğer kullanıcılara veya kuruma ait kişisel tanımlayıcı bilgileri (PII), finansal kayıtları, sağlık verilerini ya da fikri mülkiyeti sızdırabilir.
  • Veri manipülasyonu veya silme: Yetki yükseltme, kayıtların, yapılandırmaların veya kullanıcı hesaplarının değiştirilmesine ya da geri alınamaz biçimde silinmesine yol açabilir.
  • Hesap ele geçirme: Yeterli denetim olmadan açığa çıkan yönetici işlevleri, saldırganların herhangi bir hesabın şifresini sıfırlamasına, e-posta adresini değiştirmesine ya da çok faktörlü kimlik doğrulamayı devre dışı bırakmasına olanak tanır.
  • Yasal ve düzenleyici yükümlülük: Kullanıcı verilerinin ifşası, GDPR, HIPAA, PCI-DSS ve benzeri düzenlemeleri ihlal ederek önemli mali cezalara ve zorunlu ihlal bildirimlerine neden olabilir.
  • İtibar kaybı: Erişim kontrolü hatalarından kaynaklanan bir veri ihlalinin kamuoyuna duyurulması, müşteri güvenini ve marka değerini zedeler; bu etki genellikle uzun süreli ticari sonuçlar doğurur.

Nasıl düzeltilir?

  1. Her istekte sunucu tarafında yetkilendirmeyi zorunlu kılın: Yalnızca arayüzde bağlantı veya düğme gizlemeye güvenmeyin. Her API uç noktası ve sunucu tarafında render edilen sayfa, veri döndürmeden veya eylem gerçekleştirmeden önce isteği yapan kullanıcının kimliğini ve yetkilerini bağımsız olarak doğrulamalıdır.
  2. Varsayılan reddetme politikası benimseyin: Açıkça izin verilmediği sürece erişim reddedilmelidir. Yeni uç noktalar ve kaynaklar, açık erişimi miras almak yerine pozitif izin onayları gerektirmelidir.
  3. Dolaylı nesne referansları veya GUID kullanın: Sıralı sayısal kimlikleri tahmin edilemez tanımlayıcılarla (örn. UUID) değiştirin ve herhangi bir referansı çözerken sunucuda sahipliği veya izni her zaman doğrulayın.
  4. Rol tabanlı veya nitelik tabanlı erişim kontrolü (RBAC/ABAC) uygulayın: İzinleri merkezi olarak özel bir yetkilendirme katmanında veya kütüphanesinde tanımlayın. Geçici rol denetimlerini kod tabanına dağıtmaktan kaçının.
  5. JWT token'larını titizlikle doğrulayın: Sunucu tarafından yönetilen güçlü imzalama anahtarları kullanın; alg başlığını doğrulayın; "alg":"none" içeren token'ları reddedin; hedef kitle ve son kullanma tarihi dahil tüm talepleri doğrulayın.
  6. Erişim kontrolü hatalarını kaydedin ve uyarı oluşturun: Yetkilendirme redlerini kullanıcı kimliği, zaman damgası, kaynak ve eylemle birlikte kaydedin. Olağandışı örüntüler için (örn. tek bir kullanıcıdan tekrarlanan 403 yanıtları) uyarı sistemi kurun.
  7. Erişim kontrolü için otomatik testler yazın: Kullanıcıların başka kullanıcılara ait kaynaklara veya daha yüksek yetki düzeyindeki işlevlere erişemediğini doğrulayan entegrasyon ve regresyon testleri ekleyin. Bu testleri CI/CD süreçlerine dahil edin.
  8. CORS politikalarını gözden geçirin: Access-Control-Allow-Origin değerini yalnızca açıkça gereken kaynaklarla sınırlandırın; kimlik bilgili isteklerde asla * kullanmayın.
  9. Düzenli erişim kontrolü incelemeleri yapın: Kod incelemelerinde izin matrislerini ve erişim kontrolü mantığını gözden geçirin; özellikle yeni özellik ekleme veya yeniden yapılandırmanın ardından üretim yapılandırmalarını periyodik olarak denetleyin.

Sensagraph, sürekli tarama sırasında açığa çıkan yönetici yolları, IDOR'a yatkın uç nokta örüntüleri ve aşırı izin verilen CORS yapılandırmaları dahil olmak üzere yaygın bozuk erişim kontrolü göstergelerini otomatik olarak tespit eder.

Kaynaklar

Sıkça sorulan sorular

Kimlik doğrulama, bir kullanıcının kimliğini doğrular (kim olduğunuzu belirler). Erişim kontrolü ise yetkilendirme olarak da bilinir ve kimliği doğrulanmış bir kullanıcının ne yapmasına ya da neye erişmesine izin verildiğini belirler. Bozuk erişim kontrolü zafiyetleri, kimlik doğrulama doğru çalışsa bile yetkilendirme katmanında ortaya çıkar.

IDOR, bozuk erişim kontrolünün belirli bir alt türüdür. Uygulama, dahili bir nesne referansını (örn. /faturalar/4821 gibi bir URL'deki veritabanı kimliği) açığa çıkarır ve isteği yapan kullanıcının o nesneye erişim yetkisi olup olmadığını doğrulamaz. Saldırgan referansı değiştirerek diğer kullanıcılara ait verilere ulaşabilir.

Yatay yetki yükseltme, bir kullanıcının aynı yetki seviyesindeki başka bir kullanıcıya ait verilere veya işlevlere erişmesi durumudur (örn. A kullanıcısının B kullanıcısının profilini okuması). Dikey yetki yükseltme ise daha düşük yetkili bir kullanıcının, sıradan bir kullanıcının yönetici uç noktalarına erişmesi gibi daha yüksek yetkili işlevlere erişim kazanmasıdır.

Hayır. İstemci tarafında uygulama (arayüz öğelerini gizleme, JavaScript bayrakları kullanma veya doğrulanmamış token'lara güvenme) kolaylıkla atlatılabilir. Tüm erişim kontrolü kararları, istemcinin arayüzde ne sunduğundan bağımsız olarak her istekte sunucu tarafında uygulanmalıdır.

Bozuk Erişim Kontrolü, test edilen uygulamaların %94'ünde bulunması ve ilgili CWE'lerin 318.000'den fazla örneğinin tespit edilmesi nedeniyle OWASP Top 10 2021'de 1. sıraya yükseldi. Bu yaygınlık; yetkilendirme mantığının tüm uygulama yüzeylerinde kapsamlı biçimde uygulanmasının güçlüğünü ve erişim kontrolünün sonradan düşünülen bir unsur olarak ele alınma eğilimini yansıtmaktadır.