OWASP Top 10, web uygulamasi guvenliginde en kritik riskleri onceliklendiren endustri standardi bir listedir. 2021 surumu injection'dan SSRF'e kadar on ana kategoriyi kapsar; her biri gerçek dünya ihlallerinde kok neden olarak tekrar tekrar gorulur. Bu makale, her riskin teknik mekanizmasini, tipik exploit yolunu ve savunma katmanlarini derinlemesine inceler.
A01: Broken Access Control
Erişim kontrolu ihlali, yetkisiz kullanıcının baska kullanıcının verisine veya admin islevlerine erismesidir. IDOR (Insecure Direct Object Reference) en yaygın formdur: /api/orders/1234 URL'sindeki ID degistirilerek baska müşterinin siparisi gorulur. Savunma: sunucu tarafinda kaynak sahipligi kontrolu, RBAC/ABAC policy engine, default deny, ve otomatik IDOR testleri.
A02: Cryptographic Failures
Hassas verinin zayif sifreleme veya duz metin saklanmasi bu kategoriye girer. TLS olmayan iletim, MD5/SHA1 ile parola hash'i, hardcoded encryption key ve yanlış IV kullanımı tipik hatalardir. Savunma: TLS 1.2+, Argon2id/bcrypt parola hash, envelope encryption, HSM veya KMS ile key yönetimi, ve duzenli crypto audit.
A03: Injection
SQL injection, NoSQL injection, OS command injection, LDAP injection kullanıcı girdisinin yorumlayici olarak calistirilmasindan kaynaklanir. Klasik SQLi: ' OR 1=1-- ile authentication bypass. Savunma: parameterized query (prepared statement), ORM güvenli kullanımı, input validation, least privilege DB kullanıcısı, WAF ikincil katman.
// Guvensiz
var sql = "SELECT * FROM Users WHERE Email = '" + email + "'";
// Guvenli
await cmd.ExecuteAsync("SELECT * FROM Users WHERE Email = @email",
new { email });
A04: Insecure Design
Güvenlik acigi degil, guvenliksiz mimari tasarım bu kategoridedir. Örnekler: şifre sifirlama akisinda rate limit olmamasi, kupon sisteminde race condition, business logic bypass. Savunma: threat modeling (STRIDE), güvenli tasarım pattern'leri, abuse case test, ve security champion review.
A05: Security Misconfiguration
Varsayilan parolalar, gereksiz açık portlar, verbose hata mesajlari, CORS wildcard, debug modunun production'da açık kalmasi. Cloud storage bucket'inin public olmasi bu kategorinin sık gordugumuz ornegidir. Savunma: hardened baseline, otomatik config audit (CIS benchmark), IaC ile tekrarlanabilir güvenli yapılandırma, ve duzenli penetration test.
A06: Vulnerable and Outdated Components
Bilinen CVE iceren kutuphane kullanımı. Log4Shell (CVE-2021-44228) bu riskin en carparci ornegidir. Savunma: dependency scanning (Dependabot, Snyk), SBOM uretimi, patch SLA, ve vendor güvenlik bildirimlerine abonelik. CI pipeline'da kritik CVE bulunursa build fail.
A07: Identification and Authentication Failures
Zayif parola politikasi, credential stuffing'e karşı koruma eksikligi, session fixation, MFA bypass, ve güvenli olmayan şifre kurtarma. Savunma: MFA zorunlulugu, rate limiting ve CAPTCHA, güvenli session cookie (HttpOnly, Secure, SameSite), ve Have I Been Pwned entegrasyonu.
A08: Software and Data Integrity Failures
Unsigned update, CI/CD pipeline compromise, ve deserialization of untrusted data bu risk altindadir. SolarWinds tarzı supply chain saldirilari kritik ornektir. Savunma: imzali artefakt, SLSA provenance, dependency pinning, ve deserialization whitelist.
A09: Security Logging and Monitoring Failures
Saldırı gerceklese bile tespit edilememesi bu kategoridir. Log yoksa forensics imkansiz; log var ama alert yoksa MTTR uzar. Savunma: merkezi SIEM, anomali detection, kritik olay alert (başarısız login spike, privilege escalation), ve log integrity (append-only, WORM storage).
A10: Server-Side Request Forgery (SSRF)
Uygulama, saldirganin kontrol ettigi URL'ye sunucu tarafindan istek gondermesini sağlar. Cloud metadata endpoint (169.254.169.254) erisimi ile IAM credential calinabilir. Savunma: URL allowlist, metadata servis korumasi, network segmentation, ve outbound firewall kurallari.
Capraz kesit savunma stratejisi
- Shift-left: Tasarım asamasinda threat model, gelistirmede SAST, merge oncesi dependency scan.
- Runtime: RASP veya WAF, rate limit, bot detection.
- Assume breach: Zero trust network, micro-segmentation, ve incident response playbook.
OWASP ASVS ve olgunluk
Application Security Verification Standard (ASVS), uygulamanin güvenlik olgunluk seviyesini (Level 1–3) olcmek icin kontrol listesi sunar. Top 10 riskleri ASVS maddeleri ile eslestirmek, gap analizi ve roadmap olusturmayi kolaylastirir. Her release oncesi ilgili ASVS kontrolleri otomatik veya manual dogrulanir.
Metrikler ve yönetim
Güvenlik metrikleri: açık bulgu sayisi (Critical/High), ortalama duzeltme suresi (MTTR), tekrarlayan bulgu orani, penetration test bulgu trendi. Top 10 riskleri sprint backlog'una güvenlik story olarak girilir; "güvenlik sonradan" yaklasimi teknik borc üretir.
Gerçek dünya ornekleri
- Equifax (2017): Vulnerable component (Apache Struts) — A06.
- Capital One (2019): SSRF ile cloud metadata erisimi — A10.
- Çok sayida veri ihlali: Broken access control ve misconfigured S3 — A01, A05.
OWASP Top 10 checklist degil, risk onceliklendirme cercevesidir. Her madde icin derinlemesine savunma katmanları, otomasyon ve olgunluk ölçümü bir arada planlanmalidir. Güvenlik kulturu, gelistiricilerin Top 10'u gunluk kod review'inda referans almasi ile kalıcı hale gelir.
DevSecOps entegrasyonu
Güvenlik kontrolleri CI/CD pipeline'a gomulur: SAST (SonarQube, Semgrep), DAST (OWASP ZAP), container scan (Trivy), IaC scan (Checkov). Pull request'e güvenlik yorumu otomatik eklenir; Critical bulgu merge'i bloklar. Güvenlik ekibi gatekeeper degil enabler olur; self-service güvenlik araclari gelistiriciye sunulur.
API ve modern tehditler
2021 listesi geleneksel web uygulamasina odaklidir; API güvenliği icin OWASP API Security Top 10 ayri incelenmelidir. BOLA (Broken Object Level Authorization) API dunyasinda A01'in karsiligidir. GraphQL spesifik riskler (depth limit, batch query abuse) ayri ele alinir. Serverless ve edge computing yeni misconfiguration ve SSRF vektorleri getirir; metadata servis korumasi cloud-native ortamlarda kritiktir.
Egitim ve simulasyon
Güvenlik egitimi yillik checkbox degil, sürekli öğrenme olmalidir. Secure coding lab, CTF ve red team exercise geliştirici farkindaligini artirir. OWASP Juice Shop gibi kasitli zayif uygulamalar pratik yapma imkani verir. Yeni ise baslayan her geliştirici güvenlik onboarding'inden gecer; Top 10 özet karti masaustunde referans olarak bulunur.
Mobile ve thick client riskleri
Mobil uygulamalarda local storage'da token saklama, certificate pinning eksikligi ve reverse engineering ile secret cikarilmasi Top 10 riskleri mobile baglamda yeniden üretir. Root/jailbreak detection, obfuscation ve server-side authorization zorunludur. Client-side güvenlik kontrolleri bypass edilebilir; authoritative karar her zaman backend'dedir. Mobile API'lerde kisa omurlu token ve refresh rotation web ile ayni disiplini takip eder.
Cloud-native ek riskler
Container orchestration'da default service account yetkisi, overly permissive IAM role ve metadata SSRF bulut ortamina ozgu risklerdir. Infrastructure as Code ile güvenli varsayilanlar kodlanir; drift detection yapılandırma sapmasini erken yakalar. Shared responsibility modelinde uygulama güvenliği müşteri sorumluluğundadir; cloud saglayici yalnizca altyapi katmanini korur. Top 10 listesi bu sorumluluk ayrimini goz onunde bulundurarak yorumlanmalidir.
Ölçek ve sureklilik
Güvenlik programi olgunlugu zamanla olculur: bug bounty baslangici, red team sikligi, mean time to remediate trendi. Top 10 riskleri yillik tehdit modeli workshop'unda güncellenir; yeni tehdit vektorleri (AI prompt injection gibi) mevcut kategorilere veya ayri maddelere eklenir. Sürekli iyileştirme dongusu plan-do-check-act ile yönetilir; her incident bir öğrenme firsatidir.
Kurumsal olgunluk seviyeleri
Baslangic seviyesinde Top 10 checklist ve yillik pentest yeterli gorulebilir. Orta olgunlukta otomatik tarama, güvenlik champion agi ve duzenli threat modeling devreye girer. Ileri seviyede red team, bug bounty, ve güvenlik metriklerinin is KPI'larina baglanmasi hedeflenir. Her seviye bir oncekinin uzerine insa edilir; atlanan adimlar tekrarlayan incident olarak geri doner.