1 पॉइंट द्वारा GN⁺ 2025-06-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • FSE के ऑपरेटर ने fediverse instance में आए अवैध यूज़र्स को ट्रैक करते हुए BoardReader/SocialGist scraping और FBI की information request तक पहुँचने वाली कड़ी को logs और emails के आधार पर व्यवस्थित किया
  • समस्या की शुरुआत BoardReader search results से हुई, जिन्होंने बाहरी सर्वरों की posts को भी FSE posts जैसा दिखाया; ऑपरेटर का मानना है कि इसी वजह से अवैध यूज़र influx और गलत attribution दोनों हुए
  • BoardReader ने User-Agent छिपाया, residential proxies, Tor, और browser session replay का इस्तेमाल किया, और /api/v1/timelines/public?local=false को scrape किया; block होने के बाद भी requests दोहराकर server load और cost बढ़ाई
  • FBI ने 14 मार्च 2023 को WitchKingOfAngmar से जुड़ा Emergency Disclosure Request भेजा, लेकिन वह account FSE का नहीं बल्कि sneed.social का यूज़र था, और attached screenshot भी FSE स्क्रीन नहीं था
  • ऑपरेटर ने fake timeline के जरिए BoardReader index को poison किया, फिर यह देखा कि एक खास phrase Facebook requests में उछाल लाती है; उनका मानना है कि 2024 की Torswats रिपोर्टिंग ने FBI की रुचि का कुछ context जोड़ा

अवैध यूज़र influx से शुरू हुई ट्रैकिंग

  • FSE ऑपरेटर ने pedophilia से जुड़े यूज़र्स के server में आने को FSE के लिए ontological threat माना
    • illegal child sexual abuse material upload होना, law enforcement की रुचि, और equipment seizure की संभावना सीधे जोखिम थे
    • उनका आकलन था कि कुछ यूज़र कई sites पर अवैध सामग्री फैलाकर देखते हैं कि कौन-सा account block नहीं होता
  • उन्होंने deterrence के लिए IP, email, User-Agent जैसी उपलब्ध जानकारी public की, लेकिन असर सीमित रहा
    • बहुत से लोग files upload या fetch करके चले जाते थे, और pattern ऐसा दिखता था मानो वे block न होने वाली जगहें ढूंढ रहे हों
  • influx path ट्रैक करते समय यह सामने आया कि कई यूज़र्स के Referer header में boardreader.com था

logs के जरिए ट्रैक करने का तरीका

  • इसमें यह बुनियादी मान्यता है कि public internet पर exposed fedi instance चलाने के लिए bots, scanners, worms, और abnormal traffic का खुद analysis कर पाना ज़रूरी है
  • log analysis में awk, tail -f, mawk -Winteractive, grep, sqlite3, R, sed, sort, psql आदि का इस्तेमाल हुआ
    • awk को text logs के लिए SQL-जैसे tool के रूप में पेश किया गया
    • dig, whois, traceroute, tcpdump, iftop, Shodan, और Tor exit lists जैसे network tools भी साथ में उपयोग हुए
  • nginx जैसे web servers के log format बदलकर arbitrary headers, response time, backend response time आदि दर्ज किए गए
    • FSE logs को tab-delimited format के करीब बनाया गया ताकि awk या spreadsheet जैसे tools से उन्हें संभालना आसान हो
  • simple statistics भी anomaly detection में काम आई
    • request count का average और standard deviation निकालकर अचानक उभरने वाले IPs, endpoints, और request patterns खोजे गए
    • किसी समय “POST requests का 90% एक ही address से आता है” जैसी पहचान इसी तरीके से हुई

