1 पॉइंट द्वारा GN⁺ 2026-06-01 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 के डिवाइस वेरिफिकेशन को पार नहीं कर पाने की आशंका रखते हैं

2 टिप्पणियां

 
GN⁺ 2026-06-02
Lobste.rs की राय
  • लगता है लेख में Firefox से जुड़ी कई अलग-अलग बातों को मिला दिया गया है। उस टीम में रह चुका हूँ जिसने यह काम सीधे किया था, इसलिए कह सकता हूँ कि Firefox fingerprinting defense कई तरीकों से काम करता है
    पहला, Firefox WebGL vendor/renderer strings की जानकारी सीमित करता है, जिसमें तथाकथित “unmasked” strings भी शामिल हैं। इसे सीधे देखने के लिए उदाहरण code Fatih ने comment 14 में पोस्ट किया है। यह दावा कि इसने कुछ तोड़ दिया, पूरी तरह गलत है
    दूसरा, Firefox canvas output को भी randomize करता है। उसी canvas पर toDataURL() कॉल करने पर हर session में लौटने वाली value थोड़ी अलग होती है। उदाहरण के लिए, इसे private mode/normal mode या अलग-अलग container tabs में टेस्ट किया जा सकता है
    तीसरा, ऊपर वाली सुविधा और दूसरी हाल की fingerprinting defense सुविधाएँ अनुभवजन्य analysis के आधार पर बनाई गई हैं ताकि वे web को तोड़े बिना प्रभावी ढंग से काम करें। इनमें से ज़्यादातर default रूप से लागू होती हैं, और अगर आप और चाहते हैं तो settings में “Enhanced Tracking Protection” को strict पर सेट कर सकते हैं
    चौथा, resistFingerprinting mode settings में नहीं है और सिर्फ about:config के ज़रिए उपलब्ध है, क्योंकि यह web को तोड़ सकता है, यह जाना-पहचाना तथ्य है। इसे Firefox fork Tor Browser के लिए छोड़ा गया है, लेकिन मेरी निजी राय में Enhanced Tracking Protection वाला protection कहीं बेहतर है

  • मैं fingerprint tracking का बचाव नहीं कर रहा, लेकिन अपने मौजूदा काम के एक हिस्से के कारण bot blocking tools में दिलचस्पी है
    लगता है Cloudflare का Turnstile के साथ लक्ष्य ऐसा bot defense widget बनाना है जिसमें इंसानों को captcha हल न करना पड़े। शायद यह fingerprint tracking के ज़रिए कई sites पर behavior देखकर ज़्यादातर users को pass कर देता है; जानना चाहता हूँ कि क्या मेरी यह समझ सही है
    क्या fingerprint tracking के बिना भी ऐसा widget संभव है जिसमें captcha solve न करना पड़े? क्या यह मूल रूप से संभव है? यह भी सुना है कि Turnstile को bypass करना इतना मुश्किल नहीं है :tm:. क्या सभी bot blocking widgets आखिरकार security through obscurity पर ही निर्भर होते हैं?

    • मैंने इस क्षेत्र में काम किया है, लेकिन मैं अपने पुराने employer की ओर से नहीं बोल रहा। fingerprint tracking का इस्तेमाल कई IPs के पार एक ही site के भीतर एकल actor traffic को जोड़ने के लिए किया जाता है
      लोग कई अलग-अलग sites पर जा रहे हैं या नहीं, यह उतना महत्वपूर्ण नहीं है; असली बात यह पकड़ना है कि क्या वही actor उसी site पर बार-बार आ रहा है
      fingerprint tracking के बिना captcha-free widget बनाने के लिए hardware attestation भी काम कर सकती है। लेकिन सबको यह नापसंद हैApple hardware attestation देता है, और Cloudflare Safari में इसका उपयोग करता है, इसलिए Safari canvas randomization होने पर भी pass कर सकता है। इस blog post के उलट, ऐसा नहीं है कि Cloudflare ने Safari के लिए कोई special exception रखा है
      proof of work भी माँगा जा सकता है, लेकिन तब आपको यह स्वीकार करना होगा कि केवल सस्ते Android phones वाले बहुत से web users बाहर हो जाएँगे, और यह भी कि individual bot actions की value इतनी कम हो कि bot operators के पास proof of work करने की आर्थिक प्रेरणा न हो। ये शर्तें कभी-कभी सही बैठती हैं, लेकिन shopping sites या banking जैसी जगहों पर नहीं
      इसके अलावा कोई अच्छा हल नहीं है। मुझे Turnstile का खास पता नहीं, लेकिन जिस company के product पर मैं था, उसे बड़े पैमाने पर bypass करना निश्चित रूप से मुश्किल था। हाँ, अगर scale छोटा हो तो हमने जानबूझकर उसे बहुत कठिन नहीं बनाया था, और अगर Cloudflare ने भी यही चुनाव किया हो तो मुझे हैरानी नहीं होगी
      सभी bot blocking widgets का लक्ष्य bots को असंभव बना देना नहीं, बल्कि website पर bot attack करना आर्थिक रूप से असंभव बना देना है। इसलिए यह दूसरे cyber security खेलों से अलग खेल है, और obscurity यहाँ काफ़ी अच्छी तरह काम करती है। लक्ष्य यह है कि समय के साथ भी सामने वाले की लागत बढ़ती रहे
    • canvas/webgl fingerprint tracking web scrapers के लिए लगभग solved problem है। यह web scraping से जुड़ी job interviews में भी पूछा जाता है
      आम तरीका drawing commands को extract करना है। इसके लिए ऐसा modified browser इस्तेमाल किया जा सकता है जो commands dump करे, या script को deobfuscate करके भी यह निकाला जा सकता है
      फिर निकाले गए canvas/webgl scripts को अपनी site पर host कर दीजिए, और visitors से ऐसे fingerprints generate कराइए जिन्हें bots के लिए दोबारा इस्तेमाल किया जा सके
      यह तरीका काफ़ी robust है। ऐसी fingerprinting scripts लगभग कभी बदलती नहीं हैं, क्योंकि इन्हें बदलने पर canvas → GPU/vendor/browser/OS pair database बेकार हो जाता है
      संक्षेप में, यह एक और उदाहरण है जहाँ आम users को बस ज़्यादा असुविधा होती है, जबकि गंभीर web scrapers पहले से कई bypass strategies जानते हैं
 
