OWASP TOP 10 NEDİR?

OWASP TOP 10 NEDİR?

İlk olarak 2003 de yayınlanan Owasp Top 10, OWASP vakfının 3 veya 4 yıl süren düzenli aralıklarla web uygulamalarında bulunan en tehlikeli 10 zafiyeti bildirdiği bir bildiridir..

OWASP NEDİR?

OWASP;
Open Web Application Security Project (Açık Web Uygulama Güvenliği Projesi) anlamına gelir. Eylül 2001'de Mark curphey tarafından kuruldu.Web uygulama güvenliği alanında kar amacı gütmeden eğitimler makaleler ve belgeler paylaşan bir topluluktur.


OWASP TOP 10 DA NELER DEĞİŞTİ?

Öncelikle isterseniz gelin bi hep beraber Owasp top 10 da neler değişti bereber bakalım.


Tablo kaynağı;OWASP Top 10:2021




Gördüğümüz üzere bazı zafiyetlerin yerlerinin değiştiği gibi bazı zafiyetlerinde listeden kaldırılıp yerine yeni açıkların geldiğini gözlemleyebiliyoruz.


OWASP TOP 10 2021 AÇIKLARI:

  • A01:2021-Broken Access Control
  • A02:2021-Cryptographic Failures
  • A03:2021-Injection
  • A04:2021-Insecure Design
  • A05:2021-Security Misconfiguration 
  • A06:2021-Vulnerable and Outdated Components 
  • A07:2021-Identification and Authentication Failures
  • A08:2021-Software and Data Integrity Failures
  • A09:2021-Security Logging and Monitoring Failures
  • A10:2021-Server-Side Request Forgery


A01:2021-Broken Access Control

Açık ilk kez 2012 yılında Güney Coroline gelir departmanında, aralarında vergi mükelleflerinin de bulunduğu 3,6 milyon sosyal güvenlik numarasının da içinde bulunduğu büyük bir veri hırsızlığı ile gündeme geldi. 
   
    Peki bu kadar zarar veren açık nedir? Ne sıklıkla görülür? Gelin biraz bunları konuşalım
Broken Access Control web uygulamalarının %94'ü ortalama %3,81'lik bir ortalamayla % 94'ü ortalama %3,81'lik bir ortalama insidans ile listemizin ilk sırasına oturmuştur.

 Açık erişim kontrol noktasını geçerek işlevini sağlar.


 




Açığın Doğuracağı Sorunlar

  1. Kullanıcı hesaplarına erişim 
  2. Yetki yükseltme ve bu sayede yönetimsel kaynak ve dosyalara tam erişim

Nasıl Önlenir?

  •  Hassas verileri korumak adına ek güvenlik katmanları uygulanarak erişim denetimi sorunları azaltılabilir.
  • Oturum yönetimini güncel tutmak
  • Çift taraflı doğrulama yapmak 
  • Erişim denetimi hatalarını kaydedin
  • Otomatik saldırı araçları için denetleyici erişimini sınırlandırın.

A02:2021-Crytopraphic Failuer    

 Cryptopraphic Failures Nedir?

     Açık daha öncede 2017'de  A3:2017-Sensitive Data Exposure olarak karşımıza çıkmıştır. Hata temel olarak web uygulamalarının data, API gibi önemli bilgilerinin herkese açık yerde şifresiz veya yetersiz şifrelerle bulundurulması.



    Cryptopraphiç Failures Neden kaynaklanır?

  1. Eksik veya zayıf şifreler
  2. Kaynak kodların yedek dosyaları
  3. Güvensiz hash algoritmalarının kullanımı.  Örnek; MD5, SHA1 HA2
  4. Versiyon kontrol sistemleri 
  5. Eksik ve zayıf algoritma kullanımı 

  Cryptopraphiç Failures Açığı Nasıl Önlenir? 


  1. Hassas verilerinizi şifreleyin 
  2. Hassas verileri içeren yanıt için önbelleğe alma işini devre dışı bırakın.
  3. Verileri sınıflandırmaya dikkat edin ve buna göre gerekli güvenlik önlemlerini uygulayın.
  4. Sadece şifreleme yerine kimlik doğrulama şifrelemeleri kullanın.
  5. Hassas veriler için FTP veya SMTP gibi eski protokolleri kullanmayın.
  6. Güçlü algoritmalar kullanın.


