2 poin oleh GN⁺ 2023-09-24 | 1 komentar | Bagikan ke WhatsApp
  • Platform blog gratis Bear menjadi sasaran ladang backlink, phishing, penjualan obat ilegal, iklan kasino online, dan spam promosi kripto karena hambatan pendaftarannya rendah
  • Paparan bisa dikurangi dengan no-index·no-follow dan pengecualian dari feed, tetapi sulit mencegah konten spam itu sendiri diunggah ke platform
  • Pemblokiran berbasis Akismet efektif, tetapi pesan pemblokiran menimbulkan masalah karena memberi petunjuk untuk mengakali kepada spammer
  • ‘The Frustration Loop’ adalah metode yang, alih-alih memblokir, membuang waktu spammer dengan cara seperti mereset formulir, menonaktifkan tempel, memindahkan fokus, dan memunculkan error berulang
  • Setelah diterapkan, rasio spam pada blog baru turun dari sekitar 30% menjadi kurang dari 5%, dan selama 3 bulan hanya ada 1 pengguna yang melaporkan masalah, yaitu pengiklan kasino online

Mengapa Bear menjadi sasaran spam

  • Bear gratis digunakan sehingga mudah untuk mendaftar, dan karena itu spammer yang ingin menyalahgunakan platform pun berdatangan
  • Spam ini lebih mirip ladang spam daripada sekadar traffic bot sederhana, seperti membeli “100 backlink” di Fiverr
    • Ratusan pekerja bergaji rendah mengirimkan konten ke berbagai sudut web
    • Tujuannya adalah menaikkan peringkat SEO, meski dianggap tidak benar-benar efektif
  • Bear menyiapkan garis pertahanan dasar agar meskipun spam dipublikasikan, kontennya tidak terekspos ke internet yang lebih luas
    • Blog yang belum ditinjau diberi tag no-index dan no-follow
    • Juga tidak muncul di sitemap dan feed discovery
    • Status ini bisa dilepas jika pengguna memilih meminta peninjauan
  • Namun terlepas dari pencegahan paparan, mereka juga ingin mengurangi situasi di mana konten spam itu sendiri ada di dalam platform

Pendekatan yang memperlambat akal-akalan alih-alih memblokir

  • Untuk deteksi spam, mereka menggunakan Akismet, alat dari ekosistem WordPress
    • Mereka sempat mencoba membuat sistem deteksi sendiri dengan GPT4, tetapi akurasinya lebih rendah daripada Akismet dan biayanya juga lebih mahal
    • Setelah itu mereka beralih ke langganan Akismet
  • Pemblokiran pada tahap pendaftaran cukup efektif pada awalnya, tetapi seiring waktu spammer mempelajari cara meresponsnya
    • Pemblokiran menjadi sinyal yang memberi tahu konten seperti apa yang terjaring
    • Spammer lalu membuat blog yang tampak sah dan memasang spam di area yang pengawasannya lebih longgar
    • Pada akhirnya tetap harus ditemukan dan ditandai secara manual
  • Pemblokiran IP juga kurang efektif
    • Spammer menggunakan VPN komersial seperti Nord
    • Nord VPN saja memiliki ratusan server di seluruh dunia, sehingga hampir mustahil dibendung hanya dengan blokir IP
    • Jika posting dari IP tertentu diblokir, pengguna normal juga bisa ikut terblokir

Cara kerja ‘The Frustration Loop’

  • The Frustration Loop tidak langsung memblokir blog ketika spam terdeteksi, tetapi membuatnya tampak seperti error sistem atau kegagalan agar pengguna kelelahan
    • Idenya diambil dari The Password Game
    • Saat spam terdeteksi, formulir dikosongkan dan ditampilkan error seperti “Our servers are bearly managing. Try again later.”
    • Tempel dinonaktifkan di semua area teks
    • Setiap 5–10 detik, fokus input dipindahkan ke kolom lain sehingga saat mengetik, input bisa masuk ke tempat yang tidak semestinya
    • Jika dikirim lagi, akan muncul error lain seperti “Ensure content contains necessary parameters.”
    • Proses ini diulang agar mereka mengira perangkat lunaknya rusak dan akhirnya menyerah
  • Kemungkinan aktif untuk pengguna normal dianggap rendah
    • Dalam pengujian, fitur ini tidak bisa dipicu tanpa secara eksplisit melakukan perilaku yang mencurigakan
    • Sudah berjalan di production selama 3 bulan, dan hanya ada 1 pengguna yang melaporkan masalah
    • Pengguna tersebut sedang mengiklankan kasino online

