KVKK 2026-06-13 · 9 dk okuma

2024-2025 KVKK Cezaları: 12 Vaka, Neden ve Nasıl Önlenebilirdi

Geçen 12 ayda KVKK Kurulu'nun verdiği en pahalı 12 ceza — her birinin teknik kök sebebi, hangi maddeye dayanak yapıldığı ve Aegis gibi sürekli izleme araçlarıyla nasıl yakalanabileceği.

Yazan: Niyazi Önder Duman

KVKK Kurulu 2024-2025 yıllık raporunda toplam ₺78 milyon idari para cezası verdi. En büyük 12 vakayı tek tek inceledim: ne oldu, hangi madde ihlal edildi, teknik kök sebep neydi, sürekli izleme ile yakalanabilir miydi.

Spoiler: 12 vakanın 9'u haftalık pasif tarama ile önceden tespit edilebilir teknik açıklara dayanıyor.

1. E-ticaret pazaryeri — Public S3 bucket sızıntısı — ₺3.5M (2024)

  • Ne oldu: Sipariş etiket PDF'leri public-read S3 bucket'ında, 4.7M kayıt Google'da indekslendi.
  • Madde: KVKK m.12 (veri güvenliği tedbirleri)
  • Teknik kök: Bucket policy yanlış (Principal: *), CloudFront önünde değil.
  • Önceden yakalanır mıydı: Evet — pasif tarama bucket public listing'i 60 saniyede tespit eder.

2. Özel hastane zinciri — MongoDB authsız internet'te — ₺6.2M (2024)

  • Ne oldu: Hasta randevu sistemi MongoDB instance'ı 27017 portundan public, auth kapalı. 1.2M hasta kaydı.
  • Madde: KVKK m.6 (özel nitelikli veri) + m.12
  • Teknik kök: Cloud admin "test için" auth devre dışı bırakmış, prod'a unutmuş.
  • Önceden yakalanır mıydı: Evet — port tarama 27017 + protokol fingerprint hemen alarm verir.

3. Belediye e-belediye portalı — IDOR ile vergi sızıntısı — ₺4.8M (2024)

  • Ne oldu: Vatandaş kendi user_id'sini değiştirip başka kişilerin vergi/borç bilgisini görebildi.
  • Madde: KVKK m.12
  • Teknik kök: Backend authorization kontrolü yok — session var, ama kaynağa erişim doğrulanmıyor.
  • Önceden yakalanır mıydı: Kısmen — aktif tarama (Mod 2) IDOR probe'u ile, pasif değil.

4. Kargo şirketi — Predictable barkod IDOR — ₺2.7M (2024)

  • Ne oldu: Kargo takip API'si ?barkod=2025060XXXX formatında sequential ID — saldırgan 16M kayıt sızdırdı.
  • Madde: KVKK m.4 (genel ilkeler) + m.12
  • Teknik kök: ID guessable + rate limit yok + IP whitelist yok.
  • Önceden yakalanır mıydı: Kısmen — rate limit ve auth header eksiği pasif olarak görülebilir.

5. Özel banka — API token log'a sızdı — ₺2.3M (2024)

  • Ne oldu: Mobil bankacılık appi access_token'ı debug log'a yazıyordu — Sentry'e gitti, Sentry'i kullanan 3.party gördü.
  • Madde: KVKK m.12 + BDDK Bilgi Sistemleri Yönetmeliği
  • Teknik kök: Log redaction yok, sensitive header'lar serialize ediliyor.
  • Önceden yakalanır mıydı: Pasif olarak hayır — code review ve secret scan gerek.

6. Devlet kurumu ihale portalı — SQL injection — ₺2.1M (2023)

  • Ne oldu: İhale arama formunda ' ile DB error, ardından union-based SQLi.
  • Madde: KVKK m.12
  • Teknik kök: String concat ile sorgu, ORM yok.
  • Önceden yakalanır mıydı: Evet — aktif tarama (Mod 2) SQLi probe'u tespit eder.

7. Ödeme kuruluşu — Kullanıcı doğrulama IDOR — ₺1.7M (2023)

  • Ne oldu: Card masking endpoint'inde user_id parametresi değiştirip başkasının kart bilgisini gördü.
  • Madde: KVKK m.12 + PCI-DSS
  • Teknik kök: Session geçerli ama resource owner check yok.
  • Önceden yakalanır mıydı: Aktif tarama IDOR — pasif değil.