A03:2021-Injection


   2017'de en üst sıralarda olan Injection zafiyeti, OWASP  TOP 10 2021'de listenin 3.sırasına çekilmiştir.

   Bu zafiyette saldırganlar kullanıcı girdisinin denetim eksiğinden ve doğrudan sorgulara komutlara eklenmesi ile ortaya çıkar. Ve bu durum saldırganların genelde veri tabanına veya sistemin tamamını ele geçirmesine sebep olur.


  

  Injection zafiyeti neden kaynaklanır?

  1. Kullanıcı tarafından sağlanan veriler uygulama tarafından doğrulanmayıp filtrelenmemiyorsa bu zafiyet ortaya çıkabilir.
  2. OS komutları 
  3. LDAP sorgusu
  4. SQL sorgusu
  5. Düşmanca veriler,ekler,hassas kayıtları ayıklamak içim nesne ilişkisel eşleme (8Orm) arma parametreleri.
  6. XPATH 


  Injection zafiyetleri nasıl önlenir?

  1. Yorumlayıcıyı tamamen kullanmaktan kaçınan,parametreli bir arabirim sağlanyan veya nesnilşkisel Eşleme Araçlar'na (ORM'lar) geçiş yapan güvenli bir API kulanılmalıdır.
  2. Pasif sunucu tarafı giriş doğrulaması kullanın.
     



A04:2021-Insecure Design (güvensiz tasarım)

    OWASP Top 10 2017 listesinde bulunmayan ve 2021' de listenin 4.sırasında yer almış bir açıktır. Peki nedir bu Insecure Design?
    Insecure Desing dizayn ve mimari açıkları ile ilgilenen yeni bir zafiyet sınıfı/kategorisidir. 
Kodlamada  (Shiflleft)  kavramının ötesine kod öncesi güvenli tasarım için kritik olan aktivitelere odaklanır.
 

   Insecure Design'e  zafiyetine sebep olan faktörler

  1. İçeriğide hassas veri olan hata mesajları.
  2. İş mantığı hataları.
  3. Hassas depolanması gereken verilerin açık metin olarak paylaşılmasında.


  Insecure Design zafiyetlerinden nasıl korunulur?

  1. Güvenli  tasarım desenleri veya kullanıma hazır asfalt yol kütüphaneleri kullanmak.
  2. Güvenlik dilini ve denetimleri kullanıcı hikayelerine entegre etmek.
  3. Pozlama ve koruma ihtiyaçlarına uygun olarak sistem ve ağ katmanlarındaki katman katmanlarını ayırmak.
  4. Kaynak tüketimini kullanıcıya veya hizmete göre sınırla.
  5. Uygulamanın her katmanında (Ön uçtan arka uca) inandırıcılık denetimlerini entegre edin.





A05:2021 – Security Misconfiguration

Web uygulası zamanla daha dinamik ve konfigürasyona bağlı kompanentlerinin artması ile bu risk artar.
   Konfigürasyonların eksik yapılması ya da varsayılan ayarlar ile kurulmasından kaynaklanan bir açıktır.




  Security Misconfiguration zafiyeti nasıl ortaya çıkar?


  1. Varsayılan parolaların hala etkin ve değişmemiş olamıs.
  2. XXE
  3. Yanlış ayarlanmış Bulut Servisler.
  4. Cookie veCORS yapılandırmaları.
  5. Gereksiz özellik ve servislerin etkin bırakılması (ports, pages, hesap)
  6. HTTP Güvenlik başlık bilgileri.
  7. Sunucu güvenlik üst bilgilerini veya yönergeleri göndermez ise veya güvenli değerler ayarlar olaması.
  8. Yazılımın güncel olmaması veya savunmasız olması.

 Security Misconfiguration zafiyeti nasıl önlenir?

  1. Varsayılan parolaları değiştirmek.
  2. İstemcilere güvenlik yönergeleri göndermek. Örneğin; Güvenlik Üstbilgileri.
  3. Gereksiz özellik ve servisleri devre dışı bırakmak.
  4. Güncel ve güçlü yazılımlar kullanmak.




