Sabtu, 06 Februari 2010

Virologi : Mengenali virus sistem

By Tri Amperiyanto


Virus (tepatnya : worm) dalam melakukan aksinya akan memakai berbagai cara untuk dapat mengaktifkan dirinya.  Ada yang diaktifkan dengan bantuan folder startup  Windows.  Ada pula yang diaktifkan dengan memakai subkey di registry. 
Ada subkey registry Windows yang berfungsi untuk menjalankan suatu program secara otomatis saat Windows dihidupkan.  Sehingga, jika kita ingin suatu file executable  aktif saat Windows dihidupkan, maka kita  harus menulisi subkey autorun registry tersebut.  Subkey diisi dengan nama value yang berisi data yang mendefinisikan file executable yang harus dijalankan. Kita  tidak akan menelisik subkey-subkey registry tersebut. Tapi hanya akan membaca subkey-subkey tersebut dengan bantuan program standar Windows. 
 Msconfig
Tools standar Windows untuk memeriksa konfigurasi autorun adalah program System Configuration Utility. Untuk memanggilnya dilakukan via perintah Run dari menu Start.  Klik Start- pilih Run dan ketikkan msconfig. Tekan Enter atau klik Ok.
Jendela program System Configuration Utility akan aktif dan menampilkan beberapa tab, seperti : General, System.ini, win.ini, boot.ini, services, dan Startup. 
Dari jajaran tersebut, tab Startup adalah tab yang digunakan untuk melihat program apa saja yang akan dijalankan oleh windows pada saat Windows diaktifkan.  Termasuk informasi dari subkey autorun registry.  Lihat gambar 1.


Gambar 1. Tab Startup pada Msconfig

Pada tab Startup, akan terlihat kolom Startup item, yang menunjukkan nama item yang akan dijalankan saat Windows diaktifkan.  Juga kolom command, yang biasanya berisi program yang diaktifkan plus parameternya jika ada.  Sedangkan kolom Location, menunjukkan lokasi subkey (syaraf) registry yang menyimpan seting data ini.
Di depan nama item akan terdapat suatu checkbox.  Jika dalam kondisi dicentang, itu tandanya item program tersebut akan dijalankan saat Windows dihidupkan. Untuk mematikan program, cukup klik check box tersebut sehingga tanda centang menjadi hilang.
Sebagai ilustrasi, pada gambar 1, terlihat bahwa program NeroChek data pengaktifannya dipicu dari registry.  Dapat dilihat dari Location yang menyebutkan salah satu subkey autorun registry. Sedangkan file executable yang dijalankan berada di folder d:\windows\system32.
Sedangkan program  Hp Digital Imaging, pengaktifannya dilakukan dari folder Common Startup. Tidak dari registry.  Tentu saja kita dapat membuat kesimpulan tersebut dengan data pada kolom Location juga.
Jika virus dengan “modus standar” menyerang, umumnya akan membuat suatu nama value baru di subkey autorun registry, dengan harapan agar file pemicu program virus ikut diaktifkan saat Windows dihidupkan.
Karena info virus tersebut berada di subkey autorun (atau folder Common Startup), maka akan terlihat pula di tab Startup ini.  Oleh sebab itu, pemakai yang berpengalaman dapat dengan mudah mematikan virus tersebut via tab ini, hanya  dengan menghilangkan tanda centang yang ada di depan nama item program virus.
Sayangnya, virus akan memasangkan nama itemnya dengan nama yang mirip dengan   nama file sistem Windows.   Hal ini untuk mengelabui pemakai berpengalaman yang memeriksanya.  Misalnya, dengan nama windows.exe, rundlll.exe dan lain sebagainya. Oleh karena itu, kejelian kitalah yang menentukan sukses tidaknya mengenali file virus.
Jika kita sudah menemukan item yang kita curigai. Hilangkan tanda centang yang ada di depan startup item.  Klik Ok dan lakukan booting ulang.  Virus dengan modus standar akan mati. 

Virus sistem ?

