Siber Güvenlik

OWASP Top 10 Listesinin Yıllar Boyu Değişimi

Web uygulamaları günümüzde hemen hemen her sektörde kullanılırken, web güvenliği de büyük bir önem kazanmıştır. OWASP (Open Web Application Security Project), web uygulamalarındaki güvenlik açıklarını belirlemek ve önem sırasına göre listelemek için OWASP Top 10 listesini düzenli olarak güncellemektedir.

Elif Yıldız |

15.08.2023

Bu liste, geliştiricilere, güvenlik uzmanlarına ve organizasyonlara web uygulamalarının güvenliğini artırmak için yol gösterici olmuştur. İşte, OWASP Top 10 listesinin yıllar boyunca ki değişimi:

 

OWASP Top 10 (2003):

  1. Cross-Site Scripting (XSS)
  2. SQL Injection
  3. Broken Authentication and Session Management
  4. Cross-Site Request Forgery (CSRF)
  5. Security Misconfiguration
  6. Failure to Restrict URL Access
  7. Unvalidated Redirects and Forwards
  8. Insecure Cryptographic Storage
  9. Insecure Direct Object References
  10. Unvalidated Input

 

İlk Adımlar:

 

OWASP Top 10 listesinin ilk sürümü olan 2003 yılında yayınlanmıştır. Bu sürümdeki liste, günümüzde hala önemini koruyan bazı temel güvenlik açıklarını içermektedir. XSS (Cross-Site Scripting), SQL Injection, kimlik doğrulama ve oturum yönetimi hataları gibi konular bu listede yer almıştır. Bu açıklar, o dönemdeki web uygulamalarının güvenlik zayıflıklarını yansıtmaktadır.

 

OWASP Top 10 (2007):

 

  1. Injection Flaws
  2. Cross-Site Scripting (XSS)
  3. Broken Authentication and Session Management
  4. Insecure Direct Object References
  5. Cross-Site Request Forgery (CSRF)
  6. Security Misconfiguration
  7. Insecure Cryptographic Storage
  8. Failure to Restrict URL Access
  9. Insufficient Transport Layer Protection
  10. Unvalidated Redirects and Forwards

 

OWASP Top 10 listesinin Yıllar Boyu Değişimi

 

Genişleme ve Yenilikler:

 

2007 yılında OWASP Top 10 listesi güncellenerek yeni bir versiyon yayınlandı. Bu sürümde, yeni güvenlik açıkları tanıtıldı ve yeni on maddelik bir liste oluşturuldu. Aralarında Cross-Site Request Forgery (CSRF), Security Misconfiguration, Insecure Cryptographic Storage gibi konular yer almaktadır. Bu güncelleme, web uygulamalarında yeni keşfedilen tehditlerin dikkate alındığını göstermektedir.

 

2003 listesinde Injection, genel bir terim olarak yer almıştır. 2007'de ise Injection Flaws olarak daha spesifik bir kategoriye dönüşmüştür. Bu değişiklik, enjeksiyon saldırılarına karşı daha fazla bilinçlenmeyi ve bu tür saldırıların yaygınlığını vurgulamayı amaçlamıştır.

 

Unvalidated Input maddesi, 2003 listesinde yer almaktaydı. Ancak, 2007 listesinde yerini Broken Authentication almıştır. Bu değişiklik, kimlik doğrulama ve oturum yönetimi hatalarının daha önemli ve yaygın bir güvenlik açığı olduğunu göstermektedir. Kimlik doğrulama mekanizmalarının zayıf olması, yetkisiz erişim ve veri sızıntısı gibi ciddi sorunlara yol açabilmektedir.

 

2003 listesinde Failure to Restrict URL Access olarak adlandırılan konu, 2007 listesinde Broken Access Control olarak değiştirilmiştir. Bu değişiklik, URL'lerin yanlış bir şekilde sınıflandırılmasının yanı sıra, genel olarak erişim kontrolünün bozulmasının daha büyük bir risk olduğunu vurgulamaktadır. Kötü tasarlanmış veya yanlış yapılandırılmış erişim kontrolü, yetkisiz kullanıcıların hassas verilere erişebileceği veya izinsiz işlemleri gerçekleştirebileceği bir açık yaratabilir.

 

