OWASP (Open Web Application Security Project) Nedir?

5 dakikada okunur

Günümüzde internet üzerinde uygulama geliştirmek neredeyse her yazılımcının karşılaştığı bir süreç. Ancak bu sürecin en önemli parçalarından biri güvenliktir. Web uygulama güvenliği konusunda küresel çapta kabul görmüş ve güvenliği sağlama konusunda bir rehber niteliğinde olan OWASP, tam da bu noktada devreye giriyor. OWASP, yazılım geliştiricilerin ve güvenlik uzmanlarının uygulamalarında karşılaşabilecekleri risklere karşı dikkatli olmalarını sağlamak için kurulan bir topluluk projesi.

OWASP’ın Önemi

OWASP’ın en bilinen çalışması olan OWASP Top 10, web uygulamalarında en sık karşılaşılan güvenlik risklerini listeleyip bu risklerin nasıl önlenebileceğine dair yol gösteriyor. Bu liste, uygulama geliştirirken karşılaşabileceğiniz güvenlik tehditlerini fark etmenizi sağlıyor. İşin içine girdikçe, ne kadar çok detay olduğunu ve bunların ne kadar kritik olduğunu anlamak kolaylaşıyor.

Mesela, listenin en başlarında yer alan Injection (Enjeksiyon Saldırıları), en basit bir kullanıcı girişi kontrolünün yetersizliğinden bile kaynaklanabiliyor. Uygulamanız, kullanıcıdan gelen verileri doğru bir şekilde işlemezse, saldırganların veritabanına erişmesine olanak tanıyabilir. OWASP rehberleri bu gibi sorunlarla nasıl başa çıkılacağını adım adım anlatıyor ve güvenlik açıklarını minimize etmenize yardımcı oluyor.

OWASP Top 10: Web Uygulamalarındaki En Yaygın Güvenlik Riskleri

OWASP’ın Top 10 listesi, web uygulamalarında en sık karşılaşılan güvenlik zafiyetlerini ve bunlara karşı alınması gereken önlemleri sıralar. Her bir başlık, uygulama güvenliği konusunda dikkat edilmesi gereken kritik alanları temsil eder. OWASP Top 10, her 3-4 yılda bir revize edilir. 2021'deki güncellemeyle birlikte, önceki yıllardan farklı olarak bazı riskler öne çıkmış, yeni kategoriler eklenmiş ve bazı riskler ise genişletilmiştir.

OWASP Top Ten | OWASP Foundation
The OWASP Top 10 is the reference standard for the most critical web application security risks. Adopting the OWASP Top 10 is perhaps the most effective first step towards changing your software development culture focused on producing secure code.

Şimdi bu 10 maddeyi ve her birine ilişkin örnekleri inceleyelim.

1. Broken Access Control

2021 listesinde en tepeye çıkan bu sorun, uygulamalarda yetkilendirme mekanizmalarının doğru çalışmaması sonucu saldırganların yetkisiz alanlara erişmesine olanak tanır. 94% uygulamada kırık erişim kontrolüne rastlanmıştır.

Örnek: Bir kullanıcının admin yetkisi olmadan yönetim paneline erişebilmesi.

Nasıl Korunmalı? Sıkı yetkilendirme politikaları uygulanmalı, güvenlik testleri düzenli yapılmalı.

2. Cryptographic Failures

Bu kategori, eski adıyla "Sensitive Data Exposure" (Hassas Veri İfşası) olarak biliniyordu. Ancak 2021'de odak, doğrudan şifreleme hatalarına kaydırıldı. Şifreleme hataları, hassas verilerin ifşasına veya sistemlerin ele geçirilmesine yol açabilir.

Örnek: HTTPS yerine HTTP kullanarak kredi kartı bilgisi göndermek veya zayıf algoritmalarla şifreleme yapmak.

Nasıl Korunmalı? Güçlü ve güncel kriptografik protokoller kullanarak hassas verilerin şifrelenmesi sağlanmalı.

3. Injection

Enjeksiyon saldırıları 2021'de üçüncü sıraya gerilemiş olsa da hala kritik öneme sahip. Bu kategorideki riskler, kullanıcıdan alınan verilerin doğrulanmadan sistemlere aktarılmasıyla ortaya çıkar. Cross-Site Scripting (XSS) de artık bu kategori altında değerlendiriliyor.

Örnek: Kullanıcı giriş formuna zararlı SQL komutları eklenirse, saldırgan veritabanını ele geçirebilir veya veri sızdırabilir. Örneğin, ' OR 1=1 -- gibi bir girişle tüm kullanıcı bilgilerine erişim sağlanabilir.

Nasıl Korunmalı? Kullanıcı girdilerini doğrulayın ve parametrik sorgular kullanın.

4. Insecure Design

2021 listesine yeni eklenen bu kategori, güvenlik açıklarının yazılım tasarımındaki eksikliklerden kaynaklanmasına odaklanır. Güvenli olmayan tasarım, güvenlik zafiyetlerinin temel nedenlerinden biridir.

Örnek: Güvenlik risklerini dikkate almadan, tehdit modellemesi yapılmadan bir uygulamanın geliştirilmesi.

Nasıl Korunmalı? Tehdit modelleme, güvenli tasarım kalıpları ve güvenlik mimarileri kullanılarak uygulamalar geliştirilmelidir.