BoardReader/SocialGist ट्रैकिंग

  • boardreader.com मूल रूप से forum search tool था, और FSE ऑपरेटर का मानना है कि यह site fedi को ठीक से नहीं समझती थी और FSE को एक forum की तरह treat कर रही थी
    • दूसरे instances से आई public posts भी freespeechextremist.com forum posts की तरह दिखाई जा रही थीं
    • SocialGist खुद को “accessible social data” बेचने वाला बताता था, और ऑपरेटर के अनुसार developer के Serbia में होने का blog claim और actual IP एक-दूसरे से मेल खाते थे
  • 5 मार्च 2023 को FSE logs में BoardReader की explicit visit entries नहीं थीं, लेकिन /api/v1/timelines/public?local=false पर high-speed scraping दिखी
    • browser ने खुद को Chrome बताया, लेकिन गति इंसानी scrolling से कहीं तेज़ थी
    • spider1.boardreader.com से spider43 तक A records थे, लेकिन actual traffic उस समय DediPath के स्वामित्व वाले IP 45.15.176.187 से आया बताया गया
  • IP block करने के बाद अमेरिकी residential IPs से बहुत-सी कोशिशें जारी रहीं, और ऑपरेटर ने निष्कर्ष निकाला कि BoardReader detection से बचने के लिए residential proxies खरीद रहा था
  • 8 मार्च 2023 को awk, iptables, और Ruby scripts से खास tokens इस्तेमाल करने वाली requests block की जाने लगीं
    • इसके बाद Serbia के ISP IP से devtools.boardreader.com की ओर संकेत करती requests दिखीं
    • दावा है कि ये requests एक सामान्य browser की तरह resources load करती थीं, Bearer token लेती थीं, JavaScript चलाती थीं, और फिर उसी token से scraping दोबारा शुरू करती थीं
  • 429, 401, 403, 500 responses लौटाने पर scraper ने requests और ज़्यादा दोहराईं, जिससे यह व्यवहारिक रूप से DoS जैसा हो गया
    • इसके बाद 402 Payment Required भेजना शुरू किया गया, और इस दौरान TWKN public timeline access भी बंद हो गया

SocialGist के साथ email आदान-प्रदान

  • ऑपरेटर ने 5 मार्च 2023 को info@boardreader.com पर crawler की जानकारी माँगी
  • 13 मार्च 2023 को dave@socialgist.com से जवाब आया कि वे जानना क्या चाहते हैं
    • ऑपरेटर ने कहा कि केवल local posts ली जाएँ और BoardReader की पहचान करने वाला User-Agent इस्तेमाल किया जाए
    • उन्होंने अपने स्वामित्व वाले पूरे IP range को crawl stop target के रूप में दिया, और pedophilia-संबंधित influx की समस्या भी बताई
  • Dave ने कहा कि वह engineering team को बताएँगे, लेकिन ऑपरेटर का मानना था कि उसी समय developer scraper को debug भी कर रहा था
    • logs में 13 मार्च 2023 को 109.92.154.188 से devtools.boardreader.com referer वाली requests दर्ज थीं
    • ऑपरेटर ने निष्कर्ष निकाला कि SocialGist रुकने की बात कहकर भी bypass काम जारी रखे हुए था

FBI का Emergency Disclosure Request

  • 14 मार्च 2023 को ऑपरेटर को fbi.gov email address से Emergency Disclosure Request subject वाली mail मिली
    • Special Agent Peter Christenson ने WitchKingOfAngmar यूज़र की subscriber information माँगी
    • attached file का नाम FSE Screen Shot.PNG था
  • mail headers, mail server logs, और fbi.gov SPF जानकारी जाँचने के बाद ऑपरेटर ने निष्कर्ष निकाला कि mail सचमुच FBI से आई थी
  • attached screenshot FSE का नहीं था
    • उसमें FSE को “forum” कहा गया था, और ऊपर “Forum • Blackrock Executiv...” दिख रहा था
    • “kill blackrock” और “larry fink” जैसे search terms highlight थे
    • उसमें simple sentiment analysis भी शामिल थी
    • post mail से 26 दिन पहले लिखी गई थी, लेकिन screenshot में “11 hours ago”, “13 hours” जैसे समय दिख रहे थे
  • WitchKingOfAngmar FSE यूज़र नहीं बल्कि sneed.social का यूज़र था
  • ऑपरेटर ने FBI को जवाब दिया कि संबंधित यूज़र की जानकारी FSE में नहीं है, और BoardReader ने “Free Speech Extremist” label लगाया है लेकिन post का source FSE नहीं है
    • FBI agent ने पूछा कि फिर किससे पूछना चाहिए, और ऑपरेटर ने original server देखने को कहा

BoardReader, Facebook, और FBI तक जाती दिखी कड़ी

  • ऑपरेटर के अनुसार FBI और BoardReader दोनों ने Unicode को एक जैसे तरीके से बिगाड़ा, और दोनों ने बाहरी सर्वर की posts को FSE posts की तरह गलत attributed किया
    • मूल Unicode codepoints 1f9e2, 1f438, 1f44d invalid Unicode दर्शाने वाले question-mark boxes में बदल गए थे
  • इन परिस्थितियों के आधार पर उन्होंने निष्कर्ष निकाला कि FBI ने BoardReader data देखकर FSE से संपर्क किया
  • 15 मार्च 2023 को भी BoardReader FSE पर requests करता रहा और केवल 402 responses पाता रहा
    • ऑपरेटर ने सीमित public explanation पोस्ट की और FSE को locked state में डाल दिया
    • account के बिना TWKN या public timeline देखना संभव नहीं रहा और registration भी बंद कर दी गई
  • 16 मार्च 2023 के बाद भी BoardReader ने residential proxies, Tor, और हर request पर बदलते User-Agent से bypass की कोशिश की

