- Favicon önbelleğini kullanarak web sitesi ziyaretçilerine benzersiz bir tanımlayıcı atayan bir izleme tekniğidir; kullanıcı önbelleği veya çerezleri silse bile tanımlama bilgisi korunur
- Bu yöntem gizli mod, VPN, reklam engelleyici kullanımında da çalışır ve tarayıcı yeniden başlatıldıktan ya da sistem yeniden açıldıktan sonra da kalıcılığını sürdürür
- Tarayıcının favicon’u istemesi ya da önbellekten yüklemesi şeklindeki örüntü kombinasyonları üzerinden benzersiz bir kimlik numarası oluşturulur
- Chrome, Firefox, Safari, Edge gibi başlıca tarayıcılar ve mobil tarayıcılar bu zafiyetten etkilenir
- Tarayıcı güvenliği ve gizlilik açısından favicon önbelleği yönetiminin önemi öne çıkıyor
Supercookie’ye genel bakış
- Supercookie, kullanıcıları tanımlamak için favicon cache (F-Cache) kullanan bir tekniktir
- Favicon, web sitesinin küçük simgesidir ve tarayıcı adres çubuğunda ya da yer imleri listesinde gösterilir
- Tarayıcılar favicon’u hızlı gösterebilmek için bunu ayrı bir yerel veritabanında (F-Cache) saklar
- F-Cache içinde ziyaret URL’si, favicon ID’si, TTL (geçerlilik süresi) bilgileri bulunur
- Bu yapı kötüye kullanıldığında, belirli URL yolları için favicon isteyip istememe durumlarının birleşimiyle tarayıcıya özgü benzersiz bir örüntü üretilebilir
Tehdit modeli
- Web sunucusu, tarayıcının favicon’u yeniden isteyip istemediğine bakarak daha önce ziyaret edilip edilmediğini anlayabilir
- Önbellekte favicon yoksa sunucuya bir GET isteği gider, varsa istek atlanır
- Birden çok yolun favicon istek durumları birleştirilerek tarayıcıya özel benzersiz bir kimlik numarası üretilebilir
- Bu tanımlayıcı; çerez silme, önbellek temizleme, VPN kullanma, header değiştirme gibi mevcut izleme önleme önlemlerinden etkilenmez
Mevcut çerezlerle karşılaştırma
- Tabloda belirtildiği üzere Supercookie %100 tanımlama doğruluğuna sahiptir ve
- gizli mod tespiti, önbellek ve çerezler silindikten sonra da kalıcılık, birden fazla pencere arasında tanımlama, anti-tracking yazılımlarını atlatma mümkün olur
- Buna karşılık normal çerezler bu işlevleri desteklemez
Etkilenen tarayıcılar
- Chrome, Safari, Edge, Firefox gibi başlıca tarayıcılar etkilenmektedir
- Chrome: Windows, macOS, Linux, Android etkilenir
- Safari: macOS, iOS etkilenir
- Edge: Windows, macOS, Android etkilenir
- Firefox: bazı platformlarda gizli modda farklı bir parmak izi oluşturur
- Brave: son sürümlerde büyük ölçüde engellenmiştir
- Brave’in eski sürümleri (1.14.0) ve Firefox(<84.0) bu saldırıya açıktır
Ölçeklenebilirlik ve performans
- Yönlendirme yolu sayısı (N) ayarlanarak 2^N adet benzersiz kullanıcı ayırt edilebilir
- Ayırt edilebilen kullanıcı sayısı arttıkça okuma ve yazma süresi de artar
- N uzunluğu dinamik olarak ayarlanarak yönlendirme sayısı en aza indirilebilir
Savunma yöntemleri
- En kesin yöntem, favicon önbelleğini tamamen devre dışı bırakmak veya elle silmektir
- Chrome(macOS):
~/Library/Application Support/Google/Chrome/Default/Favicons ve Favicons-journal silinmeli
- Chrome(Windows):
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default silinmeli
- Safari(macOS):
~/Library/Safari/Favicon Cache içeriği silinmeli
- Edge(macOS):
~/Library/Application Support/Microsoft Edge/Default/Favicon ve Favicons-journal silinmeli
Projenin amacı ve arka planı
- Bu depo eğitim ve gösterim amaçlı hazırlanmıştır; favicon üzerinden izleme ihtimaline dair güvenlik farkındalığını artırmayı hedefler
- İlham kaynağı University of Illinois Chicago araştırma makalesi ve heise.de haberi olmuştur
- Proje, kişisel araştırmanın bir parçası olarak 2 gün içinde geliştirilen bir demo portalı da içerir
Diğer
- Geliştirici, Almanya’dan 20 yaşında bir öğrencidir ve yazılım tasarımı ile BT güvenliği alanlarına ilgi duymaktadır
- Proje GitHub’da açık olarak yayımlanmıştır ve Docker veya Node.js ortamında çalıştırılabilir
- Konuyla ilgili haberler Vice, Gizmodo, TechRadar, Schneier.com gibi büyük yayınlarda yer almıştır
1 yorum
Hacker News görüşleri
Örneğin Reddit'te Ars Technica'nın favicon'unun çıkması gibi
iOS güncellemesinden sonra da aynı kaldı; profil veya gizli mod'da da değişmiyor
Zorla yenilemek için sistem saatini birkaç yıl ileri almak gerekiyor
MacBook'ta yıllardır böyle olduğu için artık vazgeçtim
iOS Safari'de sayaç 1'den 18'e kadar gidip sonra tekrar yönlendirilerek sonsuz döngüye giriyor
Bu istenmeyen bir davranış; yer imlerini silsem mi ya da HTML olarak kaydetsem mi diye düşünüyorum
Çoğunlukla özel pencere kullanıyorum ve bunu Little Snitch sayesinde fark ettim
qemu + cage + firefox kombinasyonu; kapatıldığında imaj siliniyor
Yavaş ama güvenlik açısından içim rahat. Konteynerleştirme de mümkün ama tarayıcının host kernel'e erişmesi beni tedirgin ediyor
eBPF politikalarıyla kontrol etmeye çalışmak da karmaşık, o yüzden doğrudan VM ile izole ediyorum
Örneğin SwiftShader renderer ya da font eksikliği gibi özellikler tespit ediliyor
Bunları gizlemeye çalışsanız da canvas gürültüsü manipülasyonu gibi şeyler hemen fark ediliyor. Bir çözümünüz varsa paylaşmanızı isterim
Yaklaşık 20 saniyemi boşa harcamış gibi hissettim