- Operator FSE menyusun log dan email tentang alur ketika ia menelusuri pengguna ilegal yang masuk ke instance Fediverse, lalu berlanjut ke scraping BoardReader/SocialGist dan permintaan informasi dari FBI
- Titik awal masalahnya adalah hasil pencarian BoardReader yang membuat unggahan dari server eksternal tampak seperti unggahan FSE; menurutnya, hal ini menyebabkan masuknya pengguna ilegal sekaligus atribusi yang keliru
- BoardReader menyembunyikan
User-Agent, memakai proxy residensial, Tor, dan pemutaran ulang sesi browser untuk mengeruk/api/v1/timelines/public?local=false, dan tetap mengulangi permintaan setelah diblokir sehingga menambah beban serta biaya server - Pada 14 Maret 2023, FBI mengirim Emergency Disclosure Request terkait
WitchKingOfAngmar, tetapi akun tersebut adalah penggunasneed.social, bukan FSE, dan tangkapan layar terlampir juga bukan tampilan FSE - Setelah mencemari indeks BoardReader dengan timeline palsu, operator mengamati bahwa frasa tertentu memicu lonjakan permintaan Facebook, dan menilai laporan tentang Torswats pada 2024 memberi sebagian konteks atas perhatian FBI
Pelacakan yang berawal dari masuknya pengguna ilegal
- Operator FSE memandang masuknya pengguna terkait pedofilia ke server sebagai ancaman eksistensial bagi FSE
- Unggahan materi eksploitasi seksual anak ilegal, perhatian aparat penegak hukum, dan kemungkinan penyitaan perangkat merupakan risiko langsung
- Ia menilai sebagian pengguna bergerak dengan cara menyebarkan materi ilegal ke banyak situs lalu memeriksa akun mana yang tidak diblokir
- Ia mencoba mencegahnya dengan memublikasikan informasi yang memungkinkan seperti IP, email, dan
User-Agent, tetapi dampaknya tidak besar- Banyak yang tampaknya mengunggah atau mengambil file lalu pergi, dengan pola mencari tempat yang tidak memblokir mereka
- Saat menelusuri jalur masuk, terungkap bahwa header
Refererbanyak pengguna mengarah ke boardreader.com
Metode pelacakan lewat log
- Ada asumsi dasar bahwa untuk mengoperasikan instance fedi yang terekspos ke internet publik, operator harus mampu menganalisis sendiri bot, scanner, worm, dan trafik abnormal
- Untuk analisis log, digunakan
awk,tail -f,mawk -Winteractive,grep,sqlite3,R,sed,sort,psql, dan lainnyaawkdiperkenalkan sebagai alat mirip SQL untuk log teks- Alat jaringan seperti
dig,whois,traceroute,tcpdump,iftop, Shodan, dan daftar exit Tor juga digunakan bersama
- Format log web server seperti nginx diubah agar mencatat header arbitrer, waktu respons, waktu respons backend, dan sebagainya
- Log FSE dibuat mendekati format berbatas tab agar mudah ditangani dengan
awkatau alat semacam spreadsheet
- Log FSE dibuat mendekati format berbatas tab agar mudah ditangani dengan
- Statistik sederhana juga dipakai untuk deteksi anomali
- Rata-rata dan standar deviasi jumlah permintaan dihitung untuk menemukan IP, endpoint, atau pola permintaan yang tiba-tiba melonjak
- Pada satu waktu tertentu, penilaian seperti “90% permintaan POST berasal dari alamat yang sama” dibuat dengan cara ini
Pelacakan BoardReader/SocialGist
- boardreader.com awalnya adalah alat pencarian forum, dan operator FSE menilai situs ini tidak memahami fedi dengan benar sehingga memperlakukan FSE seperti satu forum
- Bahkan unggahan publik dari instance lain disebut ditampilkan seperti unggahan forum
freespeechextremist.com - SocialGist menjelaskan bahwa mereka menjual “accessible social data”, dan menurut operator, isi blog yang menyebut pengembangnya berada di Serbia cocok dengan IP sebenarnya
- Bahkan unggahan publik dari instance lain disebut ditampilkan seperti unggahan forum
- Pada 5 Maret 2023, log FSE tidak memiliki catatan kunjungan eksplisit dari BoardReader, tetapi ditemukan scraping berkecepatan tinggi terhadap
/api/v1/timelines/public?local=false- Browsernya mengaku Chrome, tetapi kecepatannya jauh lebih tinggi daripada manusia yang menggulir halaman
- Ada A record dari
spider1.boardreader.comhinggaspider43, tetapi trafik sebenarnya saat itu disebut berasal dari45.15.176.187, IP milik DediPath
- Setelah IP diblokir, banyak upaya berlanjut dari IP residensial AS, dan operator menyimpulkan BoardReader membeli proxy residensial untuk menghindari deteksi
- Pada 8 Maret 2023, ia mulai memblokir permintaan yang memakai token tertentu dengan
awk,iptables, dan skrip Ruby- Setelah itu, muncul permintaan dari IP ISP Serbia yang mengarah ke
devtools.boardreader.com - Permintaan ini disebut memuat resource seperti browser normal, memperoleh Bearer token, menjalankan JavaScript, lalu melanjutkan scraping dengan token tersebut
- Setelah itu, muncul permintaan dari IP ISP Serbia yang mengarah ke
- Ia mencoba mengembalikan respons 429, 401, 403, dan 500, tetapi scraper malah mengulangi permintaan lebih banyak sehingga praktis menjadi DoS
- Setelah itu ia mulai mengirim
402 Payment Required, dan selama periode tersebut akses ke timeline publik TWKN diblokir
- Setelah itu ia mulai mengirim
Pertukaran email dengan SocialGist
- Pada 5 Maret 2023, operator meminta informasi crawler ke
info@boardreader.com - Pada 13 Maret 2023, datang balasan dari
dave@socialgist.comyang menanyakan apa yang ingin ia ketahui- Operator meminta mereka hanya mengambil unggahan lokal dan memakai
User-Agentyang mengidentifikasi BoardReader - Ia menyampaikan seluruh rentang IP miliknya sebagai target penghentian crawling, serta memberi tahu masalah masuknya pengguna terkait pedofilia
- Operator meminta mereka hanya mengambil unggahan lokal dan memakai
- Dave mengatakan akan meneruskannya ke tim engineering, tetapi operator menilai pada jam yang sama pengembang masih men-debug scraper
- Log mencatat permintaan pada 13 Maret 2023 dari
109.92.154.188yang merujuk kedevtools.boardreader.com - Operator menilai SocialGist mengatakan akan berhenti tetapi tetap melanjutkan pekerjaan untuk mengakali pemblokiran
- Log mencatat permintaan pada 13 Maret 2023 dari
Emergency Disclosure Request dari FBI
- Pada 14 Maret 2023, operator menerima email dari alamat
fbi.govdengan subjek Emergency Disclosure Request- Special Agent Peter Christenson meminta informasi pelanggan untuk pengguna
WitchKingOfAngmar - Nama file lampirannya adalah
FSE Screen Shot.PNG
- Special Agent Peter Christenson meminta informasi pelanggan untuk pengguna
- Setelah memeriksa header email, log server email, dan informasi SPF
fbi.gov, ia menyimpulkan email itu benar-benar datang dari FBI - Tangkapan layar yang dilampirkan bukan tampilan FSE
- FSE ditampilkan sebagai “forum”, dan di bagian atas terlihat “Forum • Blackrock Executiv...”
- Kata kunci seperti “kill blackrock” dan “larry fink” disorot
- Analisis sentimen sederhana juga disertakan
- Unggahan tersebut dibuat 26 hari sebelum email, tetapi pada tangkapan layar terlihat waktu seperti “11 hours ago” dan “13 hours”
WitchKingOfAngmarbukan pengguna FSE, melainkan pengguna sneed.social- Operator menjawab FBI bahwa informasi pengguna itu tidak ada di FSE, dan meski BoardReader menempelkan “Free Speech Extremist”, sumber unggahan tersebut bukan FSE
- Agen FBI bertanya harus menghubungi siapa, dan operator menyarankan untuk memeriksa server asalnya
Alur yang tampaknya mengarah ke BoardReader, Facebook, lalu FBI
- Operator melihat FBI dan BoardReader merusak Unicode dengan cara yang sama, dan keduanya sama-sama salah mengatribusikan unggahan server eksternal sebagai unggahan FSE
- Ia menyebut codepoint Unicode asli
1f9e2,1f438,1f44dberubah menjadi kotak tanda tanya yang menunjukkan Unicode tidak valid
- Ia menyebut codepoint Unicode asli
- Berdasarkan keadaan ini, ia menyimpulkan FBI menghubungi FSE setelah melihat data BoardReader
- Pada 15 Maret 2023, BoardReader masih terus mengirim permintaan ke FSE dan hanya menerima respons 402
- Operator mengunggah penjelasan publik terbatas dan mengalihkan FSE ke keadaan terkunci
- Tanpa akun, orang tidak lagi bisa melihat TWKN atau timeline publik, dan pendaftaran juga ditutup
- Setelah 16 Maret 2023 pun, BoardReader disebut masih mencoba mengakali pemblokiran dengan proxy residensial, Tor, dan
User-Agentyang berubah di setiap permintaan
Timeline palsu dan pencemaran data
- Setelah 24 Maret 2023, karena scraping BoardReader dan masuknya pengguna terkait pedofilia terus berlanjut, operator mulai menyediakan timeline palsu
- Ia membuat skrip CGI kecil yang menghasilkan JSON dari kombinasi akun yang tidak ada dan unggahan yang tidak ada
- ID awalnya berupa angka 32-bit acak, lalu kemudian sebagian waktu permintaan dicampurkan agar mudah dilacak di dalam BoardReader
- Karena nginx tidak mendukung CGI, permintaan endpoint tersebut diteruskan ke lighttpd
- Implementasinya disebut sebagian besar menggunakan
awk
- Daftar kata unggahan mencampurkan kata kunci pencarian BoardReader dan daftar kata terkait CARNIVORE
- Unggahan palsu terindeks di BoardReader, dan operator memasukkan ID acak ke kotak pencarian BoardReader untuk mencocokkan log web server FSE dengan item indeks
Pengamatan lonjakan permintaan Facebook
- Operator mengonfirmasi lewat histogram log bahwa ada banyak permintaan dari Facebook ke URL unggahan palsu
- Area dengan banyak
4berwarna hijau/biru adalah respons 402, dan hampir semuanya disebut berasal dari Facebook - URL permintaan cocok dengan unggahan palsu
- Area dengan banyak
- Ia menilai Facebook mengambil unggahan tersebut segera setelah diindeks oleh BoardReader
- Ketika daftar kata unggahan palsu diubah menjadi satu frasa “larry fink”, permintaan Facebook disebut melonjak hampir seketika
- Saat frasa itu dihapus, trafik menurun dan berhenti
- Saat dimasukkan lagi, lonjakan kembali terjadi setelah menunggu indeks BoardReader
- Operator memperkirakan alurnya adalah
awkCGI → lighttpd → nginx → crawler BoardReader → indeks BoardReader → Facebook → UI pencarian internal FBI- Ia menyisakan catatan bahwa tidak pernah jelas sepenuhnya apakah dalam alur ini Facebook berperan sebagai alat tertentu untuk FBI atau semacam repositori penyimpanan
Cara menghentikan SocialGist
- Untuk mengurangi biaya kelebihan bandwidth, ia membuat respons menjadi sangat lambat dan disetel agar selesai tepat sebelum timeout
- Kadang bagian akhir JSON dipotong sebagian untuk memicu kegagalan parsing
- BoardReader tampak memakai parser JSON umum, dan menurut operator, meski menghabiskan sekitar 1 menit, mereka tidak memperoleh data yang berguna
- Setelah itu, ia memasukkan nomor telepon Dave ke unggahan yang dihasilkan secara acak, dan keesokan harinya Dave membalas
- Dave mengatakan telah membuat tiket Jira dan akan segera memberi jawaban
- Setelah pertukaran singkat, scraping cepat berhenti, tetapi butuh sekitar 1 minggu sampai FSE hilang dari indeks BoardReader
Epilog yang menjadi lebih masuk akal setelah laporan Torswats
- Pada 18 Januari 2024, Wired melaporkan penangkapan Alan Winston Filion di Lancaster, CA
- Ia dilaporkan sebagai sosok terkait Torswats yang membuat ratusan laporan palsu, termasuk ancaman bom dan situasi penyanderaan palsu
- Operator menilai
WitchKingOfAngmaradalah Torswats iniWitchKingOfAngmartampaknya merupakan referensi ke “Lord of the Rings”- Karena Torswats kerap membuat ocehan ancaman tak bermakna yang ditujukan kepada Larry Fink, operator menilai FBI menaruh perhatian pada ancaman terkait Larry Fink
- Epilog ini menghubungkan sebagian permintaan FBI, kata kunci “larry fink”, dan perhatian pada ancaman terhadap eksekutif Blackrock
- Masih ada pertanyaan yang tersisa
- Apa sebenarnya BoardReader saat ini
- Apakah SocialGist memakai BoardReader sebagai alasan yang tampak masuk akal
- Peran apa yang dimainkan Facebook dalam pipeline ini
- Apakah Facebook menyediakan alat untuk FBI, atau dipakai seperti repositori data
Saran yang ditinggalkan untuk operator fedi
- Operator mengatakan jika menginginkan data fedi, daripada scraping, lebih baik membuat instance palsu dan menghubungkannya ke relay agar tidak terlalu merusak server
- Ia tetap menganggap cara ini tidak pantas, tetapi setidaknya bisa menerima data secara real-time tanpa merusak server pihak lain
- Ia menilai yang tampak hanya scraper umum yang berisik, sementara pihak yang diam-diam memodifikasi software ActivityPub atau relay untuk mengumpulkan data sulit disadari
- Operator memperingatkan bahwa SocialGist dapat dilacak karena melakukan kesalahan, dan sulit mengetahui berapa banyak organisasi lain yang melakukan hal sama tetapi tidak membuat kesalahan seperti itu
1 komentar
Komentar Hacker News
Tautan di tulisan blog itu hanya mengarah ke daftar instance yang memilih defederasi
Alasannya tidak menuju daftar resmi Fediblock adalah karena Fediblock sudah ditutup beberapa tahun lalu. Penulis Fediblock dengan jelas menyatakan agar daftar itu tidak dipakai sebagai vonis final dalam bentuk apa pun, dan agar kriteria instance yang masuk dibandingkan dengan cermat terhadap standar masing-masing. Secara naluriah, sepertinya penulis artikel awalnya hendak menautkan entri Fediblock tetapi tidak menemukannya, lalu menggantinya dengan tautan yang paling mirip tanpa pengecekan yang memadai
Ini sama sekali tidak ada hubungannya dengan Fediblock atau mekanisme blokir komunal lainnya. Penggunanya bertindak seenaknya dan adminnya tidak melakukan apa-apa, jadi saya memutuskan tidak ingin berurusan lagi. Lucu melihat FSE mengeluh seolah-olah mereka diblokir karena semacam perkumpulan rahasia. Tanpa konspirasi besar pun, troll biasa bisa langsung membuat orang lain jengkel sampai banyak server memutuskan hubungan dengan mereka
Saya suka bagaimana ceritanya dimulai dari keengganan untuk menerapkan CAPTCHA karena itu merugikan pengguna nyata, lalu 80% sisanya membahas berapa lama pendaftaran publik dan linimasa publik dimatikan, serta seberapa negatif dampaknya bagi pengguna
Tetap saja, ini tulisan yang menarik, dan membuat saya makin yakin bahwa saya tidak sanggup meng-host ruang komunitas untuk orang lain di internet
Ada banyak bagian yang saya suka dari tulisan ini: ada sains warga ketika satu orang memetakan sebagian perangkat pengumpulan intelijen/pengawasan FBI, ada juga serpihan drama Fediverse, dan taktik administrasi sistem untuk operator server kecil juga menarik
Sosok bernama torswats tampak seperti biang masalah besar, lalu akhirnya ditangkap sehingga muncul subplot tambahan yang menarik. Penulisnya juga terlihat cukup cerdas dan saya suka gaya tulisannya. Layak dibaca, bintang lima
Terlebih jika mengingat ada CEO lain yang dibunuh hanya 6 bulan sebelumnya. Menjelang akhir tulisan, terlihat bahwa orang itu memang telah melakukan tak terhitung banyaknya tindak kekerasan lewat perantara. Syukurlah orang dari pihak FSE mau berkomunikasi dengan lembaga federal, tetapi melihat tangkapan layar ancaman lalu langsung berasumsi orang itu pasti bukan sosok yang berbahaya menunjukkan bias yang riskan
Katanya Fediblock memberi kesan palsu seolah-olah FSE membolehkan hal-hal yang sebenarnya tidak pernah mereka izinkan, tetapi lalu menautkan situs web yang source code-nya di-host di kiwifarms
Alasan mereka diblokir adalah karena kebanyakan dari kami memang tidak ingin berinteraksi dengan kubu “kebebasan berbicara”, dan nyaris cuma itu alasannya
Tulisan yang bagus. Ada satu koreksi yang sangat kecil, tidak terlalu penting, dan mungkin juga salah
Penulis membaca kata “Negative” pada tangkapan layar mesin pencari internal sebagai analisis sentimen, padahal tampaknya lebih mungkin itu berarti hasil “negatif” dalam arti posting itu tidak cocok dengan maksud pencarian, yaitu tombol untuk menandai false positive di sistem internal. Analisis sentimen sepertinya tidak akan terlalu berguna dalam konteks ini
“Munculnya pedofil di FSE” tampaknya merupakan masalah di seluruh Fediverse. Kalau mau jujur, Discord juga begitu
Menarik bahwa semua ini bermula dari header Referer. Fakta bahwa browser secara default memberi tahu server sebagian riwayat penelusuran saya terasa seperti masalah privasi
Kalau ingatan saya benar, Tor tidak punya masalah itu
Kebanyakan browser, setidaknya browser yang relevan, mematuhi header referer-policy yang ditetapkan situs perujuk 1. Framework situs yang umum seperti Django juga punya opsi untuk mengendalikannya 2. Karena sebagian besar user agent mematuhinya, jika situs pengindeks memang menginginkannya, mereka bisa dengan mudah mencegah header itu terkirim untuk sebagian besar pengguna
Apa tidak ada cara teknis yang lebih baik untuk menghentikan scraper? Misalnya memblokir IP atau domain di titik masuk alih-alih memproses permintaannya. Meski begitu, mungkin mereka tetap harus menanggung biaya trafik permintaan itu
Bukankah ada pasar layanan perlindungan DDoS pihak ketiga untuk endpoint API, semacam Cloudflare? Hanya saja, kemungkinan itu bukan solusi yang cocok untuk “Free Speech Extremist” dan juga ada biayanya. Walau begitu, dalam situasi seperti ini mungkin justru bisa menghemat uang