Waspada Teknik Phishing dengan Menggunakan Karakter Unicode pada Domain

Soeleman 25 April 2017

Waspada Teknik Phishing dengan Menggunakan Karakter Unicode pada Domain

Apa bedanya epic.com dan еріс.com . Sekilas terlihat sama tapi itu adalah alamat yang berbeda. Kita akan mudah sekali terpedaya dengan apa yang kita lihat. Keduanya terlihat sama karena ada beberapa karakter dari Unicode terlihat mirip dengan karakter ASCII. Dan ini adalah salah satu cara untuk menggali informasi dari orang lain, teknik ini biasa dikenal sebagai Phishing. Dalam konteks ini adalah penyalahgunaan Unicode domain dalam Domain Name System(DNS).

Phishing bisa saja terjadi pada manusia maupun komputer. Terutama pada manusia, karena kita banyak bertindak hanya berdasarkan persepsi pandangan saja. Makanya kadang hoax menjadi viral karena ini. Ini terjadi pada siapa saja, tak perlu malu atau takut. Yang penting tetap waspada; terjatuh adalah biasa dan menjadi tidak biasa karena terjatuh pada hal yang sama berkali-kali.

Coba bayangkan kekasih anda pada gambar dibawah. Tentu genderang perang dunia ke ӏ0 siap ditabuh.

alt text

Punycode

Lalu bagaimana ini bisa terjadi? Sederhana saja, ini semua karena didunia banyak bahasa yang mengunakan gambar karakter yang berbeda dengan awal komputer dibuat. Repesentasi karakter diluar ASCII itu adalah Unicode. Internationalized dalam komputer bukan perkara mudah dan itu juga berefek pada pembuatan software-nya.

Awalnya DNS hanya menggunakan ASCII dan pada perkembangannya dukungan untuk Internationalized Domain Names (IDN) hadir karena kebutuhan. Argumentasinya tidak banyak domain yang bisa dibuat kalau hanya menggunakan karakter ASCII saja dan tentu menyenangkan melihat karakter dari bahasa yang menggunakannya bisa muncul pada internet. Logis tapi menyisakan masalah bagi perancang aplikasi yang tidak menyadari hal seperti ini.

Walaupun ada aturan ketat dari pengelola domain untuk IDN ini dan adanya batasan subset ASCII karakter yang diperbolehkan. Maka digunakan Punycode.

Punycode akan membantu men-transcoded karakter Unicode kedalam subset ASCII yang diperbolehkan. Contohnya ebаy.com (ini ada karakter Unicode-nya) akan diterjemahkan menjadi xn--eby-7cd.com. Ini adalah legal tapi sayangnya pembuat aplikasi kadang melupakan hal seperti ini, terutama bila berurusan dengan pengguna. Security adalah fitur.

Dan ini bukan hal baru, ini sekedar mengingatkan saja. Pada suatu waktu terjadi serangan dengan cara ini di ebаy.com . а-nya itu sebetulnya karakter dalam Unicode. Bayangkan di domain palsu itu dibuat halaman yang sama dengan aslinya dan dibuat seakan-akan session expired. Tentu pengguna dengan lugunya memasukkan user name dan password-nya kembali. Setelah di submit, dibuat seakan-akan website-nya sedang rusak. Cara seperti ini dikenal sebagai IDN Homograph Attack dan tampak mudahnya memancing identity penguna dari sebuah website.

Apalagi sekarang ada mitos https adalah aman. Padahal dengan adanya LetsEncrypt untuk mendapatkan certificate adalah mudah. Kombinasi dari domain palsu dengan https akan makin menyakinkan pengunjung bahwa site itu legit.

Sekali lagi ini membuktikan bahwa manusia adalah bagian yang paling rentan dalam masalah keamanan komputer. Semakin lama teknik melindungi secara sistem makin lebih baik dan pada akhirnya penguna yang terpedaya juga lewat Social engineering.

alt text

Chrome

Setiap Web Browser memiliki cara masing-masing menangani masalah seperti ini. Dalam Chrome tidak terkecuali. Sekarang kita akan lihat bagaimana Chrome dalam konteks ini.

Chrome - Apple

Kalau kita masuk ke apple.com, maka kita masuk ke alamat yang tepat.