GN⁺ 2026-06-01
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

    • Cloudflare का “bot protection” सिर्फ इंटरनेट के बड़े हिस्से को ही नहीं, बल्कि कई लोगों को भी रोकता है। वेबसाइट access control को बिना ज़्यादा सोचे-समझे एक कंपनी को outsource करने का रुझान बहुत चिंताजनक है
    • fingerprinting-आधारित bot protection लगभग एक भ्रम है। client-side signals को अगर कोई औसत से थोड़ा ऊपर हो तो नकली बनाया जा सकता है, और fingerprinting असल में ad business के लिए market concentration का एक साधन भर है
      residential IP और commercial ranges को reputation देना भी मनचाहा नतीजा पाने का एक दूसरा तरीका हो सकता है। इससे providers IP abuse के बारे में कहीं ज़्यादा सावधान होंगे, लेकिन तब attackers और defenders दोनों तरफ़ के DDoS business साथ में ढह सकते हैं
      विडंबना यह है कि काफ़ी कंपनियाँ अपने bot बना रही हैं और साथ ही दूसरी कंपनियों के bots को रोकने के तरीकों में भी निवेश कर रही हैं
    • Cloudflare की scraping रोकथाम 5 डॉलर के ताले जैसी है, इसलिए यह सब बेकार मेहनत है। यह बोर हो रहे किसी किशोर को रोक सकती है, लेकिन शौकिया चोर को भी नहीं; अगर कोई public data scrape करना चाहता है, तो वह आखिरकार कर ही लेगा। इसे रोकने का कोई तरीका नहीं है
    • “bot protection” के लिए की जाने वाली fingerprinting, बड़े पैमाने की निगरानी के लिए की जाने वाली fingerprinting से अलग नहीं है
    • काश कोई यह और समझाता कि proof of work पारिस्थितिक रूप से इतना बुरा क्यों है। मोटा-मोटी हिसाब से यह बड़ा मुद्दा नहीं लगता
      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 के साथ काम करता है। लगता है बाद वाला इस तरह की बेकार स्थिति को ध्यान में रखकर बनाया गया है

    • default रूप से चालू न होने की वजह के तौर पर यह ठीक हो सकता है, लेकिन Strict setting में भी चालू न होने की वजह के तौर पर यह खराब है
      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 करने का एक तरीका है

    • अगर bots server पर हमला कर रहे हैं, तो rate limiting लगा दो। अगर ऐसा content है जिसे आप नहीं चाहते कि दूसरे लोग access करें, तो उसे web server से serve ही मत करो
  • क्या Google और Cloudflare ने non-Chrome browsers को इस्तेमाल करना मुश्किल बनाने के लिए कोई सौदा किया है? Chrome इस्तेमाल करने का दबाव बढ़ता जा रहा है, और Chrome में जो ad filtering की जा सकती है वह लगातार कम होती जा रही है

    • यह शायद उन स्वाभाविक नतीजों में से एक है जो Chrome के web पर सबसे लोकप्रिय browser होने से पैदा होते हैं। ज़्यादातर normal traffic आखिर Chrome से ही आता होगा
    • 5 साल पहले जब मैं Cloudflare छोड़कर गया था, तब अंदरूनी इस्तेमाल के लिए approved browser सिर्फ Chrome था
    • बात वहीं खत्म नहीं होती: https://blog.cloudflare.com/eliminating-captchas-on-iphones-...
  • अगर आप कुछ छिपाते हैं, तो आपको अपने-आप “ऐसा agent जिसके पास छिपाने की वजह है” वाली श्रेणी में डाल दिया जाता है
    साफ़ कहें तो यही मूल समस्या है। इंटरनेट का इतना बड़ा हिस्सा Cloudflare से होकर गुजरता है, इसलिए कोई एक खास signal से भी ज़्यादा मज़बूत वैकल्पिक signals होने चाहिए जो यह दिखा सकें कि आप malicious actor नहीं हैं
    हालांकि, ऐसे settings इस्तेमाल करने वाले users ecosystem में बहुत कम हैं, इसलिए असली समाधान आने में बहुत लंबा समय लग सकता है

  • वे कहते हैं, “लगता है आप अपनी पहचान छिपाने की कोशिश कर रहे हैं”, लेकिन शुरू से ही उन्हें यह मांग करने का अधिकार नहीं था

    • इसी तर्क से देखें तो फिर आपको वेबसाइट का content देखने का भी अधिकार नहीं है
  • मुझे privacy.resistfingerprinting के बारे में पता नहीं था, लेकिन अब मैं सोच रहा हूँ कि आगे से हर Cloudflare Turnstile को fail होने दूँ

    • इसे चालू रखकर भी Turnstile ठीक से काम करता है
  • privacy.resistfingerprinting setting Tor Browser के लिए है

    • Tor Browser में यह default रूप से चालू रहती है, और मुझे यकीन नहीं कि इसे बंद भी किया जा सकता है या नहीं
      Tor Browser के privacy और security patches का बड़ा हिस्सा लेने वाले Konform Browser और Mullvad Browser में भी यह default रूप से चालू रहती है
  • मुझे अपराध से जुड़ी वह कहावत पसंद है कि अगर आबादी का X% किसी कानून को तोड़ रहा है, तो उस कानून को खत्म कर देना चाहिए। recreational drugs इसका साफ़ उदाहरण हैं
    अगर random canvas handling को bot behavior मानकर कार्रवाई की गई थी, लेकिन अब Firefox इस्तेमाल करने वाला हर व्यक्ति वही कर रहा है, तो क्या Cloudflare को भी इसे बस “कानूनी” नहीं मान लेना चाहिए?