5 पॉइंट द्वारा GN⁺ 2025-11-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • favicon cache का उपयोग करके वेबसाइट विज़िटर को एक unique identifier देने की ट्रैकिंग तकनीक, जिसमें यूज़र cache या cookie हटा दे तब भी पहचान संबंधी जानकारी बनी रहती है
  • यह तरीका incognito mode, VPN, ad blocker इस्तेमाल करने पर भी काम करता है, और browser restart या system reboot के बाद भी बना रहता है
  • ब्राउज़र favicon को request करता है या cache से लोड करता है, इस pattern combination के ज़रिए एक unique identification number बनाया जाता है
  • Chrome, Firefox, Safari, Edge जैसे प्रमुख ब्राउज़र और mobile browser इस कमजोरी से प्रभावित हैं
  • ब्राउज़र security और privacy के दृष्टिकोण से favicon cache management के महत्व पर ज़ोर बढ़ा है

Supercookie का अवलोकन

  • Supercookie, favicon cache (F-Cache) का उपयोग करके यूज़र की पहचान करने की तकनीक है
    • favicon वेबसाइट का छोटा icon होता है, जो ब्राउज़र address bar या bookmark सूची में दिखता है
    • ब्राउज़र favicon को तेज़ी से दिखाने के लिए इसे अलग local database (F-Cache) में स्टोर करता है
  • F-Cache में visit URL, favicon ID, TTL (validity period) की जानकारी शामिल होती है
  • इस संरचना का दुरुपयोग करने पर, अलग-अलग URL path के अनुसार favicon request होने या न होने के संयोजन से एक unique browser pattern बनाया जा सकता है

थ्रेट मॉडल

  • वेब सर्वर, ब्राउज़र favicon को दोबारा request करता है या नहीं, इसके आधार पर यह पता लगा सकता है कि पहले विज़िट किया गया था या नहीं
    • अगर cache में favicon नहीं है तो सर्वर पर GET request जाती है, और अगर है तो request नहीं जाती
  • कई path पर favicon request की स्थिति को मिलाकर हर browser के लिए unique identification number बनाया जा सकता है
  • यह identifier cookie deletion, cache reset, VPN usage, header manipulation जैसी मौजूदा anti-tracking उपायों से प्रभावित नहीं होता

मौजूदा cookies से तुलना

  • तालिका के अनुसार Supercookie में 100% identification accuracy है, और
    • incognito mode detection, cache·cookie हटाने के बाद भी persistence, कई windows के बीच identification, anti-tracking software को bypass करना संभव है
  • दूसरी ओर, सामान्य cookies ऐसी सुविधाएँ सपोर्ट नहीं करतीं

प्रभावित ब्राउज़र

  • Chrome, Safari, Edge, Firefox जैसे प्रमुख ब्राउज़र प्रभावित हैं
    • Chrome: Windows, macOS, Linux, Android पर प्रभावित
    • Safari: macOS, iOS पर प्रभावित
    • Edge: Windows, macOS, Android पर प्रभावित
    • Firefox: कुछ platforms पर incognito mode में अलग fingerprint बनता है
    • Brave: latest version में अधिकांशतः block किया जाता है
  • Brave के पुराने version (1.14.0) और Firefox (<84.0) इस attack के प्रति संवेदनशील हैं

स्केलेबिलिटी और प्रदर्शन

  • redirection path की संख्या (N) समायोजित करके 2^N unique users में अंतर किया जा सकता है
  • जितने अधिक users को अलग-अलग पहचाना जा सकता है, उतना ही read·write time बढ़ता है
  • N की लंबाई को dynamic रूप से समायोजित करके redirection की संख्या कम की जा सकती है

बचाव के तरीके

  • सबसे निश्चित तरीका है favicon cache को पूरी तरह disable करना या manually delete करना
    • Chrome(macOS): ~/Library/Application Support/Google/Chrome/Default/Favicons तथा Favicons-journal हटाएँ
    • Chrome(Windows): C:\Users\username\AppData\Local\Google\Chrome\User Data\Default हटाएँ
    • Safari(macOS): ~/Library/Safari/Favicon Cache की सामग्री हटाएँ
    • Edge(macOS): ~/Library/Application Support/Microsoft Edge/Default/Favicon तथा Favicons-journal हटाएँ

प्रोजेक्ट का उद्देश्य और पृष्ठभूमि

  • यह repository शिक्षा और demonstration के लिए बनाई गई है, और favicon-आधारित tracking की संभावना को लेकर security awareness बढ़ाना इसका उद्देश्य है
  • प्रेरणा University of Illinois Chicago के research paper और heise.de के article से मिली
  • यह प्रोजेक्ट व्यक्तिगत research के हिस्से के रूप में 2 दिनों में बनाया गया demo portal भी शामिल करता है

