IDOR (Insecure Direct Object Reference) — Nedir, Nasıl Çalışır, Nasıl Korunulur?
Yetkilendirme zafiyetleri üzerinden veri sızıntısına yol açan IDOR açığını örnekleriyle, tespit yöntemleriyle ve KVKK etkileriyle birlikte ele alan kapsamlı rehber.
1. IDOR (Güvensiz Doğrudan Nesne Referansı) Nedir?
IDOR, uygulamalarda yetkilendirme kontrollerinin eksik veya yetersiz olması nedeniyle bir kullanıcının başka bir kullanıcının verilerine doğrudan erişebilmesini sağlayan bir güvenlik açığıdır. Genelde kullanıcı ID, dosya isimleri veya URL parametreleri gibi doğrudan referanslarla istismar edilir.
2. IDOR Açığı Nasıl Ortaya Çıkar?
Çoğu web uygulaması veri tanımlamak için benzersiz kimlikler (ID) kullanır. Eğer uygulama her istek için erişim yetkisini doğrulamıyorsa, saldırgan URL veya parametreleri değiştirerek başka kullanıcılara ait verilere erişebilir.
https://site.com/user/profile?id=1023
Yetkilendirme kontrolü yoksa, id=1024 ile başka profiller görüntülenebilir — bu tam bir IDOR senaryosudur.
3. IDOR Hangi Riskleri Taşır?
- Kişisel verilerin ifşası (KVKK/GDPR ihlali)
- Kullanıcı hesaplarının ele geçirilmesi
- Finansal bilgilerin sızdırılması
- Sistem güvenilirliğinin zedelenmesi
- Marka ve itibar kaybı
IDOR, yüzeyde basit görünse de, doğru koşullar oluştuğunda sistemin en hassas verilerini açığa çıkarabilir. Bu nedenle yazılım geliştirme yaşam döngüsünde (SDLC) yetkilendirme kontrolleri öncelikli olmalıdır.
4. Gerçek Hayattan Örnek
E-ticaret sitesinde sipariş görüntüleme:
https://eticaret.com/orders/view?order_id=56789
Eğer sistem sadece order_id kontrolü yapıyor fakat isteği yapan kullanıcının o siparişi görmeye yetkisi olup olmadığını doğrulamıyorsa, order_id değiştirerek başka birinin sipariş detaylarına erişilebilir — kişisel veri ve sipariş bilgileri açığa çıkar.
5. IDOR Açığı Nasıl Tespit Edilir?
Sızma testi (penetrasyon testi) aşamasında aşağıdaki tekniklerle IDOR tespit edilebilir:
- Manuel URL ve parametre manipülasyonu
- Proxy kullanarak istek parametrelerinin değiştirilmesi (Burp Suite, OWASP ZAP)
- Farklı kullanıcı rolleriyle yatay/dikey yetki denemeleri
- Otomatik tarama araçlarında oturum bağlamı ve erişim kontrollerinin incelenmesi
Tespit sürecinde, erişim kontrollerinin sadece kimlik doğrulamaya değil, her kaynak erişimine uygulanıp uygulanmadığına bakılmalıdır.
6. IDOR Açığına Karşı Nasıl Korunulur?
Geliştiriciler ve güvenlik ekipleri aşağıdaki önlemleri uygulamalıdır:
- Yetkilendirme Kontrolleri: Her kaynak isteğinde, kullanıcının o kaynağa erişme izni açıkça doğrulanmalı.
- Güvenli Tanımlayıcılar: Veritabanı içi ID'ler yerine UUID veya tahmin edilmesi zor anahtarlar kullanılabilir.
- RBAC: Rol tabanlı erişim kontrolleri (Role-Based Access Control) ile izinler net tanımlanmalı.
- Günlükleme & Alarm: Şüpheli parametre değişiklikleri ve yatay erişim denemeleri ayrıntılı loglanmalı ve uyarı üretmeli.
- Düzenli Pentest: IDOR gibi mantıksal zafiyetler yalnızca otomatik taramalarla yakalanmayabilir; manuel pentest şarttır.
Not: Güvenlik, sadece teknik kontrollerle sınırlı değildir — mimari kararlar, geliştirme standartları ve test süreçleri de IDOR riskini azaltmada kritik rol oynar.
7. IDOR ve KVKK Uyumu
IDOR kaynaklı veri sızıntısı, Türkiye’de 6698 sayılı KVKK kapsamında ciddi yaptırımlara yol açabilir. Özellikle müşteri bilgileri, sağlık veya finansal kayıtların ifşası durumunda kurumlar idari para cezaları ve itibar kaybıyla karşılaşır.
Bu yüzden IDOR gibi açıklara karşı alınacak teknik ve idari tedbirler (erişim kontrolleri, eğitim, pentest raporları, gizlilik sözleşmeleri) KVKK uyumunun ayrılmaz parçasıdır.
8. Sonuç ve Sık Sorulan Sorular (SSS)
Sonuç: IDOR, yetkilendirme kontrollerinin yetersizliğinden doğan ve ciddi veri ihlallerine yol açabilen bir güvenlik açığıdır. Yazılım geliştirme sürecinde her erişim isteği için yetki denetimi uygulamak, IDOR’u önlemenin en etkili yoludur.
SSS
- IDOR sadece kullanıcı profillerinde mi görülür? Hayır — dosya indirme linkleri, sipariş detayları, mesajlaşma, ödeme geçmişi gibi birçok bileşende ortaya çıkabilir.
- IDOR tespit edilirse ne yapılmalı? Önce yetkilendirme kontrolü eklenmeli, etkilenen kullanıcılar ve ilgili düzenleyici kurumlara (gerekirse) bildirim yapılmalı; KVKK süreçleri işletilmelidir.
- Sadece geliştiriciler mi sorumludur? Hayır — mimariler, test ekipleri, güvenlik ve yöneticiler birlikte sorumludur.

