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:
- Bilinen bir statik dizin altında önbellek önbelleğe alınma davranışını doğrulayın.
- Diferansiyel normalleşmeyi doğrulamak için test yolu geçiş ve sınır kullanımı.
- 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!