- Teknik clickjacking baru yang memanfaatkan filter SVG diperkenalkan, memperluas serangan pemancing klik sederhana yang sudah ada menjadi serangan interaktif yang kompleks
- Dipastikan bahwa elemen filter SVG seperti
feColorMatrix dan feDisplacementMap dapat diterapkan bahkan pada iframe lintas origin, sehingga memungkinkan manipulasi visual dan ekstraksi data
- Dengan kombinasi filter, pembacaan piksel, operasi logika, dan manipulasi UI berbasis kondisi menjadi mungkin, sehingga serangan clickjacking multistep atau serangan yang mengarahkan input dapat diimplementasikan
- Sebagai contoh nyata, serangan yang memanfaatkan kerentanan Google Docs berhasil dilakukan, dan peneliti menerima imbalan $3133.70 dari Google VRP
- Teknik ini mengungkap permukaan serangan baru dalam model keamanan browser dan menunjukkan bahwa pemanfaatan logis filter SVG dapat berkembang menjadi ancaman keamanan
Gambaran umum clickjacking SVG
- Clickjacking tradisional memiliki struktur serangan sederhana yang menutupi iframe untuk mendorong pengguna mengklik sesuatu tanpa sengaja
- Clickjacking SVG yang baru diperkenalkan memungkinkan interaksi kompleks dan kebocoran data dengan menggunakan filter SVG
- Filter seperti
feColorMatrix dan feDisplacementMap dapat diterapkan pada dokumen lintas origin, sehingga konten eksternal dapat dimanipulasi secara visual
Komponen filter SVG
- Elemen filter utama mencakup <feImage>, <feFlood>, <feOffset>, <feDisplacementMap>, <feGaussianBlur>, <feTile>, <feMorphology>, <feBlend>, <feComposite>, dan <feColorMatrix>
- Elemen-elemen ini menggabungkan dan mengubah gambar masukan untuk menghasilkan gambar baru, serta dapat dihubungkan dalam bentuk rantai
- Melalui kombinasi ini, penyerang dapat dengan leluasa menerapkan efek visual, masking, dan manipulasi warna
Contoh serangan
- Captcha palsu (fake captcha): menggunakan
feDisplacementMap untuk mendistorsi teks sehingga pengguna terdorong memasukkan kode sensitif
- Menyembunyikan teks abu-abu (grey text hiding): menggunakan
feComposite dan feMorphology untuk menghapus petunjuk atau pesan kesalahan di kolom input sehingga pengguna terdorong memasukkan kata sandi yang ditentukan penyerang
- Pembacaan piksel (pixel reading): mendeteksi warna piksel tertentu untuk mengendalikan perilaku filter, sehingga memungkinkan serangan dinamis yang responsif seperti mendeteksi klik tombol, hover, dan status input
Operasi logika dan serangan gabungan
- Dengan menggabungkan
feBlend dan feComposite, dimungkinkan untuk mengimplementasikan gerbang logika seperti AND, OR, XOR, dan NOT
- Dengan demikian, rangkaian logika lengkap di dalam filter SVG dapat dibangun, sehingga skenario clickjacking multistep dapat diotomatisasi
- Sebagai contoh, dalam serangan terhadap aplikasi “Securify”, struktur yang menipu pengguna diimplementasikan dengan mengendalikan secara logis beberapa tahap seperti membuka dialog, mengklik checkbox, dan mengklik tombol
Kasus nyata: kerentanan Google Docs
- Popup dan kolom input yang muncul setelah mengklik tombol “Generate Document” di Google Docs dideteksi dan dimanipulasi dengan logika berbasis filter SVG
- Status fokus kolom input, teks abu-abu, dan layar pemuatan dideteksi secara real-time untuk mengendalikan alur serangan
- Serangan ini dilaporkan ke Google dan menghasilkan bug bounty sebesar $3133.70
Aplikasi QR code
- Di dalam filter SVG, logika pembuatan QR code dapat diimplementasikan sehingga data piksel dapat dienkode menjadi URL lalu ditampilkan dalam bentuk QR
- Saat pengguna memindai QR tersebut, data dikirim ke server yang dikendalikan penyerang
feDisplacementMap dan koreksi kesalahan Reed–Solomon digunakan untuk menghasilkan QR code yang dapat dipindai
Kemungkinan pemanfaatan tambahan
- Berbagai penerapan serangan lain juga dimungkinkan, seperti pembacaan teks, kebocoran data berbasis klik, dan penyisipan kursor mouse palsu
- Karena serangan dapat diimplementasikan hanya dengan CSS/SVG tanpa JavaScript, ada kemungkinan untuk melewati CSP
Signifikansi penelitian
- Clickjacking berbasis operasi logika yang menggunakan filter SVG merupakan teknik serangan baru yang belum dibahas dalam penelitian sebelumnya
- Penelitian terdahulu hanya menyebut SVG sebagai sarana penutupan visual sederhana, sedangkan penelitian ini membuktikan eksekusi logika dan kontrol interaksi
- Peneliti mengajukannya sebagai kelas kerentanan baru dan menekankan perlunya meninjau ulang sistem keamanan browser
Penutup
- Penelitian ini dinilai sebagai kasus pertama serangan keamanan yang memanfaatkan filter SVG layaknya bahasa pemrograman
- Penulis berencana mempresentasikan topik terkait pada 39c3 dan Disobey 2026 pada akhir 2025
- Artikel ini ditulis hanya dengan 42kB HTML/CSS/SVG tanpa gambar maupun JS, memperlihatkan kreativitas riset keamanan eksperimental
Belum ada komentar.