Yeni önbellek aldatma saldırısı, önbellek ve web sunucusu arasındaki yanlış iletişimden yararlanıyor


Yeni belgelenmiş bir önbellek aldatma saldırısı, hassas uç noktaları ortaya çıkarmak ve kimlik doğrulama jetonlarını çalmak için önbellekleme katmanları ve menşe sunucuları arasında yol normalleştirme ve sınırlayıcı kullanımındaki uyumsuzluklardan yararlanır.

Araştırmacılar, URL işlemedeki ince tutarsızlıkların bir içerik dağıtım ağı (CDN) ‘nin korunan kaynaklara önbelleğe alınmasını nasıl kandırabileceğini gösterdiler – sadece bir saldırganın daha sonra alması ve kimlik doğrulama kontrollerini atlayarak.

Güvenlik Açığını Anlamak

Bu saldırının merkezinde önbellek ve Origin sunucusu arasında bir yanlış iletişim bulunmaktadır. Önbellek katmanları tipik olarak statik varlıkları dosya uzantısı veya dizin önekine göre tanımlarken, orijin sunucuları normalleştirilmiş yollara dayalı olarak yönlendirmeyi ve erişim kontrolünü uygular.

Bu iki sistem bir URL’nin nasıl yorumlanacağına katılmadığında, çekilmeden kalmayı amaçlayan hassas sayfalar paylaşılan önbelleklerde saklanabilir. Bir saldırgan daha sonra kimlik doğrulamadan özel veriler – oturum çerezleri veya API jetonları gibi – getirebilir.

Örneğin, chat.openai[.]com/api/auth/seans.css 400 hata döndürür ve önbelleklenmez, oysa chat.openai[.]com/api/auth/seans/test.css başarılı olur ve bir “paylaşım” dizini altında göründüğü için önbelleklenir. Şöyle hazırlanmış bir yol isteyerek:

https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123

CDN bunu “Paylaş/…/API/Auth/Oturum” olarak görür (böylece önbellek yapar), ancak Origin Sunucusu “API/Auth/Oturum” yolunu normalleştirir ve oturum belirtecini döndürür.

Saldırı metodolojisi ve hafifletmeler

Saldırganlar önce bir dizini veya uzatma önbelleğinin statik olarak ele alınması gerekir. Daha sonra, önbellekten değişmeyen ancak menşe tarafından normalleştirilen sınırlayıcılar veya geçiş dizileri kullanarak URL’ler oluştururlar. Ortak teknikler şunları içerir:

  • Yol eşleme tutarsızlıkları: Sahte uzantıları (örneğin .css, .js) API uç noktalarına eklemek.
  • Sınırlı Karışıklık: Önbelleğin göz ardı ettiği ancak menşe süreçleri olduğu gibi,;
  • Normalleştirme sömürüsü: Geçiş jetonlarını (..) kodlanmış ayırıcılarla birleştirmek, böylece önbellek statik bir yolla eşleşirken, menşe korunan bir uç noktaya karar verir.

Başarılı bir istismar genellikle üç adım içerir:

  1. Bilinen bir statik dizin altında önbellek önbelleğe alınma davranışını doğrulayın.
  2. Diferansiyel normalleşmeyi doğrulamak için test yolu geçiş ve sınır kullanımı.
  3. Hazırlanmış URL’yi sorgulayarak önbelleğe alınmış hassas kaynağı alın.

Bu tür saldırıları azaltmak için, kuruluşlar tüm katmanlarda tutarlı URL normalleşmesini zorlamalı ve hassas uç noktaların asla önbelleğe alınabilir başlıklar taşımamasını sağlamalıdır. Önbellek kontrol direktiflerinin doğru yapılandırması kritiktir:

Direktif Davranış
Önbellek kontrolü: halka açık Herhangi bir aracı (CDN, Proxy, Tarayıcı) önbelleğe alınabilir
Önbellek kontrolü: özel Yalnızca son kullanıcının tarayıcısı önbelleğe alabilir; Paylaşılan önbellek yok
Önbellek kontrolü: mağaza yok Tarayıcı belleği dahil olmak üzere her yerde önbelleklemeyi önler

Geliştiriciler, beklenmedik sınırlayıcılar veya kodlanmış geçiş dizileri içeren talepleri reddetmek için CDN kurallarını denetlemelidir.

Ek olarak, orijinal sunucular keyfi sonekleri göz ardı eden katı yönlendirme kuralları uygulamalı ve tüm kimliği doğrulanmış uç noktalara uygun önbellek kontrol başlıklarını (örn. Mağaza yok) döndürmelidir.

Portswigger laboratuvarları gibi araçları kullanarak düzenli önbellek-davranış testi, vahşi doğada sömürülmeden önce yanlış yapılandırmaların belirlenmesine yardımcı olabilir.

URL’lerin önbelleği ve menşe yorumlarını hizalayarak ve özel içeriği seçilemeyen olarak titizlikle etiketleyerek, kuruluşlar bu yeni vektörü yetkisiz veri maruziyeti için kapatabilir.

Bu haberi ilginç bul! Anında güncellemeler almak için bizi Google News, LinkedIn ve X’te takip edin!



Source link