- Tarayıcı parmak izi çıkarma (browser fingerprinting), çerezler veya VPN ile bile engellenmesi zor olan ciddi bir takip tekniğidir; kullanıcının ortam bilgilerini birleştirerek benzersiz bir tanımlayıcı üretir
- İşletim sistemi, tarayıcı sürümü, dil, saat dilimi, yazı tipleri, eklentiler, canvas oluşturma sonuçları gibi çeşitli unsurlar bir araya gelerek kişiyi ayırt etme olasılığını artırır
- JavaScript’i devre dışı bırakma, tarayıcıyı kamufle etme, canvas’ı manipüle etme gibi basit savunmalar ise tam tersine ayırt edici ipuçları bırakabilir veya web sitesi işlevlerini bozabilir
- Brave, Mullvad, Librewolf gibi bazı tarayıcılar parmak izi direnci özelliklerini yerleşik sunuyor, ancak tam koruma mümkün değil ve kullanılabilirlikte düşüş ile CAPTCHA artışı gibi rahatsızlıklara yol açabiliyor
- GDPR gibi mevcut yasalarla düzenleme zemini belirsiz olduğundan, yeni yasal düzenleme ihtiyacı gündeme geliyor
Tarayıcı parmak izi çıkarmanın ortaya çıkış arka planı
- Geçmişte ana gizlilik tehdidi üçüncü taraf çerezlerdi
- Çerezler aslında tarayıcı ile sunucu arasında süreklilik taşıyan iletişim için tasarlanmıştı, ancak reklam ağları bunları kullanarak kullanıcı bilgilerini birden fazla site arasında ilişkilendirdi
- Avrupa’da bunun için yasal bildirim yükümlülüğü getirildi
- Tarayıcılar çerezleri ayrıştırma yeteneklerini geliştirdikçe çerez takibinin riski azaldı, ancak parmak izi çıkarma (fingerprinting) yeni bir tehdit olarak öne çıktı
Tarayıcı parmak izi çıkarmanın çalışma şekli
- Çerez olmadan da çalışır ve VPN kullanıldığında bile bir ölçüde ayırt edilebilirlik korunur
- Tarayıcının sunucuya verdiği temel bilgiler (tarayıcı sürümü, işletim sistemi, dil, saat dilimi vb.) birleştirilerek benzersiz sayısal bir tanımlayıcı oluşturulur
- JavaScript aracılığıyla yazı tipleri, eklentiler, donanım bilgileri gibi ek veriler de toplanabilir
- Canvas parmak izi (canvas fingerprint), tarayıcının metin çizerken ürettiği piksel farklarını kullanarak sistemler arasındaki ince farkları ayırt eder
- Yaklaşık 1.000 tarayıcıdan yalnızca birinin aynı canvas parmak izine sahip olacağı kadar yüksek bir benzersizliğe sahiptir
- Pencere boyutu, tema, çözünürlük gibi küçük ayarlar bile ek ayırt edici ipuçları olarak kullanılabilir
Savunma girişimlerinin sınırları
- JavaScript’i devre dışı bırakmak, canvas parmak izini engeller; ancak bu kez “JavaScript kapalı” olması nadir bir özellik olarak yeni bir parmak izi unsuruna dönüşür
- Tarayıcı kendini başka bir platform gibi kamufle etse (spoofing) bile, sunucu diğer sinyallerden gerçek ortamı tahmin edebilir
- Canvas manipülasyonu gibi gelişmiş kamuflaj teknikleri web sitelerinde hatalı çalışmaya yol açabilir veya ek izler bırakabilir
- Sonuç olarak parmak izi çıkarma engellenmesi çok zor bir teknik olup, takip şirketleri bunu sürekli daha sofistike hale getiriyor
Kısmi önlemler ve pratik sınırlar
- amiunique.org gibi test siteleri gerçek takip ortamına kıyasla daha basit koşullarda çalıştığı için gerçek dünyayı yansıtma düzeyi düşüktür
- Parmak izi “benzersiz (unique)” olsa bile zaman içinde değişebilir; dolayısıyla kusursuz bir takip göstergesi değildir
- Brave, Mullvad, Librewolf gibi bazı tarayıcılar yerleşik parmak izi direnci özellikleri sunar
- Librewolf, Firefox’un direnç özelliğini varsayılan olarak etkinleştirir
- Brave ve Mullvad ise farklı yöntemlerle karşılık verir
- Ancak parmak izi toplayanlar da tekniklerini geliştiriyor, bu yüzden tam koruma mümkün değildir
Kullanıcının alabileceği önlemler
- Uzun ömürlü çerezleri silmek ve VPN kullanmak temel önkoşullardır
- VPN IP ifşasını engeller, ancak VPN kullanılıyor olması bile parmak izi unsuru haline gelebilir
- Tarayıcıyı varsayılan durumda tutmak, eklenti, yazı tipi ve tema değişikliklerini en aza indirmek gerekir
- Yaygın bir ortam (Windows 11 + Chrome gibi) kullanıldıkça ayırt edilme olasılığı azalır
- Mullvad, Librewolf, Firefox (parmak izi direnci etkin) gibi yerleşik koruma sunan tarayıcı veya özelliklerden yararlanılabilir
- Tüm önlemler alınsa bile takip olasılığı ancak yaklaşık %99 → %50 düzeyine indirilebilir
Parmak izi direncinin yan etkileri
- Firefox veya Librewolf’ta parmak izi direnci açıldığında pencere boyutunun sabitlenmesi, tema değiştirilememe, arayüz kısıtları gibi durumlar ortaya çıkar
- Sunucu tarayıcıyı tanıyamadığında CAPTCHA sıklığı artar
- Bazı web sitelerinde renk hataları, metin konumu sorunları gibi görsel bozulmalar yaşanabilir
Hukuki belirsizlik ve düzenleme ihtiyacı
- GDPR, çerezlere ilişkin hükümler içerir; ancak parmak izi çıkarmaya dair açık bir düzenleme yoktur
- Birleşik Krallık’taki ICO (Information Commissioner’s Office), parmak izi çıkarmayı olumsuz değerlendiriyor
- Hukuka uygunluğu belirsizdir ve güvenlik amacıyla makul kullanım iddiasına alan bırakmaktadır
- Şu an için varılan sonuç, yeni yasaların gerekli olduğu yönündedir
- Parmak izi çıkarma kullanıcı tarafından fark edilemez; toplanan veriler kısa vadeli ve istatistiksel nitelik taşısa da,
reklam endüstrisinin aşırı takip uygulamalarını destekleyen başlıca araçlardan biri olarak gösterilmektedir
Sonuç
- Tarayıcı parmak izi çıkarma, teknik olarak tespit edilmesi zor, hukuken de gri bölgede kalan bir gizlilik tehdididir
- Mevcut teknoloji düzeyinde tam koruma mümkün değildir; yasal düzenleme ve tarayıcı düzeyinde daha güçlü önlemler gereklidir
- Reklam endüstrisinin takip pratikleri sürdükçe, internet ortamında gizlilik ihlali riski kalıcı olmaya devam edecektir
1 yorum
Hacker News görüşleri
Eskiden Chrome’da her “bu dili çevirme” seçeneğine bastığımda, o dilin Accept-Language header’ına otomatik olarak eklendiğini fark etmiştim
Bunu elle ayarlamamış olmama rağmen, Chrome bu tercihi tüm isteklere kalıcı olarak ekliyordu
Bu kombinasyonun bana özgü benzersiz bir dil sırası oluşturduğu için parmak izi takibi (fingerprinting) açısından çok kullanışlı bir sinyal olabileceğini düşündüm
Bununla ilgili bir öneri de vardı ama kabul edilmedi → reduce-accept-language önerisi
İlgili yazı: HN discussion
Firefox + Arkenfox user.js kombinasyonunun gizlilik açısından en güçlü seçenek olduğunu düşünüyorum
Otomatik çerez silme, canvas parmak izi sahteleme, saat dilimini UTC’ye sabitleme gibi Tor Browser düzeyinde koruma sağlıyor
DNS seviyesinde reklam ve izleme alan adlarını engelliyor, ayrıca uBlock Origin veya uMatrix ile 3rd-party içerik varsayılan olarak engelleniyor
Tor’daki gibi çok sayıda kişinin aynı ayarları kullanması lazım ki anlamlı olsun
Bu tür maskelemeyi tek başına kullanırsan daha da dikkat çekici hale geliyorsun
Üstelik birçok parmak izi script’i 1st-party domain üzerinden yüklendiği için tamamen engellemek zor
Bkz: Orion privacy guide
privacy.resistFingerprintingbayrağından daha güçlü olup olmadığını merak ediyorum. Anlatılan özellikler zaten o bayrakla etkinleşiyor gibi görünüyorParmak izi takibinde sık sık ayırt edici özellikler ile takip birbirine karıştırılıyor
Saat dilimini UTC’ye çevirmek takibi imkânsız hale getirmez
IP, GeoIP gibi daha güçlü sinyaller var
Aile bireyleri aynı IP’yi kullanıp farklı tarayıcı ayarlarına sahipse, bu onları takip etmeyi daha da kolaylaştırabilir
Gerçekten takipten kaçınmak istiyorsan VPN rotasyonu ile istek header’larını rastgeleleştirmeyi birlikte kullanman gerekir
Ama amaç sadece anonimlikse, en etkili çözüm Tor Browser kullanmak
Tarayıcı parmak izi toplamanın nasıl çalıştığını daha iyi anlamak istersen, yazdığım şu yazıya bakabilirsin
Browser Fingerprinting Explained
Yazıda geçmiyor ama erken dönem parmak izi teşhis araçlarından biri Cover Your Tracks (EFF)
Yazının ana fikrine katılıyorum. Parmak izi takibi bireysel özgürlük için büyük bir tehdit
Aynı zamanda içerik üreticilerinin hak ettikleri karşılığı alması gerektiğini de düşünüyorum
Reklama dayalı model verimli olabilir ama bunun bedeli gizlilik oluyor
Blog yazarlarının çoğu büyük gelir elde etmiyor, parayı esasen reklam şirketleri kazanıyor
Eskisi gibi ücretsiz içerik ağırlıklı internetin daha sağlıklı olduğunu düşünüyorum
Beni takip etmeleri reklam verimini gerçekten artırmıyor
Hatta çoğu zaman ihtiyacım olmayan ürün reklamları tekrar tekrar karşıma çıkıyor
Fiziksel mağazada yüz tanıma ile kişiselleştirilmiş reklam göstermek gibi ürkütücü bir deneyim
Reklam maliyeti ürün fiyatına yansımadığında toplamda her şey daha ucuz bile olabilir
Sayfa görüntüleme başına 1 cent ödendiğini ve fiyatın sunucu yüküne göre arttığını hayal ediyorum
Veri sınıflandırma dersinde oynadığımız bir oyunu hatırlattı
“Bu odadaki herkesi ayırt etmek için kaç tane evet/hayır sorusu gerekir?”
Tarayıcı parmak izi de benzer şekilde birkaç sinyalle insanları daraltıyor
Örneğin yalnızca “Linux + Firefox + soldaki monitör” kombinasyonu bile kümeyi on binler seviyesine indirebilir
Mesela “uzun saçlı mı?” ile “kadın mı?” benzer bilgi taşır; eklediği bit miktarı çok azdır
Buna karşılık “metalci mi?” gibi bir soru nadiren “evet” cevabı aldığında çok bilgi verir
Sorunun özü, bir JavaScript’in başka bir JavaScript’i çağırıp çalıştırdığı yapıyı varsayılan haline getirmiş olmamız
Stallman haklıydı
Tarayıcının hangi bilgileri açığa çıkardığını görmek için Am I Unique? sitesi faydalı
Bir parmak izinin işe yaraması için yalnızca benzersizlik değil, kalıcılık (persistence) da gerekir
Fontları her seferinde rastgele kurup kaldırırsan, bugünkü ben ile yarınki beni birbirine bağlamak zorlaşmaz mı?
Bkz: EFF research PDF, Mullvad açıklaması
Chrome’un
queryLocalFontsAPI’si izin penceresi gerektiriyorİlgili karikatür: xkcd 1105
Günümüzde çoğu zaman sayfa yüklenirken 5 ms içinde kullanıcının hangi persona’ya ait olduğu belirleniyor
Yine de çoğu veri platformu GDPR uyumunu korumak için verileri 90 gün sonra otomatik siliyor