Yaygın olarak kullanılan bir kusur Cloudflare içerik dağıtım ağı (CDN) Signal ve Discord gibi platformlarda bir görüntü göndererek birinin konumunu açığa çıkarabilir ve bilgisi olmadan saniyeler içinde kişinin anonimliğini kaldırabilir.
Bu sadece “Daniel” adını kullanan 15 yaşındaki bir güvenlik araştırmacısına göre yayınlanmış araştırma Fiziksel risk altında olabilecek gazetecilere, aktivistlere ve bilgisayar korsanlarına bir uyarı olarak GitHub Gist’te üç ay önce keşfettiği kusur hakkında bilgi verdi.
Bu kusur, hedefin telefonuna savunmasız bir uygulama yüklendiğinde veya hatta dizüstü bilgisayarında arka plan uygulaması olarak kullanıldığında, saldırganın 250 mil yarıçapındaki herhangi bir hedefin konumunu yakalamasına olanak tanıyor. Daniel, tek tıklama veya sıfır tıklama yaklaşımını kullanan bir saldırganın, uygulamayı “kötü amaçlı bir yük göndermek ve saniyeler içinde anonimliğinizi kaldırmak için kullanabileceğini ve bunun farkına bile varamayacağınızı” yazdı.
Cloudflare İçeriğini Önbelleğe Alma Siber Suçludur
Daniel, kusurun özünde Cloudflare’in en çok kullanılan özelliklerinden birinde yattığını açıkladı: önbellekleme. Cloudflare’in önbelleği, görünüşte sunucu yükünü azaltmak ve web sitesi performansını artırmak için resimler, videolar veya web sayfaları gibi sık erişilen içeriğin kopyalarını veri merkezlerinde saklar.
Bir cihaz önbelleğe alınabilecek bir kaynak için istek gönderdiğinde Cloudflare, kaynağı mümkünse yerel veri merkezi deposundan veya kaynak sunucudan alır. Daha sonra onu yerel olarak önbelleğe alır ve döndürür. Daniel, “Varsayılan olarak bazı dosya uzantıları otomatik olarak önbelleğe alınır ancak site operatörleri yeni önbellek kurallarını da yapılandırabilir” diye açıkladı.
Bu işlem akışı nedeniyle, eğer bir saldırgan, bir kullanıcının cihazının Cloudflare destekli bir siteye bir kaynak yüklemesini sağlayabilirse ve bunun yerel veri merkezlerinde önbelleğe alınmasına neden olabilirse, daha sonra tüm verileri numaralandırabilir. Bulut parlaması Hangisinin kaynağı önbelleğe aldığını belirlemek için veri merkezleri. Daniel, “Bu, kullanıcının konumuna ilişkin inanılmaz derecede kesin bir tahmin sağlayacaktır” diye açıkladı.
Daniel, birisinin “bireysel Cloudflare veri merkezlerine basit bir şekilde HTTP istekleri gönderememesi” nedeniyle bu saldırı akışındaki bir engelin üstesinden gelmek zorunda kaldı, diye yazdı. Bununla birlikte, bir forum gönderisi aracılığıyla, birinin Cloudflare Workers ile belirli Cloudflare veri merkezlerine nasıl istek gönderebileceğini gösteren bir hata keşfetti ve HTTP isteklerini belirli veri merkezlerine yönlendiren Cloudflare Workers tarafından desteklenen bir proxy olan Cloudflare Teleport adlı bir araç yarattı.
Cloudflare Konum Kusurundan Nasıl Yararlanılır
Daniel, alıcının konumunu açığa çıkaracak görüntüleri hem Signal hem de Discord aracılığıyla nasıl gönderebileceğini göstermeye devam etti. Gizlilik özellikleri nedeniyle gazeteciler ve aktivistler tarafından tercih edilen bir uygulama olan Signal için, tek tıklamayla yapılan saldırı, birinin, alıcının konumunu belirlemek için önbellek coğrafi konum yöntemini kullanan bir kullanıcıya bir ek veya bir avatar göndermesine olanak tanıyor.
Saldırgan, uygulamayı aktif olarak kullanmadığı sırada kullanıcıya mesaj gönderildiğinde ortaya çıkan anlık bildirimlerden yararlanarak Signal’de sıfır tıklama saldırısını da kullanabilir. Bu durumda alıcının, eki indirmek için cihazının Signal görüşmesini açmasına bile gerek kalmadığını söyledi.
Saldırganların, Discord’un CDN’sinden yüklenen ve Cloudflare’de önbelleğe alınacak şekilde yapılandırılmış özel bir emojiyi kullanarak Discord’daki kusurdan potansiyel olarak daha geniş bir etkiyle yararlanabileceğini açıkladı.
Daniel, “Dolayısıyla, bir saldırgan Discord kanalına bir eklenti göndermek yerine kullanıcı durumunda özel bir emoji görüntüleyebilir ve hedefin bir anonimleştirme saldırısı gerçekleştirmek için profilini açmasını bekleyebilir” diye yazdı. Discord’da kullanıcının avatarını değiştirerek ve birine anlık bildirimi tetikleyen bir arkadaşlık isteği göndererek tek tıklamayla saldırı vektörünün de mümkün olduğunu ekledi.
Signal, Discord, Cloudflare Yanıtı ve Azaltma
Daniel hatayla ilgili olarak Signal, Discord ve Cloudflare ile iletişime geçti. İlk iki şirket bunu hafifletmek için hiçbir şey yapmadı; Signal, kullanıcıların kendi kimliklerini korumaktan sorumlu olduğunu iddia ederken Discord, bunun Cloudflare’in sorumluluğunda olduğunu iddia etti.
Cloudflare, Daniel’in Işınlanma aracını oluşturmasına olanak tanıyan Cloudflare Workers hatasını düzeltti. Hata, bir yıl önce başka bir araştırmacı tarafından HackerOne programına bildirildi ancak şirket rapora yanıt vermedi. Daniel’in raporunun ardından davayı yeniden açtı ve sorunu hafifleterek ona bu süreçte 200 dolarlık hata ödülü verdi.
Ancak hafifletme işleminden sonra bile Daniel, Cloudflare Teleport aracını bunun yerine bir VPN kullanacak şekilde yeniden programlayarak ve dünya çapında 31 farklı ülkede çeşitli konumlarda bulunan 3.000’den fazla sunucuya sahip bir VPN sağlayıcısı seçerek bu kusurdan yararlanmayı başardı. “Bu yeni yöntemi kullanarak tüm Cloudflare veri merkezlerinin yaklaşık %54’üne tekrar ulaşabiliyorum” diye açıkladı.
Daniel, şu anda “içerik dağıtımı ve önbelleğe alma için CDN kullanan herhangi bir uygulamanın, uygun önlemler alınmadığı takdirde hâlâ savunmasız olabileceğini” yazdı.
Roger Grimes, bunun, şiddet uygulayan bir erkek arkadaştan veya kocadan saklanan bir kadın veya düşmanca bir hükümet tarafından hedef alınan bir siyasi muhalif gibi çeşitli nedenlerle konumlarını korumaya ihtiyaç duyan kişiler için özellikle tehlikeli olabileceğini söylüyor: KnowBe4’te veri odaklı savunma misyoneri.
Dark Reading’e “İlk bakışta kusur gerçekten zararsız ve pek alakalı görünmüyor, ancak bunun sorun olabileceği senaryolar var” diyor. Üstelik Grimes, Cloudflare CDN’nin bu tür bir kusurdan etkilenen tek CDN olmadığından şüpheleniyor. “Saldırı yeterince genel olduğundan daha fazla CDN’ye uygulanabileceğini düşünüyorum” diyor.
Daniel, gizliliklerinden endişe duyan kişilerin, etkilenen uygulamalara maruz kalmalarını sınırlamaları gerektiğini, bunun da konum verilerinin korunması söz konusu olduğunda “önemli bir fark yaratabileceğini” tavsiye etti.