Bab I
Pendahuluan
1.1 Definisi Virus Komputer
Istilah computer virus pertama kali digunakan oleh Fred Cohen dalam papernya yang
berjudul ‘Computer Viruses – Theory and Experiments’ [1] pada tahun 1984. Berikut kutipan
definisi yang diberikan oleh Cred Cohen dalam paper tersebut:
“ We define a computer ‘virus’ as a program that can ‘infect’
other programs by modifying them to include a possibly evolved
copy of itself. With the infection property, a virus can spread
throughout a computer system or network using the
authorizations of every user using it to infect their programs.
Every programs that gets infected may also act as a virus and
thus the infection grows.”
Maka, menurut definisi yang diberikan di atas kita dapat menggarisbawahi beberapa
sifat dasar virus komputer yaitu: mempunyai kemampuan untuk menjangkiti (menginfeksi)
program lain dan menyebar. Pada dasarnya penggunaan isitlah virus dikarenakan adanya
kesamaan dalam hal sifat antara virus komputer dengan virus yang kita kenal dalam dunia
fisik. Di mana keduanya memiliki dua tujuan yaitu: untuk bertahan hidup dan bereproduksi.
Pada dasarnya virus komputer dapat diklasifikasi menjadi dua tipe. Tipe virus
komputer yang pertama dibuat untuk tujuan penelitian dan studi, dan tidak dipublikasikan.
Sedangkan tipe kedua yang merupakan kebalikan dari tipe pertama, merupakan virus
komputer yang membahayakan sistem komputer pada umumnya, sering kali disebut dengan
istilah virus ‘in the wild’.
1.2 Sejarah Virus Komputer
Berikut adalah sekilas sejarah mengenai virus komputer [5].
1981 Virus ‘in the wild’ pertama ditemukan. Virus yang bernama Elk Cloner ini menyebar
melalui floppy disk pada komputer Apple II.
1983 Fred Cohen dalam paper-nya yang berjudul ‘Computer Viruses – Theory and
Experiments’ memberikan definisi pertama mengenai virus komputer dan
memaparkan eksperimen yang telah dilakukannya untuk membuktikan konsep dari
sebuah virus komputer. Bersama dengan Len Adelman, ia menciptakan sebuah
contoh virus pada komputer VAX 11/750 dengan sistem operasi Unix.
Virus Komputer: Sejarah dan Perkembangannnya
2
1986 Sepasang kakak adik dari Pakistan, Basit dan Amjad, menciptakan sebuah boot
sector virus pertama yang diberi nama Brain. Brain sering kali disebut sebagai virus
komputer pertama di dunia.
PC-based Trojan pertama diciptakan dalam bentuk program shareware yang diberi
nama PC-Write.
Dalam beberapa laporan disebutkan bahwa file virus pertama, Virdem, juga
ditemukan pada tahun yang sama. Virdem diciptakan oleh Ralf Burger.
1987 Virus-virus file infector seperti Leigh mulai bermunculan, kebanyakan menyerang
file COM seperti COMMAND.COM. Pada tahun yang sama muncul virus penyerang
file-file EXE pertama, Suriv 01 dan 02 serta Jerusalem.
Mainframe IBM mengalami serangan worm IBM Christmas Worm dengan
kecepatan replikasi setengah juta kopi per jam.
1988 Virus pertama yang menyerang komputer Macintosh, MacMag dan Scores, muncul.
Pada tahun yang sama didirikan CERT (Computer Emergency Response Team)
oleh DARPA dengan tujuan awalnya untuk mengatasi serangan Morris Worm yang
diciptakan oleh Robert Morris.
1989 AIDS Trojan muncul sebagai trojan yang menggunakan samaran sebagai AIDS
information program. Ketika dijalankan trojan ini akan mengenkripsi hard drive dan
meminta pembayaran untuk kunci dekripsinya.
1990 Virus Exchange Factory (VX) BBS yang merupakan forum diskusi online para
pencipta virus didirikan di Bulgaria.
Mark Ludwig menulis buku “The Little Black Book of Computer Viruses” yang berisi
cara-cara untuk menciptakan berbagai jenis virus komputer.
1991 Virus polymorphic pertama, Tequila, muncul di Swiss. Virus ini dapat mengubah
dirinya untuk menghindari deteksi.
1992 Kehadiran virus Michaelangelo yang menjadi ancaman bagi seluruh dunia, namun
demikian kerusakan yang ditimbulkan pada akhirnya tidak terlalu hebat.
Kemuculan beberapa tool yang dapat digunakan untuk menciptakan virus seperti
Dark Avenger Mutation Engine (DAME) yang dapat mengubah virus apa pun
menjadi virus polymorphic, dan Virus Creation Lab (VCL) yang merupakan kit
pertama yang dapat digunakan untuk menciptakan virus (lihat Gambar 1.1).
1995 Para hacker dengan nama ‘Internet Liberation Front’ melakukan banyak serangan
pada hari Thanksgiving. Beberapa badan yang menjadi korban serangan ini adalah
Griffith Air Force Base, Korean Atomic Research Institute, NASA, GE, IBM, dll. Virus
macro pertama yang menyerang aplikasi Microsoft Word, Concept, dikembangkan.
Virus Komputer: Sejarah dan Perkembangannnya
3
Gambar 1.1 Tampilan Virus Creation Lab (VCL).
1996 Kemunculan virus Boza yang didesain khusus untuk menyerang file-file Windows
95, virus Laroux yang merupakan virus penyerang Microsoft Excel pertama, virus
Staog yang merupakan virus Linux pertama.
1998 Kemunculan virus Java pertama, Strange Brew.
Back Orifice merupakan trojan pertama yang dapat digunakan sebagai tool untuk
mengambil alih kendali komputer remote melalui Internet.
Pada tahun ini, virus-virus macro lainnya bermunculan.
1999 Kemunculan virus Melissa yang merupakan kombinasi antara virus macro yang
menyerang aplikasi Microsoft Word dan worm yang menggunakan address book
pada aplikasi Microsoft Outlook dan Oulook Express untuk mengirimkan dirinya
sendiri melalui email.
Virus Corner merupakan virus pertama menyerang file-file aplikasi MS Project.
Virus Tristate merupakan virus macro yang bersifat multi-program menyerang
aplikasi Microsoft Word, Excel, dan PowerPoint.
Bubbleboy merupakan worm pertama yang dapat aktif hanya dengan membuka
email melalui aplikasi Microsoft Outlook tanpa memerlukan attachment.
2000 Serangan Distributed Denial of Service (DDoS) pertama membuat kerusakan pada
situs-situs besar seperti Yahoo!, Amazon.com, dan lain-lain.
Love Letter merupakan worm dengan kecepatan menyebar tertinggi pada saat itu
yang menyebabkan kerusakan pada banyak sistem email di seluruh dunia.
Liberty Crack yang merupakan worm pertama untuk peralatan PDA.
2001 Gnuman (Mandragore) merupakan worm pertama yang menyerang jaringan
komunikasi peer to peer. Worm ini menyamarkan diri dalam bentuk file MP3 yang
dapat di download.
Kemunculan virus yang didesain untuk menyerang baik sistem operasi Windows
maupun Linux, seperti Winux atau Lindose.
Virus Komputer: Sejarah dan Perkembangannnya
4
Virus LogoLogic-A menyebar melalui aplikasi MIRC dan e-mail.
2002 Virus LFM-926 merupakan virus pertama yang menyerang file-file aplikasi
Shockwave Flash.
Donut merupakan worm pertama yang menyerang .NET services.
SQLSpider merupakan worm yang menyerang aplikasi yang menggunakan
teknologi Microsoft SQL Server
1.3 Klasifikasi Virus Komputer
Virus komputer dan program lain yang membahayakan sistem komputer dapat
diklsifikasikan ke dalam beberapa kelompok menurut bagaimana cara mereka untuk
menjangkiti (infect) sebuah sistem komputer, bagian dari sistem komputer yang mereka
jangkiti, atau kelakuan (behaviour) yang dimiliki oleh mereka. Namun pada dasarnya definisi
dan klasifikasi mengenai kode-kode program berbahaya ini masih rancu dan menjadi
kontroversi bagi banyak orang bahkan bagi orang yang memang mendalami bidang
komputer.
Berikut adalah contoh klasifikasi dari berbagai jenis harmful program [3]:
Malware: merupakan singkatan dari malicious software, merujuk pada program yang
dibuat dengan tujuan membahayakan atau menyerang sebuah sistem komputer.
Terdiri atas virus komputer (computer viruses), computer worms, trojan horses, joke
programs dan malicious toolkits.
Computer virus: merujuk pada program yang memiliki kemampuan untuk bereplikasi
dengan sendirinya.
Computer worm: merujuk pada program independen yang memiliki kemampuan
untuk bereplikasi dengan sendirinya. Indepen di sini memiliki makna bahwa worm
tidak memiliki host program sebagaimana virus, untuk ditumpangi. Sering kali worm
dikelompokan sebagai sub-kelas dari virus komputer.
Trojan horse: merujuk pada program independen yang dapat mempunyai fungsi yang
tampaknya berguna, dan ketika dieksekusi, tanpa sepengetahuan pengguna, juga
melaksanakan fungsi-fungsi yang bersifat destruktif.
Malicious toolkits: merujuk pada program yang didesain untuk membantu
menciptakan program-program yang dapat membahyakan sebuah sistem komputer.
Contoh dari program jenis ini adalah tool pembuat virus dan program yang dibuat
untuk membantu proses hacking.
Joke program: merujuk pada program yang meniru operasi-operasi yang dapat
membahayakan sistem komputer, namun sebenarnya dibuat untuk tujuan lelucon
dan tidak mengandung operasi berbahaya apapun.
Virus Komputer: Sejarah dan Perkembangannnya
5
Gambar 1.2 Klasifikasi harmful program [3]
1.4 Anti Virus Software
Anti-virus software adalah sebuah program komputer yang digunakan untuk
memeriksa file-file dengan tujuan mengidentifikasi dan menghapus virus komputer dan
malware lainnya.
Pada saat ini ada tiga jenis teknologi anti virus yang lazimnya digunakan, yaitu:
scanners, monitors, dan integrity checkers.
1.4.1 Scanners
Scanners adalah program yang memeriksa file–file executable untuk menemukan
rangkaian kode yang merupakan bagian dari komputer virus yang telah diketahui
sebelumnya. Pada saat ini scanners adalah jenis program anti virus yang paling banyak
digunakan dengan alasan kemudahan dalam proses maintenance (pemeliharaan).
Pada dasarnya scanners terdiri atas:
Search Engine
Database yang berisi rangkaian kode sekuensial dari virus yang telah diketahui
sebelumnya (sering kali disebut juga virus signatures atau scan strings).
Jika sebuah virus baru ditemukan, maka database akan di-update dengan signature
yang dimiliki hanya oleh virus tersebut dan tidak terdapat di dalam program lainnya. Hal ini
dapat dilakukan tanpa memerlukan pemahaman yang lebih jauh mengenai virus tersebut.
Beberapa kelemahan yang dimiliki scannners adalah:
Scanners harus tetap dijaga agar up-to-date secara terus menerus karena scanners
hanya dapat mendeteksi virus yang telah diketahui sebelumnya.
Virus Komputer: Sejarah dan Perkembangannnya
6
Scanners cenderung rentan terhadap virus polymorphic yang memiliki kemampuan
untuk mengubah/mengkodekan dirinya sendiri sehingga terlihat berbeda pada setiap
file yang terinfeksi. Hal ini dapat diatasi dengan memahami mutation engine yang
terdapat di dalam virus tersebut secara mendetail.
Proses scanning yang dilakukan dalam mendeteksi keberadaan virus-virus cenderung
bersifat time-consuming, mengingat keberadaan virus-virus, worms, dan trojan
horses dengan jumlah yang luar biasa banyaknya.
1.4.2 Monitors
Monitors adalah program yang ‘tinggal’ (besifat residensial) di dalam memory
komputer untuk secara terus menerus memonitor fungsi dari sistem operasi yang bekerja.
Pendeteksian sebuah virus dilakukan dengan memonitor fungsi-fungsi yang diindikasikan
berbahaya dan memiliki sifat seperti sebuah virus, seperti merubah isi dari sebuah file yang
executable dan tindakan-tindakan yang mem-bypass sistem operas. Ketika sebuah program
mencoba melakukan hal-hal di atas, maka monitors akan memblok eksekusi dari program
tersebut.
Tidak seperti halnya scanners, monitors tidak memerlukan update secara terus
menerus. Namun kelemahan utama dari monitors adalah kerentanan terhadap virus tuneling
yang memiliki kemampuan untuk mem-bypass program monitors. Hal ini dikarenakan pada
sistem operasi PC pada umumnya, sebuah program yang sedang dieksekusi (termasuk
sebuah virus) memiliki akses penuh untuk membaca dan mengubah daerah manapun di
dalam memori komputer bahkan yang merupakan bagian dari sistem operasi tersebut
sehingga monitors yang juga merupakan bagian dari memori komputer dapat dilumpuhkan.
Kelemahan porgram monitors lainnya adalah kesalahan yang kerap kali dilakukannya
mengingat pendeteksian virus didasarkan pada kelakuan-kelakuan seperti yang disebutkan di
atas, sehingga kerap kali fungsi dari sebuah program lain (yang bukan merupakan virus
komputer) dianggap sebagai sebuah virus.
1.4.3 Integrity Checkers
Integrity checkers adalah program yang mampu mendeteksi objek executable lain
yang telah dimodifikasi dan mendeteksi infeksi dari sebuah virus. Integrity checkers bekerja
dengan cara menghitung checksum (menghitung integritas) dari kode-kode program yang
executable dan menyimpannya di dalam sebuah database. Kemudian secara periodik
checksum dari program-program tersebut akan dihitung ulang dan dibandingkan dengan
database checksum tersebut. Beberapa pakar menilai bahwa database checksum ini harus
Virus Komputer: Sejarah dan Perkembangannnya
7
dilalui proses kriptografi setelah proses perhitungan checksum selesai, untuk menghindari
usaha modifikasi yang dapat dilakukan oleh virus komputer.
Pada saat ini terdapat beberapa jenis integrity checkers:
Off-line integerity checkers: perlu di-run terlebih dahulu untuk memeriksa checksum
dari seluruh kode executable yang terdapat di dalam sistem komputer ybs.
Integrity checkers yang bekerja dengan cara membuat modul-modul yang akan diattach
pada file executable dengan bantuan program khusus tertentu. Sehingga bila
file executable tersebut dijalankan, ia akan melakukan proses perhitungan checksumnya
sendiri. Namun hal ini memiliki kekurangan karena tidak seluruh file executable
dapat diperlakukan seperti ini, dan integrity checkers jenis ini dapat dengan mudah
di-bypass oleh virus steath.
Jenis terakhir dari integrity checkers yang bersifat residensial (mendiami) memori dan
akan melakukan perhitungan ketika objek executable dieksekusi.
Integrity checkers tidak bersifat virus-specific sehingga tidak memerlukan update
secara terus menerus seperti scanners. Selain itu karena integrity checkers tidak berusaha
memblok kerja dari virus komputer seperti halnya monitors, maka integrity checkers tidak
dapat di-bypass oleh virus tunneling.
Beberapa kekurangan yang dimiliki integrity checkers:
Integrity checkers tidak memiliki kemampuan untuk mencegah proses penginfeksian
oleh sebuah virus. Ia hanya dapat mendeteksi dan melaporkan hasil pendeteksian
yang dilakukannya tersebut.
Integrity checkers pertama kali harus di sistem yang bebas virus, jika tidak maka
hasil perhitungan pertama yang dilakukannya merupakan hasil perhitungan yang
telah terinfeksi. Sehingga pada umumnya, pada saat proses peng-install-an program
integrity checkers dilengkapi dengan scanners untuk memastikan sistem bebas virus.
Integrity checkers rentan terhadap false positive (kesalah indikasi keberadaan virus
pada program yang sebenarnya bebas virus) , karena integrity checkers mendeteksi
perubahan bukan virus.
Integrity checkers tidak dapat mendeteksi sumber dari infeksi virus, walaupun dapat
mendeteksi proses penyebaran virus dan mengidentifikasi objek yang baru terinfeksi.
Integrity checkers rentan terhadap slow viruses, karena slow virus menginfeksi file
target ketika file tersebut ditulis ke dalam disk.
Virus Komputer: Sejarah dan Perkembangannnya
8
Meskipun adanya kekurangan-kekurangan di atas, banyak pakar menganggap
integrity checkers sebagai pertahanan yang paling baik terhadap ancaman virus komputer
dan malware lainnya.
Virus Komputer: Sejarah dan Perkembangannnya
9
Bab II
Dasar Virus Komputer
2.1 Elemen Fungsional Dari Sebuah Virus Komputer
Setiap virus komputer yang aktif, pada dasarnya harus terdiri atas dua buah bagian
dasar atau subroutine, yaitu:
• Search routine: bagian ini berfungsi untuk menemukan file atau lokasi baru yang
akan dijadikan target berikutnya untuk diserang. Bagian ini juga menentukan
bagaimana cara virus bereproduksi, apakah secara cepat atau lambat, apakah dapat
menyerang sebagian atau seluruh bagian dari target. Namun sebagaimana tradeoff
ukuran dan fungsionalitas yang dimiliki setiap program, bila virus memiliki search
routine yang rumit, maka akan dibutuhkan ruang yang lebih besar. Dengan demikian
walaupun search routine yang baik dapat membantu virus untuk menyebar lebih
cepat, namun ukuran virus akan bertambah besar karenanya.
• Copy routine: bagian ini berfungsi untuk meng-copy dirinya sendiri pada area yang
telah ditentukan oleh search routine. Ukuran dari bagian ini bergantung pada
kompleksitas dari virus yang di-copy. Sebagai contoh, virus yang menyerang file
berekstensi COM umumnya berukuran lebih kecil daripada virus yang menyerang file
EXE, karena file EXE memiliki struktur yang lebih kompleks, sehingga virus lebih
sukar untuk melekatkan diri pada file EXE.
Selain kedua bagian di atas, sering kali sebuah virus digabungkan lagi dengan bagian
yang berfungsi untuk menghindari deteksi, baik oleh pengguna komputer maupun software
pendeteksi virus. Bagian ini disebut anti-detection routine, dan dapat merupakan bagian dari
search routine, copy routine, atau bahkan terpisah dari keduanya. Sebagai contoh, bagian ini
akan mengaktifkan virus jika selama lima menit tidak ada tombol keyboard yang ditekan,
dengan asumsi pengguna tidak sedang menggunakan komputer. Kadang kala virus masih
digabungkan dengan bagian lain seperti routine untuk merusak sistem yang diserang atau
routine yang berfungsi hanya untuk lelucon.
2.2 Cara Kerja Virus Komputer
2.2.1 Gambaran Fisik Virus Komputer
Seperti yang telah dijelaskan sebelumnya, dalam melakukan proses replikasi sebuah
virus memodifikasi program lain sehingga virus tersebut menjadi bagian dari program
tersebut. Sehingga setiap kali program tersebut dieksekusi, virus akan dieksekusi pula dan
menyerang program lain.
Virus Komputer: Sejarah dan Perkembangannnya
10
Berikut adalah gambaran fisik dari virus komputer.
Gambar 2.1 Gambaran fisik virus komputer [8].
Tampak pada gambar di atas 3 jenis virus komputer yaitu:
Overwriting viruses: virus ini menjadi bagian dari program host dengan ‘menimpa’
(menggantikan) bagian awal dari program tersebut, sehingga program host tidak
akan mengalami perubahan ukuran, namun mengalami kerusakan dan tidak dapat
berfungsi sebagaimana mestinya.
Prepending viruses: virus bereplikasi dengan menjadi bagian awal dari program host
sehingga ketika program host dieksekusi, sebelum program host virus akan terlebih
dahulu dieksekusi. Keberadaan virus tidak menyebabkan kerusakan fungsional pada
program host namun akan memperbesar ukuran program host.
Appending viruses: virus bereplikasi dengan menjadi bagian akhir dari program host
tanpa merubah isi dari program host. Namun pada bagian awal program yang telah
terinfeksi diberikan mekanisme agar ketika program dieksekusi, virus akan dieksekusi
terlebih dahulu.
2.2.2 Cara Kerja Berbagai Jenis Virus Komputer
Berikut ini adalah penjelasan mengenai cara kerja berbagai jenis virus komputer.
File infector virus: memiliki kemampuan untuk melekatkan diri (attach) pada sebuah
file, yang biasanya merupakan file executable. Pada umumnya virus jenis ini tidak
menyerang file data. Namun dewasa ini, sebuah file data atau dokumen lainnya
dapat mengandung kode executable seperti macro, yang dapat dieksploitasi oleh
pencipta virus komputer, worms atau trojan horse.
Boot sector virus: memodifikasi program yang berada di dalam boot sector pada
DOS-formatted disk. Pada umumnya, sebuah boot sector virus akan terlebih dahulu
Virus Komputer: Sejarah dan Perkembangannnya
11
mengeksekusi dirinya sendiri sebelum proses bootup pada PC, sehingga seluruh
floppy disk yang digunakan pada PC tersebut akan terjangkiti pula.
Multipartite virus: memiliki fitur dari kedua jenis virus di atas (baik sebagai file
infector mau pun sebagai boot/system sector virus). Ketika sebuah file yang terinfeksi
oleh virus jenis ini dieksekusi, maka virus akan menjangkiti boot sector dari hard disk
atau partition sector dari komputer tersebut, dan sebaliknya.
Macro virus: menjangkiti program macro dari sebuah file data atau dokumen (yang
biasanya digunakan untuk global setting seperti template Microsoft Word), sehingga
dokumen berikutnya yang diedit oleh program aplikasi tersebut akan terinfeksi pula
oleh macro yang telah terinfeksi sebelumnya.
Stealth virus: virus ini bekerja secara residensial (menetap) di dalam memori dan
menyembunyikan perubahan yang telah dilakukannya terhadap file yang dijangkiti.
Hal ini dilakukan dengan mengambil alih fungsi sistem jika terjadi proses pembacaan.
Jika program lain meminta informasi dari bagian sistem yang telah dijangkiti virus
stealth, maka virus akan memberikan informasi yang sesuai dengan keadaan
sebelum terjangkiti virus, sehingga seolah-olah sistem berfungsi dalam keadaan baik
tanpa gangguan dari virus komputer.
Polymorphic virus: virus yang cenderung melakukan perubahan di dalam kodenya
setiap kali mengalami proses replikasi sehingga sulit untuk dideteksi oleh anti-virus
software.
Companion virus: adalah virus yang bekerja dengan berpura-pura menggantikan file
yang hendak diakses oleh pengguna. Sebagai contoh dalam sistem operasi DOS, file
A.EXE dapat diinfeksi dengan membuat sebuah file dengan nama A.COM. DOS akan
terlebih dahulu akan mencari file berekstensi COM sebelum file dengan ekstensi EXE.
Setelah A.COM telah dieksekusi, kemudian A.EXE akan dieksekusi pula sehingga file
tersebut terinfeksi pula. Cara lain adalah dengan menempatkan sebuah file dengan
nama yang persis sama pada cabang lain dari file tree, sehingga bila file palsu ini
ditempatkan secara tepat dan terjadi kesalahan dengan tidak menuliskan path yang
lengkap dalam menjalankan sebuah program, akan berakibat tereksekusinya file
palsu tersebut.
Tunneling virus: virus ini mencoba untuk mengambil alih interrupt handlers pada DOS
dan BIOS, kemudian meng-install dirinya sehingga berada ‘di bawah’ programprogram
lainnya. Dengan ini virus dapat menghindari hadangan dari program anti
virus sejenis monitors.
Fast Infectors Virus: Virus jenis ini tidak hanya menyerang ketika program target
dieksekusi, melainkan juga ketika diakses. Hal ini bertujuan untuk menumpangi
Virus Komputer: Sejarah dan Perkembangannnya
12
perangkat anti virus sebagai media penyebaran ketika melakukan pengecekan
terhadap file-file di dalam komputer.
Slow Infectors Virus: merupakan kebalikan dari fast infectors, di mana virus hanya
akann menyebar ketika file-file target diciptakan atau dimodifikasi. Hal ini bertujuan
untuk memperdaya anti virus sejenis integrity checkers dengan menumpangi proses
yang ‘sah’ untuk mengubah sebuah file.
Armoured virus: merupakan virus yang dibuat sedemikian rupa sehingga sulit untuk
peneliti anti-virus dalam mempelajari cara mereka bekerja.
2.3 Beberapa Contoh Dasar Virus Komputer
Berikut adalah beberapa contoh virus komputer yang termasuk file infector dan ditulis
dengan menggunakan bahasa pemrograman tingkat rendah assembly.
2.3.1 Virus Mini-44
Virus Mini-44 [4] merupakan virus file infector sederhana yang menyerang file-file
dengan ekstensi .COM pada direktori tempatnya berada. Virus ini memiliki ukuran sekitar 44
bytes setelah di-compile, dan ditulis dengan bahasa assembly untuk pada prosesor x86. Virus
mini-44 jenis overwriting virus sehingga program yang terinfeksi akan mengalami kerusakan
karena bagian awal dari program tersebut digantikan oleh virus ini.
Pada dasarnya virus ini menggunakan perintah INT (interrupt service routine) yang
merupakan fungsi interrupt DOS untuk melakukan pencarian file target, proses pembukaan
dan penutupan file target, serta proses penyalinan virus ke dalam file target. Listing
selengkapnya yang disertai penjelasan singkat disertakan di dalam bagian lampiran.
Secara umum, virus mini44 beroperasi dengan langkah-langkah sebagai berikut:
Virus atau program lain yang telah terinfeksi dieksekusi oleh DOS.
Virus memulai eksekusi pada offset 100H dalam segment yang diberikan oleh DOS.
Virus melakukan pencarian file-file berekstensi .COM pada direktori yang sama
dengan menggunakan wildcard “*.COM”.
Setiap kalo virus menemukan file target, virus akan menyalin dirinya dari awal file
tersebut.
Setelah selesai, virus berhenti dan menyerahkan kontrol kembali kepada DOS.
Virus Komputer: Sejarah dan Perkembangannnya
13
Gambar 2.2 Percobaan virus mini-44
Gambar di atas merupakan hasil dari percobaan dengan virus mini-44 yang
menyerang sebuah program HOST.COM yang berfungsi menampilkan pesan “This is the host
file to be infected !” (seluruh program di-compile menggunakan Turbo Assembler 5). Tampak
bahwa setelah program virus mini-44 dijalankan maka program host akan mengalami
kerusakan, di mana pesan di atas tidak lagi ditampilkan ketika program host dieksekusi.
Dapat dilihat pula karena virus mini-44 merupakan overwriting virus, maka ukuran program
host setelah terinfeksi virus tidak berubah.
2.3.2 Virus TIMID
Virus TIMID seperti halnya virus mini-44 merupakan virus yang menyerang program
dengan ekstensi .COM, namun virus TIMID merupakan appending virus seperti yang
ditunjukkan oleh gambar berikut.
Gambar 2.3 Virus TIMID [4]
Virus Komputer: Sejarah dan Perkembangannnya
14
Secara umum, virus TIMID bekerja dengan langkah-langkah sebagai berikut:
Virus atau program lain yang telah terinfeksi dieksekusi, dan kode virus dieksekusi
terlebih dahulu.
Virus mencari file .COM yang sesuai untuk dijadikan target.
Jika file yang sesuai untuk dijadikan telah ditemukan, maka virus akan meng-copy
kodenya sendiri pada akhir dari file target.
Kemudian virus akan membaca beberapa byte pertama dari file target ke dalam
memori untuk kemudian akan dituliskan sebagai data khusus di dalam kode virus
tersebut (yang akan diperlukan virus ketika dieksekusi).
Selanjutnya virus akan menuliskan instruksi jump pada awal target file yang akan
memberikan kontrol kepada kode virus ketika file dieksekusi kemudian.
Lalu virus akan menuliskan kembali beberapa byte pertama dari file target (yang
sebelumnya ditulis ke dalam memori) pada offset 100H.
Terakhir, virus akan melakukan jump menuju alamat dengan offset 100H dan
program target akan dieksekusi.
Virus TIMID merupakan jenis virus appending yang akan membubuhkan dirinya pada
akhir bagian dari file yang diserang. Hal ini tentu saja akan menyebabkan ukuran file akan
membesar. Untuk itu dalam pencarian file target diperlukan sebuah mekanisme yang dapat
mencegah terjadinya penyerangan terhadap file yang sama secara berulang-ulang. Jika ini
terjadi tentu saja akan berakibat buruk karena file yang diserang akan semakin bertambah
besar secara terus menerus dan dapat menimbulkan kecurigaan dari pengguna.
Gambar 2.4 Mekanisme pencarian file target virus TIMID [4]
Gambar di atas menunjukan mekanisme pencarian file target yang dilakukan virus
TIMID untuk mencegah terjadinya penyerangan yang berulang-ulang terhadap file yang
Virus Komputer: Sejarah dan Perkembangannnya
15
sama. Cara yang digunakan virus TIMID dalam adalah sebagai berikut: setiap kali virus telah
menjangkiti file, maka virus akan mengganti beberapa byte paling awal dari file tersebut
dengan byte-byte khusus yang kecil kemungkinannya ditemukan pada program lain (dalam
hal virus ini virus TIMID akan menuliskan ‘E9 56 49’ hex atau instruksi near jmp ‘VI’).
Sehingga ketika virus menemukan sebuah ‘calon’ file target lainnya, virus akan terlebh dahulu
memeriksa bagian awal dari file tersebut. Apabila pada awal file tersebut ditemukan byte-byte
khusus tersebut, maka virus akan menyimpulkan bahwa file tersebut telah terinfeksi
sebelumnya dan akan mencari file lain untuk diserang.
Gambar 2.4 Percobaan dengan virus TIMID
Gambar di atas hasil percobaan dengan virus TIMID. Dalam listing virus TIMID di
lampiran, dapat dilihat bahwa terdapat routine yang akan menampilkan nama file target
setiap kali proses infeksi dilakukan. Pada gambar terlihat bahwa dalam direktori yang akftif
terdapat 3 buah file .COM yang dapat dijadikan target, yaitu: HOST.COM, HOST2.COM, dan
HOST3.COM. Dapat dilihat pada gambar di atas bahwa setelah file-file .COM di atas terinfeksi
maka ukuran file-file tersebut berubah (membesar), karena virus telah menyalinkan dirinya
Virus Komputer: Sejarah dan Perkembangannnya
16
ke dalam file-file tersebut. Namun dapat dilihat pula bahwa fungsi dari file-file tersebut masih
bekerja dengan baik.
Virus Komputer: Sejarah dan Perkembangannnya