OWASP API Top 10 (2023): KVKK Açısından Pratik Kontrol Listesi
OWASP API Top 10'un 2023 sürümü 10 maddesini tek tek alıp KVKK açısından sınıflandırdım. Her madde için: kısa açıklama, KVKK ilişkisi, Aegis Scanner'da nasıl tespit edildiği, hızlı kontrol komutu.
OWASP API Security Top 10'un 2023 listesi 2019'a göre büyük değişiklik geçirdi — özellikle authorization odaklı maddeler kuvvetlendirildi (BOLA, BFLA, BOPLA). Bu yazıda 10 madde için kısa pratik özet + KVKK karşılığı + Aegis ile tespit notu paylaşıyorum.
API1:2023 — Broken Object Level Authorization (BOLA / IDOR)
Nedir: Kullanıcı kendi objesine erişebiliyor — ama kontrol etmeden başka kullanıcının objesini de erişebiliyor (URL'deki ID'yi değiştirerek).
KVKK ilişkisi: m.12 ihlali — kişisel veriye yetkisiz erişim. Türkiye'de en sık ceza alan kategori.
Aegis tespiti: Mod 2 (aktif) IDOR probe — numeric ID'leri ±1 / ±100 ile dener; dönen response'ta farklı kullanıcı verisi varsa flag.
Hızlı kontrol: Login olduktan sonra /api/users/123/orders endpoint'inde 123'ü 124 yapın. Eğer 200 + farklı veri dönerse BOLA var.
API2:2023 — Broken Authentication
Nedir: Login, password reset, JWT, OAuth token akışlarında zayıflık. Brute force koruması yok, JWT secret zayıf, refresh token rotation yok.
KVKK ilişkisi: m.12 — hesap çalınmasıyla veri sızıntısı.
Aegis tespiti: Pasif — login form rate limit testi (5 yanlış deneme), JWT alg=none kabul ediliyor mu probe'u.
Hızlı kontrol: curl -X POST .../login'u 20 kez art arda yanlış parola ile çağırın. 4 deneme sonrası blocking yoksa risk.
API3:2023 — Broken Object Property Level Authorization (BOPLA)
Nedir: "Mass assignment" + "excessive data exposure" tek başlık altında. User PATCH endpoint'inde role: admin alanını update edebiliyor, veya GET response'u gizli alan döküyor.
KVKK ilişkisi: m.4 (genel ilkeler — amaca uygun, sınırlı) ihlali.
Aegis tespiti: Mod 2 — PATCH/PUT request'lerine ekstra field enjekte eder, response'u inceler.
API4:2023 — Unrestricted Resource Consumption
Nedir: Rate limit yok, bandwidth limit yok, pagination yok — saldırgan ?limit=1000000 ile DB kilitler veya tüm dataset'i sızdırır.
KVKK ilişkisi: Dolaylı — toplu sızıntı veri ihlali. m.12.
Aegis tespiti: Pasif — rate limit header (X-RateLimit-Remaining) varlığı, pagination parametreleri.
API5:2023 — Broken Function Level Authorization (BFLA)
Nedir: Normal kullanıcı /admin/users/delete endpoint'ini çağırabiliyor. Function-level auth eksik.
KVKK ilişkisi: m.12 — yetkisiz silme/değişiklik.
Aegis tespiti: Mod 2 — login token'la admin path probe'u; 200/401 farkına bakar.
API6:2023 — Unrestricted Access to Sensitive Business Flows
Nedir: Iş süreçleri (sipariş, parola sıfırlama, rezervasyon) otomasyona açık — bot envanter çalar, rakip stok bilgisini scrape eder, fiyat manipülasyonu yapar.
KVKK ilişkisi: Genelde rekabet/iş riski — KVKK ile dolaylı.
Aegis tespiti: Pasif — captcha/turnstile varlığı, anormal işlem rate sinyali.
API7:2023 — Server Side Request Forgery (SSRF)
Nedir: API kullanıcının URL'ini alıp arka planda istek atıyor (örn. webhook test, profil resmi indir). Saldırgan http://169.254.169.254/ (AWS metadata) gibi internal endpoint'lere ulaşıyor.
KVKK ilişkisi: m.12 — bulut kimlik token sızıntısı.
Aegis tespiti: Mod 2 SSRF probe — OOB callback ile dış DNS lookup yakalar.
API8:2023 — Security Misconfiguration
Nedir: Default credential'lar (admin/admin), debug endpoint açık, Swagger UI prod'da unauthenticated, CORS wildcard.
KVKK ilişkisi: m.12 — sistemsel zayıflık.
Aegis tespiti: Pasif — well-known path tarama (/swagger, /actuator, /.env, /admin), CORS header analizi.
API9:2023 — Improper Inventory Management
Nedir: "Eski API versiyonu hala canlı" — /v1 deprecated demiş ama duruyor; staging/dev API'leri prod ile aynı DB'ye bağlı.
KVKK ilişkisi: m.12 — gölge altyapı veri sızıntısı.
Aegis tespiti: Pasif — subdomain envanteri, sertifika şeffaflığı (CT) ile unutulmuş ortamları yakalar.
API10:2023 — Unsafe Consumption of APIs
Nedir: Sizin API'niz başka 3. taraf API'lerini güvensiz tüketiyor — TLS doğrulamadan, response'u parse etmeden execute ediyor.
KVKK ilişkisi: m.12 + m.9 (yurt dışı veri transferi — eğer 3. taraf yurtdışında).
Aegis tespiti: Pasif değil — code review gerektirir.
Kontrol checklist (kopyala-yapıştır)
[ ] BOLA: IDOR probe (login + ID değiştir) [ ] AUTH: Brute force koruması + 2FA [ ] BOPLA: Mass assignment + excessive data exposure [ ] RATE: X-RateLimit-* header + pagination max [ ] BFLA: Admin endpoint normal kullanıcıyla çağrılamamalı [ ] BIZFLOW: Captcha + bot detection [ ] SSRF: URL parametresi blacklist (RFC1918, 169.254.x) [ ] MISCONFIG: Swagger/debug prod'da kapalı, CORS strict [ ] INVENTORY: Subdomain envanteri + deprecated versiyon kapatma [ ] 3RD-PARTY: TLS verify + timeout + schema validate
Nasıl başlanır?
API1, API2, API8, API9 maddeleri Aegis Pro pasif tarama ile haftalık otomatik raporlanır. Diğer 6 madde için Mod 2 aktif tarama veya yıllık manuel pentest gerekir.
Tek başınıza checklist'i yürütmek 8-16 saat alır. Aegis Pro 30 saniyede yapar, hem de düzenli — aboneliğe başla.