Dengan maksud untuk mencegah Phising attack, Yahoo
membuat fitur segel di halaman loginnya. Segel di sini maksudnya adalah
gambar unik yang muncul di halaman login. Gambar ini hanya unik untuk
PC/komputer tertentu saja, bukan melekat pada yahoo id kita. Jadi kalau
kita pindah komputer, segelnya tentu tidak ikut pindah.
Fake Login Page
Biasanya serangan phishing menggunakan metode fake
login page atau halaman login palsu. Setelah sebelumnya korban tertipu
dengan mengklik link yang mengarah pada halaman login palsu, kini korban
disuguhkan dengan halaman login yang sangat mirip dengan halaman login
yang biasa dipakainya. Bila korban tidak menyadarinya, maka username dan
passwordnya akan jatuh ke tangan attacker.
Serangan fake login page ini bisa terjadi karena
halaman login umumnya bersifat statis dan konsisten. Dari komputer
manapun, kapanpun halaman login memiliki tampilan visual yang sama.
Karena halaman login yang statis itulah cukup dengan membuat halaman
yang mirip dengan itu, banyak korban akan tertipu.
Tujuan sign in seal ini adalah membuat halaman login
menjadi hal yang pribadi. Setiap komputer memiliki halaman login yang
berbeda. Kalau halaman login di tiap komputer berbeda dan tampilan
halaman login hanya diketahui oleh pemilik komputer, tentu phishing akan
kesulitan melancarkan serangan fake login.
Cara Kerja Yahoo Sign-in Seal
Mari kita lihat bagaimana cara kerja yahoo sign-in
seal ini. Yahoo seal mengijinkan membuat seal dalam bentuk gambar maupun
teks, yang penting adalah teks dan gambar tersebut unik dan rahasia
(tidak mudah ditebak). Setelah seal dibuat, maka seal itu akan selalu
muncul setiap kali saya login ke yahoo.
Semula saya berpikir ini pasti pakai cookie, namun
ketika saya coba menghapus semua cookie dari browser saya, seal yahoo
tidak ikut terhapus. Dia tetap survive dari penghapusan cookie. Kemudian
ketika saya coba buka halaman login yahoo di Opera pada komputer yang
sama, maka seal itu lagi-lagi ikut muncul, padahal saya bikin seal itu
di Firefox.
Jadi kalau saya rangkum keunikan seal Yahoo adalah:
- Survive from Cookie Removal
- Cross-Browser Appearance
Bagaimana caranya seal Yahoo bisa survive dari
penghapusan cookie dan bisa muncul di semua browser? Jawabannya adalah
dengan Flash. Flash memiliki fitur semacam cookie yaitu Local Shared
Object. Data ini disimpan dalam file berekstensi SOL. Semua browser
ketika memuat suatu URL berhak mengakses shared object di domain yang
sama dengan flash. File flash yang dipakai yahoo untuk mengambil data
dari cache adalah dataCache.swf yang URLnya di
https://login.yahoo.com/login/dataCache.swf. Setelah dibuka dengan flash
decompiler, source code dari file dataCache.swf ada pada gambar di
bawah ini:
dataCache.swf mendefinisikan fungsi untuk menyimpan
objek ke dalam cache dan untuk mengambil objek dari cache. Kemudian
Fungsi ini didaftarkan dengan fungsi addCallback agar bisa dipanggil
dari javascript. Jadi tugas flash hanya menyimpan dan mengambil objek
dari cache untuk selanjutnya ditampilkan oleh javascript. Dari source
code tersebut juga terlihat nama shared object yang dipakai, yaitu
loginCache. File SOL tersebut disimpan dalam filesystem umumnya di
C:\Documents and Settings\\Application
Data\Macromedia\Flash
Player\#SharedObjects\\login.yahoo.com\loginCache.sol.
Dengan program SOL
reader file loginCache.sol di komputer saya terbaca isinya sebagai
berikut:
YLS: YLS=v=1&p=0&ap=1232341233149F: F=a=kSmT8qEMvTDDtBUE14BdySfZq8q2aQRUcFYEd.G7P36yFSIIg4GlIlYkiKTXaV.WuC25JHgQ0NYUWkX1TkXEBVHzcw–&b=DtKN
YL: YL=v=1&c=J63kKW2fjWIeaRIMD_Q8qr9qd.RtqZMMXNNQy1rLiWG3ySvsMdTyPYqU7WJGWdPXwIPGZ4q9dzr62Th3hQNEodw3kE8DEDEuipITKP3EGBpUw9tHEHXu2E_hqfPGhStp0ExeJoff9L0J_.T5MmRyI4Q2H6PgOq5Eae6Shg–
Jadi ada 3 object di file loginCache.sol
yaitu YLS, F dan YL. Kalau kita lihat cookie yang ada pada halaman
login.yahoo.com ternyata ketiga ada cookie dengan nama YLS, F dan YL.
Jadi bila shared object sudah ada isinya, maka isi dari shared object
tersebut akan diambil untuk nilai cookie. Pada waktu pertama kali
membuat seal, shared objek diinisialisasi dengan cookie yang di-set dari
server yahoo untuk selanjutnya diambil setiap kali login. Jadi
menghapus cookie di browser tidak ada gunanya karena yahoo memakai data
yang di shared object. Bila cookie terhapus, data di shared object yang
akan diambil sebagai cookie.
Seal berupa text akan dikirim ke server
yahoo untuk dibuat gambar di URL yahoofs.com. Sedangkan seal berupa
image, imagenya akan diupload dan diletakkan di URL yahoofs.com. Semua
seal baik text maupun gambar akan diubah menjadi format gif. Contoh URL
seal:
https://a323.yahoofs.com/login/f2509e9b428b3bd6bcf1216a0b274e3e/72612323559882h6u81l4n8f73.gif?lowLEdJBQiTA08EX
Url tersebut menghasilkan halaman login
seperti ini:
May be for security reason, setelah login berhasil
kita tidak bisa lagi membuka gambar seal dengan URL yahoofs.com di atas
karena akan diredirect ke URL yang tidak eksis ini:
http://lovrf.yahoo.com/login/f2509e9b428b3bd6bcf1216a0b274e3e/72612323559882h6u81l4n8f73.gif
Perhatikan bahwa URL tersebut dibungkus dalam https.
Ini penting mengingat seal harus dijaga kerahasiaan. Sebab bila seal
diketahui orang lain, maka dia bisa melancarkan phishing attack dengan
membuat fake login page yang mengandung gambar seal kita. Karena halaman
loginnya mengandung segel kita, maka kita akan tertipu dan meyakini
bahwa itu halaman login yang asli.
Stealing Seal
Saya sudah mencoba mengkopi file dataCache.sol ke PC lain, hasilnya adalah gambar seal saya muncul di PC itu.
Untuk bisa sukses menipu korban attacker harus
membuat fake login page yang semirip mungkin. Dengan adanya seal pada
halaman login ini membuat attacker harus menduplikasi gambar seal ini di
halaman fake loginnya. Kunci dari seal adalah pada file dataCache.sol.
Untuk mencuri seal korban agar muncul di komputer saya, maka saya harus
mengkopi file dataCache.sol ini dan ditaruh pada folder yang benar di
komputer saya. Dengan cara ini seal korban akan muncul di komputer saya.
Mengkopi file dataCache.sol ini tidak bisa dilakukan melalui web karena
dilindungi oleh https. Jadi harus cari cara lain, misalkan dengan open
shared folder di windows, ftp atau bug lain yang ada di komputernya.
Menghapus Seal
Karena data cache seal disimpan di
cookie dan shared object, maka untuk menghapus seal Yahoo yang harus
dilakukan adalah:
- Menghapus cookie dari browser
- Menghapus local shared object file (*.SOL) yang ada di C:\Documents
and Settings\
\Application Data\Macromedia\Flash Player\#SharedObjects\ \login.yahoo.com\loginCache.sol
Menurut saya sign in seal yahoo sangat membantu dalam
membatasi ruang gerak phisher. Dengan adanya seal ini attacker tidak
bisa membuat fake login page yang bersifat umum (1 fake login untuk
semua calon korban). Attacker harus bekerja ekstra untuk mengetahui seal
calon korbannya sebelum bisa membuat fake login page. Melalui sniffing
jaringan seal tidak mungkin disniff karena dilindungi oleh https. Jadi
sebaiknya anda pakai seal ini, walaupun buka silver bullet solution
setidaknya memperkecil kemungkinan serangan phisher untuk mencuri
password yahoo anda.
Posting Komentar
No Rule's ! but please create your own rule with good rules _.