21 puan yazan xguru 2023-11-15 | 5 yorum | WhatsApp'ta paylaş
  • WAF kullanımına karşı çıkan çok kişi olmadığı için bu yazı yazılmış. WAF hakkında arama sonuçlarının çoğu WAF tedarikçileri tarafından hazırlanmış
  • WAF, internetin ilk dönemlerinde ortaya çıktı; tüm HTTP isteklerini araya girerek yakalar ve SQL, shellcode vb. ile benzer istekleri engellemek için yüzlerce düzenli ifadeyi değerlendirir
  • Siber güvenliğin ilk dönemlerinde WAF iyi bir fikir gibi görünüyordu, ancak bugün artık öyle değil
  • Performans sorunları, kolayca aşılabilmesi, bir saldırı vektörü olarak risk oluşturması ve yüksek yanlış pozitif oranları nedeniyle bugün daha iyi güvenlik teknolojileri mevcut

WAF'nin performansı berbat

  • WAF, her istek için yüzlerce düzenli ifade çalıştırdığı için performans düşüşüne yol açar
  • WAF kullanıldığında kayda değer ek RAM gerekir; ortalama yükleme süresi, istek işleme süresi ve CPU kullanımı artar, ayrıca hatalı engellemeler de oluşur

WAF kolayca aşılır

  • WAF ile saldırganlar arasındaki bitmeyen yarışta üstün gelen taraf saldırganlardır
  • Karmaşık sözdizimi ve kodlama teknikleri kullanılarak WAF kurallarını aşmak mümkündür
  • Örneğin Log4shell saldırısı basit bir dize denetimiyle engellenemez; saldırganlar çeşitli atlatma teknikleri kullanabilir (Log4J Lookup)
  • Ayrıca saldırı dizesini yaklaşık 8KB kadar gereksiz ama zararsız karakterle doldurursanız, WAF bunu sürekli RAM'de tamponlayamadığı için kesmeye uğrar ve işe yaramaz hale gelir

WAF bir saldırı vektörüdür

  • 2019'da CapitalOne, WAF yapılandırma hatası nedeniyle 100 milyon kredi başvurusunun sızdırıldığı bir olay yaşadı
    • Saldırganın WAF'yi kandırarak EC2 metadata servisine istek gönderttiği ve S3'ten hassas dosyaları okuyabilen kimlik bilgilerini elde ettiği bildirildi
  • Yani WAF'nin yanlış yapılandırılması güvenlik olaylarına yol açabilir
  • WAF'lerin çoğu karmaşıktır ve çoğu zaman kapalı kaynakla yazılır; bu da saldırı yüzeyini büyütür
    • Pahalı "kurumsal" ürünler oldukları için şirketler, rakiplerinden daha fazla öne çıkmak adına içlerini gereksiz özelliklerle doldurur
  • Güvenlik ürünlerine ilişkin temel güvenlik ilkeleri sık sık göz ardı edilir

WAF'nin yüksek yanlış pozitif oranı

  • Son 20 yılda açık kaynak WAF kural setleri, yeni saldırı türlerini tespit etmek için ciddi biçimde genişledi. Muhtemelen özel mülkiyetli WAF'ler de aynı şeyi yapıyordur
  • Bu, WAF çalıştırıldığında isteklerin engellenmesine yol açabilecek dizelerin giderek arttığı anlamına gelir
  • Her yeni kural çıktığında, WAF kural setinin genişlemesi yanlış pozitif oranını da artırır
  • "Yeni nesil" WAF'ler, birden fazla isteği inceleyerek veya IP itibar sistemleri kullanarak bu sorunu çözdüklerini iddia eder
    • Yanlış pozitif oranlarını azaltabilirler, ancak yanlış pozitif sorununu tamamen çözemezler
  • Yanlış pozitifler nedeniyle kullanıcıların ve destek ekiplerinin net bir çözüm prosedürü olmayabilir

WAF'ye alternatifler

  • İzolasyon (Isolation): Sistemin bir bölümü ele geçirilse bile diğer bölümleri etkilememesini sağlayan teknikler
    • Tarayıcılar bunu, tüm kodu; çerezlere, kayıtlı parolalara ve diğer sekmelere rastgele erişim yetkisi olmayan özel sandbox süreçlerinde çalıştırarak yapar
    • Mikroservisler izolasyon düşünülerek tasarlanmıştır, ancak farklı kütüphaneler ve diller kullanılarak monolit biçiminde de uygulanabilir
  • Değişmezlik (Immutability): salt okunur dosya sistemleri, yeniden başlatma gerektiren paket yöneticileri ve yalnızca ekleme yapılabilen yedekler yoluyla saldırı kategorilerini ortadan kaldırma
  • Statik Analiz (Static Analysis): SQL injection'ı önlemek için prepared statements kullanımı ve CI pipeline içinde statik analizle kod denetimi
  • Yetenek tabanlı güvenlik (Capability-based Security): Her API endpoint'inin veritabanına ve dosya sistemine sınırsız erişim hakkına sahip olması gerekmez; yalnızca gereken yetkilerin verilmesi yaklaşımı

5 yorum

 
[Bu yorum gizlendi.]
 
roxie 2023-11-18

:+1:

 
devpain 2023-11-16

nginx + naxsi kombinasyonunda yukarıdaki birkaç madde için geçerli bir durum olmayabilir gibi görünüyor.
WAF kural setinin, servis geliştiricisinin yönettiği bir yaklaşımla ele alınması gerekir.
Güvenlik uzmanı, hizmete dair yeterli anlayış olmadan genel geçer ayarlar yaptığında yüksek yanlış pozitif oranı ortaya çıkar ve taleplere göre kural setinden maddeler tek tek silindikçe WAF asıl işlevini kaybeder.

 
nosookja 2023-11-15

Bypass veya false positive tarafına kısmen katılsam da, genel olarak kesin olmayan bilgilerin sanki olguymuş gibi sıralandığı hissi oldukça güçlü. Vakit bulursam özgün metne de bakmak gerekecek sanırım. Özellikle CapitalOne vakasını WAF’in sorunu olarak göstermesi, asıl yazının yazarının WAF konusunda epey yetersiz bir anlayışa sahip olduğunu düşündürüyor. WAF, zafiyetleri kökten mitigation eden bir çözüm değildir. Kodda ortaya çıkan zafiyetlerin kodda çözülmesi doğru yaklaşımdır. Ancak gerçek hayatta durum böyle olmadığı için, şüpheli veya kötü niyetli girdileri ön tarafta inceleyecek uygun bir şeye ihtiyaç duyulur. Bu iyi yönetilirse gerçekten çok iyi bir bıçak olur; iyi yönetilemezse insanı yaralayan bir bıçak haline gelir. Aracın iki taraflı doğası her zaman vardır, ama bu konu sanki fazla kötü taraflarını öne çıkarıyor gibi görünüyor.

 
xguru 2023-11-15

Bununla ilgili Hacker News yorumlarında çeşitli görüşler ve karşı argümanlar var. Onlara da birlikte göz atın
https://news.ycombinator.com/item?id=38255004