Hasil penerapan dan celah yang masih tersisa

  • Setelah diterapkan, rasio spam di antara blog baru turun dari sekitar 30% menjadi kurang dari 5%
  • Ini bukan solusi yang sempurna, dan masih ada ruang perbaikan serta celah yang perlu ditutup
  • Ada kekhawatiran bahwa memublikasikan metode ini bisa membantu calon spammer mengakalinya, tetapi penulis menilai para spammer itu tidak membaca blog ini

1 komentar

 
GN⁺ 2023-09-24
Komentar Hacker News
  • Saya teringat Newsvine[2], situs berita komunitas awal yang dibuat pada 2006 oleh Mike Davidson[1], mantan rekan kerja saya di ESPN
    Newsvine punya komentar, rekomendasi, pengiriman tautan, dan penulisan artikel; layanannya mirip Reddit yang berfokus pada berita. Untuk menangani spammer dan troll, jika pengguna ditandai sebagai troll di backend, semua pemuatan halaman akun itu diberi penundaan acak 10–60 detik, dan seingat saya itu cukup efektif mengurangi masalah
    1- http://mikeindustries.com/blog/
    2- https://en.wikipedia.org/wiki/Newsvine

    • Dengan standar itu, UI mobile Reddit yang baru tampaknya menganggap semua orang sebagai troll
    • Saya penasaran bagaimana ini akan diterapkan pada layanan seperti Twitter/X, bahkan untuk individu yang berkomunikasi dengan pejabat pemerintah AS
      Seseorang yang ditandai sebagai troll di backend karena alasan yang sama sekali berbeda bisa mengalami penundaan saat berkomunikasi dengan pejabat pemerintah. Penundaan memang tidak sama dengan pemblokiran, tetapi saya bertanya-tanya apakah di mata hakim federal, kerusakan pada pengalaman pengguna cukup mirip
    • Saya suka Newsvine. Rasanya benar-benar inovatif dan menyambut
    • Spam dan trolling juga terjadi di koran cetak, radio, TV, buku, dan majalah. Hanya saja di sana orang harus membayar untuk bisa melakukannya
      Secara historis, kalangan kaya, kelas protokoler, dan kelas yang punya banyak waktu luang bisa membeli lebih banyak perhatian, jadi mereka terus menyebarkan segala macam kebisingan yang muncul di kepala mereka. Sekarang produksi konten telah melampaui konsumsi, sehingga tidak ada cukup perhatian tersisa untuk apa pun
      Jika 99% komentar dan tautan di HN tidak dibaca siapa pun, apakah para genius hebat yang menjalankan HN akan memberi tahu kita? Platform memberi semua orang hak siar gratis tanpa tahu apa yang sebenarnya mereka bangun, dan kini bukan hanya orang kaya, melainkan semua orang bisa melakukan spam dan trolling secara gratis. Yang tersisa hanya kebisingan, jadi bacalah laporan ekonomi perhatian dari PBB
      Tampaknya satu-satunya alasan sistem-sistem tak bermakna seperti ini, yang membuang waktu dan energi semua orang, bisa muncul adalah karena para insinyur perangkat lunak yang berpikiran satu jalur mampu membuat sistem menjadi cepat dan dapat diskalakan
  • Saya bekerja di dalam Akismet selama lebih dari 6 tahun
    Akismet sangat bagus untuk mendeteksi spam komentar, tetapi kalau ia juga bagus mendeteksi spam pendaftaran, tidak akan ada begitu banyak blog spam di wordpress.com
    Dengan mesin pencari, daftar istilah yang dikurasi, dan alat yang dibuatkan developer, saya melacak blog spam dan menangguhkan ribuan blog spam sungguhan. Sesekali ada kesalahan, tetapi jarang
    Belakangan sebagian alat otomatis dibuat, tetapi perburuan dan penangguhan seperti ini turun prioritasnya. Pada masa awal, wordpress.com harus terlihat bersih agar bisa tumbuh, tetapi begitu dinilai sudah cukup besar, upaya itu berhenti. Saya tahu ini seperti memadamkan mobil yang terbakar dengan pistol air, tetapi tidak memakan waktu lama dan cukup memuaskan
    Sekitar masa ini saya biasanya menyisir blog spam Halloween, dan blog spam Christmas juga mulai terlihat

  • Saya memakai cara sederhana untuk menghilangkan spam email tanpa filter pihak ketiga
    Saya punya domain pribadi untuk email, dan menyiapkan akun catch-all yang menerima semua email yang masuk ke domain itu. Sebagai gantinya, untuk tiap situs dan layanan saya memberikan alamat berbeda seperti sitea@mydomain.com atau site2@mydomain.com
    Dengan cara ini, email bisa otomatis diklasifikasikan secara andal berdasarkan pengirimnya, dan format nama yang saya berikan juga dibuat konsisten, sehingga email acak yang tidak cocok dengan format itu langsung dihapus tanpa saya lihat
    Hampir tidak ada spam yang masuk, tetapi jika suatu layanan membocorkan alamat, saya mengganti atau menghentikan email untuk layanan itu dan memasukkan alamat tersebut ke daftar blokir penerimaan. Ini begitu sederhana sampai saya merasa semua program email seharusnya bisa menangani seluruh domain dengan cara seperti ini

    • Jika tidak punya domain pribadi, ada alternatif seperti Fastmail masked emails(https://app.fastmail.com), Firefox Relay(https://relay.firefox.com/), SimpleLogin(https://simplelogin.io/), dan masih banyak lagi
    • Saya juga memakai alamat terpisah untuk tiap pihak eksternal, dan itu membantu mengenali phishing
      Misalnya, jika “notifikasi dari bank” datang ke alamat yang dibuat untuk sebuah toko online, itu tidak mungkin asli. Alamat yang disalahgunakan bisa dinonaktifkan dengan menghapusnya dari /etc/aliases
      Selain itu, server postfix saya dikonfigurasi untuk menolak koneksi jika pengirim tidak memiliki pemetaan DNS balik. Ini sudah berhasil 20 tahun lalu, dan dari log sekarang pun masih berguna
    • Saya memakai sistem serupa. Domainnya catch-all, tetapi saya memberikan alamat berbeda untuk semua orang dan menambahkan potongan di akhir alias yang menunjukkan apa yang harus dilakukan aturan email
      Misalnya, jika masuk ke anything_s@mydomain.com, email langsung masuk ke folder spam. Saya menggunakan ini untuk hampir semuanya, dari Google sampai pendaftaran di situs kecil. Karena biasanya mereka memang hanya mengirim spam, dan meski sesekali saya memeriksa folder spam, belum pernah ada yang penting
      Sebagian besar email dari perusahaan biasa juga tidak saya minati, jadi saya anggap spam. Uber Eats pun mengirim beberapa email untuk setiap pesanan, dan menurut saya itu spam saja. Kalau ada layanan yang benar-benar saya pedulikan, saya akan memberi alamat dengan sufiks lain yang tidak masuk spam, tetapi itu hampir tidak pernah terjadi
      Ini menyaring dengan baik bukan hanya spam phishing yang datang ketika sebuah situs membocorkan alamat, tetapi juga email jenis “informasi penting tentang interaksi kecil” yang dikirim sebagian besar situs web
    • Saya memakai sistem serupa, tetapi alamatnya lebih dulu saya “daftarkan” di file .txt. Formatnya sitename-random-number@mydomain
      Catch-all membuat semua email tampak berhasil terkirim bagi pihak spammer, sehingga spammer bisa terus mengirim ulang dan membuang-buang sumber daya mereka
    • Saya sudah melakukan hal serupa selama beberapa tahun, tetapi tidak menghapus otomatis
      Dari pengamatan saya, spam hanya datang ke alamat email yang saya publikasikan di blog dan alamat GitHub. Tampaknya bukan ada yang menjual alamat saya ke spammer, melainkan hanya alamat publik yang di-scrape
  • Tim spam di jejaring sosial biasanya melakukan shadow ban terhadap spammer
    Tujuannya adalah membuat spammer sesulit mungkin mengetahui bahwa mereka sudah tertangkap. Jadi menurut saya teknik yang memicu frustrasi atau sekadar penangguhan akun tidak banyak dipakai
    Pencegahan spam pada dasarnya menarik karena merupakan perlombaan senjata antara perusahaan yang menerapkan taktik deteksi dan spammer canggih yang memakai metode yang makin kompleks untuk menghindari deteksi. Kalau perusahaan bisa membuat spammer percaya bahwa mereka tidak perlu mengembangkan metodenya, itu menguntungkan bagi perusahaan

    • Masalahnya, orang sungguhan ikut terjaring. Akun TikTok saya sedang kena shadow ban, jadi apa pun yang saya unggah sekarang mendapat 0 tayangan, dan LIVE juga 0 penonton
      Akun Instagram saya diblokir permanen karena katanya saya menyamar sebagai diri saya sendiri. Lebih buruk karena saya kehilangan seluruh akun, dan setelah mereka bahkan meminta saya mengirim selfie, tepat saat saya mengirimkan gambar itu akun langsung diblokir permanen
    • Ironisnya, tim deteksi spam terbaik bekerja untuk para spammer. Iklan adalah spam, hanya saja dikecualikan ketika adtech yang membayar gaji
    • Bergantung konteksnya, penangguhan akun bisa dijadikan senjata. Misalnya membuat orang yang tidak disukai terlihat melakukan aktivitas mencurigakan agar akunnya ditangguhkan
    • Alat spam modern yang pernah saya lihat menerima daftar akun kedua untuk verifikasi karena alasan seperti ini
      Mereka bisa mengecek sampel apakah komentar terlihat, lalu otomatis menghapus akun yang terkena shadow ban
  • Akismet tidak punya proses banding yang benar-benar berfungsi. Sudah sangat lama lalu saya diblokir Akismet saat menulis komentar di blog saya
    Kalau saya berkomentar di tempat yang memakai Akismet, komentar itu diam-diam difilter. Di Disqus saya juga pernah diblokir karena memasang banyak tautan berguna di komentar blog orang-orang yang saya kenal, tapi mereka menyelesaikannya dalam 2 hari dan sangat sopan
    Akismet setidaknya harus membersihkan para pengguna WordPress yang sudah diblokir sejak entah berapa lama, dan WordPress harus beralih ke alternatif yang agak kurang tidak waras
    Fakta bahwa saya tidak bisa membalas di blog WordPress saya sendiri sebenarnya cukup lucu, dan bagi saya mudah saja karena bisa memakai mesin blog lain, tetapi cara WordPress memperlakukan penggunanya sendiri dengan pola “ayo bunuh sedikit spam” itu tidak bagus

    • Saya developer Akismet. Kalau Anda mengirimkan informasi ke support@akismet.com, kami bisa melihat kenapa komentar Anda tertangkap
    • Dalam situasi seperti ini, biasanya saya menyerah sepenuhnya pada situs tersebut
      Menambahkan domain ke daftar uBlock dan mencari judulnya di Google hanya butuh satu klik. Tidak ada proses banding yang bisa semudah dan seandal itu
  • Tulisan aslinya tidak menjelaskan bagaimana mereka membedakan pengguna valid agar tidak dimasukkan ke loop frustrasi
    Mereka mengatakan bahwa mencegah spam saat pendaftaran dengan Akismet cukup berhasil, tetapi mudah dilewati, dan sebagian spammer menemukan cara terlihat seperti blog normal sehingga harus ditemukan dan ditandai secara manual. Setelah itu, ketika spam terdeteksi, mereka membuat “Frustration Loop” yang membuang waktu spammer dan membuat mereka menyerah
    Namun soal apakah ini tidak terpicu pada pengguna normal, yang disebutkan hanya bahwa sistem itu berjalan selama 3 bulan dan hanya satu pengguna yang melaporkan masalah. Secara pribadi, bagian ini adalah yang paling menarik dari tulisan tersebut
    Tindakan untuk membuat spammer frustrasi memang keren, tetapi saya berharap ada lebih banyak pembahasan tentang memisahkan spammer dan pengguna nyata, serta memahami false positive dan false negative. Saya mengerti detail deteksi sulit dibuka, dan topik tulisannya memang Frustration Loop

    • Mereka membayar Akismet dan mengirimkan informasi pendaftaran pengguna. Dari GIF di artikel, kita bisa melihat data apa yang dikirim
      Kalau Akismet menjawab itu spam, mereka menyalakan loop frustrasi; menurut saya itu cukup cerdik
    • Apakah Akismet juga mendeteksi spammer pada saat pendaftaran? Setahu saya fungsi utamanya adalah API untuk menentukan apakah komentar tertentu spam
      https://akismet.com/developers/comment-check/
    • Persis di bagian itu. Rasanya tidak ada yang benar-benar ingin menyelesaikan masalahnya
      Saya sekarang jadi berpikir begitu, karena kalau diselesaikan, itu hanya akan merusak metrik dan pendapatan
  • Pencegahan spam yang paling ampuh di formulir kontak email adalah beberapa kolom input teks tersembunyi bernama seperti “blindcopy”, “bcc”, “cc”, “additional address”
    Semuanya diberi nilai default, dan handler submit akan menolak pengiriman jika mendeteksi nilai kolom-kolom ini berubah dari default. Seingat saya, dari formulir itu saya tidak menerima satu pun email palsu

    • Skrip spam jauh kurang pintar daripada itu
      Saya menaruh satu kolom tersembunyi tanpa teks di formulir kontak, dan demi aksesibilitas menambahkan peringatan sopan sebagai teks petunjuk. Kalau kolom itu terisi apa pun, kiriman dibuang diam-diam, dan isi input dikirimkan sebagai tembusan kepada saya; selama sekitar 8 tahun formulir itu aktif, seingat saya jumlah email spamnya 0
    • Saya pernah mendengar konsep ini disebut kolom honeypot, dan seperti yang Anda bilang, itu bekerja cukup baik
      Namun saya penasaran bagaimana password manager atau autofill tidak ikut terjebak. Apakah mereka bisa mendeteksi bahwa kolom itu tidak terlihat?
    • Bukankah Hacker News juga memakai hal seperti ini? Di halaman login ada kolom input tersembunyi
    • Saya juga melakukan hal yang persis sama, dan itu benar-benar efektif
  • Apakah mereka mengambil sampel konten yang dimasukkan pengguna “frustrasi” untuk memastikan apakah sebenarnya normal? Apakah ada rasio false positive dan false negative? Apakah mereka juga melihat apakah total pendaftaran normal turun atau naik?
    Pendekatan seperti ini tidak hanya dipakai oleh satu pihak. Banyak halaman, jika kita memakai VPN, gagal dengan cara yang diam-diam tetapi menjengkelkan tanpa menampilkan error. Begitu VPN dimatikan, semuanya secara ajaib berfungsi. Etsy juga sempat mengembalikan halaman kosong ketika memakai VPN, dan itu sangat menjengkelkan

  • Instagram punya loop frustrasi. Saya tahu karena itu terpicu di akun saya
    Setiap tindakan yang saya lakukan, sekecil apa pun, membuat saya harus login lagi. Entah mengeklik satu tautan atau melakukan apa pun, setiap kali harus melewati layar login
    Awalnya dimulai dengan “aktivitas mencurigakan terdeteksi di akun”, lalu muncul “akun dinonaktifkan”. Mereka tidak memberi tahu alasan sebenarnya, tetapi alasan realistis yang tercantum dalam aturan resmi hanyalah bahwa saya mengunggah postingan yang membuat seseorang tersinggung
    Namun ada masalah dengan penjelasan itu. Saya tidak pernah mengunggah apa pun. Yang saya lakukan di Instagram hanya mengikuti beberapa orang. Setelah memasukkan kode dan bahkan mengirim foto diri, saya berhasil mendapatkan kembali akses akun, tetapi sekarang apa pun yang saya lakukan, saya harus login lagi. Sulit dipercaya ini kebetulan atau bug; tampaknya jelas mereka mengidentifikasi saya sebagai orang bermasalah, tetapi karena kekurangan bukti untuk mengeksekusi, mereka menghukum saya atas pelanggaran imajiner
    Mungkin penyebabnya karena sesekali saya mengikuti tautan foto Instagram. Fakta bahwa ini bagian dari Meta juga jadi masalah: kalau saya menutup Instagram sepenuhnya, saya juga akan kehilangan akses ke akun Facebook yang saya pakai untuk tetap berhubungan dengan beberapa teman yang jauh
    Dunia sudah meninggalkan Facebook dan sekarang semua orang ada di Instagram. Saya mungkin juga akan begitu, kalau saja Instagram mengizinkannya

    • Sepertinya mereka mengidentifikasi saya sebagai crawler atau scraper. Tampaknya mereka tidak ingin ada kasus Cambridge Analytica lain
  • Saya melihat ada yang mengatakan deteksi spam adalah perang kreativitas antara spammer dan pendeteksi; kalau Akismet, itu mungkin benar. Namun kalau situs web menyediakan tempat bagi spammer untuk berkumpul, polanya tidak lagi seperti itu
    Ini adalah persaingan antara blog/situs web saya dan blog/situs web lain. Jika saya lebih terlindungi daripada tetangga saya, spammer akan pergi ke tetangga. Terutama ketika yang dihadang bukan bot, melainkan click farm
    Seperti leluconnya, di hutan kita tidak perlu berlari lebih cepat daripada beruang; cukup jangan menjadi yang paling lambat dalam kelompok