Sabtu, 06 Februari 2010

VIROLOGI : Bahaya Autorun

By Tri Amperiyanto

Saat kita memasukkan CD, misalnya CD Video, ke CD-Drive, maka komputer akan segera meresponnya dengan menjalankan isinya secara otomatis.  Dan kita tinggal menikmati film yang ingin kita tonton.  Atau mungkin saat kita melakukan setup suatu program, dan memasukkan CD program, komputer meresponnya dengan menampilkan fasilitas program setup secara otomatis.  Itulah yang dimaksud dengan fitur autorun. 
AutoRun adalah salah satu fitur Windows.  Ftur ini akan  menjalankan secara otomatis prosedur penginstalan dan pengkonfigurasian program (produk) yang didesain dengan platform berbasis Windows.  Umumnya program  ini ada dalam CDROM.  Saat  kita memasukkan CD yang memiliki data-data autorun ke cdrom drive, secara otomatis Windows akan menjalankan aplikasi yang mungkin akan dipakai untuk instal, konfigurasi atau bahkan menjalankan sembarang file executable.

Jadi, fitur Autorun ini pada awalnya memang disediakan untuk kemudahan akses program di CD-ROM.  Namun pada perkembangannya, di Indonesia, fitur Autorun ini banyak dieksploitasi untuk perkembang–biakan virus (worm) via removable media semacam Flash Disk. Pada artikel ini, kita akan memakai media flashdisk sebagai contoh.  Karena media inilah yang ditengarai sebagai biang keladi penyebaran virus di Indonesia.

Dua hal penting

Bagaimana caranya agar aplikasi (file execute) yang kita inginkan dijalankan oleh fitur autorun ini ? Ada dua hal penting yang harus kita penuhi untuk melaksanakan niat ini.  Pertama, kita harus membuat suatu file yang bernama Autorun.inf.  Kedua, adalah mempersiapkan   aplikasi yang akan dijalankan. File Autorun.inf adalah file teks ASCII biasa.  Sehingga dapat dibuat dengan program teks editor semacam notepad.

Tentang Autorun.inf

Autorun.inf adalah suatu file teks yang  biasanya ada pada root directory dari suatu CD-ROM yang berisi aplikasi.  Fungsi utamanya adalah memberitahu system, tentang nama dan lokasi aplikasi startup program  (file execute) yang akan dijalankan saat disk (CD) dimasukkan.
Autorun.inf  dapat berisi info opsional seperti :  Nama file yang berisi icon yang akan mewakili aplikasi.  Icon ini akan ditampilkan oleh Windows Explorer menggantikan icon drive standar. 
Juga ia dapat berisi, perintah-perintah tambahan untuk  shortcut menu (menu konteks) yang akan ditampilkan saat kita melakukan klik kanan pada icon CD-ROM.  Juga, kita dapat mendefinisikan perintah default yang akan dijalankan, saat kita melakukan klik ganda pada icon tersebut.
Sekilas, file Autorun.inf mirip dengan file *.INI.  Karena akan berisi satu atau dua bagian (section) yang diapit  oleh tanda kurung kotak (square brackets).  Pada setiap section akan berisi serangkaian perintah  yang akan dijalankan oleh shell saat disk dimasukkan. 
Ada dua section pada autorun, yaitu : [Autorun] dan [DeviceInstall].  Kita akan melihatnya sekilas.
* Section  [autorun]
Section ini berisi perintah default autorun. Setiap file autorun.inf pasti mempunyai section ini.  Sebetulnya ada section tambahan,  [autorun.alpha],  namun hanya diperuntukkan  bagi  komputer yang memakai sistem basis RISC (RISC-based).

* Section [DeviceInstall]
Section ini dapat dipasangkan pada sembarang removable media dan  hanya di-support oleh  sistem operasi Windows XP ke atas.  Hanya ada satu perintah pada section ini, yatitu : DriverPath, yang berguna untuk menentukan directory path dimana Windows XP  harus mencari file-file driver.   Sekadar info, pada Windows XP seluruh media tidak lagi dicari secara default, maka dibutuhkanlah section ini untuk menyebutkan lokasi pencarian. 
Oleh karena, perintah ini digunakan hanya saat instalasi driver,  dan secara pasti tidak merupakan bagian dari operasi autorun,  maka kita tidak akan membahasnya. Kita hanya akan membahas Section [autorun] saja.