A06:2021-Vulnerable and Outdated Components

   2017'de listemizin 9.sırasında yer alan bu açık 2021 de listemizin 3 üst sırasına yükselerek 6. sırayı kendisine ayırmaktan kaçınmıyor.
  Web uygulamaları, kullandıkları framework ve kompanentlerinde tespit edilen ve herkese açık yayınlanan zafiyetlerin olması ve bu zafiyetli sürümlerin kullanılmasından kaynaklanan bir açıktır.


  Vulnerable and Outdated Components Açığı Neden Kaynaklanır?

  1. Zafiyetli,desteği kesilmiş,eski versiyon;
  2. ,API 
  3. DBMS
  4. Kütüphaneler
  5. OS
  6. CMS (Wordpress, Joomla vs.)
  7. Kullandığınız bütün bileşenlerin sürümlerini bilmemek. 
  8. Güvenlik açıklarınızı sürekli kontrol etmemek veya kullandığınız bileşenlerin güvenlik haberlerini okumamak, takip etmemek ve bunlarla ilgili önlem almamak.
  9. Yazılım geliştiricilerinin güncelleştirmiş, yükseltilmiş veya düzeltme eki uygulanmış kitapların uyumluluğunu  kontrol etmemesi.




  Vulnerable and Outdated Components Açığından Nasıl Korunulur?

  1. Kullanılmayan gereksiz özelikleri, dosyaları ve belgeleri kaldırmak. 
  2. Bileşenleri güvenilir kaynaklardan almak. 
  3. Eski sürümleri güncelleştirin. 
  4. Eski sürümler için güvenlik düzeltme ekleri oluşturmayan veya kullanılmayan kitapları  ve bileşenleri izlemek ve düzeltme eki uygulamak mümkün değilse sorunu algılamak için sanal bir düzeltme eki dağıtmayı düşünün.


 

  A07:2021-Identification and Authentication Faillures

     OWASP TOP 10-2017'de listenin ikinci sırasında Broken Authentication ismi ile bulunan açığımız, OWASP TOP 10 2021'de  ise listenin 7.sırasında yer almaktadır.
     Kimlik doğrulama işlemlerinde yetersiz önlemler ve implementasyon hatalarından kaynaklı olarak ortaya çıkan bir açıktır.



  Identification and Authentication Faillures Açığı Nelerden Kaynaklanır?

  1. Sisteminiz kaba kuvvet ve diğer otomatik saldırılara izin verirse.
  2. ''Parola 1'' veya ''yönetici'' gibi varsayılan, zayıf veya iyi bilinen parolalara izin tanır.
  3. IP Engellemeyi atlatma.
  4. Şifre resetleme natık hataları. 
  5. 2FA atlatma.
  6. Şifre resetleme mantık hatalar.
 


  Identification and Authentication Faillures Açığından Nasıl Korunulur?

  1. Mümkün olduğunda otomatik kimlik bilgisi doldurma, kaba kuvvet ve çalınan kimlik bilgisi yeniden kullanım saldırılarını önlemek için çok faktörlü kimlik doğrulaması kullanmak.
  2. Parolanızı uzunluğu karmaşıklığı gibi politikalarını Ulusal Standartlar ve Teknoloji Enstitüsü (NIST)'a göre ayarlayın.
  3. Yönetici kullanıcı bilgileri başta olmak üzere kullanıcı kimlik bilgilerini paylaşmayın.






  A08:2021-Software and Data Integrity Failuser

         Yazılım güncellemelerinde, kritik verilerde ve CI/CD pipeline'larında yapılan işlemlerde bütünlük kontrolü yapılmadan varsayımla işlem yapılmasına odaklanır.



  Software and Data Intefrity Failuser Açığına Sebep Olan faktörler:

  1. Bütünlük Kontrolü Eksiklikleri Zararlı içerikler 
  2. Kod Review Eksiklikleri ile Backdoorlar (Arka kapılar)
  3. Insecure Deserialization; Uzaktan kod çalıştırma, Yetki yükseltme yetkisiz işlem 


   Software and Data Intefrity Failuser Açığı Nasıl Engellenir?

  1. Yazılımın veya verilerin beklenene kaynaktan gelirken değiştirilmediğine ve doğru kaynaktan geldiğine dair doğrulamalar için dijital imzalar veya benzer mekanizmalar kullanın.
  2. Dijital imza veya türevlerinin olmadığı veya güvenilmeyen verileri istemcilere girmesini ve iletimini engelleyecek çözümler bulunuz ve bunları uygulayın.
  3. Yapı ve dağıtım aşamalarında kod bütünlüğünü sağlamak için CI/CD  işlem hattınızın uygun ayrım, yapılandırma ve erişim denetimine sahip olduğundan emin olun.




