Sabtu, 08 Maret 2008

Mediabox Friendster (worm-defaced-virus)

Siapa yang tidak kenal dengan Friendster? Situs pertemanan ini telah membooming sedemikian rupa dilihat dari jumlah membernya. Perubahan demi perubahan pun dilakukan untuk mengikuti trend dan style situs web, termasuk di antaranya menambahkan fitur media box.
Media box merupakan suatu tool yang dipakai oleh Friendster untuk memanjakan para membernya. Media box sendiri tidaklah lebih dari sekedar media player biasa, yaitu Windows Media Player. Seperti kita ketahui bahwa Windows Media Player dapat digunakan untuk memainkan tipe-tipe file musik dan video.
Untuk menggunakan media box ini, kita tidak bisa seenaknya saja memutar lagu di komputer kita dan meng-copy kan ke FS. Untuk memanfaatkan fasilitas media box ini, kita terlebih dahulu harus melakukan modifikasi terhadap source code HTML FS. Caranya cukup mudah, yaitu dengan memasuki jendela Customize Page, maka kita telah dapat melakukan perubahan terhadap tampilan FS kita, termasuk terhadap media box nya.
Seiring dengan fitur dan ketenaran FS, banyak media partner yang menyediakan akses gratis terhadap file musik dan video mereka untuk diputar secara otomatis di FS. Caranya juga cukup mudah. Kita tinggal mengunjungi situs partner tersebut, memilih file musik atau video yang ingin diputar di FS, meng-copy kan kode program embed nya ke FS kita. Save dan re-load halaman FS kita. Maka file yang kita pilih tadi akan langsung dimainkan di media box.
Lalu, di mana permasalahannya?
Terus terang ini bukanlah vurnerability terbaru dalam dunia internet. Bug ini cukup populer sekitar 2 tahun yang lalu di mana FS telah memasangkan fitur media box nya.
Efek dari penyerangan model ini adalah korban tidak bisa mengakses halaman profilenya (defaced) serta penyebarang virus atau worm ke komputer korban tanpa sepengetahuan korban.
Okay, let's see this stuff.
Yang akan menjadi korban kali ini adalah saya sendiri. Saya memasangkan sebuah link ke video YouTube pada FS saya. Hanya link, bukan embed.
Sebelum kita memulai, ada baiknya saya jelaskan terlebih dahulu bagaimana FS dapat memainkan file media ke dalam profile kita sementara file tersebut ada di situs lain.
1. Lokasi file.
Ya, FS sebenarnya tidak meng-copy kan file tersebut ke direktori servernya. FS hanya membutuhkan lokasi alamat file internet (link) yang akan me-refer ke file aslinya.
Contoh: (jangan di klik)
www.host1.com/type/musik/artist/muse/unintended.wma >> alamat asli file musik, contoh kali ini adalah Unintended dari Muse.
Lantas, bagaimana caranya mengakses file tersebut. Kita gunakan sintaks HTML embed maupun href
Contoh: (jangan di klik)
"http://www.host1.com/type/musik/artist/muse/unintended.wma autostart="TRUE" Loop="FALSE" width="0" height="0" align="CENTER" allowscriptAccess="never">"
Nah, untuk memainkan file tersebut, kita cukup meng-copy kan kode embed ke dalam media box editor FS yang ada di Customize Page.
Fungsi embed digunakan digunakan untuk menyisipkan suatu file ke dalam HTML. Ketika HTML tersebut di load ke browser, maka kode embed akan segera ter-eksekusi. Hasilnya, website yang dikunjungi secara mengejutkan mengeluarkan suara musik Muse.
2. Scripting pada browser client.
Apa lagi ini? Scripting maksudnya kode atau listing program yang dapat dijalankan pada program debugger. Karena kita membahas internet, maka debuggernya adalah browser.
Scripting dalam dunia internet dibagi menjadi 2 bagian. Pertama yaitu client-side scripting dan kedua adalah server-side scripting.
Client adalah komputer lokal yang mengakses atau menggunakan resource yang ada di internet. Sedangkan server merupakan penyedia layanan yang dibutuhkan oleh client. Ibaratnya client adalah bos dan server adalah pembantunya.
Perlu dicatat bahwa komputer server TIDAK diperkenankan mengakses komputer client. Hal ini bisa sangat berbahaya dan menyalahi aturan jaringan internet (World Wide Web).
Client-side scripting yaitu program yang dijalankan pada komputer client/lokal. Komputer lokal yaitu komputer yang kita pakai pada umumnya (warnet, laptop, komputer pribadi). Client scripting dapat melakukan apapun pada komputer client. Termasuk membuat perubahan pada sistem komputer.
Sedangkan server-side scripting hanya terbatas pada fungsi-fungsi tertentu saja pada situs internet. Misalnya, ketika kita login, maka fungsi untuk mengecek data login ke database server pasti menggunakan server scripting. Dengan demikian, server bisa tahu apakah data login benar atau salah.
Okay, kembali fokus. Untuk membahas client serta server scripting bukanlah saat yang tepat saat ini. Silahkan mencari referensi sendiri di internet ang jumlahnya sangat banyak.
Nah, client scripting, karena ia running dari komputer kita sendiri, maka kita dapat menghentikannya jika kita mau. Cara termudah yaitu mematikan fasilitas ActiveScripting pada browser kita. Akibatnya, script² yang sengaja dibuat oleh website untuk mendukung kinerja website itu sendiri menjadi tidak berfungsi.
Sebagai gambaran, contoh² activescripting adalah sbb berikut:
1. Mouse tidak bisa melakukan klik kanan pada halaman situs.
2. Ada kotak pesan (messagebox) yang keluar.
3. Animasi sederhana
4. ActiveX Control downloading.
Jika kita mendisable activescripting pada browser, maka bisa dipastikan 4 hal di atas tidak akan berkerja dengan baik.
So, FS membutuhkan activescripting pada komputer client dalam keadaan aktif agar animasi, download activeX dapat bekerja dengan baik.
Okay, saatnya membahas bagaimana video, animasi, serta file "tebengan" lainnya dapat membuat FS kita menjadi hancur, tidak bisa diakses, dan yang paling parah penyebaran virus dan worm.
Simak gambar berikut ini (diambil langsung dari komputer saya).
(CLick the link - Click the fullsize icon >> dari webshots.com >> trusted partner for me)
Pada gambar tersebut, yang saya lingkari dengan kotak berwarna merah, merupakan link yang telah disusupi oleh worm. Entah darimana datangnya, dari YouTube sendiri atau dari sumber lain.
Jika saya meng-eksekusi link tersebut, maka bisa dipastikan komputer saya akan terjangkit worm. Lihat kembali gambarnya, setelah link dari video YouTube selesai, masih ada kode tambahan yang diawali dengan #x3c dan memiliki script dari java script (client scripting)
Bagaimana hal tsb bisa terjadi? Ini sangatlah masuk akal. Kita telah membahas bagaimana sebuah website mampu "mengambil file" dari website lainnya dengan metode embedding. Sama saja dengan kasus ini. Link YouTube yang saya copy sehari sebelumnya masihlah bersih. namun, mungkin karena keisengan YouTube, mereka menambahkan scripting untuk mendownload file worm.js di mana worm.js tersebut adalah file activescripting yang running secara client. Karena ia running secara client, maka filie tersebut mampu melakukan apa saja secara tersembunyi. Misalnya, mendownload secara diam-diam program jahat lainnya seperti keylogger, virus, worm, spyware, dan masih banyak lagi antek-anek dunia maya yang cukup merusak ini.
Tidak hanya worm, scripting tersebut juga mampu melakukan pengalihan (redirect), perubahan tampilan (deface) pada account FS kita.
Lantas, kenapa saya tidak terkena serangan ini? Untungnya saya menuliskan file video YouTubenya melalui href atau link yang hanya akan aktif jika link tersebut di klik. Tidak seperti metode embed yang langsung tertanam pada website dan memiliki atribut AUTOPLAY atau AUTOSTART. Kebayangkan gimana jadinya jika saya memakai metode embed? Bukan hanya saya yang terkena worm, namun semua orang yang melihat profile saya akan ikut terkena imbasnya.
So, masih berani menggunakan metode embed pada animasi, flash video, dan musik oleh partner yang tidak terkenal pada FS Anda? Keputusan ada di tangan Anda. Sekalipun media partner yang kita pilih itu terpercaya dan diakui oleh FS, tidak ada jaminan FS kita aman dari penyusup. Bisa jadi ia memiliki serangkaian aktifitas yang panjang untuk mendownload virus atau worm ke komputer Anda.
Perhatikan skema berikut:
Sumber1+Sumber2+Sumber3+Sumber4\anim.js.
Misalnya Sumber1 adalah www.singingfool.com, sumber2 adalah www.kepleset.com, sumber3 adalah www.neraka.com, dan sumber4 adalah www.hell.com. di mana file anim.js yang kita lihat di sumber1 sebagai file animasi, kini berubah menjadi file "siluman" yang tetap memainkan file animasi namun juga melakukan "aktifitas" tersembunyi.
Pada mulanya Anda mengunjungi www.singingfool.com. Setelah menemukan yang menarik, Anda segera meng-copy kode embed yang telah tersedia. Pernahkah Anda perhatikan lagi kode tersebut?Apakah ada parameter² tambahan lagi? Saya berani jawab...TIDAK PERNAH.
Nah, kebukti bukan bahaya nya mediabox ini?? Memang tidak terlalu bahaya jika hanya mengirimkan virus. Tapi bagaimana jika FS Anda di deface dan memberikan pesan-pesan SARA dan provokasi...
Well, keputusan ada di tangan Anda.