WebSocket Sıkıştırması Gizli Verileri Sızdırabiliyor
WebSocket uygulamalarında bant genişliğini azaltmak için veri sıkıştırması yaygındır. Ancak RFC 7692'de tanımlanan permessage-deflate uzantısı ciddi bir güvenlik sorunu taşıyor: saldırgan kontrollü veriler ile gizli bilgiler aynı sıkıştırma bağlamını paylaştığında, mesaj boyutu sır hakkında bilgi verebiliyor.
Sorun şu: sıkıştırma algoritması geçmiş verileri referans alıyor. Saldırgan, seçtiği metni gizli verilerle aynı bağlama yerleştirip ortaya çıkan mesaj uzunluğunu ölçebilirse, bu uzunluk sırrın içeriği hakkında ipucu veriyor. Şifreleme teldeki baytları korusa da, içerik ile sıkıştırılmış boyut arasındaki ilişkiyi ortadan kaldırmıyor.
Bu saldırı pratik olabilmesi için iki koşul gerekli: saldırgan ve gizli veriler aynı sıkıştırma bağlamında bulunmalı, ve saldırgan mesaj boyutlarını veya zamanlamayı gözlemleyebilmeli. Örneğin bir sohbet uygulaması tüm konuşmayı tek bağlamda sıkıştırıyorsa, saldırgan başka bir kullanıcıyla paylaşılan mesajların uzunluğundan bilgi çıkarabilir.
Geliştirici açısından: WebSocket sıkıştırmasını kullanırken, saldırganın kontrol edeceği veriler gizli bilgilerle aynı bağlamda sıkıştırılmıyorsa sorun yoktur. Bağlamları ayırma veya sıkıştırmayı devre dışı bırakma seçenekleri değerlendirilmeli.
0 yorum