Security Misconfiguration, 2007 listesinde yeni olarak eklenmiştir. Bu değişiklik, yapılandırma hatalarının web uygulamalarında yaygın ve önemli bir güvenlik açığı olduğunu belirtmektedir. Hatalı yapılandırma, örneğin varsayılan parolaların kullanılması, hatalı izinlerin ayarlanması veya gereksiz hizmetlerin açık kalması gibi durumlar, saldırganların saldırı yüzeyini genişletme ve hassas bilgilere erişme şansını artırabilir.

 

Unvalidated Redirects and Forwards, 2003 listesinde yer alan bir güvenlik açığı olarak belirtilmiştir. Ancak, 2007 listesinde maddenin adı Unvalidated Redirects and Forwards olarak değiştirilmiştir. Bu değişiklik, bu tür yönlendirmelerin ve yönlendirmelerin doğrulanmamasının, kullanıcıları kötü amaçlı web sitelerine veya güvenli olmayan sayfalara yönlendirebileceğini ve potansiyel bir saldırı noktası oluşturabileceğini vurgulamaktadır.

 

OWASP Top 10 (2013):

 

  1. Injection
  2. Broken Authentication and Session Management
  3. Cross-Site Scripting (XSS)
  4. Insecure Direct Object References 
  5. Security Misconfiguration
  6. Sensitive Data Exposure
  7. Missing Function Level Access Control
  8. Cross-Site Request Forgery (CSRF)
  9. Using Components with Known Vulnerabilities
  10. Unvalidated Redirects and Forwards

 

OWASP Top 10 listesinin Yıllar Boyu Değişimi

 

Genişleme ve Yenilikler:

 

2013 yılında OWASP Top 10 listesi bir kez daha güncellendi ve yeni bir sürüm yayınlandı. Bu sürümde Injection, Broken Authentication and Session Management, Cross-Site Scripting (XSS), Security Misconfiguration gibi önceki sürümlerde yer alan konular korundu. Bunun yanı sıra, Sensitive Data Exposure, Missing Function Level Access Control, Using Components with Known Vulnerabilities gibi yeni tehditler de listeye eklendi. Bu güncelleme, web uygulamalarının güvenlik açıklarıyla ilgili farkındalığın artması ve yeni tehditlere karşı savunmanın güçlendirilmesi gerektiğini göstermektedir.

 

Injection, 2007 ve 2013 listelerinde de yer almaktadır. Bu kategori, kullanıcı girişlerinin doğrulanmadığı ve filtrelenmediği durumlarda meydana gelen güvenlik açıklarını ifade eder. Örneğin, SQL Injection ve OS Command Injection gibi saldırılar, bu tür güvenlik açıklarına örnek olarak verilebilir. Bu kategori, web uygulamalarındaki güvenlik zayıflıklarının devam ettiğini ve bu tür saldırıların hala yaygın olduğunu göstermektedir.

 

Broken Authentication and Session Management, 2007 ve 2013 listelerinde de yer almaktadır. Bu kategori, kullanıcı kimlik doğrulama süreçlerinin veya oturum yönetiminin hatalı veya zayıf olduğu durumları ifade eder. Güçlü parola politikaları, oturum süresi sınırlamaları ve doğru kimlik doğrulama yöntemlerinin kullanımı gibi önlemler alınmadığında, saldırganlar yetkisiz erişim kazanabilir veya kullanıcı hesaplarını ele geçirebilir. Bu değişiklik, kimlik doğrulama ve oturum yönetimi hatalarının web uygulamalarında önemli bir güvenlik riski olmaya devam ettiğini vurgulamaktadır.

 

Cross-Site Scripting (XSS), 2007 ve 2013 listelerinde de yer alan bir güvenlik açığıdır. Bu saldırı türünde, saldırganlar güvenlik önlemleri almayan web uygulamalarına kötü niyetli kod enjekte ederek kullanıcıların tarayıcılarında bu kodun çalışmasını sağlar. Bu, kullanıcıların hesap bilgilerini çalmak, oturumlarını ele geçirmek veya zararlı işlemleri gerçekleştirmek için kullanılabilir. XSS, web uygulamalarının güvenliğini tehdit eden önemli bir zayıflıktır ve bu nedenle her iki listede de yer almaktadır.

 

