Web Cache Poisoning; Türkçe karşılığı ile web önbellek zehirlenmesi yaklaşık bir sene önce Güvenlik Araştırmacısı James Kettle tarafından keşfedilen, belli başlı web sitelerinin ve çevrimiçi platformların web önbelleklerinde değişiklik yaparak zararlı kod çalıştırılmasına olanak sağlayan bir saldırı türüdür. James Kettle’ın başarıyla amacına ulaştığı mağdurlar arasında; çevrimiçi mağazalar, kritik bir yazılım ürünü, bir video oyunu, popüler bir bulut platformu sağlayıcısı, bir hosting sağlayıcısı ve yatırım şirketinin yatırımcı bilgileri bulunmaktadır. Böylelikle saldırının ne kadar önemli olduğunun bilgisini de anlamış oluyoruz.
Cache(Önbellek) Nedir?
Bir uygulamayı ikinci kez açtığımızda genellikle daha hızlı bir şekilde açılır. Bunun nedeni tabii ki bilgisayarımızda Cache’in (Önbellek) çalışmasıdır. Dolayısıyla sitelerin daha hızlı açılmasına olanak sağlar. Önbellek, verileri depolayan ve en son yaptığımız işlemleri değerlendirerek; bir sonraki işlemi %90 tahmin edip, bu bilgileri tutan, bu şekilde de işlemlerimizi hızlı bir şekilde yapmamızı sağlayan CPU içindeki yüksek hızlı hafızalara denir.
Bilgisayar bilimlerindeki tüm önbellekleme biçimleri ister CPU önbelleği ister HTTP Web Sunucusu önbelleği isterse de veri tabanı önbelleği talep edilenler için yanıt sürelerini hızlandırmayı amaçlar. Bunu yapmak, aktif olarak önbelleğe alınan bileşen üzerindeki yükü mümkün olduğunca azaltmaya yardımcı olur. Bu ilke nedeniyle, önbellek, istemci (web tarayıcısı, mobil uygulama, vb.) ve sunucu arasında olması eğilimindedir. Web Önbellek Zehirlenmesini anlamak için bunu anlamak çok önemlidir.
Önbellek Anahtarları
Önbellek bir HTTP isteği aldığı zaman, öncesinde önbelleğe alınmış bir istek olup olmadığını veya arka uç sunucu tarafından iletilmesi gerekip gerekmediğini belirlemelidir. Önbellek anahtarları olarak bilinen isteğin bileşenlerinin önceden tanımlanmış bir alt kümesini karşılaştırarak eşdeğer istekleri tanımlar. Genellikle bu istek önbellek anahtarında bulunmayan istek bileşenlerinin anahtarlanmamış olduğunu söyler.
Web Önbellek Zehirlenmesi Nedir?
Web önbellek zehirlenmesi, bir saldırganın bir web sunucusunun ve önbelleğin davranışını kullanarak diğer kullanıcılara zararlı bir HTTP yanıtının sunulmasını sağlayan gelişmiş bir tekniktir. Temel olarak, web önbellek zehirlenmesi iki aşamadan oluşur. İlk olarak, saldırganın, yanlışlıkla bir tür tehlikeli yük içeren arka uç sunucudan nasıl bir yanıt alacağını bulması gerekir. Başarılı olduklarında, yanıtlarının önbelleğe alındığından ve ardından amaçlanan kurbanlara sunulduğundan emin olmaları gerekir. Zehirlenmiş bir web önbelleği, potansiyel olarak çok sayıda farklı saldırıyı dağıtmanın, XSS, JavaScript enjeksiyonu, açık yeniden yönlendirme gibi güvenlik açıklarından yararlanmanın yıkıcı bir yolu olabilir.
Verilen Hasarlar Neler Olabilir Ne Kadar Büyük Olabilir?
Saldırımızda zehirli önbellek bağımsız bir saldırıdan daha çok bir dağıtım aracı olduğundan web önbellek zehirlenmesinin etkisi enjekte edilen yükün ne kadar zararlı olduğu ile ayrılmaz bir şekilde bağlantılıdır. Bu saldırı türünü diğer saldırılarımızı desteklemek için beraberinde kullanabiliriz. Zehirli yanıt yalnızca önbellek zehirlendiğinde etkilenen sayfayı ziyaret eden insanlara sunulacaktır. Sonuç olarak sayfanın popüler olup olmamasına bağlı olarak etki yoktan büyük boyuta kadar değişebilir.
Web Önbellek Zehirlenmesine Karşı Hazırlıklı Olun
Web önbellek üzerinden gelebilecek tehditlere karşı gerekli önlemler ve siber güvenlik çözümlerimiz hakkında detaylı bilgi için lütfen bizimle iletişime geçiniz.