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