Insecure Direct Object References (2007), Insecure Direct Object References and Missing Function Level Access Control (2013) olarak değiştirilmiştir.Bu değişiklik, 2013 listesinde iki konunun birleştirilmesiyle gerçekleşmiştir. Insecure Direct Object References, kullanıcıların doğrudan kaynaklara (dosyalara, veritabanı kayıtlarına vb.) erişebildiği durumlarda meydana gelen güvenlik açıklarını ifade eder. Missing Function Level Access Control ise yetkisiz kullanıcıların güvenlik kontrollerini atlayarak hassas işlevlere erişebildiği durumları ifade eder. Bu iki konunun birleştirilmesi, yetkisiz erişim kontrolleri ve nesne referanslarının nasıl birlikte kullanılarak güvenlik açıklarına yol açabileceğini göstermektedir.

 

Security Misconfiguration, 2007 ve 2013 listelerinde de yer alan bir güvenlik açığıdır. Security Misconfiguration, hatalı veya güvenlik önlemlerinin yanlış yapılandırılması sonucu ortaya çıkan güvenlik açıklarını ifade eder. Örneğin, standart ayarlarla birlikte gelen varsayılan parolaların kullanılması, gereksiz hizmetlerin açık kalması veya güvenlik yamalarının zamanında uygulanmaması gibi durumlar, bu tür güvenlik açıklarına örnek olarak verilebilir.

 

Sensitive Data Exposure) kategorisinin 2013 OWASP Top 10 listesine eklenme sebebi, hassas verilerin güvenliği konusunun artan farkındalık ve veri ihlallerinin yaygınlaşmasıyla birlikte önem kazanmasıdır. Bu dönemde, büyük veri ihlalleri ve hassas verilerin sızdırılması olayları artarken, veri koruma standartlarının gelişimi ve düzenlemelerdeki değişiklikler de bu konuya odaklanmayı gerektirmiştir. 2013 listesinde ayrı bir kategori olarak yer alarak, güvenlik açığını vurgulamak ve geliştiricilere hassas verilerin korunması için öncelikli önlemler almalarını sağlamak amacıyla eklenmiştir.

 

OWASP TOP 10 (2017):

 

  1. Injection
  2. Broken Authentication
  3. Sensitive Data Exposure
  4. XML External Entities (XXE)
  5. Broken Access Control
  6. Security Misconfiguration
  7. Cross-Site Scripting (XSS)
  8. Insecure Deserialization
  9. Using Components with Known Vulnerabilities
  10. Insufficient Logging and Monitoring

 

OWASP Top 10 listesinin Yıllar Boyu Değişimi

 

Genişleme ve Yenilikler:

 

2017 yılında OWASP Top 10 listesi bir kez daha revize edildi ve güncel tehditlere odaklanan yeni bir sürüm yayınlandı. Bu sürümde Injection, Broken Authentication, Sensitive Data Exposure, XML External Entities (XXE) gibi önceki sürümlerde yer alan konular korundu. Ancak, yeni güvenlik açıkları olan Broken Access Control, Insecure Deserialization, Using Components with Known Vulnerabilities gibi maddeler de listeye eklendi.

 

2013 listesinde Broken Authentication and Session Management olarak adlandırılan bu konu, 2017 listesinde yalnızca Broken Authentication olarak yer almıştır. Bu değişiklik, kimlik doğrulama ve oturum yönetimi hatalarının hala web uygulamalarında önemli bir güvenlik riski olduğunu vurgulamaktadır. Kötü yapılandırılmış veya zayıf kimlik doğrulama mekanizmaları, yetkisiz erişim ve hesap ele geçirme gibi saldırılara yol açabilir. Ayrıca, oturum yönetimi süreçlerinin hatalı veya zayıf olması, oturumların ele geçirilmesine ve kötüye kullanılmasına neden olabilir.

 

Sensitive Data Exposure (2017) , Sensitive Data Exposure ve Missing Function Level Access Control (2013) olacak şekilde yeniden ifade edilmiştir. Bu değişiklik, 2013 listesinde yer alan iki konunun 2017 listesinde ayrı ayrı vurgulanmasıyla gerçekleşmiştir. Sensitive Data Exposure, hassas verilerin korunmadığı durumları ifade ederken, Missing Function Level Access Control yetkisiz kullanıcıların hassas işlevlere erişebildiği durumları ifade eder. Bu değişiklik, hem hassas verilerin güvenliğinin hem de yetkisiz erişim kontrollerinin web uygulamaları için kritik öneme sahip olduğunu vurgulamaktadır. Kullanıcıların hassas bilgilere erişebileceği veya yetkisiz işlemleri gerçekleştirebileceği güvenlik açıkları, web uygulamaları için büyük bir risk oluşturur.

 