fake timeline और data poisoning

  • 24 मार्च 2023 के बाद, जब BoardReader scraping और pedophilia-संबंधित influx जारी रहा, तो ऑपरेटर ने fake timeline देना शुरू किया
  • एक छोटा CGI script बनाकर ऐसा JSON generate किया गया जिसमें non-existent accounts और non-existent posts जोड़ी गईं
    • शुरुआती IDs random 32-bit numbers थीं, बाद में request time का कुछ हिस्सा मिलाया गया ताकि BoardReader के भीतर उन्हें ट्रैक करना आसान हो
    • nginx CGI support नहीं देता था, इसलिए उस endpoint की requests lighttpd को forward की गईं
    • implementation मुख्यतः awk में की गई थी
  • fake post word list में BoardReader search terms और CARNIVORE से जुड़े शब्दों की सूची मिलाई गई
  • fake posts BoardReader में index हुईं, और ऑपरेटर ने random IDs को BoardReader search box में डालकर FSE webserver logs और indexed items का मिलान किया

Facebook requests में उछाल का अवलोकन

  • ऑपरेटर ने fake post URLs के लिए Facebook से आने वाली भारी requests को log histogram में देखा
    • हरे/नीले 4 वाले बड़े हिस्से 402 responses थे, और दावा है कि उनमें लगभग सभी requests Facebook से थीं
    • request URLs fake posts से मेल खाते थे
  • उनका मानना था कि BoardReader के index करने के तुरंत बाद Facebook उन posts को fetch करता था
  • fake post की word list को सिर्फ “larry fink” करने पर Facebook requests लगभग तुरंत उछल गईं
    • वह phrase हटाते ही traffic कम हुआ और रुक गया
    • उसे फिर जोड़ने पर BoardReader indexing delay के बाद फिर उछाल शुरू हो गया
  • ऑपरेटर ने flow का अनुमान awk CGI → lighttpd → nginx → BoardReader crawler → BoardReader index → Facebook → FBI internal search UI के रूप में लगाया
    • उन्होंने यह भी कहा कि इस flow में Facebook FBI के लिए किस tool या storage role में था, यह अंत तक साफ़ नहीं हुआ

SocialGist को रोकने का तरीका

  • bandwidth overage cost घटाने के लिए responses को बहुत धीमा किया गया और timeout से ठीक पहले खत्म होने के लिए tune किया गया
    • कभी-कभी JSON के आखिर का हिस्सा काट दिया जाता था ताकि parsing fail हो
    • ऑपरेटर का मानना था कि BoardReader एक सामान्य JSON parser इस्तेमाल कर रहा था और लगभग 1 मिनट खर्च करने के बाद भी उपयोगी data नहीं पा रहा था
  • बाद में randomly generated posts में Dave का phone number डाला गया, और अगले दिन Dave ने जवाब दिया
    • Dave ने कहा कि उन्होंने Jira ticket बना दी है और जल्द जवाब देंगे
    • छोटे-से आदान-प्रदान के बाद scraping जल्दी रुक गई, लेकिन FSE को BoardReader index से हटने में लगभग 1 हफ्ता लगा

Torswats रिपोर्टिंग से जुड़ा बाद का संदर्भ

  • 18 जनवरी 2024 को Wired ने Lancaster, CA के Alan Winston Filion की गिरफ्तारी की रिपोर्ट की
    • रिपोर्ट के अनुसार वह Torswats से जुड़ा व्यक्ति था और bomb threats तथा fake hostage situations सहित सैकड़ों false reports से जुड़ा बताया गया
  • ऑपरेटर का मानना था कि WitchKingOfAngmar वही Torswats था
    • उनके अनुसार WitchKingOfAngmar संभवतः “Lord of the Rings” का संदर्भ है
    • उनका यह भी मानना था कि Torswats अक्सर Larry Fink के बारे में निरर्थक धमकीभरे लंबे बयान देता था, इसलिए FBI की रुचि Larry Fink-संबंधित threats में थी
  • इस बाद के संदर्भ से FBI request, “larry fink” search term, और Blackrock executives के खिलाफ threats में रुचि आंशिक रूप से जुड़ती दिखी
  • फिर भी कुछ सवाल बाकी रहे
    • BoardReader अभी क्या है
    • क्या SocialGist एक plausible cover story के रूप में BoardReader का इस्तेमाल करता है
    • इस pipeline में Facebook की भूमिका क्या थी
    • क्या Facebook FBI को tools देता है, या data store की तरह इस्तेमाल होता है