5. Security Misconfiguration

Bu risk, uygulamalarda yanlış veya eksik güvenlik yapılandırmaları ile ilgilidir. 2021'de altıncı sıradan beşinci sıraya yükselmiştir. XML External Entities (XXE) bu kategoriye dahil edilmiştir.

Örnek: Test ayarlarının canlı ortamda bırakılması veya gereksiz özelliklerin açık tutulması.

Nasıl Korunmalı? Tüm ayarlar güvenli varsayılanlarla yapılandırılmalı, düzenli yapılandırma incelemeleri yapılmalıdır.

6. Vulnerable and Outdated Components

Önceki OWASP listesinde "Using Components with Known Vulnerabilities" olarak bilinen bu kategori, 2021'de daha üst sıralara tırmanmıştır. Güvenlik açıkları olan eski yazılım bileşenlerinin kullanılması büyük risk taşır.

Örnek: Eski bir kütüphanede bulunan güvenlik açığının güncellenmemesi.

Nasıl Korunmalı? Kullanılan kütüphaneler düzenli olarak güncellenmeli ve güvenlik taramaları yapılmalıdır.

7. Identification and Authentication Failures

Önceden "Broken Authentication" olarak bilinen bu kategori, 2021'de yedinci sıraya gerilemiştir. Bu risk, kimlik doğrulama süreçlerindeki hatalarla ilgilidir.

Örnek: Zayıf şifre politikaları veya oturum yönetim hataları.

Nasıl Korunmalı? Güçlü kimlik doğrulama yöntemleri ve çok faktörlü kimlik doğrulama (MFA) kullanılmalıdır.

8. Software and Data Integrity Failures

Bu kategori de 2021'de yeni eklenmiştir. Güvenli olmayan yazılım güncellemeleri, CI/CD hataları gibi sistemlerin veya verilerin bütünlüğünü tehdit eden hatalar burada ele alınır.

Örnek: Güvenli olmayan bir kaynaktan güncelleme almak veya CI/CD süreçlerinde bütünlük doğrulamalarını yapmamak.

Nasıl Korunmalı? Yazılım güncellemeleri güvenli kaynaklardan yapılmalı ve veri bütünlüğü sürekli doğrulanmalıdır.

9. Security Logging and Monitoring Failures

Daha önce "Insufficient Logging & Monitoring" olarak bilinen bu kategori, yetersiz güvenlik izleme ve kayıt tutma ile ilgilidir. 2021'de daha fazla kapsam içermektedir.

Örnek: Saldırı girişimlerinin kaydedilmemesi veya izleme sistemlerinin yeterince kurulmamış olması.

Nasıl Korunmalı? Güvenlik olayları kayıt altına alınmalı ve proaktif izleme sistemleri kurulmalıdır.

10. Server-Side Request Forgery (SSRF)

Bu kategori, 2021'de listeye yeni eklenen bir diğer güvenlik riskidir. Server-Side Request Forgery (SSRF), saldırganların bir sunucuya zararlı talepler göndermesine olanak tanır.

Örnek: Saldırganın, bir uygulamanın sunucu tarafında başka bir sisteme yetkisiz bir istek göndermesi.

Nasıl Korunmalı? Girdi doğrulama yapılmalı ve dış sistemlerle iletişimde güvenlik duvarları oluşturulmalıdır.

OWASP10 ile Alakalı Bir Makale

OWASP10 ile ilgili örneklerle birlikte daha detaylı bir bilgiye ulaşmak isterseniz Dr. Öğr. Üyesi İsa AVCI ve Emre DOĞAN'ın "WEB APPLICATION SECURITY: DETECTION AND MITIGATION OF VULNERABILITIES" makalesine bakmanızı tavsiye ederim.

https://www.researchgate.net/publication/381768328_WEB_APPLICATION_SECURITY_DETECTION_AND_MITIGATION_OF_VULNERABILITIES

OWASP Araçları

OWASP sadece rehber ve önerilerle sınırlı kalmıyor. Aynı zamanda web uygulamalarınızın güvenliğini test etmeniz için araçlar da sunuyor. Örneğin, OWASP ZAP (Zed Attack Proxy), web uygulamanızın güvenlik açıklarını bulmak için kullanabileceğiniz ücretsiz ve açık kaynaklı bir araç. Bu araç sayesinde, uygulamanızın zafiyetlerini tespit edip bu açıkları kapatma fırsatınız oluyor.

Bir başka faydalı araç olan OWASP Dependency-Check ise projenizde kullandığınız açık kaynak kütüphanelerin bilinen güvenlik açıklarını tespit ediyor. Bu sayede, uygulamanızın dış kaynaklı bileşenlerinden de emin olabilirsiniz.

OWASP ve DevSecOps

Yazılım geliştirme süreçlerinin giderek daha karmaşık ve hızlı hale gelmesi, güvenlik kontrollerinin süreç boyunca entegre edilmesini gerektiriyor. İşte bu noktada DevSecOps devreye giriyor. OWASP, güvenlik kontrollerini geliştirmenin her aşamasına dahil etmek için mükemmel bir kaynak sunuyor. Geliştirme sürecinde sürekli güvenlik taramaları yaparak uygulamanızın her zaman güvenli olmasını sağlayabilirsiniz.

yekta.web.tr


Takip Et