Untuk saat ini, anggaplah saja kita seorang yang sedikit tahu tentang virus komputer dan   komputer kita terserang virus.  Kebetulan, beruntung, kita dapat memakai tools msconfig.  Dan kita telah menemukan item pemicu virus pada tab startup,  lalu kita telah mematikan dengan menghilangkan centangnya.  Namun saat dilakukan booting ulang, ternyata sang virus tetap saja masih aktif di memory  dan melakukan gangguan ! 
Kecurigaan kita beralih, mungkin virus memakai teknik shell-spawning.  Teknik ini memakai eksploitasi key registry tapi tidak memakai jalur subkey autorun. Tapi memakai salah satu subkey di HKEY_CLASSES_ROOT. Anggap saja kita berhasil masuk ke registry dan memeriksa subkey tersebut. ternyata subkey tidak mengalami manipulasi !
Karena kita seorang “pakar virus” maka kita memakai analisis lain.  Mungkin virus memakai teknik “Resident” dengan memanfaatkan registry Active Setup.  Ini juga cara lain manipulasi registry, agar virus dapat aktif saat Windows dijalankan.  Karena kepiawaian kita, kita berhasil mengendus jejak virus dan ternyata virus tidak memakai teknik itu. Subkey active setup tersebut bersih !
Celaka !  Teknik apalagi ini ? Karena kita “pakar virus”, maka kita mengambil kesimpulan dan menganalis beberapa file yang dipanggil oleh Windows saat booting. Dari file NTLDR, NTDETECT.COM sampai EXPLORER.EXE.  Dari hasil pengamatan, ternyata file tersebut sehat-sehat saja. Artinya virus itu tidak menempel di file !  Dan seharusnya memang begitu, karena kebanyakan program virus di Indonesia itu tidak virus ! Namun sekadar WORM yang dikenal oleh umum dengan sebutan virus. 
Setelah ditelusur, ternyata jawabannya sederhana namun tak terduga.  Worm (virus) saat menyerang, ternyata “menelurkan” virus lain dan mendaftarkan virus tersebut sebagai suatu file service Windows ! Bah !!! alias virus tersebut dijadikan sebagai file sistem.  Tentu saja karena terdaftar sebagai salah satu servis Windows, maka akan ikut diaktfikan oleh Windows saat Windows dihidupkan !
Contoh nyata virus model begini, adalah virus KSPOOLD. Jika virus KSPOOLD ini aktif sebagai sistem, maka ia akan membuat file DOC dan XLS menjadi EXE.
Untuk mengalahkan virus model ini, kita dapat memakai jasa msconfig.  Tepatnya dengan bantuan tab Services.  Klik tab Services.  Maka akan ditampilkan servis-servis yang ada pada Windows.  Deretan servis yang panjang ini, akan membuat pemakai tidak menyangka bahwa ada program virus yang dimasukkan disitu. Lihat gambar 2 dan 3.


 Gambar 2 : jajaran servis yang ada


Gambar : 3. virus dalam jajaran servis sistem

Untungnya, Windows menyediakan fasilitas untuk memudahkan hidup kita.  Yaitu via pilihan Hide All Microsoft Services.  Secara default, pilihan ini tidak aktif.  Dapat dilihat bahwa kondisi check box tidak dicentang.  Untuk menghidupkannya, klik checkbox tersebut.
Dengan aktifnya pilihan ini, maka seluruh servis milik Microsoft akan disembunyikan.  Yang tampil hanyalah servis-servis non standar yang bukan milik Windows.   Nah ! dengan begitu servis pihak lain akan terlihat dengan jelas.  Termasuk milik virus sistem tentu saja, jika ada. Lihat gambar 4.
Dari gambar 4, anggap saja, bahwa kondisi virus sistem ada.  Pada contoh ini, nama Service-nya  adalah  K Print Spooler.  Manufacturer-nya berisi data unknown dan Status servis sedang berjalan.  Dari situ kita dapat menebak nama file yang ada.   Untuk mematikannya cukup klik checkbox, sehingga tanda centang hilang. Dengan cara ini maka servis untuk item K Print Spooler akan dihentikan.  Lakukan booting ulang dan periksalah apakah “gangguan atau manipulasi” virus masih aktif. Jika masih, berarti servis yang kita matikan salah ! Jika hal itu terjadi, coba matikan  servis-servis yang lain, satu demi satu.


Gambar 4 :  servis mencurigakan ketemu

Memang agak sulit, pada awalnya, menentukan file (servis) tersebut milik siapa dan apa gunanya.  Karena Msconfig tidak memberikan keterangan yang detail.
Namun dari kolom Service  maupun Manufacuter, kita masih dapat meraba-raba,  sebetulnya servis ini milik program apa. Jika Manufacturer berisi data Unknown, kita wajib waspada.  Barangkali iu servis virus.  Tapi hal ini tidak dapat dijadikan patokan, karena terkadang ada servis dari program yang kita install memang tidak menyebutkan manufacturer secara jelas.
Kesimpulannya, tidak ada tawaran lain, memang diperlukan latihan dan kejelian, yang akan berkembang jika kita terus melatihnya. 
Untuk mengetahui informasi secara detail tentang suatu servis, saya sarankan untuk menggunakan program yang bernama Process Explorer, yang dapat di download dari www.sysinternals.com.
Contoh tampilan dari program ini dapat dilihat pada gambar 5.


Gambar 5 :  Process explorer

Dengan program ini, perhatikanlah bagian tree – Services.exe.  Di bawah tree itulah, terdapat servis-servis yang sedang aktif di komputer.  Program ini memang bagus sekali.  Karena memberikan info secara detail tentang proses yang ada. Hanya dengan mengarahkan mouse ke daftar proses saja,  akan ditampilkan tooltips yang berisi nama servis berikut file pengaktifnya.  Sebagai ilustrasi, pada gambar 5, kita ambil sembarang servis.  Terlihat bahwa services nya adalah SoundMAX Agent Service.  Sedangkan file yang  memicu servis tersebut adalah SMAgent.exe yang berada di d:\Program Files\Analog Devices\SoundMAX.
Jika kita masih membutuhkan info tambahan yang lebih detail, program ini menjawab masalah tersebut.


