13 puan yazan GN⁺ 2025-11-23 | 1 yorum | WhatsApp'ta paylaş
  • 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

 
GN⁺ 2025-11-23
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

    • Chrome, “çevirme” seçildiğinde kullanıcının o dili okuyabildiğini varsayıp bunu header’a ekliyor olabilir mi diye düşündüm. İlginç bir nokta
    • Chrome kullanmama yönünde bir kamu yararı uyarısı (PSA) yapmak istiyorum
    • Öneri metnine bakınca, tarayıcının site yerine dil pazarlığını yapması fikri vardı ama bunun pratikte mantıklı olmadığını düşünüyorum. Çok dilli bir siteyse kullanıcıya doğrudan dil seçimi arayüzü gösterilebilir
    • YouTube altyazı dilinin alakasız şekilde gösterildiği bir sorun yaşadım; birden fazla cihazdan bağlanıyordum ama özellikle Chrome kullandığımda bu daha sık oluyordu
    • Google’ın uBlock Origin’i engellediği noktadan sonra, Chrome ve gizlilik kavramlarının bir arada olamayacağı bence netleşti
      İ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

    • Ama bu tür ayarları kullanan kişi sayısı azsa, tam tersine bunun kendisi bir parmak izi haline geliyor
      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
    • GPU adını ya da WebRTC üzerinden açığa çıkan iç IP’yi de gizleyip gizleyemediğini merak ediyorum
      Üstelik birçok parmak izi script’i 1st-party domain üzerinden yüklendiği için tamamen engellemek zor
    • Orion Browser(Kagi) varsayılan olarak parmak izi toplama script’lerini engelliyor
      Bkz: Orion privacy guide
    • JavaScript tabanlı anti-parmak-izi teknikleri, tersine benzersizliği artıran bir sonuç doğurabilir
    • Arkenfox ayarlarının Firefox’taki privacy.resistFingerprinting bayrağından daha güçlü olup olmadığını merak ediyorum. Anlatılan özellikler zaten o bayrakla etkinleşiyor gibi görünüyor
  • Parmak 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

    • Siteler arasında tutarlı bir parmak izi korunduğu için 3rd-party cookie’lerle aynı gizlilik sorunu ortaya çıkıyor
  • Yazıda geçmiyor ama erken dönem parmak izi teşhis araçlarından biri Cover Your Tracks (EFF)

    • Ama EFF’ye tamamen güvenmemek gerektiğini söyleyenler de var
  • 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

    • Aslında reklam şirketleri bizi “yaratıcıları destekleme” bahanesiyle kandırmış gibi geliyor
      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
    • Çözüm basit: bağlamsal reklamlar (contextual ads) modeline geri dönmek
    • Sorun reklamın kendisi değil, takip
      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
    • “Ayda 5 dolar abonelik” yerine izleme başına ödeme (pay-per-view) modeli nasıl olur diye düşünüyorum
      Reklam maliyeti ürün fiyatına yansımadığında toplamda her şey daha ucuz bile olabilir
    • Anonim mikro ödeme mümkün olsaydı, sadece gözetim sorunu değil, DDoS savunması da çözülebilirdi
      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

    • Ama sorular birbiriyle yüksek korelasyona sahipse bilgi miktarı düşer
      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
    • “Sadece evet/hayır soruları sormamız gerekmiyor mu?” şeklinde basit bir itiraz da yapıldı
  • 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ı

    • Ama bence asıl sorun JS’nin kendisinden çok, WebRTC veya WebGL gibi teknolojilerin izin olmadan çalışıp parmak izi toplamada kötüye kullanılabilmesi
    • Yaş aldıkça RMS’nin ne kadar büyük bir özgürlük savaşçısı olduğunu daha iyi anlıyorum
    • Ancak birçok parmak izi script’i Cloudflare veya Akamai gibi 1st-party domain’lerden çalıştığı için, sadece JS’yi engellemek çözüm olmuyor
    • Tarayıcılar adeta Truva atını içeri alan aptal askerler gibi davranıyor
    • JS’yi tamamen kapatırsan web’in yarısı bozulur; bu yüzden pratik bir çözüm değil. Zaten JS olmadan da parmak izi takibi mümkün
  • 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ı?

    • Ama araştırmalara göre, zamanla parmak izi değişse bile %99,1 doğrulukla aynı kullanıcı tahmini yapılabiliyor
      Bkz: EFF research PDF, Mullvad açıklaması
    • Pratikte yalnızca belirli bir fontun kurulu olup olmadığı kontrol edilebiliyor; tüm listenin alınması mümkün değil
      Chrome’un queryLocalFonts API’si izin penceresi gerektiriyor
    • Fazla gerçek dışı bir parmak izi gönderirsen bu da tersine sahtecilik tespiti nedeniyle başka bir parmak izine dönüşebilir
      İlgili karikatür: xkcd 1105
    • Cookie’ler, SSL handshake’in eliptik eğri parmak izi, GDPR/CCPA tabanlı anonim persona sınıflandırması gibi yöntemlerle sonunda yine bağlantı kuruluyor
      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