IDOR Açığı Nasıl Tespit Edilir ve Nesne Seviyesinde Yetkilendirme Nasıl Uygulanır?

0 Cavab 8 Baxış
Qiymətləndirənlər
İştirakçılar
Mövzunu Açan #1
IDOR (Insecure Direct Object References) açığı, uygulamalarda kullanıcıların erişim kontrolü düzgün sağlanmadığında ortaya çıkan kritik bir güvenlik zafiyetidir. Bu açık, genellikle doğrudan nesne referanslarının (örneğin, dosya ID’leri, kullanıcı ID’leri veya sipariş numaraları) kontrol edilmeden kullanılmasıyla oluşur. Bu nedenle, saldırganlar bu referansları tahmin ederek veya değiştirilerek yetkisiz verilere ulaşabilir. Peki, bu açığın tespiti ve önlenmesi nasıl yapılmalı?

İlk aşamada, IDOR tespiti genellikle manuel veya otomatik sızma testi araçlarıyla gerçekleştirilir. Otomatik araçlar (Burp Suite, OWASP ZAP gibi) kullanılarak şu adımlar izlenir:

  1. Uygulama üzerinde erişim sağlanan herhangi bir nesne referansı (ID, anahtar vb.) yakalanır.
  2. Bu referanslar farklı kullanıcı hesapları veya roller aracılığıyla değiştirilir.
  3. Eğer farklı kullanıcıların verilerine erişim sağlanıyorsa, bu açık var demektir.


İkinci aşamada, uygulamanın kod ve yapı analiziyle aşağıdaki noktalar kontrol edilmelidir:

  • Nesne referanslarının tahmin edilebilirliği (sıralı, artan veya rastgele olup olmadığı).
  • Doğrudan nesne çağrısı yapan API veya URL parametrelerinde erişim kontrolünün olup olmadığı.
  • Kullanıcıların ve nesne referanslarının uygun şekilde doğrulanıp doğrulanmadığı.


Nesne seviyesinde yetkilendirme uygulamak ise, sadece kimlik doğrulama değil, aynı zamanda erişim kontrolünün de katmanlı ve detaylı yapılmasını gerektirir. Bu noktada şu temel ilkeler devreye girer:

  • Erişim Kontrolü Katmanı: Her nesne erişimi sırasında, kullanıcının bu nesneye yetkili olup olmadığını belirlemek için sunucu tarafında kontrol yapılmalı.
  • Rol ve Yetki Yönetimi: Kullanıcıların rollerine göre (örneğin admin, kullanıcı, misafir) erişim sınırlandırılmalı.
  • Object-Relational Mapping (ORM) veya API seviyesinde filtreleme: Veritabanı sorguları, kullanıcının yetkilerine göre sınırlandırılmalı.

    Örneğin, REST API kullanırken, kullanıcı ID’si veya belge ID’si gibi parametrelerin kontrol edilmesi ve kullanıcının bu nesne üzerinde yetkili olup olmadığının doğrulanması gerekir. Ayrıca, nesne referansları rastgele (UUID gibi) oluşturulmalı, tahmin edilmesi zor hale getirilmelidir.

    Son olarak, güvenlik testleri düzenli olarak yapılmalı ve kod seviyesinde erişim kontrolleri uygulandığında, bu tür açıkların önüne geçmek mümkün olur. IDOR açığını tespit etmek ve önlemek, uygulama güvenliğinin temel taşlarından biridir ve detaylı planlama ile sağlanır.
  • Cavab vermək üçün daxil olmalısınız.

    0 sitat seçildi