OWASP ve Top 10
OWASP (Open Worldwide Application Security Project), uygulama güvenliği alanında açık ve ücretsiz kaynaklar üreten, kâr amacı gütmeyen bir topluluktur. En bilinen çıktısı olan OWASP Top 10, web uygulamalarındaki en kritik güvenlik risklerini on kategori altında toplayan bir farkındalık belgesidir.
Top 10 bir standart veya eksiksiz bir kontrol listesi değildir; bir başlangıç noktasıdır. Daha ayrıntılı doğrulama gereksinimleri için OWASP ASVS (Application Security Verification Standard), uygulama düzeyinde rehberlik için ise OWASP Cheat Sheet Series kullanılır.
2021 listesi
| Kod | Kategori | Kısa açıklama |
|---|---|---|
| A01 | Broken Access Control | Kullanıcının yetkisi olmayan veri veya işleve erişebilmesi |
| A02 | Cryptographic Failures | Hassas verinin yetersiz şifrelenmesi veya hatalı kriptografi |
| A03 | Injection | Güvenilmeyen verinin komut/sorgu olarak yorumlanması (XSS dahil) |
| A04 | Insecure Design | Tasarım aşamasında eksik güvenlik kontrolleri |
| A05 | Security Misconfiguration | Hatalı, eksik veya varsayılan yapılandırmalar |
| A06 | Vulnerable and Outdated Components | Bilinen açıkları olan kütüphane ve bileşenler |
| A07 | Identification and Authentication Failures | Kimlik doğrulama ve oturum yönetimi hataları |
| A08 | Software and Data Integrity Failures | Doğrulanmamış güncellemeler, CI/CD ve serileştirme riskleri |
| A09 | Security Logging and Monitoring Failures | Saldırıların fark edilmesini engelleyen günlük eksikleri |
| A10 | Server-Side Request Forgery (SSRF) | Sunucunun saldırganın belirlediği adrese istek göndermesi |
Risk kavramı
Top 10'daki her kategori bir "zafiyet" değil, bir risk grubudur. Risk; bir açığın istismar edilme olasılığı ile gerçekleştiğinde doğuracağı etkinin birleşimidir. Örneğin yönetici paneline yetkisiz erişim, bir hata mesajında sürüm numarasının görünmesinden çok daha yüksek etkiye sahiptir.
Bu eğitimde nasıl ilerleyeceğiz?
Her kategori için aynı yapıyı izleyeceğiz:
- Nedir? Riskin kavramsal açıklaması.
- Neden olur? Tipik geliştirme hataları.
- Nasıl önlenir? Kod ve yapılandırma örnekleriyle savunma.
- Kontrol listesi: Kod incelemesinde sorulacak sorular.
Örnekler saldırı yükü (payload) içermez; amaç güvenli kod yazma alışkanlığı kazanmaktır.
Güvenli geliştirme yaşam döngüsünde Top 10
Top 10'u yalnızca test aşamasında hatırlamak geç kalmak demektir. Etkili kullanım şöyledir:
- Tasarım: Tehdit modelleme oturumlarında kategorileri kontrol başlığı olarak kullanın.
- Geliştirme: Ortak kütüphanelerde güvenli varsayılanlar sunun (ör. her sorgu için hazırlanmış ifade).
- Kod incelemesi: Değişiklikleri erişim kontrolü, girdi işleme ve hassas veri açısından gözden geçirin.
- CI/CD: Statik analiz (SAST), bağımlılık taraması (SCA) ve gizli anahtar taramasını otomatikleştirin.
- İşletim: Günlükleri ve alarmları gerçek saldırı senaryolarına göre ayarlayın.
Kaynaklar
- OWASP Top 10: https://owasp.org/Top10/
- OWASP Cheat Sheet Series: https://cheatsheetseries.owasp.org/
- OWASP ASVS: https://owasp.org/www-project-application-security-verification-standard/