Perintah standar pada section [Autorun]

Beberapa perintah standar pada bagian ini adalah sebagai berikut :
•    Icon
•    Label
•    Action
•    Open
•    Shellexecute
•    Shell
•    shell\verb
Setelah ini, kita akan melihat perintah (masukan) tersebut secara ringkas. Sebagai contoh kita akan memakai media Flash Disk saja.  Karena saat ini media inilah yang lazim dipakai sebagai sarana simpan dan transfer data oleh pemakai komputer.
Anggap saja kita memasukkan suatu Flash Disk via USB port, dan akan terlihat bahwa Flash Disk aktif di drive I. Label dari Flash Disk tersebut adalah Cybersufi. Lihat gambar 1.

Gambar 1 : Flashdisk aktif pada drive I

Juga, asumsikan, kita telah mengopikan file execute yang bernama test.exe, yang mempunyai dua icon dalam filenya.  Kita letakkan di root directory Flash Disk.
Kita akan membuat suatu file yang bernama autorun.inf dengan bantuan program notepad.  Klik ganda icon Flash Disk sehingga isinya terlihat. Lalu buat suatu file baru dengan mengklik kanan pada sembarang bagian kosong, sehingga menu konteks tampil. Pilih New –Text Document. Lihat gambar 2.  Suatu file teks scrap akan muncul.  Beri nama file tersebut dengan nama autorun.inf.  Klik ganda file tersebut, maka program notepad akan aktif.  Siap untuk menerima pengetikan data-data autorun.  Lakukan pengetikan data dan simpan dengan mengklik File – Save.


Gambar 2 :  Membuat file teks baru

Sekarang kita cermati perintah-perintah yang ada pada section [autorun].
Perintah action
Masukan atau perintah ini, mendefinisikan teks yang akan dipakai untuk dialog autoplay.  Tepatnya, sebagai handle yang mewakili program yang disebutkan oleh  perintah Open atau Shellexecute. Sedangkan value yang dimasukkan dapat berupa teks atau suatu  resource yang ada dalam suatu file binner. Sintaksnya :

action=Text
atau
action=@[filepath\]filename,-resourceID

Masukan Text  diisi dengan  teks yang akan ditampilkan.  Sedangkan masukan Filepath menunjukkan loakasi (path) dari suatu directory dimana file binner yang berisi string tersebut berada.  Jika path tidak disebutkan,  maka dianggap disimpan di root directory drive. Masukan Filename  diisi nama file binner (atau execute). Sedangkan masukan resourceID  berisi ID string yang ada dalam file binner.
Perintah ini hanya dipakai di Microsoft Windows XP Service Pack 2 (SP2)  dan sesudahnya.  Contoh sederhana pemakaiannya adalah sebagai berikut :

[autorun]
action= Klik ini untuk test setup autorun
open=test.exe

Ketikkan data tersebut pada file autorun.inf dan simpan. Pada saat Flash Disk kita tancapkan di port USB, maka perintah tersebut akan dijalankan.  Tampilannya lebih kurang seperti terlihat pada gambar 3.


Gambar 3 : Hasil perintah action

Perintah icon
Perintah ini mendefinisikan icon yang akan ditampilkan pada drive. Sintaksnya :

icon=filename[,index]

Masukan filename  diisi dengan nama dari file jenis *.ico, *.bmp, *.exe atau *.dll,  yang menngandung icon. Jika dalam suatu file berisi lebih dari satu icon, maka harus disebutkan  index icon dengan basis nol.  Jadi hitungan dimulai dari 0.  Artinya index 0 sama dengan icon pertama.
File icon harus berada pada directory yang sama dengan file yang didefinisikan oleh perintah Open. Sebagai ilustasi, anggap kita mempunyai file execute dengan nama Test.exe . File ini mempunyai beberapa icon didalam filenya. Dan kita ingin memakai icon kedua yang ada, maka perintahnya adalah :  
[autorun]
Icon=test.exe,1

