Dengan senang hati kami hari ini memperkenalkan Page Shield, suatu produk keamanan sisi klien yang dapat digunakan pelanggan untuk mendeteksi serangan pada browser pengguna akhir.
Sejak tahun 2015, kelompok peretas bernama Magecart mencuri kredensial pembayaran dari toko online dengan menyerang dependensi pihak ketiga menggunakan kode berbahaya. Kode yang sudah terinfeksi akan diminta oleh browser pengguna akhir, di mana kode itu akan melakukan eksekusi dan mengakses informasi pengguna di halaman web. Setelah mengambil informasi, kode terinfeksi akan mengirim informasi itu ke peretas, kemudian informasi itu akan dijual kembali atau digunakan untuk melancarkan serangan tambahan seperti penipuan kartu kredit dan pencurian identitas.
Sejak itu, target lain dari serangan rantai pasokan telah mencakup Ticketmaster, Newegg, British Airways, dan banyak lagi. Serangan British Airways berasal dari diserangnya salah satu file JavaScript yang di-host sendiri, yang mengekspos hampir 500.000 data pelanggan kepada peretas. Serangan itu mengakibatkan denda GDPR dan gugatan perdata kelompok yang terbesar dalam sejarah Inggris. Secara keseluruhan serangan ini berdampak pada jutaan orang pengguna.
Menulis kode yang aman dalam suatu organisasi cukup menantang tanpa harus khawatir mengenai vendor pihak ketiga. Banyak platform SaaS melayani kode pihak ketiga untuk jutaan situs, yang berarti satu serangan tunggal dapat memiliki akibat yang menghancurkan. Page Shield membantu pelanggan memantau potensi vektor serangan ini dan mencegah informasi rahasia dari pengguna jatuh ke tangan peretas.
Sebelumnya pada minggu ini, kami mengumumkan Isolasi Browser Jarak Jauh untuk semua sebagai cara memitigasi serangan sisi klien pada browser karyawan Anda. Page Shield melanjutkan upaya Cloudflare mendorong keamanan sisi klien dengan membantu memitigasi serangan yang ditujukan pada pelanggan Anda.
Latar belakang
Serangan dengan gaya Magecart adalah suatu jenis serangan pada rantai pasokan perangkat lunak yang dilaksanakan di browser pengguna. Penyerang menargetkan host dari dependensi JavaScript pihak ketiga dan memperoleh kendali atas kode sumber yang dikirimkan ke browser. Ketika kode terinfeksi dijalankan, kode itu sering kali mencoba mencuri data sensitif yang dimasukkan pengguna akhir ke dalam situs seperti perincian kartu kredit selama aliran pembayaran.
Serangan ini sulit dideteksi karena banyak pemilik aplikasi mempercayai JavaScript pihak ketiga akan berfungsi sesuai yang diinginkan. Karena kepercayaan ini, kode pihak ketiga jarang diaudit oleh pemilik aplikasi. Dalam banyak kasus, serangan Magecart telah berlangsung berbulan-bulan sebelum deteksi.
Pencurian data bukan satu-satunya risiko yang berasal dari rantai pasokan perangkat lunak. Dalam beberapa tahun terakhir, kami juga melihat peretas memodifikasi kode pihak ketiga untuk menampilkan iklan palsu kepada pengguna. Pengguna mengklik iklan ini dan membuka situs phishing, yang menjadi tempat informasi pribadi mereka dicuri oleh peretas. Malware JavaScript lainnya telah menambang mata uang kripto untuk penyerang menggunakan sumber daya pengguna akhir sehingga merusak kinerja situs.
Jadi apa yang dapat dilakukan pemilik aplikasi untuk melindungi diri? Teknologi browser yang telah ada seperti Kebijakan Keamanan Konten atau Content Security Policy (CSP) dan Integritas Subsumberdaya atau Subresource Integrity (SRI) memberikan beberapa perlindungan terhadap ancaman sisi klien, tetapi memiliki beberapa kelemahan.
CSP memungkinkan pemilik aplikasi mengirim daftar izin ke browser yang mencegah eksekusi sumber daya apa pun yang tidak terdaftar. Meskipun dapat mencegah serangan skrip lintas situs atau cross-site scripting (XSS) tertentu, cara ini gagal mendeteksi saat sumber daya yang telah ada berubah dari keadaan biasa menjadi berbahaya. Mengelola CSP juga sulit secara operasional karena memerlukan pengembang memperbarui daftar izin setiap kali skrip baru ditambahkan ke situs.
SRI memungkinkan pemilik aplikasi menentukan hash file yang diharapkan untuk JavaScript dan sumber daya lain. Jika file yang diambil tidak cocok dengan hash itu, file itu akan diblokir dari eksekusi. Tantangan pada SRI adalah vendor sering memperbarui kodenya dan dalam kasus tertentu mengirimkan file yang berbeda kepada pengguna akhir yang berbeda. Kami juga menemukan bahwa vendor JavaScript terkadang akan mengirimkan file berversi dengan hash yang berbeda kepada pengguna akhir karena perbedaan kecil seperti spasi. Ini dapat mengakibatkan SRI memblokir file yang sah yang terjadi bukan karena kesalahan pemilik aplikasi.
Script Monitor adalah fitur Page Shield pertama yang tersedia
Script Monitor adalah awal dari ambisi Cloudflare untuk mengembangkan Page Shield. Saat diaktifkan, fitur ini mencatat dependensi JavaScript situs Anda dari waktu ke waktu. Dengan munculnya dependensi JavaScript baru, kami memperingatkan Anda untuk menyelidiki apakah dependensi tersebut merupakan perubahan yang diharapkan di situs Anda. Ini membantu Anda mengidentifikasi apakah pelaku jahat mengubah aplikasi Anda untuk meminta file JavaScript baru yang berbahaya. Setelah versi beta selesai, kumpulan fitur awal ini akan tersedia untuk pelanggan Bisnis dan Perusahaan dengan tanpa tambahan biaya.
Bagaimana cara kerja Script Monitor?
Karena posisi unik Cloudflare di antara server asal aplikasi dan pengguna akhir, kami dapat mengubah respons sebelum respons itu mencapai pengguna akhir. Dalam hal ini, kami menambahkan header tambahan Content-Security-Policy-Report-Only ke halaman web saat diteruskan melalui tepi jaringan kami. Saat file JavaScript mencoba untuk eksekusi pada halaman web, browser akan mengirimkan laporan kembali ke Cloudflare. Karena kami menggunakan header laporan saja atau report-only, pemilik aplikasi tidak perlu memelihara daftar izin untuk pemahaman yang relevan.
Untuk setiap laporan yang kami lihat, kami membandingkan file JavaScript dengan dependensi historis dari zona itu dan memeriksa apakah file itu baru. Jika file itu baru, kami akan memberikan peringatan agar pelanggan dapat menyelidiki dan menentukan apakah perubahan itu memang diharapkan.
Antarmuka Pengguna atau UI dari Script Monitor terletak di bawah Firewall -> Page Shield
Sebagai peserta beta, Anda akan melihat tab Page Shield di bawah bagian Firewall pada dasbor zona Anda. Di situ Anda dapat menemukan tabel Script Monitor yang melacak dependensi JavaScript dari zona Anda. Untuk setiap dependensi, Anda dapat melihat tanggal pertama kali dilihat, tanggal terakhir dilihat, dan domain host yang menjadi tempat terdeteksinya.
Contoh notifikasi email untuk dependensi JavaScript baru telah ditemukan
Anda juga dapat membuat konfigurasi notifikasi Script Monitor di dasbor. Notifikasi ini mengirim peringatan ke email atau PagerDuty setiap kali file JavaScript baru diminta oleh situs Anda.
Melihat ke depan
Misi kami adalah membantu membangun Internet yang lebih baik. Misi ini diperluas ke browser pengguna akhir, karena kami telah melihat peningkatan serangan yang mengkhawatirkan di sini selama beberapa tahun terakhir. Dengan Page Shield, kami akan membantu aplikasi mendeteksi dan memitigasi serangan yang sulit dipahami ini untuk menjaga keamanan informasi sensitif dari pengguna.
Kami sudah membuat deteksi perubahan kode ke dalam Script Monitor. Deteksi perubahan kode akan secara berkala mengambil dependensi JavaScript dari aplikasi Anda dan menganalisis perilakunya. Ketika terdeteksi perilaku baru dari kode pada file yang telah ada, kami akan memperingatkan Anda agar dapat meninjau perubahan itu dan menentukan apakah kode baru itu merupakan pembaruan yang tidak berbahaya atau potongan kode yang sudah terinfeksi.
Menyusul setelah deteksi perubahan kode adalah analisis cerdas dari file JavaScript. Sementara memperingatkan pemilik aplikasi saat dependensi mereka berubah akan menyediakan pengetahuan tentang file yang diminati, kita dapat melakukan hal yang lebih baik. Kami telah bekerja sama dengan mitra keamanan kami untuk mendapatkan sampel JavaScript Magecart dan telah membuktikan bahwa kami dapat mengklasifikasikan sampel JavaScript berbahaya secara akurat. Kami berencana untuk lebih menyempurnakan teknik kami dan akhirnya mulai memperingatkan pelanggan Page Shield ketika kami yakin dependensi mereka berbahaya.
Kami telah berbicara dengan pelanggan kami dan memahami bahwa memelihara daftar izin CSP adalah hal yang sulit secara operasional. Jika JavaScript baru sisi klien disebarkan tanpa ditambahkan ke daftar izin, maka kode baru itu akan diblokir oleh browser. Itu sebabnya kami akan menggunakan posisi kami sebagai proxy terbalik untuk mengirimkan pemblokiran model keamanan negatif. Ini akan memungkinkan pemilik aplikasi untuk memblokir setiap skrip tanpa harus memelihara daftar izin sehingga memastikan pelanggan dapat mengirim kode baru tanpa biaya tambahan yang tidak praktis.
Mendaftar untuk versi beta
Mulai hari ini, semua pelanggan Bisnis dan Perusahaan dapat mendaftar di sini untuk bergabung dengan versi beta tertutup dari Page Shield. Dengan bergabung dalam versi beta, pelanggan akan dapat mengaktifkan Script Monitor dan mulai memantau JavaScript dari situs mereka.