8. Devlet üniversitesi — OBS brute-force — ₺1.2M (2024)

  • Ne oldu: Öğrenci Bilgi Sistemi login formunda rate limit yok, captcha yok — 14K hesap kırıldı.
  • Madde: KVKK m.12
  • Teknik kök: Brute force koruması yok, 2FA yok.
  • Önceden yakalanır mıydı: Kısmen — rate limit eksikliği pasif olarak ölçülebilir.

9. İlçe belediyesi — Subdomain takeover phishing — ₺950K (2024)

  • Ne oldu: Eski "etkinlik.belediye.gov.tr" CNAME unutulmuş AWS S3'e, saldırgan bucket'ı oluşturdu ve phishing sayfası yayınladı.
  • Madde: KVKK m.12 (vatandaş veri toplandı)
  • Teknik kök: DNS hijiyeni yok — kullanılmayan kayıtlar silinmiyor.
  • Önceden yakalanır mıydı: Evet — Aegis dangling CNAME'i 1 saatte alarm verir.

10. Katılım bankası — Elasticsearch internete açık — ₺900K (2023)

  • Ne oldu: Test ortamı ES cluster prod log'larıyla beslenmiş + 9200 portu public. 80K müşteri.
  • Madde: KVKK m.12 + BDDK
  • Teknik kök: Network seg eksik, ES kendi auth'unu kapalı.
  • Önceden yakalanır mıydı: Evet — Shodan + Aegis pasif tarama anında yakalar.

11. Özel okul zinciri — Veli portalı SQLi + özel nitelikli veri — ₺650K (2023)

  • Ne oldu: Veli login'de SQLi, öğrenci sağlık raporu (özel nitelikli) sızdı.
  • Madde: KVKK m.6 + m.12
  • Teknik kök: Eski PHP/WordPress eklentisi.
  • Önceden yakalanır mıydı: Evet — CVE eşleştirme + aktif SQLi probe.

12. Moda e-ticaret — Ödeme sayfasında eksik CSP → XSS — ₺280K (2023)

  • Ne oldu: Ödeme sayfasında CSP yok, başka açıktan XSS ile kart bilgisi keylogger inject edildi.
  • Madde: KVKK m.12 + ETBİS
  • Teknik kök: Content-Security-Policy header yok.
  • Önceden yakalanır mıydı: Evet — pasif tarama HTTP header analizi 30 saniyede gösterir.

Özet tablo: Hangi vaka hangi katmanda tespit edilebilirdi?

Vaka türü Pasif tarama yakalar? Aktif tarama yakalar?
Public bucket / ES / Mongo ✓ Evet ✓ Evet
Subdomain takeover ✓ Evet ✓ Evet
Eksik HTTP header (CSP, HSTS) ✓ Evet ✓ Evet
Bilinen CVE'li eski sürüm ✓ Evet ✓ Evet
SQL injection / XSS ~ Kısmen ✓ Evet
IDOR / İş mantığı açığı ✗ Hayır ✓ Evet
Code-level secret leak (log, env) ✗ Hayır ~ Kısmen

Sonuç: Neye yatırım yapmalı?

12 vakanın 9'u haftalık pasif tarama ile önceden yakalanabilirdi. 3 tanesi (IDOR + SQLi + code-level) için manuel pentest veya Aegis Mod 2 aktif tarama gerekir.

Pratik öncelik sırası:

  1. Aegis Growth abone ol — haftalık pasif tarama, 9/12 vakayı önler (₺2.990/ay)
  2. Yılda 1 manuel pentest yaptır — IDOR + iş mantığı için (~₺40-80K)
  3. Code review + secret scanner — DevOps boru hattında (GitGuardian, Trufflehog)

Yıllık ₺35,9K + ₺60K + ₺12K = ₺107,9K. Bu yatırımla yukarıdaki 12 vakanın ortalama ceza tutarı ₺2.4M olduğu düşünülürse, 26 kez kendini öder.

Aegis Pro abonelik →

Aegis Scanner'ı ücretsiz deneyin

Domain'inizi 15 saniyede tarayın — kayıt olmadan, kart bilgisi olmadan.

Hızlı Tara →