kullanici1
Nisan 13, 2026

Bilgi sistemlerinde güvenlik yalnızca kullanıcıların kimliğinin doğrulanması ile sağlanmaz; aynı zamanda bu kullanıcıların hangi kaynaklara erişebileceğinin doğru şekilde belirlenmesi gerekir. Bu süreç yetkilendirme (authorization) olarak adlandırılır ve sistem güvenliğinin en kritik bileşenlerinden biridir. Kimlik doğrulama doğru çalışsa bile yetkilendirme hataları, saldırganların sistem üzerinde yetkisiz işlemler gerçekleştirmesine neden olabilir.
Günümüzde birçok güvenlik ihlali, karmaşık saldırı tekniklerinden ziyade basit yetkilendirme hatalarından kaynaklanmaktadır. Bu hatalar genellikle geliştirme sürecindeki eksiklikler, yanlış yapılandırmalar veya iş mantığı hataları nedeniyle ortaya çıkar. Bu makalede yetkilendirme hatalarının nasıl oluştuğu, hangi durumlarda ortaya çıktığı ve neden kritik olduğu detaylı şekilde ele alınacaktır.
Yetkilendirme hataları, bir kullanıcının sahip olmaması gereken erişim haklarına sahip olması veya yetkisi dışında işlemler gerçekleştirebilmesidir. Bu durum, sistemin erişim kontrol mekanizmalarının doğru şekilde çalışmadığını gösterir.
Bu hatalar genellikle iki şekilde ortaya çıkar. İlk durumda kullanıcı, başka bir kullanıcının verilerine erişebilir (yatay yetki ihlali). İkinci durumda ise düşük yetkili bir kullanıcı, admin seviyesinde işlemler gerçekleştirebilir (dikey yetki ihlali).
Yetkilendirme hataları, çoğu zaman sistemin iş mantığı ile doğrudan ilişkilidir ve bu nedenle tespit edilmesi diğer zafiyetlere göre daha zor olabilir.
Yetkilendirme hataları genellikle erişim kontrol mekanizmalarının eksik veya hatalı uygulanmasından kaynaklanır. Bir kullanıcı bir işlem gerçekleştirdiğinde, sistemin bu işlemi kontrol etmesi gerekir. Ancak bu kontrol eksikse veya yanlış yerde uygulanıyorsa zafiyet oluşur.
Örneğin bir API endpoint’i, yalnızca admin kullanıcılar tarafından erişilebilir olması gerekirken herhangi bir kullanıcı tarafından çağrılabiliyorsa bu bir yetkilendirme hatasıdır.
Benzer şekilde, kullanıcıya ait bir veri yalnızca o kullanıcı tarafından erişilebilir olmalıdır. Eğer başka bir kullanıcı, parametre değiştirerek bu veriye ulaşabiliyorsa yine bir yetkilendirme açığı oluşur.
Bu durum, yetkilendirme kontrollerinin her işlem için ayrı ayrı yapılması gerektiğini gösterir.
Saldırganlar yetkilendirme hatalarını tespit ederken genellikle sistemin davranışını analiz eder. Amaç, hangi işlemlerin kontrol edilmediğini veya eksik kontrol edildiğini bulmaktır.
Örneğin bir saldırgan, farklı kullanıcı hesapları ile sisteme giriş yaparak hangi işlemleri gerçekleştirebildiğini test eder. Daha sonra bu işlemleri manipüle ederek erişim sınırlarını aşmaya çalışır.
Ayrıca URL parametreleri, API istekleri ve form verileri değiştirilerek sistemin tepkisi gözlemlenir. Bu yöntemler, yetkilendirme hatalarının ortaya çıkarılmasında oldukça etkilidir.
Yetkilendirme hatalarının en yaygın nedeni, eksik erişim kontrolüdür. Geliştiriciler bazı işlemler için yetki kontrolü eklemeyi unutabilir veya bu kontrolü yanlış yerde uygulayabilir.
Hardcoded (sabit) rol kontrolleri de önemli bir problemdir. Kullanıcı rolleri dinamik olarak kontrol edilmek yerine sabit şekilde tanımlanırsa, bu durum sistemde açık oluşturabilir.
IDOR (Insecure Direct Object Reference) zafiyetleri de yetkilendirme hatalarının en bilinen örneklerinden biridir. Kullanıcıların, parametre değiştirerek başka verilere erişebilmesi bu kategoriye girer.
Ayrıca frontend tarafında yapılan kontroller, backend tarafında doğrulanmadığında kolayca bypass edilebilir. Bu durum ciddi güvenlik açıklarına yol açar.
Yetkilendirme hatalarının önemli bir kısmı iş mantığı hatalarından kaynaklanır. Sistem doğru şekilde çalışıyor gibi görünse de belirli senaryolarda güvenlik açıkları ortaya çıkabilir.
Örneğin bir kullanıcı, belirli bir işlemi yalnızca belirli bir sırayla gerçekleştirmesi gerekirken bu sıralama kontrol edilmezse, saldırgan bu süreci manipüle edebilir.
Bu tür hatalar genellikle otomatik araçlarla tespit edilemez ve manuel analiz gerektirir.
Modern uygulamalarda yetkilendirme hataları genellikle API seviyesinde ortaya çıkar. API endpoint’leri doğru şekilde korunmazsa, saldırganlar doğrudan bu endpoint’lere istek göndererek yetkisiz işlemler gerçekleştirebilir.
Token tabanlı sistemlerde, token doğrulama sürecindeki hatalar da yetkilendirme açıklarına yol açabilir. Örneğin token’ın doğrulanmadan kullanılması veya yanlış yetki bilgisi içermesi bu duruma örnektir.
Bu durum, modern sistemlerde yetkilendirme kontrollerinin ne kadar kritik olduğunu gösterir.
Yetkilendirme hataları ciddi güvenlik ihlallerine yol açabilir. En büyük risk, yetkisiz erişimdir. Saldırganlar sistem üzerinde yetkisi olmayan işlemleri gerçekleştirebilir.
Bu durum veri sızıntısı, hesap ele geçirme ve sistem manipülasyonu gibi sonuçlar doğurur. Özellikle kurumsal sistemlerde bu tür açıklar büyük çaplı zararlara neden olabilir.
Ayrıca saldırganlar bu açıkları kullanarak yetki yükseltme gerçekleştirebilir ve sistem üzerinde daha geniş kontrol elde edebilir.
Yetkilendirme hatalarını önlemek için her işlem için ayrı ayrı erişim kontrolü uygulanmalıdır. Backend tarafında yapılan kontroller, güvenliğin temelini oluşturur.
Minimum yetki prensibi uygulanmalı ve kullanıcıların yalnızca gerekli kaynaklara erişmesi sağlanmalıdır.
Ayrıca rol ve yetki yönetimi merkezi olarak kontrol edilmeli ve düzenli olarak denetlenmelidir. Güvenli kodlama standartları uygulanarak bu tür hataların oluşması baştan engellenmelidir.