Jika kita ingin agar icon pertama yang tampil, maka cukup kita ganti datanya sebagai berikut.
[autorun]
Icon=test.exe

Ketikkan data tersebut pada file autorun.inf dan simpan. Pada saat Flash Disk kita tancapkan di port USB, maka perintah tersebut akan dijalankan.  Hasilnya lebih kurang seperti terlihat pada gambar 4.


Gambar 4 : Icon Flash Disk berubah sama dengan icon file exe

Perintah label
Perintah ini  berguna untuk mendefiniskan label teks yang akan ditampilkan.  Sintaksnya :

Label=text

Masukan Text berisi  data string  teks yang dapat berisi spasi. Sebagai  ilustrasi, misalkan kita ingin agar keterangan pada drive bertuliskan : autorun test, maka perintahnya  :

[autorun]
Icon=test.exe,1
Label=autorun test

Hasilnya seperti terlihat pada gambar 5.


Gambar 5 : Keterangan label Flash Disk berubah

Perintah open
Perintah ini dipakai untuk mendefinisikan path dan nama file dari aplikasi yang akan dijalankan oleh autorun saat disk (CD)  dimasukkan ke drive. Sintaksnya :

open=[exepath\]exefile [param1 [param2] ...]

Masukan exepath  menunjukkan lokasi dimana file exe berada.  Masukan exefile berisi masukan dari Nama file exe yang akan dijalankan.  Sedangkan masukan param, param2…. Berisi parameter tambahan yang akan di pass ke aplikasi
Yang perlu diperhatikan, jika isi perintah Open ini hanya berisi nama file exe saja, maka file exe harus berada di root directory drive.   Jika kita ingin menjalankan  file yang disimpan di directory lain, maka kita harus menyebutkan path-nya.  Bila dibutuhkan, kita dapat menyertakan command-line parameter untuk di –pass ke aplikasi startup.
Berikut ini adalah contoh isi autorun.inf sederhana.
 
[autorun]
open=Coba.exe
icon=Coba.exe,1

Isi file tersebut menyebutkan, bahwa aplikasi starup (file execute) yang akan dijalankan adalah Coba.exe.  Sedangkan icon kedua yang ada dalam file coba.exe, akan dipakai mewakili CD-ROM drive menggantikan  icon standard drive.

Perintah shellexecute
Perintah ini digunakan unutk mendefinisikan aplikasi atau data file yang akan dijalankan oleh autorun secara ShellExecuteEx.

shellexecute=[filepath\]filename[param1, [param2]...]

Masukan filepath  berisi string yang menyebutkan dimana path directory file data atau file execute berada.  Jika path tidak disebutkan maka  file harus berada di root directory drive. Masukan filename berisi nama file.  Jika filenya adalah file execute maka akan dijalankan. Sedangkan, jika isinya adalah file data maka ia haruslah anggota dari suatu file class.   Artinya jenis file data harus ada dalam daftar file yang dikenali oleh Windows. Sehingga ShellExecuteEx dapat menjalankan file data tersebut dengan perintah default terkait dengan file class.
Masukan paramx  berisi tambahan parameter yang akan di lewatkan ke ShellExecuteEx.
Masukan (perintah)  ShellExecuteEx ini mirip dengan perintah Open.  Hanya saja mengijinkan kita memakai informasi asosiasi file untuk menjalankan suatu aplikasi.

[autorun]
shellexecute=test.exe

Perintah diatas menjalankan file test.exe yang ada di root directory drive. Atau contoh lain :
[autorun]
shellexecute=Dataku\baca.txt

Perintah diatas menjalankan file baca.txt  yang ada di directory Dataku.

Perintah shell 
Perintah ini dipakai untuk mendefinisikan perintah default untuk shortcut menu (menu konteks) drive. Sintaknya :

shell=verb

Masukan verb  adalah verb yang berhubungan dengan menu perintah.  Verb dan menu terkaitnya harus didefinisikan di autorun.inf via perintah shell\verb. 
Saat kita klik kanan icon drive, suatu shortcut menu (menu konteks) muncul.  Jika file autorun ada, maka menu konteks tersebut akan “diambil alih” oleh autorun.  Untuk mendefinisikan menu ini, pertama kita harus mendefinisikan verb, command string dan teks menu dengan perintah shell\verb.  Kemudian memakai perintah  shell untuk membuat default menu perintah. Jika tidak, maka menu default akan berbunyi  “autoplay”.