XML External Entities (XXE), sadece 2017 listesinde yer almaktadır. XXE saldırıları, güvenli olmayan XML işleme yapılandırmaları nedeniyle ortaya çıkan güvenlik açıklarını ifade eder. Saldırganlar, XML dokümanlarını kötü niyetli olarak kullanarak, uygulama sunucusunda dosya okuma, dosya yazma ve hatta dış sistemlere saldırı yapma gibi işlemler gerçekleştirebilir. XXE saldırıları, web uygulamalarının güvenliği açısından ciddi bir tehdit oluşturur ve bu nedenle 2017 listesine dahil edilmiştir.

 

Insecure Direct Object References (2013) , Broken Access Control (2017) olacak şekilde değiştirilmiştir.Bu değişiklik, 2017 listesinde Insecure Direct Object References'ın yerini Broken Access Control'un almasıyla gerçekleşmiştir. Insecure Direct Object References, doğrudan nesne referanslarının güvenlik kontrollerinin eksik olduğu durumları ifade ederken, Broken Access Control genel olarak yanlış yapılandırılmış veya zayıf erişim kontrolünü ifade eder. Bu değişiklik, erişim kontrollerinin önemini vurgulamakta ve bu kontrollerin hatalı yapıldığında güvenlik açıklarına yol açabileceğini göstermektedir.

 

Insecure Deserialization, saldırganların web uygulamasına zararlı nesneleri veya istenmeyen verileri enjekte etmelerine olanak tanır. Bu, saldırganların yetkisiz eylemler gerçekleştirmesine veya zararlı kodun çalıştırılmasına yol açabilir. Listeye Insecure Deserialization eklenmiştir çünkü bu tür saldırılar web uygulamaları için giderek daha önemli bir tehdit oluşturmaktadır. Web uygulamalarının serileştirme işlemlerini güvenli bir şekilde gerçekleştirmesi, veri doğrulama, güvenli serileştirme kütüphaneleri kullanma gibi önlemler alması önemlidir. Bu değişiklik, güvenlik topluluğunun dikkatini çeken ve üzerinde çalışılması gereken bir güvenlik açığı olduğunu vurgulamaktadır.

 

Insufficient Logging and Monitoring (Yetersiz Günlükleme ve İzleme) maddesi, web uygulamalarındaki güvenlik açıklarının tespitini zorlaştırması, olayların detaylı bir şekilde incelenmesini engellemesi, yanıt sürelerini yavaşlatması ve izlenebilirlik eksikliği nedeniyle soruşturma süreçlerini zorlaştırması sebepleriyle 2017 OWASP Top 10 listesine eklenmiştir. Bu kategori, web uygulamalarının yeterli günlükleme ve izleme mekanizmalarını uygulamaları ve olayları etkin bir şekilde takip etmeleri gerektiğini vurgulayarak saldırıların tespitini kolaylaştırmayı ve saldırganların zararlı faaliyetlerini engellemeyi amaçlamaktadır.

 

OWASP Top 10 (2021):

 

  1. Broken Access Control
  2. Cryptographic Failures
  3. Injections
  4. Insecure Design
  5. Security Misconfiguration
  6. Vulnerable and Outdated Components
  7. Identification and Authentication Failures
  8. Software and Data Integrity Failures
  9. Securty Logging and Monitoring Failures
  10. Server-Side Request Forgery(SSRF)

 

OWASP Top 10 listesinin Yıllar Boyu Değişimi

 

Genişleme ve Yenilikler:

 

En son güncelleme olan 2021 OWASP Top 10 listesi, güncel tehditlere ve web uygulamalarının güvenliğine odaklanmaktadır. Bu sürümde, önceki sürümlerdeki maddeler korunmuş ve aynı zamanda güncel tehditlerin dikkate alındığı maddeler eklenmiştir.
Broken Access Control, bu sefer listemizin ilk sırasına yerleşmiştir. Bu kategori hem 2017 hem de 2021 listelerinde yer alır. Web uygulamalarında çok daha fazla yaygın hale gelen bir güvenlik açığı olması nedeniyle isminde hiçbir değişiklik olmadan en kritik bir pozisyona ulaşmıştır.

 

Cryptographic Failures , 2021 listesinde yer almaktadır ancak 2017 listesinde yer almamaktadır. 2017 listeisnde Sensetive Data Exposure olarak üçüncü sırada bulunurken 2021 listesinde daha kapsamlı hali ile ikinci sıraya yükselmiştir. Kriptografik hatalar, güvenli kriptografik yöntemlerin kullanımıyla ilgili sorunları ifade eder. Bu değişiklik, kriptografik hataların öneminin vurgulanmasını ve web uygulamalarının kriptografik yöntemleri doğru bir şekilde uygulamaları ve denetlemeri gerektiğini göstermektedir.

 