A09:2021- Security Logging and Monitoring Failuser 

 Tespiti çok zor olan bu açık. 
   Uygulama üzerinde yapılan kritik işlemlerin loglarının oluşturulmamasından kaynaklanan bir   güvenlik açığıdır. OWASP'ın 2017 verilerine göre 10. sırada iken 2021 verilerinde bu açığı listenin   9. sırasında görüyoruz. 
 




 Security Logging and Monitoring Failuser Zafiyetine Neler Neden olur?   

  1. Hassas verilerin Loglarda yer alması.
  2. Alarm ve Vaka tespit eksikliği.
  3. Bütün logların sadece bir yerde depolanmış olması. 
  4. Zararlı aktivite izleme eksiği.

 Security Logging and Monitoring Failuser Zafiyetleri Nasıl Önlenir?

  1. Günlüklerin, günlük yönetimi çözümlerinin kolayca tüketebileceği bir biçimde oluşturulduğuna emin olun
  2. Günlük veya izleme sistemlerine yapılan saldırıları önlemek için günlük verilerin doğruluğunu kontrol ediniz.

 




A10:2021-Server-Side Reuqest Forgery (SSRF)

    Listemize yeni eklenen bu zafiyet; Web uygulaması kullanıcıdan URL verisini alıp herhangi bir doğrulamadan geçirmeden uzak sunucudaki kaynaklara erişim sağlamasından kaynaklanır.



    Server-Side Reuqest Forgery 

  1. Firewall, ACL atlatma.
  2. Şema değiştirerek sunucudaki yerel dosyalara erişim.
  3. Cevapları olduğu gibi sunucuya iletme.
  4. İç servislerin hizmet kesintisi.
  5. Ağ segmentasyon eksikliği ile ağda port tarama

   Server-Side Reuqest Forgery 

  SSRF açıkları için  önlemleri Ağ katmanı ve Uygulama katmanında olarak iki kısımdan ele alabiliriz.


Ağ katmanında alınacak önlemler:

  1. Uygulamalara dayalı güvenlik duvarı kuralları için bir sahiplik ve yaşam dögüsü oluşturun.
  2. SSRF'nin etkisini azaltmak için uzaktan kaynak erişim işlevselliğini aynı ağlarda bölümlere ayırın.


Uygulama katmanında alınacak önlemler:

  1. İstemci tarafından sağlanan tüm giriş verilerini sterilize ve doğrulama.
  2. İstemcilere ham yanıtlar göndermeyin
  3. HTPP yeniden yönlendirmelerini devre dışı bırakma.
  4. DNS yeniden bağlanma ve ''kontrol süresi, kullanım süresi'' (TOCTOU) koşulları gibi saldırı önlemek için URL tutarlılığının farkında olun.






Kaynakça






Yorumlar