Menu

Mengenal Serangan Clickjacking dan cara pencegahannya!

Mengenal Serangan Clickjacking dan cara pencegahannya!

Apa itu Serangan Clickjacking ?

Clickjacking merupakan semua jenis serangan pada aplikasi web yang membuat korbannya secara tidak sengaja mengklik elemen halaman web yang sebenarnya tidak ingin diklik. Hal ini paling sering diterapkan pada halaman web dengan menumpangkan konten berbahaya pada halaman tepercaya. Contohnya pada sebuah website terdapat pilihan tombol “Klik Disini” untuk mendapatkan hadiah. Selanjutnya korban akan penasaran dan ingin klik tombol tersebut. Namun ketika diklik ternyata memicu fungsi jahat yang telah dibuat oleh penyerang, mulai dari memalsukan atau mengikuti di media sosial hingga mengambil uang dari akun bank pengguna.

Sekilas tentang Serangan Clickjacking

Saat ini pendekatan yang paling umum sering dilakukan penyerang untuk clickjacking yaitu dengan memanipulasi halaman web, sehingga halaman tersebut memiliki beberapa layer. Misalnya di layer paling bawah ada tombol “Klik Disini” untuk mendapatkan hadiah. Namun tepat diatasnya telah dibuat layer tidak terlihat. Maka ketika ingin klik tombol hadiah gratis, sesungguhnya yang di klik adalah layer yang ada diatasnya. Dalam kata lain penyerang membajak tombol yang ingin di klik dan diganti dengan tombol lain yang memicu aktifitas jahat. Itulah mengapa disebut sebagai Clickjacking. Clickjacking bukan merupakan satu jenis serangan secara spesifik, tetapi seluruh serangan yang menggunakan teknik dan attack vector seperti itu.

Jenis-Jenis Serangan Clickjacking

Terdapat beberapa jenis serangan Clickjacking, diantaranya sebagai berikut: 

1. Content Overlay 

Bentuk serangan clackjacking yang paling umum yaitu memanipulasi halaman terpercaya dengan melapisi konten berbahaya, kategori ini memiliki beberapa macam serangan, yaitu: 

a). Transparent Overlay 

Penyerang akan membuat halaman jahat secara transparan, kemudian akan ditaruh diatas konten yang ingin di klik oleh pengguna. Ini menyebabkan pengguna percaya bahwa mereka mengklik konten yang diposisikan di bawah halaman manipulasi. Dalam hal ini, sistem akan membaca klik pada halaman jahat karena itu adalah konten yang sesungguhnya pengguna klik. 


b) Cropping 

Penyerang hanya membuat sebagian halaman atau konten jahat, sehingga tidak secara utuh satu halaman web jahat, kemudian menaruhnya diatas konten yang asli. Misalnya terdapat tombol pilihan “Setuju” dan “Tidak Setuju” pada halaman asli, kemudian penyerang akan melapisi dengan konten palsu yang menutupi tombol pilihan tersebut atau mengganti deskripsi pertanyaan dengan yang penyerang buat. Sehingga, penyerang akan dapat mengarahkan pengguna untuk menekan tombol pilihan yang diinginkan oleh penyerang.

c) Hidden Overlay 

Penyerang membuat halaman jahat sebesar 1x1 piksel yang berisi konten berbahaya dan menempatkannya tepat di bawah kursor mouse. Posisi seperti ini tentu tersembunyi dan tidak akan disadari oleh pengguna. Sehingga ketika pengguna menggunakan mouse untuk klik apapun, itu akan tetap menekan halaman jahat.


d) Click Event Dropping 

Pada pendekatan ini, halaman yang dapat dipercaya pengguna akan ditampilkan di latar depan dan sepenuhnya melapisi halaman jahat yang berada di belakangnya. Penyerang akan mengatur CSS pointer events diatasnya menjadi tidak ada. Ketika pengguna klik halaman yang dipercaya, maka akan langsung menembus halaman tersebut dan langsung menekan halaman jahat di bawahnya.

e) Rapid Content Replacement 

Penyerang akan menutupi tombol jahat dengan konten manipulasi lainnya. Ketika pengguna akan menekan konten manipulasi, maka penyerang akan menghilangkan konten tersebut sepersekian detik dan membuat pengguna menekan tombol jahat. Setelah pengguna menekan tombol jahat, secara otomatis konten akan kembali menutupi tombol jahat tersebut. Pendekatan ini membutuhkan prediksi yang tepat dari seorang penyerang, tetapi dengan sedikit pengetahuan tentang kebiasaan pengguna komputer dan psikologi, itu lebih mudah dari kedengarannya.




2. Scrolling 

Penyerang akan menyembunyikan kotak dialog yang asli dengan menggulirkan kebagian atas atau bawah suatu halaman web yang membuat pengguna hanya akan melihat beberapa tombol kontrol yang disediakan kotak dialog. Misalnya, pada halaman web muncul kotak dialog dengan pilihan tombol “Ok” dan “Batal”, kemudian penyerang akan menggulirkan kotak dialog tersebut untuk menyembunyikan deskripsi yang ada dan hanya menampilkan pilihan tombol tersebut. Selanjutnya, penyerang akan membuat deskripsi lain yang muncul disamping tombol pilihan, sehingga pengguna akan berpikir bahwa deskripsi dan tombol saling berkaitan. Serangan ini berbeda dengan jenis sebelumnya karena tidak membutuhkan lapisan untuk memanipulasi, cukup dengan menggulirkan kotak dialog ke bagian tertentu dari sebuah halaman web.


3. Repositioning 