अन्य

  • डेवलपर जर्मनी का 20 वर्षीय छात्र है, जिसकी software design और IT security में रुचि है
  • प्रोजेक्ट GitHub पर सार्वजनिक है, और Docker या Node.js environment में चलाया जा सकता है
  • इससे संबंधित कवरेज Vice, Gizmodo, TechRadar, Schneier.com जैसे प्रमुख मीडिया में भी हुई है

1 टिप्पणियां

 
GN⁺ 2025-11-17
Hacker News राय
  • लगता है यह समस्या पहले से ही मौजूद थी। Safari में अक्सर कुछ साइटों के favicon गलत दिखते हैं
    उदाहरण के लिए Reddit पर Ars Technica का favicon दिखने लगता है
    • मेरे मामले में Hacker News आइकन मौसम वाली साइट के आइकन पर अटका हुआ है
      iOS update के बाद भी वैसा ही है, और profile या incognito mode में भी बना रहता है
    • Safari का favicon cache बहुत लंबे समय तक बना रहता है
      इसे ज़बरदस्ती refresh करने के लिए system clock को कई साल आगे करना पड़ता है
    • मुझे लगा था सिर्फ मेरे साथ ऐसा हो रहा है, लेकिन लगता है UI cache corrupt हो गया है
      मेरे MacBook पर यह कई सालों से ऐसा ही है, इसलिए मैंने बस छोड़ दिया
    • मोबाइल Chrome में भी HN favicon गलत दिखता है
    • Firefox में भी कभी-कभी यही bug होता है
  • यह जानकर अच्छा लगा कि Brave ने इस समस्या को patch कर दिया
  • इस पर पहले भी चर्चा (2021) हुई थी — संबंधित comment thread
  • live demo में क्या करना है, यह समझ नहीं आया
    iOS Safari में 1 से 18 तक counter चलता है और फिर redirect होकर infinite loop में फँस जाता है
    • हमने paper पर काम करते समय इस समस्या की report की थी, और उसके बाद यह ठीक कर दिया गया
    • Android/Firefox में शुरुआती 18 बार के बाद मेरा unique ID दिखा, और retry button दबाने पर फिर वही loop शुरू हो गया
  • लगता है शीर्षक में (2023) जोड़ना चाहिए
    • दरअसल शायद (2021) सही होगा। यह इतना पुराना है, तो सोच रहा हूँ कि क्या अभी तक इसे ठीक नहीं किया गया
  • macOS Safari में हर बार नया tab page खोलने पर favicon बार-बार लोड होने की समस्या है
    यह अवांछित व्यवहार है, इसलिए सोच रहा हूँ कि bookmarks हटा दूँ या उन्हें HTML के रूप में save कर लूँ
    मैं ज़्यादातर private window इस्तेमाल करता हूँ, और Little Snitch की वजह से यह पकड़ में आया
  • इससे जुड़ी चर्चा "Tales of Favicons and Caches: Persistent Tracking in Modern Browsers" (जनवरी 2021, 53 comments) में भी है
  • मैं non-persistent VM-based browser environment इस्तेमाल करता हूँ
    qemu + cage + firefox के संयोजन के साथ, जिसमें बंद करते ही image delete हो जाती है
    यह धीमा है, लेकिन security के लिहाज़ से भरोसा रहता है। containerization भी संभव है, लेकिन browser का host kernel तक पहुँचना असहज लगता है
    eBPF policy से इसे नियंत्रित करना भी जटिल है, इसलिए मैं बस VM isolation इस्तेमाल करता हूँ
    • मैंने भी कुछ ऐसा ही करने की कोशिश की थी, लेकिन VM environment में captcha बहुत बार आता है
      उदाहरण के लिए SwiftShader renderer या fonts की कमी जैसी विशेषताएँ detect हो जाती हैं
      इन्हें छिपाने की कोशिश भी करें तो canvas noise manipulation जैसी चीज़ें जल्दी पकड़ी जाती हैं। अगर कोई समाधान हो तो साझा करें
    • यह दिलचस्प तरीका है। क्या इस बारे में कोई documented material उपलब्ध है?
  • मैंने भी 1/18 से 18/18 तक सिर्फ counter चलते और फिर refresh होते देखा
    लगा जैसे 20 सेकंड बेकार गए
  • अफ़सोस है कि attack mechanism GitHub repository में विस्तार से समझाया नहीं गया, और paper link भी टूटा हुआ है