Precursor: sistem Cloudflare yang mendeteksi perilaku agen di seluruh sesi
(blog.cloudflare.com)- Karena makin sulit membedakan otomatisasi yang memanfaatkan browser nyata dan JavaScript hanya dengan titik verifikasi individual seperti login, pendaftaran, dan pembayaran, Cloudflare memperkenalkan Precursor, yang menganalisis sinyal perilaku sepanjang perjalanan pengguna secara berkelanjutan
- Dengan menyisipkan JavaScript ringan yang dirakit secara dinamis ke respons HTML, Precursor mengumpulkan pergerakan pointer, aktivitas keyboard, fokus, dan status tampilan halaman, lalu mencerminkannya secara real time dalam evaluasi edge dan sistem pertahanan bot yang sudah ada
- Gerakan pergelangan tangan, jeda kognitif, tremor tangan, serta ritme kecepatan·arah·koreksi sulit direplikasi otomatisasi yang menunjukkan pergerakan lurus, kecepatan konstan, atau presisi berlebihan di sepanjang sesi, sehingga menjadi dasar penentuan pada tingkat sesi
- Precursor menerapkan desain perlindungan privasi dengan hanya mengumpulkan timing dan ritme, bukan input tombol sebenarnya, serta tidak menghubungkan sinyal perilaku ke akun pengguna atau profil permanen maupun menampilkannya langsung di dashboard pelanggan
- Saat ini sedang digelar sebagai fitur Enterprise Bot Management, dapat digunakan gratis hingga GA pada akhir tahun ini, dan bisa dioperasikan tanpa perubahan aplikasi melalui observasi latar belakang atau dengan memaksa Challenge pada sesi yang belum terverifikasi
Dari titik verifikasi individual ke seluruh sesi
- Pertahanan bot adalah kompetisi adversarial yang terus berulang antara adaptasi penyerang dan respons pembela; Cloudflare memanfaatkan visibilitas di seluruh jaringan bersama sinyal dari lingkungan klien
- Menganalisis lebih dari 1 triliun permintaan per hari di jaringan global untuk memahami reputasi, pola, dan anomali di cakupan lebih dari 20% web
- Cloudflare Turnstile telah berkembang dari pengganti CAPTCHA menjadi Challenge terkelola berbasis risiko yang menyesuaikan tingkat friksi yang diperlukan untuk verifikasi pengguna
- Turnstile dijalankan sekitar 3 miliar kali per hari pada titik sensitif seperti login, pendaftaran, dan pembayaran, tetapi sebelumnya hanya dapat memahami secara terbatas bagaimana manusia dan bot berperilaku di seluruh perjalanan pengguna, termasuk di antara titik-titik tersebut
- Precursor mengisi celah visibilitas ini dengan terus mengumpulkan sinyal perilaku klien di seluruh aplikasi web dan melakukan penilaian pada tingkat sesi
- Memperluas deteksi sisi klien yang sebelumnya disediakan oleh Challenge ke seluruh aplikasi
- Melengkapi Turnstile secara opsional, dan keduanya termasuk dalam Enterprise Bot Management
Kontinuitas perilaku lebih sulit ditiru daripada momen singkat
- Otomatisasi modern dapat menjalankan JavaScript, menggunakan lingkungan browser nyata, dan bahkan lolos CAPTCHA individual, sehingga dalam interval singkat bisa tampak seperti pengguna normal
- Mereproduksi perilaku manusia yang konsisten di seluruh sesi jauh lebih sulit, dan Precursor memanfaatkan kontinuitas perilaku ini sebagai sinyal untuk mendeteksi penipuan dan penyalahgunaan
- Menambahkan lebih banyak sinyal pada setiap keputusan untuk meningkatkan presisi dalam membedakan manusia dan otomatisasi
- Mengurangi ketergantungan pada Challenge agresif sehingga mengurangi gangguan yang tidak perlu bagi pengguna sah
- Pengembang bot harus meniru seluruh sesi, sehingga biaya membangun dan memelihara otomatisasi meningkat dan keandalan operasi skala besar menurun
Kesalahan manusia dan batasan fisik
- Pengembang bot menambahkan Gaussian noise atau jeda acak yang seragam pada gerakan mouse, tetapi gerakan manusia memiliki batasan fisik dan kognitif yang lebih dari sekadar noise sederhana
- Sumbu rotasi pergelangan tangan: karena rentang gerak pergelangan tangan dan rotasi lengan bawah, mouse sering bergerak dalam bentuk busur
- Beban kognitif: setelah melihat checkbox, ada jeda terukur sebelum pengguna mengkliknya
- Tremor tangan: bahkan pada tangan yang stabil, muncul getaran sesuai frekuensi tremor fisiologis
- Otomatisasi cenderung menggunakan interpolasi garis lurus atau kurva Bézier yang ideal secara matematis, dan mengklik dengan presisi yang sulit direproduksi manusia
- Contoh library otomatisasi menggerakkan mouse dalam garis yang sepenuhnya lurus, selalu kembali ke titik asal, dan merespons dengan kecepatan yang sama
- Sebaliknya, manusia menunjukkan jalur tidak beraturan, koreksi kecil dan overshoot terhadap target, serta perubahan kecepatan·timing·arah bahkan di situs yang sama
- Meski interaksi individual bisa tampak meyakinkan, perbedaan pola perilaku muncul di seluruh sesi; Precursor menangkap dan mengevaluasi tanda tangan perilaku ini selama interaksi berlangsung
Injeksi klien dan pengumpulan sinyal
- Saat Precursor diaktifkan, skrip ringan otomatis disisipkan ke respons HTML situs yang melewati jaringan Cloudflare
- Tidak memerlukan konfigurasi tambahan, koneksi jaringan terpisah, atau embedding pihak ketiga
- Bundlenya kecil, di-obfuscate, dan dirakit secara dinamis untuk setiap respons
- Dirancang agar tidak mengganggu logika halaman lain dari aplikasi web yang dihosting
- Skrip menggunakan event listener ringan untuk menangkap pergerakan pointer, aktivitas keyboard, perubahan fokus, dan status tampilan halaman
- Event diserialisasi dalam format terkompresi dan di-buffer di memori
- Data yang terkumpul di buffer dikirim secara berkala ke lapisan evaluasi
Evaluasi edge dan validasi silang
- Server edge mendeserialisasi payload Precursor yang masuk sebagai input perilaku, lalu menjalankan beberapa evaluator melalui dispatcher
- Setiap evaluator dapat membaca stream Precursor yang dibutuhkan dan mendaftarkan sinyal ke registry deteksi bersama
- Precursor tidak bergantung pada satu event, melainkan memvalidasi silang berbagai data
- Memastikan aktivitas pointer sesuai dengan waktu saat halaman terlihat
- Memeriksa apakah event keyboard hanya terjadi saat field teks sedang fokus
- Informasi yang masuk secara berkelanjutan digabungkan menjadi sinyal deteksi individual dan digunakan untuk menghitung bobot deteksi
Akumulasi sesi dan lapisan deteksi lanjutan
- Data Precursor diakumulasi dalam cakupan sesi, sehingga bot tidak dapat mereset tanda tangan perilaku meski me-refresh halaman atau memulai lagi dari Challenge baru
- Metadata sesi juga diteruskan ke lapisan deteksi lanjutan
- Heuristik shadow mode dan analisis sesi
- Perbandingan antara penyelesaian yang diharapkan dan penyelesaian aktual
- Heuristik delinquency sesi
- Informasi yang diamati di edge dicatat untuk meningkatkan deteksi, dan digunakan untuk menyesuaikan skor bot suatu sesi
Desain perlindungan privasi
- Event listener hanya mengumpulkan informasi minimum yang diperlukan untuk membedakan pola manusia dari pola otomatisasi dan penyalahgunaan
- Pada aktivitas keyboard, yang ditangkap bukan tombol yang benar-benar ditekan, melainkan hanya timing dan ritmenya
- Yang dievaluasi adalah pola perilaku agregat, bukan tindakan individual
- Sinyal perilaku hanya digunakan secara internal di sistem deteksi bot Cloudflare
- Tidak ditampilkan langsung di dashboard pelanggan
- Tidak dihubungkan dengan akun pengguna, identitas login, atau profil permanen
- Dengan demikian, evaluasi perilaku dapat terus diperbarui sambil mengurangi friksi bagi pengguna sah
Security Analytics berbasis sesi
- Security Analytics menambahkan tampilan berbasis sesi yang menunjukkan seluruh perjalanan pengunjung, bukan permintaan individual
- Di dashboard, pertanyaan berikut dapat diselidiki
- Seperti apa sesi umum di situs ini
- Di mana perilaku menyimpang dari yang diharapkan
- Sesi mana yang menunjukkan tanda-tanda otomatisasi seiring waktu
- Perilaku di antara permintaan yang sulit ditangkap dengan analisis per permintaan juga menjadi objek analisis
- Data Precursor diteruskan langsung ke skor bot yang sudah ada, keputusan Challenge, dan aturan keamanan, sehingga konteks sesi tambahan dapat segera dimanfaatkan dalam sistem pertahanan yang ada
Ekspansi ke depan dan cara mengaktifkan
- Precursor adalah fondasi untuk memperluas deteksi bot ke seluruh aplikasi, dan Cloudflare berencana terus memperluas area berikut
- Cakupan dan kedalaman sinyal perilaku yang digunakan untuk keamanan
- Cara informasi tingkat sesi memengaruhi perlindungan manajemen bot
- Cara baru untuk memvisualisasikan dan menindaklanjuti data sesi
- Seiring bot berkembang, deteksi juga harus bergerak keluar dari titik verifikasi yang terisolasi dan menangani seluruh alur aktivitas pengguna
- Saat ini Precursor dapat diaktifkan per zone dari dashboard Cloudflare, dan tersedia gratis hingga rilis GA pada akhir tahun ini
- Intensitas verifikasi sesi dapat dipilih dengan dua cara
- Dalam mode friksi rendah, perilaku diamati di latar belakang
- Jika diperlukan sesi yang sepenuhnya terverifikasi, Challenge dipaksa ketika tidak ada sesi yang sudah ada
- Begitu diaktifkan, pertahanan bot yang ada langsung diperkuat dan tidak memerlukan perubahan aplikasi
- Jika sudah menggunakan Bot Management atau Turnstile, cakupan deteksi diperluas melampaui titik Challenge yang ada hingga mencakup aktivitas di sisa sesi dan di antara titik-titik perlindungan
1 komentar
Opini Hacker News
Terlihat mengkhawatirkan bahwa Cloudflare memosisikan diri sebagai penentu bot baik untuk memblokir maupun mengizinkan, dan ini juga tampak tidak sehat bagi internet secara keseluruhan
Selama hampir 20 tahun saya terus meratapi perlunya cara memberi kompensasi kepada pembuat konten yang lebih baik daripada iklan, dan ini bisa jadi jawabannya
Anthropic dan OpenAI juga terus dikritik karena dibangun di atas konten yang dicuri, jadi kita tidak bisa menutup mata terhadap kenyataan ini sambil berharap mendapatkan keduanya
Sulit memahami kritik yang begitu menyeluruh seperti ini tanpa tahu apakah maksudnya cakupan layanan mereka terlalu luas, atau bahwa tidak ada pihak lain yang menyediakan layanan serupa
Agak terasa aneh bahwa Cloudflare menjual produk agen sambil pada saat yang sama meluncurkan layanan yang tampaknya memblokir penggunaan agen di web
Mereka pasti memakai jauh lebih banyak sinyal selain jalur gerakan mouse, tetapi pada perangkat input nontradisional seperti layar sentuh atau TrackPoint ThinkPad, pembedaan ini sudah bisa jadi sulit
Akan serius jika pengguna alat mouse aksesibilitas keliru dianggap bot, tetapi jika mereka diberi pengecualian, itu juga bisa menjadi jalur pintas untuk agent browsing
Meski begitu, ini hampir pasti arah yang baik dalam hal mengurangi penyalahgunaan dan spam oleh bot agen
Mereka bisa menyediakan layanan yang dipakai bot baik sekaligus membantu memblokir bot buruk
Jika bot meniru gerakan mouse secara kikuk, itu akan menjadi sinyal anomali yang kuat, dan bot baik akan mematuhi
robots.txtserta tidak menyembunyikan fakta bahwa mereka adalah bothCaptcha sudah mengimplementasikan semua ini 6 tahun lalu
Bukan sekadar membedakan manusia dan bot, tetapi juga mengidentifikasi perilaku keyboard dan mouse yang muncul saat orang yang sama membuat banyak akun atau mencoba banyak kartu kredit
Saat Cloudflare beralih ke hCaptcha pada 2020, deteksi penyalahgunaan seperti ini sudah termasuk, dan ketika mereka meninggalkan hCaptcha pada 2022, saya mengira mereka sudah membuat versinya sendiri
Bahkan jika mencari accessibility di halaman itu tidak ada hasil, jadi sepertinya astrologi gerakan mouse seperti ini akan sepenuhnya mengecualikan pengguna tunanetra dan pengguna keyboard-only dari sebagian besar internet
Jika mereka masuk login dan melepaskan anonimitas, tampaknya mereka akan dianggap bukan bot
Di beberapa tempat, tanpa smartphone orang bahkan tidak bisa check-in penerbangan sehingga perjalanan itu sendiri menjadi mustahil, tetapi kebanyakan orang menerimanya begitu saja
Deteksi agen adalah bidang yang baru terbentuk dan akan menjadi jauh lebih penting ke depannya
Produk terkait mencakup Foil(https://usefoil.com/), Kasada https://www.kasada.io/, DataDome(https://datadome.co/), Castle(https://castle.io/), Fingerprint(https://fingerprint.com/), HUMAN(http://humansecurity.com/), Google Cloud Fraud Defense(https://cloud.google.com/security/products/fraud-defense?hl=...) yang pada dasarnya penerus reCAPTCHA, serta Cloudflare Precursor
Kegunaan utamanya saat ini adalah mencegah credential stuffing otomatis, akun palsu dan penyalahgunaan free trial beserta biaya SMS Twilio yang menyertainya, penipuan pembayaran, scraping LLM, serta penimbunan otomatis tiket dan sepatu kets
Saya penasaran penggunaan mana yang akan mendorong permintaan perusahaan, dan berharap agen tidak diblokir tanpa syarat, melainkan dideteksi lalu diarahkan ke jalur khusus agen agar mereka bisa menjelajahi web dan melakukan tugas atas nama pengguna
Mereka menyediakan ratusan juta IP rumahan, fingerprint browser yang mirip manusia, dan binary browser kustom, serta otomatis mem-bypass ketika Turnstile, reCAPTCHA v3, Kasada, DataDome, AWS WAF, dan lainnya muncul
Dengan menggabungkan profiling dan probabilitas perpindahan tahap, produk itu memungkinkan hanya area tertentu dari aset digital—seperti pembayaran yang berisiko chargeback—yang meminta autentikasi tambahan dari agen atau memblokirnya
Saat ini, Precursor tampaknya lebih berfokus pada deteksi scraping yang mengambil banyak dokumen dari situs yang sama
Saya penasaran, jika bot atau agen menambahkan getaran halus untuk meniru gerakan kursor manusia, apa yang bisa dipakai untuk menghentikannya
Mungkin mereka juga memakai sinyal lain, tetapi sinyal ini sendiri tampaknya mudah dilewati begitu bot menjadi sedikit lebih canggih
Bahkan hanya dengan pengelompokan machine learning dasar, perilaku mouse, keyboard, dan sentuhan bot bisa dibedakan dari manusia, tetapi ini juga berpotensi mendiskriminasi penyandang disabilitas yang memakai fitur bantu seperti pelacakan mata
Perilaku orang yang hanya menggunakan satu tangan bisa sangat berbeda dari pengguna pada umumnya, dan saat ini di AS penegakan ADA juga lemah di luar California, Illinois, dan NY
Perusahaan dengan pengaruh sebesar Cloudflare harus memfilter secara konservatif agar penyandang disabilitas tidak dirugikan oleh analisis perilaku semacam ini
Mereka tidak bisa melempar tanggung jawab dengan berkata, “kami hanya memberi skor kemungkinan bot dan tiap situs yang menentukan ambang batasnya,” lalu menyalahkan situs karena memblokir penyandang disabilitas akibat menetapkan ambang yang terlalu ketat
Pada skala seperti ini, mereka harus bertanggung jawab sampai pada efek sekunder dan tersier dari keputusan mereka
Data ini dapat membedakan bukan hanya bot, tetapi juga gender, tangan dominan, perkiraan usia, bahasa ibu berdasarkan pola penekanan tombol, cedera dan proses pemulihan, hingga disabilitas mental maupun fisik
Dari cara seseorang menavigasi situs, bahkan bisa diperkirakan ADHD, skizofrenia, penyakit Parkinson, penggunaan obat, dan efek terapinya, sehingga sangat sulit meniru semua sinyal ini agar masuk ke klaster yang sama dengan manusia pada umumnya
Mungkin bisa berhasil dalam jangka pendek, tetapi seiring waktu pola yang jelas akan muncul, dan karena data getaran untuk situs serta tata letak tertentu juga sangat beragam, peniruan buatan bisa dideteksi dengan mudah
Bahkan pengguna yang sama pun gerakannya berbeda tergantung perangkat input
Di PC kerja saya memakai mouse, di laptop pribadi touchpad, dan di laptop kerja ThinkPad TrackPoint, jadi satu orang punya tiga profil perilaku
Memang ini berbeda dari gerakan AI, tetapi jika sidik jari gerakan mouse menjadi gerbang tambahan, bisa muncul banyak anomali yang menarik
Cloudflare sebaiknya berhenti berpura-pura melindungi internet
https://developers.cloudflare.com/browser-run/quick-actions/...
Perusahaan ini seperti perusahaan yang menjual rokok sekaligus membangun rumah sakit
Saya tak sabar menunggu hari ketika Cloudflare menjual data kondisi pergelangan tangan saya ke perusahaan asuransi. Neraka pengawasan yang kita bangun sendiri ini sungguh luar biasa
Belakangan ini, karena false positive dari Cloudflare, sesi sering hanya terus memuat dan tidak pernah masuk ke halaman sebenarnya
Jika mereka terus merilis solusi baru hasil ngasal setiap hari, saya khawatir kualitas layanannya juga akan terdampak buruk