Pendekatan ini dilakukan dengan mengganti posisi kotak dialog yang asli dengan yang palsu. Pergantian tersebut hanya berganti selama beberapa detik ketika pengguna akan menekan tombol yang dituju. Setelah di klik kotak dialog yang palsu maka kotak dialog yang asli akan kembali berpindah posisi seperti semula.

Bagaimana Menghindari Serangan Clickjacking 

Mayoritas serangan clickjacking menggunakan proses manipulasi halaman web yang ditargetkan. Maka semua metode pencegahan bertujuan untuk melarang adanya framing. Solusi lawas menggunakan skrip dari sisi klien untuk memecah halaman dari frame, sementara pendekatan yang lebih modern dan aman bergantung pada pengaturan HTTP security header untuk menentukan kebijakan framing. Berikut beberapa cara yang dapat dilakukan untuk menghindari serangan clickjacking:
  1.  Framebusting atau Framebreaking Framebusting merupakan teknik untuk mencegah agar halaman tidak tertanam di halaman lain. Dalam visual clickjacking, halaman yang rentan tertanam di halaman penyerang untuk menipu korban. Pada pendekatan ini, suatu kode sederhana (biasanya ditulis dalam JavaScript) tertanam di halaman asli. Jika ada upaya untuk menyematkan halaman asli dalam halaman palsu, maka kode framebusting akan mengarahkan browser ke situs asli sehingga para korban tetap dapat melihat halaman asli. Kebijakan framebusting ini diberlakukan untuk semua tombol, tautan, dan formulir pada satu halaman web, sehingga tidak bias apabila suatu halaman asli disematkan di halaman palsu. 
  2.  X Frame Options X Frame Options merupakan teknik yang dapat menunjukkan apakah browser boleh atau tidak menampilkan halaman dalam bingkai atau iframe. Ini dapat digunakan untuk menghindari visual clickjacking karena halaman di mana X Frame Options diatur tidak dapat disematkan di halaman lain. Terdapat tiga atribut yang diterapkan pada teknik ini, diantaranya sebagai berikut:
            a) Deny Perintah ini sepenuhnya menonaktifkan loading halaman dalam bingkai, telepas                    dari situs apapun itu. Ini mungkin jalan terbaik untuk mengunci situs, namun juga akan                           menghentikan banyak fungsi. Beberapa situs yang menggunakan perintah deny adalah                           facebook dan github.

            b) Sameorigin 
                 Perintah ini memungkinkan untuk sebuah halaman meloading bingkai  dalam halaman,                          sesuai dengan halaman asli. Beberapa situs yang menggunakan perintah Sameorigin antara                      lain twitter, Amazon, eBay, dan LinkedIn. Berikut tampilan untuk manampilkan perintah
                  Sameorigin :

c) Allow from 

Perintah ini memungkinkan halaman hanya akan meloading pada domain yang telah ditentukan. Namun harus hati-hati jika menggukan perintah ini. Apabila browser tak mendukung perintah ini, maka situs webmu tak akan memiliki pertahanan dari clickjacking. 

3. Content Security Policy with Frame Ancestors 

Header HTTP Content Security Policy (CSP) awalnya dikembangkan untuk melindungi terhadap XSS dan serangan injeksi data lainnya. Namun, ini juga memberikan Frame Ancestors untuk menentukan sumber yang diizinkan untuk menyematkan halaman. Teknik ini menggunakan sintaks yang sederhana:
 

Pengguna dapat menentukan berapa banyak sumber jenis skema, 'self' untuk menentukan asal dokumen saat ini, dan ‘none’ untuk melarang semua penyematan. Ini memberi Anda banyak fleksibilitas untuk mendefinisikan sumber, terutama dalam penyebaran yang kompleks.

4. Evaluasi Perlindungan Email 

Memasang dan memeriksa filter email spam merupakan salah satu cara mendeteksi serangan apa pun secara efektif. Serangan clickjacking biasanya dimulai dengan menipu pengguna melalui email untuk mengunjungi situs jahat. Ini dilakukan dengan menerapkan email palsu atau khusus yang dibuat yang terlihat asli. Memblokir email tidak sah mengurangi serangan potensial untuk clickjacking dan banyak serangan lainnya juga. 

5. Menggunakan Firewall Aplikasi Web 

Aplikasi Web Firewall merupakan aspek keamanan yang penting dalam kasus bisnis yang memiliki sebagian besar datanya di Internet. Beberapa dari perusahaan-perusahaan ini cenderung mengabaikan kebutuhan satu dan akhirnya diserang dengan insiden clickjacking besar-besaran. Data terbaru menunjukkan bahwa hampir 70 persen dari semua UKM diretas dalam beberapa kapasitas dalam dekade terakhir atau lebih. 

6. Dari sisi user 

Pengamanan dari sisi user merupakan titik penting adanya pengamanan dari clickjacking. Dengan meningkatkan pengamanan diri (baik melalui self education atau melalui sosialisasi keamanan), dengan melakukan cek link apakah valid atau tidak, legit atau tidak, dapat mengurangi resiko terjadinya clickjacking.

Referensi 
[1]  https://www.netsparker.com/blog/web-security/clickjacking-attacks/ (diakses tanggal 4 Maret 2020 pukul 13.05 WIB). 
[2]  https://www.w3.org/Security/wiki/Clickjacking_Threats (diakses tanggal 5 Maret 2020 pukul 08.02 WIB). 
[3] https://owasp.org/www-community/Clickjacking (diakses tanggal 5 Maret 2020 pukul 10.30 WIB). [4] https://websetnet.net/id/tips-pencegahan-serangan-clickjacking-serangan/ (diakses tanggal 6 Maret 2020 pukul 15.00 WIB).

Iklan Tengah Post

Ads middle content1

Ads middle content2