fedi operators के लिए छोड़ी गई सलाह

  • ऑपरेटर ने कहा कि अगर किसी को fedi data चाहिए, तो scraping के बजाय fake instance बनाकर relay से जुड़ना servers को कम नुकसान पहुँचाता है
    • उनके अनुसार यह भी उचित नहीं है, लेकिन कम-से-कम इससे सामने वाले servers टूटते नहीं और real time में data मिल सकता है
  • उनका मानना था कि केवल शोर मचाने वाले सामान्य scrapers ही दिखते हैं; चुपचाप ActivityPub software या relay को modify कर data इकट्ठा करने वालों को पहचानना मुश्किल है
  • ऑपरेटर ने चेतावनी दी कि वे SocialGist को इसलिए ट्रैक कर पाए क्योंकि उसने गलती की; वही काम करने वाले लेकिन ऐसी गलती न करने वाले कितने संगठन हैं, यह जानना मुश्किल है

1 टिप्पणियां

 
GN⁺ 2025-06-10
Hacker News की राय
  • ब्लॉग पोस्ट का लिंक सिर्फ़ उन instances की सूची पर जाता है जिन्होंने defederation चुना है
    आधिकारिक Fediblock सूची पर न जाने की वजह यह है कि Fediblock कुछ साल पहले बंद हो गया था। Fediblock के लेखक ने साफ़ कहा था कि इसे किसी भी तरह अंतिम फैसला मानकर इस्तेमाल न करें, बल्कि सूची में आए instances के मानदंडों को अपने मानदंडों से ध्यान से मिलाएं। मेरी सहज धारणा है कि लेखक Fediblock entry को लिंक करना चाहता था, वह नहीं मिली, और ठीक से जांचे बिना सबसे मिलते-जुलते लिंक से बदल दिया

    • मैं एक मध्यम आकार का Mastodon server चलाता हूं; वहां के एक user ने मेरे लिए n-word इस्तेमाल किया, मैंने admin को report किया, लेकिन कोई action नहीं हुआ, इसलिए मैंने block कर दिया
      इसका Fediblock या किसी दूसरे सामुदायिक block mechanism से कोई लेना-देना नहीं है। users ने बदतमीज़ी की और admin ने कुछ नहीं किया, इसलिए मैंने तय किया कि अब उनसे बात नहीं करनी। FSE का यह शिकायत करना कि किसी गुप्त बिरादरी की वजह से उसे block किया जा रहा है, मज़ेदार है। किसी बड़े conspiracy के बिना भी साधारण trolls खुद ही लोगों को इतना परेशान कर सकते हैं कि कई servers उनसे संबंध तोड़ दें
    • Fediblock सितंबर 2023 में बंद हो गया था, और इस पोस्ट में ऐसे बहुत सारे timestamps हैं जो दिखाते हैं कि घटनाएं उससे पहले हुई थीं
  • कहानी इस बात से शुरू होती है कि वे CAPTCHA लागू नहीं करना चाहते क्योंकि इससे वास्तविक users को नुकसान होगा, और फिर आगे का 80% हिस्सा इस पर है कि open signup और public timeline कितने समय तक बंद रहे और इसका users पर कितना नकारात्मक असर पड़ा—यह बात मुझे अच्छी लगी
    फिर भी लेख दिलचस्प था, और इससे मुझे पक्का महसूस हुआ कि online दूसरों के लिए community space खुद host करना मेरे बस की बात नहीं है

  • इस लेख में मुझे पसंद आने वाली कई बातें हैं: एक व्यक्ति FBI के information gathering/surveillance apparatus के एक हिस्से को समझने की citizen science कर रहा है, Fediverse drama के टुकड़े भी हैं, और छोटे server operators के लिए system administration tactics भी दिलचस्प हैं
    torswats नाम का व्यक्ति काफ़ी सिरदर्द लगता है और आखिरकार गिरफ्तार हो जाता है, जिससे एक रोचक side plot बनता है। लेखक भी काफ़ी तेज़ लगता है और उसका writing style मुझे पसंद है। पांच सितारा पढ़ाई लायक है

    • technical details का अच्छा संतुलन रखने वाला बेहतरीन लेख है। Chaos Communication Congress जैसे event में talk के रूप में भी बहुत फिट बैठेगा
    • लेखक जो गलत निष्कर्ष निकालता है, उस पर ध्यान देना चाहिए। FBI ने किसी user के बारे में जानकारी मांगी और हिंसा की धमकी वाले screenshots भेजे, लेकिन FSE की ओर का व्यक्ति तुरंत निष्कर्ष निकाल लेता है कि यह बस harmless शेख़ी है
      यह और भी अहम है जब सोचें कि एक दूसरा CEO सिर्फ़ 6 महीने पहले हत्या का शिकार हुआ था। लेख के अंत तक जाते-जाते पता चलता है कि वह व्यक्ति पहले ही proxies के ज़रिए अनगिनत हिंसक काम कर चुका था। अच्छा हुआ कि FSE वाला व्यक्ति federal agency से संवाद में रहा, लेकिन धमकी वाले screenshot देखकर भी तुरंत मान लेना कि वह हिंसक व्यक्ति हो ही नहीं सकता, एक खतरनाक bias दिखाता है
  • वे कहते हैं कि “Fediblock ने झूठा impression दिया कि FSE ने ऐसी चीज़ की अनुमति दी जो उसने कभी allow नहीं की,” और फिर ऐसी website link कर रहे हैं जिसका source code kiwifarms पर hosted है
    block किए जाने की वजह यह है कि हममें से ज़्यादातर लोग “free speech” camp के साथ interact नहीं करना चाहते, और लगभग बस यही बात है

    • यह जिस वाक्य का reply है, उससे logically connected बात नहीं लगती। किसी को block करना या नापसंद करना और fact-checking का क्या संबंध है?
  • अच्छा लेख है। एक बहुत मामूली, ज़्यादा मायने न रखने वाला और शायद गलत भी हो सकने वाला correction है
    internal search engine screenshot में “Negative” शब्द को sentiment analysis माना गया है, लेकिन असल में संभव है कि वह post search intent से मेल न खाने वाला “negative” result हो—यानी internal system में false positive report करने वाला button। इस स्थिति में sentiment analysis बहुत उपयोगी नहीं लगता

    • सहमत नहीं हूं। “Negative” icon लाल इंसानी सिर है। “false positive” के लिए ऐसा icon कौन चुनेगा? मेरे हिसाब से इसे “negative sentiment” मानना ज़्यादा समझ में आता है
  • “FSE पर pedophiles आ गए” यह पूरे Fediverse की समस्या जैसा लगता है। ईमानदारी से कहें तो Discord भी ऐसा ही है

    • व्यावहारिक रूप से जहां भी photos upload की जा सकती हैं और वे real name से connected नहीं हैं, वहां यही स्थिति मानिए
    • Signal और Telegram भी ऐसे ही हैं
  • यह दिलचस्प है कि यह सब Referer header की वजह से शुरू हुआ। browser का default रूप से server को मेरी browsing history का कुछ हिस्सा बताना privacy problem जैसा लगता है
    अगर मुझे ठीक याद है तो Tor में यह समस्या नहीं है

    • दिलचस्प बात यह है कि इसे user side और reference भेजने वाली site side, दोनों जगह configure किया जा सकता है
      ज़्यादातर browsers, कम से कम relevant browsers, referring site द्वारा set किए गए referer-policy header का पालन करते हैं 1. Django जैसे आम site frameworks में भी इसे control करने का option है 2. चूंकि ज़्यादातर user agents इसका पालन करते हैं, अगर indexing site चाहती तो वह आसानी से अधिकांश users के लिए उस header को भेजे जाने से रोक सकती थी
  • scrapers को रोकने का कोई बेहतर technical तरीका नहीं था क्या? जैसे requests process करने के बजाय entry point पर IP या domain block करना। फिर भी request traffic की लागत शायद चुकानी पड़ती
    API endpoints के लिए third-party DDoS protection services का market तो है न, जैसे Cloudflare वगैरह। हालांकि “Free Speech Extremist” के लिए यह शायद उपयुक्त समाधान नहीं रहा होगा और लागत भी है। फिर भी ऐसी स्थिति में असल में पैसे बच सकते थे

    • “तो उन्होंने scraping कर रहे IPs का traffic server पर drop करा दिया। समस्या हल! फिर तुरंत दूसरे IPs से बड़ी संख्या में attempts दिखने लगे। वे अमेरिका के residential IPs थे। वे residential proxies खरीद रहे थे।”