alt text

Dengan alamat аррӏе.com maka kita diarahkan ke server yang berbeda. Tapi alamatnya sudah benar bukan?

alt text

Chrome - Epic

Sekarang kita coba kembali ke alamat epic.com. Kita mendapatkan isi yang benar.

alt text

Sedangkan kalau kita ke alamat еріс.com. Sama seperti аррӏе.com, kita membuka server yang berbeda.

alt text

Chrome 5.8 (Windows)

Chrome cukup tanggap mengenai masalah ini. Oleh karena itu mulai dari versi 5.8 (untuk Windows) secara default Unicode domain akan di munculkan. Seperti pada alamat аррӏе.com .

alt text

Dan juga еріс.com .

alt text

Firefox

Firefox juga bernasib sama dengan Chrome.

Firefox - Apple

Dengan alamat apple.com, kita dapatkan isi yang tepat.

alt text

Sedangkan kalau ke аррӏе.com, maka kita diarahkan ke server yang berbeda.

alt text

Firefox - Epic

Begitu juga dengan alamat epic.com .

alt text

Dan untuk yang еріс.com, kita kembali mengalami seperti pada Chrome.

alt text

Firefox sendiri sudah menyadari masalah ini. Tapi beberapa pertimbangan juga yang membuat config untuk Punycode tidak aktif. Jadi kalau ingin seperti pada Chrome 5.8 (Windows) keatas, aktifkan setting ini menjadi true. Cukup di double-click saja merubahnya.

alt text

Opera

Opera juga tidak terbebas dari ini. Mari kita lihat.

Opera - Apple

Dengan domain apple.com, kita mendapatkan isi yang diharapkan.

alt text

Untuk yang аррӏе.com, kita mengalami nasib yang sama dengan kedua browser diatas.

alt text

Opera - Epic

Sama dengan diatas, domain epic.com dapat bekerja seperti yang diharapkan.

alt text

Begitu pula dengan domain еріс.com ini.

alt text

Opera Info

Sayangnya Opera belum ada update atau workround untuk ini. Walaupun begitu Opera menyediakan bantuan untuk melihat ini. Pada domain аррӏе.com, kalau kita buka icon lock. Maka kita akan melihat domain sebenarnya. Jadi berhati-hati juga, walaupun kemungkinan besar pengguna tidak mengecek kesana. Potensi cukup besar untuk terkecoh.

alt text

Untuk domain еріс.com, kita bisa melihat alamatnya juga.

alt text

Edge

Browser Edge ini memang secara default sudah ter-lockdown. Yang dimaksud adalah kebanyakkan setting-nya dibuat ketat mungkin.

Edge - Apple

Dengan domain apple.com .

alt text

Sedangkan untuk domain аррӏе.com ini, terlihat nama domain aslinya.

alt text

Edge - Epic

Sama halnya dengan epic.com .

alt text

Dan juga untuk еріс.com .

alt text

Brave

Brave juga sama seperti Edge dalam setting default-nya.

Brave - Apple

Dengan domain apple.com, berjalan normal.

alt text

Seperti halnya dengan Edge, domain аррӏе.com akan terlihat nama aslinya.

alt text

Brave - Epic

Begitu pula dengan epic.com .

alt text

Serta untuk domain еріс.com .

alt text

Kode

Melihat kedalam kode Unicode yang sebetulnya angka yang akan diterjemahkan ke gambar karakter. Kita akan melihat beda nilai dari itu.

Kode dibawah menunjukan gambar karakter yang muncul dilayar tidak selamanya bernilai sama. Untuk yang apple, kalau kita perhatikan maka akan terlihat berbeda. Sedangkan untuk yang epic, sulit membedakannya.

alt text

Kalau penasaran, coba jalankan potongan kode Go ini.

Penutup

Dalam ilustrasi diatas kita disajikan domain dalam Web Browser yang lebih mudah mendeteksinya. Dan implementasi dari masalah ini akan banyak variasinya, seperti diterapkan untuk serangan multi vector (Malware dan Phishing) pada email. Kebanyakkan email client kurang bisa menangani hal seperti ini.

Seperti bang Napi sering katakan, Waspadalah!(3x)

Referensi