Cloudflare Turnstile, fingerprinting सक्षम WebGL की मांग
(hacktivis.me)- Cloudflare Turnstile का “Verify you're human” डिवाइस वेरिफिकेशन लगभग एक हफ्ते से WebKitGTK-आधारित ब्राउज़रों में अनंत लूप में फंस रहा है
- कई वेबसाइटों तक पहुंच रुकने का सीधा कारण यह लगता है कि Cloudflare WebGL के जरिए डिवाइस fingerprint लेने की कोशिश कर रहा है
- Turnstile का सूचना संदेश कहता है कि browser fingerprinting का उपयोग इंसान और बॉट में फर्क करने के लिए किया जाता है, और blocking या randomization tools ब्राउज़र को बॉट जैसा दिखा सकते हैं
- WebKit वर्षों से ऐसे फीचर्स को ब्लॉक करता आया है, और यह ऐसा privacy option नहीं लगता जिसे उपयोगकर्ता आसानी से बंद कर सके
- माना जा रहा है कि Safari के लिए अपवाद है, जबकि पूरे WebKitGTK ब्राउज़र परिवार को ब्लॉक किया जा रहा है, और Firefox की सुरक्षा सेटिंग्स इस्तेमाल करने वाले यूज़र भी प्रभावित हो सकते हैं
WebKitGTK में बार-बार होने वाला Turnstile वेरिफिकेशन
- Cloudflare Turnstile का “Verify you're human” डिवाइस वेरिफिकेशन लगभग एक हफ्ते से WebKitGTK-आधारित ब्राउज़रों में अनंत लूप में फंस रहा है, जिससे कई वेबसाइटों तक पहुंच रुक रही है
- पहुंच रुकने का कारण यह लगता है कि Cloudflare WebGL के जरिए डिवाइस fingerprint लेने की कोशिश कर रहा है
- Turnstile का सूचना संदेश बताता है कि browser fingerprinting का उपयोग इंसान होने की पुष्टि के लिए किया जाता है
- fingerprinting को ब्लॉक या randomize करने वाले privacy tools ब्राउज़र को पहचान छिपाने की कोशिश करने वाले बॉट जैसा दिखा सकते हैं
- WebKit वर्षों से ऐसे फीचर्स को ब्लॉक करता आया है, और यह ऐसा privacy feature नहीं लगता जिसे आसानी से disable किया जा सके
- माना जा रहा है कि Cloudflare ने Safari के लिए अपवाद रखा है, जबकि पूरे WebKitGTK ब्राउज़र परिवार को ब्लॉक किया जा रहा है
Firefox का संबंधित सुरक्षा व्यवहार
- Mozilla Firefox की WebGL fingerprinting सुरक्षा में Bugzilla#1916271: Gecko reveals sanitized GPU Characteristics; webkit and blink return hardcoded strings for all users समस्या मौजूद है
privacy.resistfingerprintingसेटिंग्स में “Strict” “Enhanced Privacy Protection” चुनने पर भी सक्रिय नहीं होताprivacy.resistfingerprintingको सीधे सक्रिय करने वाले privacy-केंद्रित Firefox उपयोगकर्ता भविष्य में Cloudflare के डिवाइस वेरिफिकेशन को पार नहीं कर पाने की आशंका रखते हैं
1 टिप्पणियां
Hacker News की राय
यह जाना जाता है कि Cloudflare scraper detection के लिए browser fingerprinting का इस्तेमाल करता है। उदाहरण के लिए, वह JA3 fingerprint को user agent से मिलाकर cURL जैसी चीज़ों को रोक सकता है और OkHttp (Android client) को अनुमति दे सकता है, लेकिन CycleTLS जैसे पैकेज से इसकी आसानी से नकल की जा सकती है [1]
मैं इसे सही नहीं ठहराना चाहता क्योंकि यह “bot protection” के नाम पर इंटरनेट के बड़े हिस्से को रोक देता है, लेकिन अगर proof of work (PoW) का इस्तेमाल नहीं किया जाए तो fingerprinting एक व्यावहारिक तरीका हो सकता है, और उसका नतीजा यह होता है कि इससे जुड़े सभी लोगों की privacy पूरी तरह बर्बाद हो जाती है
Android के लिए Chromium का privacy-focused fork Cromite लगातार Cloudflare Turnstile के साथ समस्या झेल रहा है [2], क्योंकि Cloudflare challenge पास कराने के लिए कई तरीकों से fingerprinting करता है
इसे हल करने के लिए Cloudflare Browser Developer program में शामिल होना पड़ता है, जिसके लिए NDA पर हस्ताक्षर करने होते हैं, और प्रोजेक्ट मैनेजर का इससे इनकार करना उचित लगता है
अगर आप देखना चाहते हैं कि Cloudflare browser fingerprinting में कितनी गहराई तक जाता है, तो issue [2] में देखिए कि challenge पास करने के लिए किन flags को बंद करना पड़ता है। कम-से-कम Cloudflare इतना लचीला तो हो सकता है कि लोगों को form submit करने या वेबसाइट access से सीधे ब्लॉक करने के बजाय इसे proof of work से बदल दे
[1]: https://github.com/Danny-Dasilva/CycleTLS
[2]: https://github.com/uazo/cromite/issues/2365
residential IP और commercial ranges को reputation देना भी मनचाहा नतीजा पाने का एक दूसरा तरीका हो सकता है। इससे providers IP abuse के बारे में कहीं ज़्यादा सावधान होंगे, लेकिन तब attackers और defenders दोनों तरफ़ के DDoS business साथ में ढह सकते हैं
विडंबना यह है कि काफ़ी कंपनियाँ अपने bot बना रही हैं और साथ ही दूसरी कंपनियों के bots को रोकने के तरीकों में भी निवेश कर रही हैं
5W का लोड 2 सेकंड देने पर 0.002Wh होता है, और smartphone को भी पास होना चाहिए, इसलिए कई दसियों सेकंड का proof of work नहीं कराया जा सकता। अगर दिन में 8 अरब checks हों, तब भी साल भर में यह 8GWh होगा
privacy.resistfingerprintingके “Strict” “Enhanced Privacy Protection” चुनने पर भी चालू न होने की वजह है। मैंने इसे लंबे समय तक चालू रखकर इस्तेमाल किया, लेकिन वेबसाइटें अजीब तरह से टूट जाती थीं, इसलिए मुझे इसे बार-बार बंद करना पड़ता था और workaround भी जोड़ने पड़ते थेकुछ साइटों पर timezone handling गड़बड़ा गई थी, जिससे मैं कई बार appointments मिस करते-मिस करते बचा। user को यह बताने के लिए कि Firefox खराब नहीं हुआ है, लगभग ऐसा स्थायी banner चाहिए होगा: “अगर वेबसाइट टूट जाए, अजीब glitches दिखें, आपके कंप्यूटर का समय गलत लगे, fonts अजीब दिखें, या वीडियो कभी-कभी न चले, तो fingerprint protection बंद करने के लिए यहाँ क्लिक करें”
दिलचस्प बात यह है कि Turnstile,
resistfingerprintingके साथ टूट जाता है लेकिनfingerprintingProtectionके साथ काम करता है। लगता है बाद वाला इस तरह की बेकार स्थिति को ध्यान में रखकर बनाया गया हैStrict setting में आप कुछ हद तक उम्मीद करते हैं कि साइटें टूट सकती हैं, लेकिन यह उम्मीद नहीं करते कि tracking path अभी भी पूरी तरह खुला रहेगा। यह भ्रामक लगता है
मैं एक niche browser maintain करता हूँ[0], और कुछ हफ्तों से कई users इस समस्या का सामना कर रहे हैं[1]। अभी मुझे यह browser bug नहीं लगता, लेकिन बेशक इससे जुड़ा कोई bug हो सकता है, और ज़्यादा लोग देखें तो अच्छा होगा, इसलिए स्थिति को बेहतर करने या कम करने के लिए ideas और मदद चाहिए
[0]: https://konform-browser.codeberg.page/
[1]: यह ज़्यादातर users हैं या सभी, पता नहीं। telemetry के बिना हम user reports और अपने testing पर निर्भर हैं
“अगर तुम्हारी disguise पकड़ ली गई, तो मतलब तुमने काफ़ी अच्छी disguise नहीं की।”
bots के खिलाफ यह बेहूदा युद्ध इंटरनेट के पतन की ओर ले जा रहा है, और आखिरकार इसे एक और walled garden बना देगा जहाँ सिर्फ “approved” user-hostile agents को ही अनुमति होगी। “AI scrapers” वाली इस बकवास में नहीं आना चाहिए। यह सिर्फ consent manufacture करने का एक तरीका है
क्या Google और Cloudflare ने non-Chrome browsers को इस्तेमाल करना मुश्किल बनाने के लिए कोई सौदा किया है? Chrome इस्तेमाल करने का दबाव बढ़ता जा रहा है, और Chrome में जो ad filtering की जा सकती है वह लगातार कम होती जा रही है
अगर आप कुछ छिपाते हैं, तो आपको अपने-आप “ऐसा agent जिसके पास छिपाने की वजह है” वाली श्रेणी में डाल दिया जाता है
साफ़ कहें तो यही मूल समस्या है। इंटरनेट का इतना बड़ा हिस्सा Cloudflare से होकर गुजरता है, इसलिए कोई एक खास signal से भी ज़्यादा मज़बूत वैकल्पिक signals होने चाहिए जो यह दिखा सकें कि आप malicious actor नहीं हैं
हालांकि, ऐसे settings इस्तेमाल करने वाले users ecosystem में बहुत कम हैं, इसलिए असली समाधान आने में बहुत लंबा समय लग सकता है
वे कहते हैं, “लगता है आप अपनी पहचान छिपाने की कोशिश कर रहे हैं”, लेकिन शुरू से ही उन्हें यह मांग करने का अधिकार नहीं था
मुझे
privacy.resistfingerprintingके बारे में पता नहीं था, लेकिन अब मैं सोच रहा हूँ कि आगे से हर Cloudflare Turnstile को fail होने दूँprivacy.resistfingerprintingsetting Tor Browser के लिए हैTor Browser के privacy और security patches का बड़ा हिस्सा लेने वाले Konform Browser और Mullvad Browser में भी यह default रूप से चालू रहती है
मुझे अपराध से जुड़ी वह कहावत पसंद है कि अगर आबादी का X% किसी कानून को तोड़ रहा है, तो उस कानून को खत्म कर देना चाहिए। recreational drugs इसका साफ़ उदाहरण हैं
अगर random canvas handling को bot behavior मानकर कार्रवाई की गई थी, लेकिन अब Firefox इस्तेमाल करने वाला हर व्यक्ति वही कर रहा है, तो क्या Cloudflare को भी इसे बस “कानूनी” नहीं मान लेना चाहिए?