- 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 टिप्पणियां
Hacker News राय
उदाहरण के लिए Reddit पर Ars Technica का favicon दिखने लगता है
iOS update के बाद भी वैसा ही है, और profile या incognito mode में भी बना रहता है
इसे ज़बरदस्ती refresh करने के लिए system clock को कई साल आगे करना पड़ता है
मेरे MacBook पर यह कई सालों से ऐसा ही है, इसलिए मैंने बस छोड़ दिया
iOS Safari में 1 से 18 तक counter चलता है और फिर redirect होकर infinite loop में फँस जाता है
यह अवांछित व्यवहार है, इसलिए सोच रहा हूँ कि bookmarks हटा दूँ या उन्हें HTML के रूप में save कर लूँ
मैं ज़्यादातर private window इस्तेमाल करता हूँ, और Little Snitch की वजह से यह पकड़ में आया
qemu + cage + firefox के संयोजन के साथ, जिसमें बंद करते ही image delete हो जाती है
यह धीमा है, लेकिन security के लिहाज़ से भरोसा रहता है। containerization भी संभव है, लेकिन browser का host kernel तक पहुँचना असहज लगता है
eBPF policy से इसे नियंत्रित करना भी जटिल है, इसलिए मैं बस VM isolation इस्तेमाल करता हूँ
उदाहरण के लिए SwiftShader renderer या fonts की कमी जैसी विशेषताएँ detect हो जाती हैं
इन्हें छिपाने की कोशिश भी करें तो canvas noise manipulation जैसी चीज़ें जल्दी पकड़ी जाती हैं। अगर कोई समाधान हो तो साझा करें
लगा जैसे 20 सेकंड बेकार गए