Perintah shell\verb
Perintah ini digunakan untuk mendefinisikan perintah tambahan pilihan menu shortcut  (menu konteks). Sintaknya :

shell\verb\command=Filename.exe
shell\verb=MenuText

Masukan Verb yang ada  pada menu perintah shell\verb\command, akan berhubungan dengan suatu file execute. Verb tidak boleh berisi spasi.  Singkat kata, verb diisini adalah teks yang ditampilkan di menu konteks.
Masukan Filename.exe  berisi data path dan nama file aplikasi yang menjalankan perintah  
Masukan MenuText  berisi teks yang akan ditampilkan pada menu konteks. Jika dihilangkan maka teks pada verb yang akan ditampilkan. Menu text dapat berisi huruf besar dan kecil, juga berisi spasi. 
Saat kita melakukan klik kanan pada icon drive, menu konteks akan tampil.  Dengan membuat perintah shell/verb maka akan menambah masukan di menu konteks tersebut. Masukan ini ada dua. Pertama, shell/verb/command, yang berguna untuk menentukan file mana yang akan dijalankan.  Kedua, adalah shell/verb yang Kita digunakan untuk menampilkan teks di menu konteks.
Untuk membuat suatu default perintah menu konteks, definisikan dengan shell/verb dan buatlah menjadi default dengan perintah shell.
Mungkin keterangan ini agak membingungkan, tapi dengan suatu contoh akan membuatnya mudah. Perhatikan contoh berikut:

[AutoRun]
shell\coba\command=notepad Dataku\baca.txt
shell\coba=Cobalah Saya
shell=coba

Dari data di atas verb-nya adalah coba dengan string perintah “notepad Dataku\baca.txt”.  Menu teksnya adalah Cobalah Saya. Dan perintah dibuat default dengan perintah shell. Jika nanti kita pilih pilihan ini maka file baca.txt akan dibuka dengan program Notepad.
Agar dapat membuat fungsi ini berjalan dengan baik, sebelumnya kita harus membuat suatu folder terlebih dahulu dengan nama DATAKU. Juga, didalamnya harus terdapat file yang bernama BACA.TXT.
Misalnya, kita ketikkan data tersebut pada file autorun.inf dan simpan. Pada saat Flash Disk kita tancapkan di port USB, maka perintah tersebut akan dijalankan.  Hasilnya lebih kurang seperti terlihat pada gambar 6.


Gambar 6 : Menu konteks bertambah

Autorun jebakan pada Flash Disk

Seperti telah disinggung di muka, Autorun awalnya ditujukan untuk kemudahan pemakaian CD-ROM.  Namun pada perkembangannya ternyata fungsi autorun di eksploitasi dan “didayagunakan” oleh pembuat virus untuk melakukan eksekusi program virus.  Jadi, flashdisk yang seharusnya tidak berisi file autorun.inf, akan dijejali dengan file tersebut.  Akibatnya ? Cukup fatal ! Menjamurlah virus disana-sini dengan bantuan autorun yang disalahgunakan via flashdisk. 
Lalu, isi file autorun.inf nya bagaimana ?  Berikut ini, sekadar contoh,  tipikal isi dari file autorun yang di eksploitasi oeh program virus.

[AutoRun]
icon=virus.exe
action=Klik untuk menjalankan file gambar hot
shellexecute= virus.exe
shell\open\Command= virus.exe
shell\Explore\Command= virus.exe