Gambar 6 : info suatu detail proses

Klik ganda process tersebut, maka akan keluar jendela Properties process.  Lihat gambar 6.  Beberapa tab “serius” akan muncul, seperti : Image, Perfomance, strings, Services,dll. Untuk melihat info tentang file pemicu  gunakan tab Image. 
Silahkan Anda download program tersebut, dan mencobanya sendiri.  Tentu Anda akan setuju dengan pendapat saya, bahwa program Process Explorer – Sysinternals memang program freeware yang dahsyat !

Menelusuri jejak file virus

Berbekal informasi yang kita peroleh dari program Msconfig dan Process Explorer, anggap saja kita tahu bahwa file pemicu servis  K Print Spooler tersebut berada di d:\windows\system32, dan bernama KSPOOLD.EXE. 
Pergilah ke folder dimana file tersebut berada.  Jika file sudah ditemukan, untuk memastikan, periksalah keabsahan dari file tersebut.  Misalnya dengan mengklik kanan file tersebut dan memilih Properties, untuk melihat propertiesnya. 


Gambar 7 : melihat properties file yang dicurigai

Namun, cara ini bukan jaminan.  Karena pembuat virus biasanya sudah mengamankan bagian Tab Version, yang memuat informasi ringkas dari file tersebut.  Seperti yang terlihat pada gambar 7.  Pada contoh ini, virus sudah mengamankan tab tersebut.
Jika sudah begitu, tindakan apakah yang harus dilakukan ?  Terpaksa kita buka file tersebut  dengan program HEX editor, ini jika kita memang termasuk “seorang maniak sistem”.  Lalu menelusurinya isinya, byte demi byte yang ada pada file tersebut.
Anggap, kita buka file KSPOOLD.EXE dengan suatu program hex editor.  Isinya lebih kurang terlihat seperti gambar 8.


Gambar 8 : file dilihat dengan hex editor

Bagi yang belum terbiasa melihat jajaran data secara hexa, tentu akan sedikit pusing.  Tapi jika terus berlatih, lama-kelamaan akan terbiasa. Dari jajaran data-data yang terbaca ini, biasanya akan terdapat jajaran data string (huruf) yang dapat dibaca secara normal.  Data-data string tersebut, terkadang,  dapat berisi informasi dimana data-data file virus berada, atau mungkin lokasi subkey registry yang dimanipulasi.  Dengan memakai program hex editor, paling tidak kita berharap memperoleh string yang menguatkan kecurigaan kita bahwa file tersebut adalah file virus. 
Ada cara gampang, untuk membantu analisis, jika di awal-awal data terdapat data UPX atau ASPAC, itu tandanya file EXE telah di-pack dengan program packer.  Biasanya program yang di-pack model begini adalah program nakal. 
Tapi, harap dicatat,  ini bukan patokan standar.  Ini sekadar info saja.  Karena ada juga program yang tidak nakal namun di-pack.  Dengan pertimbangan ukuran file yang lebih kecil, atau mungkin masalah adanya string yang sensitif, bisa juga karena sang programmer  adalah seorang yang paranoid !
Jika kita penasaran, karena tidak mendapati string berarti, gara-gara file yang dipack, maka kita dapat mencoba membuka packer tersebut.  Setelah diteliti, ternyata file KSPOOLD.EXE di-pack dengan UPX.  Maka dengan program UPX pula, kita akan melakukan unpack. Contoh tampilan proses unpack seperti terlihat pada gambar 9. 
Setelah proses unpack dilakukan, telitilah kembali file tersebut dengan Hex editor.  Seharusnya data-data string yang telah di-pack akan terlihat.  Dan berdoalah, semoga string yang kita cari terlihat !


Gambar 9 : contoh proses unpack

Langkah terakhir dari proses analisis yang panjang, jika memang kita ragu akan keabsahan  suatu file, hapus saja file tersebut.  Atau saya sarankan, cukup lakukan rename file tersebut. Siapa tahu kita masih membutuhkan file tersebut. Misalnya karena analisis yang kita lakukan salah, maka kita dapat me-rename lagi file tersebut sesuai aslinya. 
Dengan cara ini, maka proses servis biasanya akan terhenti, karena file pemicu servisnya telah kita amankan. Akibatnya… mati pulalah sang virus.
Setelah Anda membaca tulisan ini, saya sarankan, periksa komputer Anda.  Barangkali ada virus sistem mengintai sebagai servis di komputer Anda !

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

1 komentar:

  1. terima kasih ...... kirim info yang lebih banyak lagi ya.. salam salam......

    BalasHapus