Önceki listelerin de vazgeçilmezi Injections, 2021 listesinde üçüncü olarak yer alır. Injections yıllar boyunca listelerde en baştaki yerini korurken güncel listede üçüncü sıraya kadar düşmüştür.  Ancak enjeksiyon saldırıları hala web uygulamalarında önemli bir tehdit olarak varlığını sürdürmektedir.

 

Insecure Design, 2021 listesinde yer almaktadır ancak 2017 listesinde yer almamaktadır. Bu kategori ilk defa 2021 listesinde tanıtılmıştır. Güvensiz tasarım, web uygulamalarının güvenlik açısından eksik veya hatalı bir şekilde tasarlanmasıyla ilgili sorunları ifade eder. Yeni tanıtılmasına rağmen listeye dördüncü sırada bulunması küçümsenemeyecek bir öneme sahip olduğunu gösterir. Listede yapılan bu değişiklik, web uygulamalarının güvenlik tasarımına daha fazla odaklanmayı vurgulamaktadır.

 

Vulnerable and Outdated Components (2021) , Using Components with Known Vulnerabilities (2017) maddesinin güncellenmiş halidir. Eski hali ile listenin daha atlarındayken güncel listede daha yukarılara ilerlemiştir. Bu değişiklik, güncelliği olmayan ve zafiyetlere sahip bileşenlerin web uygulamalarında güvenlik açıkları yarattığını vurgulamaktadır. Eski veya güncel olmayan bileşenlerin kullanılma durumundan doğan güvenlik açıklarının sıklaşmasından dolayı böyle bir değişikliğe gidilmiştir.

 

Identification and Authentication Failures (2021) eski adıyla Broken Authentication(2017) güncel listede çok daha arka sıralarda yer almaktadır. Son zamanlarda güçlü şifre kullanımı, çift doğrulama ve benzeri önlemlerle riski derecesi azalmıştır. Ancak yaygınlığı azalsa da listede yerini korumaktadır ve kapsamı güncellenmiştir. Kimlik doğrulama süreçlerindeki hataların ve başarısızlıkların web uygulamaları için önemli bir güvenlik riski olduğunu hala vurgulamaktadır.

 

OWASP Top 10 listesi, web uygulama güvenliği açısından önemli bir kaynak olmuştur. Yıllar boyunca yapılan güncellemeler, web uygulamalarının maruz kaldığı tehditlerin ve güvenlik zayıflıklarının değişimini yansıtmaktadır. Bu güncellemeler, geliştiricilere, güvenlik uzmanlarına ve organizasyonlara web uygulamalarının güvenliği konusunda rehberlik etmektedir.

 

OWASP Top 10 listesindeki değişim, web güvenliği alanındaki ilerlemeleri ve yeni tehditleri yansıtmaktadır. Ancak, listeye eklenen veya çıkarılan maddeler, tüm web uygulamaları için geçerli olmayabilir. Her uygulamanın kendine özgü risk profili ve güvenlik gereksinimleri bulunmaktadır. Bu nedenle, OWASP Top 10 listesi, genel bir rehberlik sağlarken, her uygulamanın risk değerlendirmesi yapması ve spesifik güvenlik önlemleri alması önemlidir.

 

Geliştiriciler ve güvenlik uzmanları, OWASP Top 10 listesini düzenli olarak takip etmeli ve listeye eklenen yeni tehditleri ve önerilen önlemleri gözden geçirmelidir. Ayrıca, güncel web güvenliği konuları hakkında bilgi sahibi olmalı ve en iyi uygulamaları takip etmelidir.
Sonuç olarak, OWASP Top 10 listesi, web uygulamalarının güvenliği konusunda farkındalığı artıran, önemli güvenlik açıklarını vurgulayan ve en iyi uygulamaları belirleyen bir kaynaktır. Web güvenliği, sürekli bir çaba gerektiren dinamik bir alandır ve güvenlik açıklarının sürekli olarak gözden geçirilmesi ve geliştirme sürecine entegre edilmesi önemlidir. OWASP Top 10 listesi, bu süreçte değerli bir kaynak olarak önemini korumaktadır.
 

 

OWASP Top 10 listesinin Yıllar Boyu Değişimi