OWASP Top 10: Web Uygulamalarında En Kritik Güvenlik Riskleri Listesi
OWASP Top 10, web uygulamalarında en kritik güvenlik risk kategorilerini sıralayan bir farkındalık belgesidir. Yazılım ekipleri onu güvenli geliştirme ve test planlarının başlangıç noktası olarak kullanır.
Bir bakışta
- OWASP Top 10 bir risk kategorileri listesidir. Tek tek açıkları değil, açık ailelerini sıralar; güvenli yazılım geliştirme için ortak bir dil kurar.
- Liste zaman içinde yenilenir. Kategori adları ve sıralaması sürümden sürüme değişir; hangi sürümün konuşulduğunu belirtmek gerekir.
- Başlıca kategoriler erişim, yapılandırma, kriptografi ve enjeksiyondur. Bozuk erişim denetimi, hatalı yapılandırma, tedarik zinciri hataları ve enjeksiyon listenin tanıdık başlıklarıdır.
- Liste bir başlangıçtır, tam bir güvenlik programı değildir. Kod incelemesi, test, eğitim ve izleme ile birlikte kullanıldığında değer üretir.
OWASP Top 10 nedir?
OWASP (Open Worldwide Application Security Project), güvenli yazılım geliştirmeye yönelik açık kaynak ve belge üreten bir topluluktur. OWASP Top 10 ise bu topluluğun yayımladığı, web uygulamalarında en kritik güvenlik risklerine dair kategorileri sıralayan farkındalık belgesidir.
Belge bir standart ya da denetim kontrol listesi değildir. Amacı geliştiricilere, test uzmanlarına ve yöneticilere hangi risk ailelerine öncelik vermeleri gerektiğini göstermek ve ortak bir dil sağlamaktır.
Güncel listedeki kategoriler
OWASP sayfasına göre en güncel yayımlanan sürüm OWASP Top 10 2025'tir. Kategoriler şunlardır. • Bozuk Erişim Denetimi (Broken Access Control) • Güvenlik Yanlış Yapılandırması (Security Misconfiguration) • Yazılım Tedarik Zinciri Hataları (Software Supply Chain Failures) • Kriptografik Hatalar (Cryptographic Failures) • Enjeksiyon (Injection) • Güvensiz Tasarım (Insecure Design) • Kimlik Doğrulama Hataları (Authentication Failures) • Yazılım veya Veri Bütünlüğü Hataları (Software or Data Integrity Failures) • Güvenlik Günlüğü ve Uyarı Hataları (Security Logging and Alerting Failures) • Olağandışı Durumların Hatalı Ele Alınması (Mishandling of Exceptional Conditions)
Liste sürümler arasında değişir; kategoriler eklenir, birleşir ya da yer değiştirir. Bu yüzden bir kaynaktan söz ederken sürüm yılı belirtilmelidir.
Kategorileri nasıl okumalı?
Her kategori bir açık türü değil, bir açık ailesidir. Bozuk erişim denetimi, kullanıcının yetkisi olmayan veriye ulaşabilmesinden yetki yükseltmeye uzanan birçok hatayı kapsar. Güvenlik yanlış yapılandırması varsayılan parolalardan gereksiz açık bırakılmış hizmetlere kadar uzanır.
Kategoriler iki eksende düşünülebilir: bazıları kodlama hatası (enjeksiyon), bazıları tasarım kararı (güvensiz tasarım), bazıları işletme ve yapılandırma (yanlış yapılandırma, günlük eksikliği) ile ilgilidir. Bu ayrım, hangi ekibin neyi üstleneceğini belirlemeye yardım eder.
Örnek: enjeksiyon
Enjeksiyon, kullanıcı girdisinin sorgu metnine doğrudan eklendiği durumda ortaya çıkar. Sorgu şu biçimde kurulursa girdi sorgunun bir parçası olarak yorumlanır.
sorgu = "SELECT * FROM kullanici WHERE ad = '" + girdi + "'"
Kötü niyetli bir girdi, sorguya ek komut taşıyabilir. Doğrusu parametreli sorgudur: sorgu ve girdi ayrı gönderilir, girdi her zaman veri olarak ele alınır.
sorgu = "SELECT * FROM kullanici WHERE ad = ?"
Bu yöntemle girdi sorgunun yapısını değiştiremez. Aynı mantık işletim sistemi komutları ve diğer yorumlayıcılar için de geçerlidir.
Girdiyi sorguya eklemek açık bırakır, parametre kapatır
Enjeksiyon riskinde hata ve doğrusu
Liste nasıl kullanılır?
OWASP Top 10 yazılım yaşam döngüsünde farklı aşamalarda işe yarar. Tasarım aşamasında tehdit modellemesine konu başlıkları sağlar. Geliştirmede kod inceleme kontrollerinin çerçevesini oluşturur. Test aşamasında güvenlik testlerinin kapsamını belirler. Eğitimde geliştiricilere ortak bir sözlük verir.
Satın alma ve tedarikçi yönetiminde de kullanılır: dışarıdan yazılım alan kurum, tedarikçisinden bu kategorilere karşı nasıl önlem aldığını sorabilir. Uygulamada en etkili yol, listeyi bir kontrol listesi olarak değil, kendi uygulamanıza ve riskinize göre öncelik belirleme aracı olarak kullanmaktır.
Sınırlar
Liste sıralaması, her uygulama için aynı önemi taşımaz. Bir ödeme uygulamasında kriptografik hatalar öne çıkarken, kamuya açık bir içerik sitesinde farklı riskler daha önemli olabilir. Ayrıca liste en kritik risk kategorilerini öne çıkarır, tüm riskleri kapsamaz.
Uyum açısından da dikkatli olmak gerekir: OWASP Top 10'a uygunluk bir sertifika ya da yasal güvence değildir. Güvenlik programı, listeyi kapsamlı bir doğrulama standardı, düzenli sızma testi ve izleme ile birlikte düşünmelidir.
Siber güvenlik eğitiminde OWASP Top 10
Siber Güvenlik Bootcamp Programı, Yazılım Geliştirme Güvenliği modülünde web uygulama risklerini güvenli geliştirme perspektifiyle ele alır. Geliştirici ve güvenlik ekipleri için liste, kod inceleme ve test planı hazırlarken kullanılan ortak referanstır.
Resmî kaynaklardan bilgiler
| OWASP Top 10 güncel yayımlanmış sürüm | OWASP Top 10 2025kaynak |
|---|---|
| OWASP'ın belge tanımı | OWASP Top 10, geliştiriciler ve web uygulama güvenliği için standart bir farkındalık belgesidirkaynak |
| OWASP Top 10 2025 kategorileri | A01 Broken Access Control; A02 Security Misconfiguration; A03 Software Supply Chain Failures; A04 Cryptographic Failures; A05 Injection; A06 Insecure Design; A07 Authentication Failures; A08 Software or Data Integrity Failures; A09 Security Logging and Alerting Failures; A10 Mishandling of Exceptional Conditionskaynak |
Bilgiler resmî kaynaklarla doğrulandığı tarihte günceldir; değişiklik olabilir.
İlgili Mindset programı
Siber Güvenlik Bootcamp Programı
Sık sorulan sorular
OWASP Top 10 bir standart mıdır?
Hayır. Bir farkındalık belgesidir; yasal ya da sertifikalı bir standart değildir. Geliştirme ve test süreçlerine yön verir, ancak uyumluluk iddiası taşımaz. Daha ayrıntılı doğrulama için OWASP'ın diğer kaynakları kullanılır.
Liste ne sıklıkla güncellenir?
Belirli aralıklarla, tehdit ortamı ve toplanan veriye göre güncellenir. Güncelleme kategori adlarını ve sıralamayı değiştirebilir. Hangi sürümü kullandığınızı belgelerde açıkça yazmak karışıklığı önler.
Küçük bir uygulama için de gerekli midir?
Evet. Ölçek ne olursa olsun bir web uygulaması aynı risk ailelerine açıktır. Küçük projelerde bile parametreli sorgu, doğru erişim denetimi ve güncel bağımlılık kullanımı temel önlemlerdir.
Yalnızca geliştiriciler mi bilmeli?
Hayır. Yöneticiler, test uzmanları, ürün sahipleri ve satın almacılar da bu dili bilmelidir. Güvenlik kararı kod satırında olduğu kadar tasarımda, yapılandırmada ve tedarikçi seçiminde de verilir.