Jika diuraikan secara ringkas, maka deskripsi per barisnya adalah sebagai berikut.
Perintah icon=test.exe digunakan untuk memanipulsi icon tampilan Flash Disk, sehingga ikon standar disk akan diganti dengan icon file executable yang benama test.exe. 
Perintah action=Klik untuk menjalankan file gambar hot. Dipakai untuk menampilkan  pesan yang amat menantang dan memancing korban, agar mengklik pilihan ini.  Misalnya dengan pesan :  Klik untuk menjalankan file gambar hot
Perintah shellexecute=test.exe digunakan untuk memasang perangkap dengan perintah shellexecute, agar saat icon Flash Disk diklik ganda pemakai, maka akan aktiflah file virus.exe.
Perintah shell\open\Command=test.exe untuk menjebak pemakai saat melakukan klik kanan pada Flash Disk, dengan cara mengganti isi pilihan default menu konteks yang bernama open. Jika pemakai memilih Open yang dijalankan  adalah file virus.exe.
Perintah shell\Explore\Command=test.exe digunakan untuk menjebak pemakai saat melakukan klik kanan pada Flash Disk, dengan cara mengganti isi pilihan default menu konteks yang bernama Explore. Jika pemakai memilih Explore, yang dijalankan  adalah file virus.exe.
Dengan jebakan yang begitu rapat, sungguh membuat pemakai awam yang kurang waspada menjadi tidak berdaya.  Umumnya pemakai akan membuka Flash Disk via My Computer dan mengklik ganda icon Flash Disk. Akibatnya ? Aktiflah sang virus.

Bagaimana berkelit ? 
Agak susah menjawab pertanyaan ini.  Namun, bahaya jebakan autorun dapat sedikit dikurangi dengan mematikan fitur autorun.  Penon-aktifan fitur ini dapat dilakukan via Policy Editor, ataupun melakukan manipulasi langsung via Regedit.  Dan ini membutuhkan pembahasan tersendiri.
Namun, cara sederhana, temporer, untuk menghindari jebakan autorun ini dapat  dilakukan dengan memakai jasa Windows Explorer (atau My Documents).
Panggil My Documents.  Klik Start – Pilih My Documents.  Jendela My Documents.   Akan muncul. Klik Tools dan pilih Folder Options. Kita akan mengatur setingan View Windows Explorer terlebih dahulu. Lihat gambar 7.


Gambar 7 : Memanggil My Document dan memilih Folder Options

Saat jendela Folder Options muncul. Klik Tab View. Dan klik pilihan Show Hidden Files and folders.  Langkah ini berguna untuk menampilkan file yang tersembunyi. Lihat gambar 8.


Gambar 8 :  Mengatur View memilih Show Hidden Files and folders

Langkah berikutnya, adalah menampilkan file System.  Masih pada tab yang sama, klik Hide Protected operating system (recommended).  Akan muncul pesan peringatan Windows. Klik Yes untuk mengabaikan pesan tersebut. Lihat gambar 9.


Gambar : Pesan peringatan

Setelah itu pilihan Hide Protected operating system (recommended) akan tidak tercentang, klk OK. Lihat gambar 10.


Gambar 10 :  Menampilkan file system lalu  klik Ok.

Sekarang saatnya menancapkan Flash Disk.  Jika fitur autorun berjalan, maka seharusnya akan tampil kotak dialog autoplay.  Disarankan untuk memilih Take no action. Sehingga folder Flash Disk tidak akan terbuka. Lihat gambar 11.


Gambar 11 : kotak dialog autoplay – autorun

Panggil My Documents. Klik Start – pilih My Documents.   My Documents akan muncul.  Jika tampilan panel sebelah kiri My Documents tidak menunjukkan folder tree. Maka klik tombol Folder. Lihat gambar 12.


Gambar 12 : Mengklik tombol Folder

Sesudah panel kiri My Dcouments  menampilkan folder tree, Klik My computer dan pilih Drive dimana Flash Disk berada.  Maka pada panel sebelah kanan, akan terlihat isi dari Flash Disk, berikut file-file tersembunyi. 


Gambar 13 : memilih drive Flash Disk dari folder

Jika sudah sampai tahap ini, langkah awal yang harus dilakukan adalah menghapus file autorun.inf.  Sesudah itu, jika terdapat file-file tersembunyi yang menurut kita mencurigakan, hapus saja ! Dengan trik sederhana ini, diharapkan penyebaran virus yang mengekploitasi fitur autorun akan sedikit terhambat. Coba saja, semoga berhasil !


Note :
Tulisan ini  telah dimuat di majalah CHIP, dengan bahasa yang telah  “diformalkan”.
Tulisan ini adalah versi aslinya !  Semoga berguna dan digunakan 
:)

Tidak ada komentar:

Posting Komentar