BOLA (Broken Object Level Authorization) Nedir?

Ana Sayfa » API Security » BOLA (Broken Object Level Authorization) Nedir?

API güvenliği denince akla gelen ilk zafiyetlerden biri hiç şüphesiz BOLA (Broken Object Level Authorization). OWASP, API Security Top 10 listesinde BOLA’yı 1 numaraya yerleştirdi.

Peki BOLA nedir ?

BOLA, en temel Türkçe karşılığıyla Nesne Düzeyinde Yetkilendirme Açığı kullanıcıların kendilerine ait olmayan kaynaklara erişebilmesine yol açan bir güvenlik zafiyetidir.

Bir API genellikle user_id, order_id, account_number vb. gibi nesne kimlikleri kullanarak çalışır. Eğer uygulama bu nesneye erişim isteyen kullanıcının gerçekten yetkili olup olmadığını kontrol etmezse saldırgan sadece ID değerini değiştirerek başka bir kullanıcının verisine ulaşabilir.

Aslında web uygulamalarında bildiğimiz IDOR (Insecure Direct Object Reference) zafiyetinin API dünyasındaki karşılığıdır.

bola

Basit Bir BOLA Senaryosu

GET /api/orders/12345
Authorization: Bearer eyJhbGciOiJI...

Kullanıcı kendi siparişini görüntüler. Ama saldırgan 12345 yerine 12346 yazarsa ve sistem kontrol etmezse…

GET /api/orders/12346
Authorization: Bearer eyJhbGciOiJI...

Başka bir müşterinin sipariş bilgilerini görmüş olur.

BOLA’nın Gerçek Etkileri

Veri Sızıntısı: Kullanıcıların kişisel verileri açığa çıkar.

Yetkisiz İşlemler: Saldırgan, başkasının verisini silebilir veya güncelleyebilir.

Hesap Ele Geçirme: Kimlik doğrulama var ama yetki kontrolü yoksa, hesap takeover kolaylaşır.

Uyumluluk Riskleri: GDPR, KVKK, HIPAA gibi regülasyon ihlalleri doğar.

Kısacası, bir BOLA açığı zincirleme şekilde itibar kaybı + finansal zarar + yasal yaptırım risklerini beraberinde getirir.

BOLA Nasıl Tespit Edilir?

Pentest ve Red Team Çalışmaları: ID’ler manipüle edilerek test edilir.

Log Analizi: Aynı kullanıcının farklı ID’lere çok sayıda istek atması şüphelidir.

Otomatik Testler: DAST araçları veya özel API fuzzing araçları kullanılır.

WAF / API Security Çözümleri: (F5 XC, Akamai, Imperva vb.) davranış analiziyle BOLA’yı tespit edebilir.

BOLA Nasıl Önlenir?
1. Kod Tarafında

  • Nesne Düzeyinde Yetkilendirme Kontrolü Yapın
  • user_id parametresine güvenmeyin.
  • Kimliği doğrulanan kullanıcının sadece kendi nesnesine erişmesine izin verin.
  • Merkezi Yetkilendirme Katmanı Kullanın
  • Middleware veya policy engine ile her istek kontrol edilmeli.
  • En Az Yetki Prensibi
  • Kullanıcıya sadece ihtiyacı kadar erişim verilmeli.

2. API Gateway ve WAF Tarafında

Context-Aware Kontroller

Kullanıcı rolü, token içeriği ve nesne ID’si bağlamında analiz yapılmalı.

Anomali Tespiti

Aynı kullanıcı farklı ID’leri hızlıca deniyorsa, muhtemelen brute-force ID tahmini yapıyordur.

3. Güvenlik Testleri

Unit & Integration testlerde yetki kontrolleri senaryolarını mutlaka ekleyin.
OWASP API Security Testing Guide’ı referans alın.

BOLA, kulağa basit bir zafiyet gibi gelse de API güvenliğinde en kritik açık konumunda. Çünkü saldırganın karmaşık exploit geliştirmesine gerek yok sadece bir ID değiştirmesi yeterli.

Bu nedenle API geliştiricilerinin kimlik doğrulama ile yetkilendirme arasındaki farkı çok iyi anlaması gerekiyor. Sadece giriş yapmış olmak, her kaynağa erişim hakkı vermez.

Unutmayın:

Authentication ≠ Authorization

BOLA ≈ IDOR (API versiyonu)

Güvenlik katmanlı olmalı: Kod + API Gateway + WAF

Faydalı olması dileği ile…

BOLA (Broken Object Level Authorization) Nedir? - Yorumlar

YORUMLARINIZI PAYLAŞIN

 

Yapılan Yorumlar

BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler

API Nedir? Kısım-1

API Nedir? Kısım-1 30 Mayıs 2025

www.irfankocak.com

İrfan KOÇAK - Tüm Hakları Saklıdır