PENERAPAN FUNGSI HASHING CRC32 PADA PROGRAM
ANTIVIRUS MENGGUNAKAN VISUAL BASIC 6.0
SKRIPSI
YASRI AZWAR SIREGAR
031401027
PROGRAM STUDI S-1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PENERAPAN FUNGSI HASHING CRC32 PADA PROGRAM
ANTIVIRUS MENGGUNAKAN VISUAL BASIC 6.0
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Komputer
YASRI AZWAR SIREGAR
0 3 1 4 0 1 0 2 7
PROGRAM STUDI STRATA 1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PENERAPAN FUNGSI HASHING CRC32 PADA
PROGRAM ANTIVIRUS MENGGUNAKAN VISUAL BASIC 6.0
Kategori : SKRIPSI
Nama : YASRI AZWAR SIREGAR
Nomor Induk Mahasiswa : 031401027
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, September 2008
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs.Sawaluddin, M.IT Prof.Dr.Opim S.Sitompul,M.Sc
NIP. 132 206 398 NIP. 131 653 971
Diketahui/Disetujui oleh Prog. Studi Ilmu Komputer S-1 Ketua,
PERNYATAAN
PENERAPAN FUNGSI HASHING CRC32 PADA PROGRAM ANTIVIRUS
MENGGUNAKAN VISUAL BASIC 6.0
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, September 2008
PENGHARGAAN
Alhamdulillah penulis ucapkan kepada Sang Khaliq Allah SWT yang melimpahkan rahmat dan karunia-Nya sehingga kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Prof. Dr. Opim S. Sitompul, M.sc dan Bapak Drs.Sawaluddin, M.IT selaku pembimbing pada penyelesaian tugas akhir ini yang telah memberikan arahan serta kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat serta profesional telah diberikan kepada penulis sehingga penulis dapat menyelesaikan tugas akhir ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S-1 Ilmu Komputer FMIPA USU Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, MIT., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen dan pegawai pada Program Studi S-1 Ilmu Komputer FMIPA USU, rekan-rekan mahasiswa Ilmu Komputer serta semua pihak yang telah membantu dan memberi masukan kepada penulis.
Akhirnya, tidak terlupakan penulis menghaturkan jazakumullah khairan katsiran kepada ayahanda dan ibunda tercinta, Khayalan Siregar dan Laila Hanum Siregar serta seluruh keluarga tersayang yang telah banyak berjasa dan selalu memberi dorongan serta bantuan baik moril maupun meteril yang tidak terbalaskan kepada penulis selama menyelesaikan skripsi ini. Semoga Allah SWT akan membalasnya.
ABSTRAK
Virus komputer memiliki berbagai kemampuan dasar diantaranya adalah kemampuan
memanipulasi file, kemampuan untuk memperbanyak diri, dan merusak data. Untuk
menghalangi kegiatan virus yang dapat merusak data pengguna komputer maka para
pengembang sofware membangun sebuah sofware yang dikenal dengan istilah
antivirus. Dalam mengenali dan menghapus virus, antivirus menggunakan beberapa
metode, salah satunya adalah metode hashing. Pada skripsi ini akan dibahas
bagaimana menggunakan fungsi hashing CRC32 sebagai metode untuk mengenali
sebuah virus untuk kemudian dihapus dari komputer user. Fungsi Hashing CRC32
dapat dijadikan sebagai metode untuk mendapatkan penanda dari sebuah file virus, hal
ini dikarenakan metode CRC32 menghitung penanda file berdasarkan ukuran dan isi
file, sehingga kecil sekali kemungkinan dua buah file yang berbeda memiliki penanda
yang sama, karena perbedaan 1 bit saja akan mengubah nilai CRC32 file. Selanjutnya
Implementation of Hashing Function CRC32 for Antivirus Program
With Visual Basic 6.0
ABSTRACT
Computer viruses have some capabilities, such as manipulating file, reduplicating and
damaging data. To avoid computer viruses activities, then antivirus programs
developed. To recognize and deleting virus, antivirus programs are use some methods.
One of them is Hashing Function method. In this paper will be explained how
Hashing Function CRC32 recognize a virus, then delete it from user’s computer.
CRC32 identifying a virus file by computing size and content of the file, since there is
very small possibility that two files have same signatures. The signatures will be saved
DAFTAR ISI
1.4 Tujuan Peneltian 5
1.5 Manfaat Penelitian 5
1.6 Sistematika Penulisan
Bab 2 Landasan Teori 6
2.1. Pengertian Virus dan Antivirus 6
2.2. Karakteristik Virus Komputer 9
2.2.1 Ukuran 9
2.2.2 Stealth 9
2.2.3 Metode Infeksi 10
2.2.4 Terminate and Stay Resident 11
2.3 Rutin-Rutin Pada Virus Komputer 12
2.4 Aktivitas-Aktivitas Virus Pada Komputer 14
2.5 Tanda-Tanda Keberadaan Virus 16
2.6 Sejarah Virus Komput er 17
2.7 Jenis-Jenis Virus Komputer 20
2.7.1 Berdasarkan Teknik Pembuatannya 21
2.7.2 Berdasarkan Infeksi Yang Dilakukan 22
2.7.3 Berdasarkan Media Penyebarannya 23
2.8 Program Antivirus 25
2.8.1 Scanner 25
2.8.2 Monitor 26
2.8.3 Integrity Checkers 26
2.9 Pengertian Checksum dan Fungsi Hashing CRC32 28
Bab 3 Analisis Dan Perancangan 30
3.1. Analisis 30
3.1.1 Analisis Permasalahan 30
3.2 Perancangan 33
3.2.1Algoritma Antivirus 33
3.2.2Struktur Kode Antivirus 35
Bab 4 Analisis Dan Perancangan 38
4.1. Implementasi Antivirus Pada Visual Basic 6.0 38 4.2. Penggunaan Program Dalam Scanning dan Penghapusan Virus 38
4.3. Tampilan Interface 39
4.4 CRC32 Calculator 44
4.5. Task Manager Alternatif 47
4.6. Database Virus 53
4.7. Search Engine Virus 54
4.8. Pengujian Program 60
Bab 5 Penutup 62
5.1. Kesimpulan 62
5.2. Saran 63
DAFTAR TABEL
Halaman
Tabel 4.1 Property dan Value Pada Kontrol Program Antivirus 39
Tabel 4.2 Property dan Value Pada Kontrol CRC32 Calculator 43
Tabel 4.3 Property dan Value Pada Kontrol Task Manager Alternatif 48
DAFTAR GAMBAR
Halaman
Gambar 1.1 Flow Chart Antivirus 3
Gambar 2.1 Overwriting virus 10
Gambar 2.2 Appending virus 11
Gambar 2.3 Prepending virus 11
Gambar 2.4 Tampilan Virus Creation Lab (VCL) 19
Gambar 3.1 Ilustrasi Cara kerja Antivirus 31
Gambar 3.2 Flowchart Antivirus 34
Gambar 3.3 Tampilan Utama Antivirus 35
Gambar 4.1 Tampilan Interface Antivirus 39
Gambar 4.2 Tampilan Utama CRC32 Calculator 47
Gambar 4.3 Tampilan Utama Task Manager Alternatif 52
Gambar 4.4 Tampilan Database Virus 54
Gambar 4.5 Tampilan Antivirus Setelah Dieksekusi 61
ABSTRAK
Virus komputer memiliki berbagai kemampuan dasar diantaranya adalah kemampuan
memanipulasi file, kemampuan untuk memperbanyak diri, dan merusak data. Untuk
menghalangi kegiatan virus yang dapat merusak data pengguna komputer maka para
pengembang sofware membangun sebuah sofware yang dikenal dengan istilah
antivirus. Dalam mengenali dan menghapus virus, antivirus menggunakan beberapa
metode, salah satunya adalah metode hashing. Pada skripsi ini akan dibahas
bagaimana menggunakan fungsi hashing CRC32 sebagai metode untuk mengenali
sebuah virus untuk kemudian dihapus dari komputer user. Fungsi Hashing CRC32
dapat dijadikan sebagai metode untuk mendapatkan penanda dari sebuah file virus, hal
ini dikarenakan metode CRC32 menghitung penanda file berdasarkan ukuran dan isi
file, sehingga kecil sekali kemungkinan dua buah file yang berbeda memiliki penanda
yang sama, karena perbedaan 1 bit saja akan mengubah nilai CRC32 file. Selanjutnya
Implementation of Hashing Function CRC32 for Antivirus Program
With Visual Basic 6.0
ABSTRACT
Computer viruses have some capabilities, such as manipulating file, reduplicating and
damaging data. To avoid computer viruses activities, then antivirus programs
developed. To recognize and deleting virus, antivirus programs are use some methods.
One of them is Hashing Function method. In this paper will be explained how
Hashing Function CRC32 recognize a virus, then delete it from user’s computer.
CRC32 identifying a virus file by computing size and content of the file, since there is
very small possibility that two files have same signatures. The signatures will be saved
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Seiring dengan pesatnya perkembangan penggunaan komputer sebagai alat bantu
manusia di berbagai bidang kehidupan, semakin besar pula jenis software yang
digunakan.Virus komputer merupakan salah satu software komputer yang menjadi
ancaman bagi keamanan sistem komputer. Virus komputer sebagai salah satu jenis
infeksi elektronik, dapat menyebabkan kerusakan pada sistem komputer yang
diserangnya. Para user yang komputernya diserang oleh virus merasa akan tidak
nyaman terhadap keberadaan virus tersebut yang mungkin akan memperlambat
kinerja atau bahkan menghilangkan beberapa fungsi dari komputer.
Virus-virus komputer dapat dihapus dengan menggunakan aplikasi yang
dikenal sebagai antivirus, hanya saja beberapa antivirus dipasarkan dengan harga yang
relatif mahal. Bagi para user yang memiliki uang untuk membeli antivirus hal seperti
ini dianggap bukan suatu masalah besar. Untuk membantu user yang tidak mampu
membeli lisensi antivirus, maka beberapa perusahaan atau pembuat antivirus telah
meluncurkan antivirus yang dapat dipakai oleh user tanpa harus membeli lisensi,
tetapi user diharuskan untuk memiliki koneksi internet dalam melakukan update
database virus ke komputer server pada produsen antivirus, misalnya AVG yang
dirilis Grisoft dan PCMav yang dikeluarkan oleh PC Media.
Metode yang dapat dipakai user sebagai metode pada proses scanning salah
satunya adalah metode CRC32. Sesuai dengan fungsi utama dari fungsi hashing,
CRC32 berfungsi untuk mengambil penanda dari sebuah file yang nantinya akan
dipakai sebagai acuan untuk memeriksa apakah suatu file adalah file virus atau bukan.
Kecil sekali kemungkinan bahwa dua buah file mempunyai nilai CRC32 yang sama.
Hal ini disebabkan perbedaan 1 bit saja pada file akan mengubah nilai CRC32 file
tersebut. CRC32 hanya mengambil 32 bit dari sebuah file yang dijadikan sebagai
dari file. Keuntungan memakai CRC32 adalah karena hanya terdiri dari 32 bit
sehingga mempercepat proses scanning.
Metode lain yang dapat dipakai user adalah metode heuristik. Pada metode ini
program akan menganggap suatu file adalah virus jika file tersebut mempunyai sifat
seperti sifat virus (misalnya merubah nilai registry dan memasuki program start up
system). Kelemahan dari metode ini adalah seringnya terjadi kesalahan pada
pendeteksian virus, hal ini dikarenakan beberapa file sistem mempunyai rutin yang
sama seperti file sistem.
Masalah yang dihadapi selama ini adalah semakin pesatnya perkembangan
virus mengharuskan user untuk mendownload data base virus yang semakin besar
ukurannya. Setelah user mendownload data base antivirus, belum tentu virus yang
menginfeksi komputer user terdapat dalam data base antivirus tersebut. Oleh karena
itu, akan lebih efektif jika user hanya menghitung nilai CRC32 dari file virus yang
menginfeksi komputer user, kemudian memasukkan nilai CRC32 file tersebut
kedalam data base antivirus, kemudian antivirus melakukan scanning terhadap
komputer dan menghapus seluruh file yang memiliki nilai CRC32 yang serupa dengan
file virus tersebut. Selain itu dengan menggunakan antivirus sederhana yang dibuat
sendiri oleh user dapat membantu user yang sama sekali tidak memiliki akses Internet.
Kecenderungan user untuk memakai antivirus yang telah disediakan oleh
pembuat antivirus, yang komersil ataupun yang gratis, menjadi alasan bagi penulis
untuk membuat sebuah aplikasi antivirus yang dapat dibuat dan dikembangkan oleh
user. Oleh karena itu penulis tertarik untuk menjadikan “PENERAPAN FUNGSI
HASHING CRC32 PADA PROGRAM ANTIVIRUS MENGGUNAKAN VISUAL
BASIC 6.0” sebagai judul skripsi penulis.
1.2 Rumusan Masalah
Antivirus yang akan dibangun menggunakan metode CRC32 sebagai sarana
pendeteksi virus dalam suatu komputer. Cara untuk menentukan nilai CRC32 dari
directory windows/system atau system32 yang kemudian akan dihitung nilai CRC32
nya. Virus yang telah dideteksi akan dihapus secara permanen oleh antivirus atau
hanya dipindahkan ke recycle bin. Adapun flow chart antivirus ditunjukkan pada
gambar 1.1.
Gambar 1.1 Flow Chart Scanner Antivirus tidak
START
Sistem mengambil ukuran dan nama file untuk dihitung nilai CRC32 nya
Sistem melihat ke database virus untuk membandingkan apakah nilai CRC32 file ada di list virus
Apakah nilai CRC32 ada di list virus?
Hapus virus permanen?
Apakah file yang dicari habis?
Pindahkan ke recycle bin
END
tidak
Hapus virus tidak
ya
Sedangkan algoritmanya adalah sebagai berikut:
1. START
2. Aplikasi memeriksa file dengan mengambil nama dan ukuran file untuk dihitung
nilai CRC32
3. Aplikasi melihat ke file signatures.db untuk membandingkan apakah nilai crc32 file
ada di list virus (signatures.db)
4. Apakah Nilai CRC32 file ada di list virus(signatures.db)?
a. jika ada langsung ke nomor 5
b. jika tidak langsung ke nomor 6
5. Apakah virus dihapus permanen?
a. Jika ya langsung ke nomor 8
b. Jika tidak langsung ke nomor 7
6. Apakah File yang dicari Habis?
a. Jika ya langsung ke nomor 8
c. Jika tidak kembali ke nomor 2
7. Pindahkan ke recycle bin
8. END
1.3 Batasan Masalah
Antivirus yang akan dibangun adalah antivirus yang menggunakan metode CRC32
dalam pendeteksian virus. Jadi virus yang dapat dikenali adalah virus yang telah
terdefinisi nilai CRC32 nya dalam database virus.
1.4 Tujuan Penelitian
Tujuan dari penelitian skripsi ini adalah membuat database antivirus yang lebih kecil
ukurannya dan sesuai dengan yang dibutuhkan oleh user, dan memberi alternatif lain
kepada user untuk melakukan update database virus tanpa harus melalui koneksi
1.5 Manfaat Penelitian
1. Aplikasi dapat digunakan sebagai salah satu antivirus pada komputer.
2. User dapat meminimalisasi pemakaian media peyimpanan yang dipakai untuk
menyimpan database virus.
3. User dapat melakukan update database virus tanpa harus melakukan koneksi ke
server penyedia antivirus.
1.6 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi dalam lima bab, masing-masing bab
diuraikan sebagai berikut :
Bab 1 PENDAHULUAN
Bab ini berisikan Latar Belakang Pemilihan Judul, Perumusan Masalah,
Tujuan dan Manfaat Pembahasan, Batasan Masalah, dan Sistematika
Penulisan.
Bab 2 LANDASAN TEORI
Bab ini membahas definisi virus, ciri-ciri sistem virus, strategi
penanggulangan serangan virus, perencanaan pembuatan antivirus.
Bab 3 ANALISIS DAN PERANCANGAN
Bab ini membahas tentang aplikasi yang dibangun, komponen yang
digunakan, penganalisisan, serta perancangan model sistem, struktur
perangkat lunak, database virus dan tampilan antivirus.
Bab 4 IMPLEMENTASI
Bab ini menjelaskan bagaimana mengimplementasikan program yang
sudah dibangun berdasarkan perancangan sistem dengan menguraikan
persiapan-persiapan teknis sebelum menguji program serta menampilkan
Bab 5 PENUTUP
Pada bab ini akan diuraikan kesimpulan dari penjelasan bab-bab
sebelumnya, sehingga dari kesimpulan tersebut penulis mencoba memberi
saran yang berguna untuk melengkapi dan menyempurnakan
BAB 2
LANDASAN TEORI
2.1 Pengertian Virus dan Antivirus
Virus komputer bekerja dengan memanfaatkan fungsi-fungsi operating system yang tersembunyi dan juga memanfaatkan celah-celah yang ada dari program tertentu.
Virus komputer memiliki kemampuan dasar diantaranya kemampuan memanipulasi,
dan kemampuan untuk memperbanyak diri.
Istilah computer virus pertama kali digunakan oleh Fred Cohen dalam papernya yang berjudul ‘Computer Viruses – Theory and Experiments’ pada tahun
1984. Berikut kutipan definisi yang diberikan oleh Fred 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”. (Cohen, 1984).
Menurut definisi yang diberikan di atas dapat digarisbawahi beberapa sifat dasar virus
komputer yaitu mempunyai kemampuan untuk menjangkiti (menginfeksi) program
lain dan menyebar. Pada dasarnya penggunaan isitilah virus dikarenakan adanya
kesamaan dalam hal sifat antara virus komputer dengan virus yang dikenal dalam
istilah biologi. Di mana keduanya memiliki dua tujuan yaitu untuk bertahan hidup dan
memperbanyak diri.
Pada dasarnya virus komputer dapat diklasifikasi menjadi dua jenis. Jenis virus
komputer yang pertama dibuat untuk tujuan penelitian dan pembelajaran, 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’.
Virus komputer merupaka
menyalin dirinya sendiri dan menyebar dengan cara menyisipkan salinan dirinya ke
biologis yang menyebar dengan cara menyisipkan dirinya sendiri ke
membuat pengguna komputer merasa terganggu, maupun menghambat kinerja
hardware dengan memanipulasi program driver hardware. Efek negatif virus komputer
terutama adalah perbanyakan dirinya sendiri, yang membuat sumber daya pada
komputer (seperti CPU Time, penggunaan memori) menjadi berkurang secara signifikan. (Aycock, 2006).
Virus komputer umumnya dapat merusa
dapat secara langsung merus
98/98SE,
Windows 2003, Windows 2003 Server, Windows XP Home Edition, Windows XP
Professional, Windows XP Servicepack 1, Windows XP Servicepack 2, windows
Vista) bahka
Sebuah program virus pertama kali harus dijalankan sebelum ia mampu untuk
menginfeksi komputer. Ada berbagai macam cara agar virus ini dijalankan oleh user,
misalnya dengan menempelkan dirinya pada suatu program yang lain. Ada juga virus
yang jalan ketika user membuka suatu tipe file tertentu. Kadangkala virus juga
memanfaatkan celah keamanan yang ada pada komputer user (baik sistem operasi atau
aplikasi), dengan memanfaatkan hal-hal tersebut virus dapat berjalan dan kemudian
akan menyebarkan dirinya sendiri secara otomatis.
User juga dapat menerima suatu file yang sudah terinfeksi virus dalam
attachment e-mail. Begitu file tersebut dieksekusi, maka kode virus akan berjalan dan
mulai menginfeksi komputer dan bisa menyebar pula ke semua file yang ada di
2.2 Karakteristik Virus Komputer
Setiap virus mempunyai karakteristik tersendiri yang berbeda antara satu dengan yang
lain. Berikut ini adalah karakter-karakter virus yang membedakan virus yang satu
dengan yang lain :
2.2.1 Ukuran
Ukuran virus sangatlah kecil bila dibandingkan dengan kebanyakan program-program
komputer. Program-program virus dapat dibuat dengan Assembler yang akan
menghasilkan ukuran yang jauh lebih kecil. Biasanya virus diberi nama dengan
menyertakan besar penambahan ukurannya misalnya virus Die Hard 4000 artinya
virus Die Hard akan menambah ukuran file yang diinfeksi dengan besar 4000 byte.
Hal ini sangat bertolak belakang dengan virus-virus yang dibuat dengan bahasa
pemrograman tingkat tinggi yang membutuhkan ukuran yang lebih besar, untuk itu
para pembuat virus melakukan compress untuk memperkecil ukuran file. Ukuran file virus yang sangat kecil akan menyamarkan keberadaan virus pada komputer.
2.2.2 Stealth
Virus dengan tipe stealth adalah suatu virus yang berusaha untuk menghindari deteksi dengan menyembunyikan kehadirannya pada file yang terinfeksi. Untuk mendukung
hal ini virus stealth akan menghalangi panggilan sistem yang akan membaca file yang terinfeksi tersebut. Sehingga komputer akan mendapati informasi file yang bukan
sebenarnya. Artinya komputer telah membaca file yang salah. Virus akan
memberitahu sistem komputer sehingga seolah-oleh segala sesuatunya berjalan
normal, padahal sudah beberapa komponen sistem telah dirusak virus. Dengan teknik
ini virus akan menipu antivirus. Teknik ini merupakan teknik virus yang sudah
2.2.3 Metode Infeksi
Ada banyak cara yang dilakukan oleh virus dalam menginfeksi program induk.
Program induk merupakan program yang terdapat pada sistem yang dijadikan virus
sebagai program pemicu. Berikut ini adalah metode-metode infeksi yang umum yang
digunakan. Sebuah virus dapat mempunyai satu atau lebih metode infeksi.
a. Overwriting
Metode ini merupakan metode yang sudah kuno. Virus akan meng-copy tubuhnya ke program induk. Sehingga program induk yang terinfeksi tersebut rusak. Akibatnya
program tidak dapat berjalan dengan baik. Dengan metode ini ukuran file yang
terinfeksi tidak berubah.
Sebelum infeksi
Sesudah infeksi
file virus
Gambar 2.1. Overwriting virus
b. Appending
Ini merupakan metode penginfeksian yang lebih maju. Virus men-copy tubuhnya
dengan cara menambahi program induk tidak dengan menimpah (overwriting).
Program yang terinfeksi tetap dapat berjalan normal, tetapi ukuran file bertambah
sebelum infeksi
setelah infeksi
file virus
Gambar 2.2 Appending Virus
c. Prepending
Metode penginfeksian virus ini mirip dengan appending, hanya saja virus mengcopy tubuhnya pada bagian awal program induk. Saat program terinfeksi virus dijalankan,
kode virus akan tereksekusi terlebih dahulu kemudian diikuti dengan program induk.
sebelum infeksi
setelah infeksi
file virus
Gambar 2.3. Prepending Virus
d. Disk Infector
Virus dengan tipe ini akan menginfeksi boot record atau dapat juga partisi disk.
(Minnarto,1999).
2.2.4 Terminate and Stay Resident (TSR)
TSR adalah singkatan dari Terminate and Stay Resident yaitu suatu virus yang akan berdiam di memori komputer dan akan tetap ada sampai komputer user di shut down.
2.3 Rutin-Rutin Pada Virus Komputer
Setiap virus mempunyai bagian-bagian yang disebut routine. Ada bagian yang
penting dan ada juga yang bersifat tambahan. Komponen tambahan ini meski tidak
begitu penting, menjadi karakteristik yang membedakannya dengan virus-virus lain.
Dua komponen dasar yang harus dimiliki oleh virus adalah search routine (rutin pencari) dan copy routine (rutin pengganda). Terdapat satu routine lagi, yang meskipun bersifat tambahan, namun ia mempunyai arti penting dalam kelangsungan
hidup virus melawan antivirus. Rutin ini adalah rutin anti detection routine. Adapun penjelasan lebih lanjut dari rutin-rutin tersebut adalah sebagai berikut:
a. Rutin pencari
Rutin pencari (search routine) berperan sebagai unit yang mencari file-file baru atau daerah baru yang akan diinfeksi pada disk. Rutin ini berkaitan erat
dengan penentuan seberapa baik virus akan bereproduksi, apakah dia akan
bereproduksi secara cepat atau lambat, termasuk menentukan seberapa banyak
disk yang akan diinfeksi dan juga daerah-daerah tertentu pada disk yang akan
menjadi target penginfeksian. Semakin rumit rutin pencarinya, semakin besar
rutin pencarinya. Semakin andal rutin pencarinya, semakin cepat penyebaran
virus.
b. Rutin pengganda
Komponen kedua yang harus dimiliki oleh virus adalah rutin pengganda. Rutin
ini berfungsi menggandakan virus kesuatu area yang telah ditentukan oleh
rutin pencari. Besar kecilnya rutin pengganda ini tergantung pada
kekompleksan virus dalam penggandaan diri. Sebagai contoh, virus yang
menginfeksi file COM mempunyai rutin pengganda lebih kecil dari pada virus
yang menginfeksi file EXE. Hal ini dikarenakan struktur file EXE lebih rumit
dibandingkan file COM sehingga banyak yang harus dilakukan virus untuk
c. Rutin anti deteksi
Untuk mencapai tujuannya mencari file induk yang akan diinfeksi dengan rutin
pencari dan kemudian menginfeksikannya dengan bantuan rutin pengganda,
virus juga membutuhkan fitur-fitur tambahan. Fitur-fitur ini sangat berperan
dalam mendukung tujuan tersebut. Diantara fitur yang biasanya ditambahkan
dalam tubuh virus yaitu rutin untuk menghindari deteksi. Anti detection routine bisa dibangun menyatu dengan rutin pencari atau rutin pengganda sehingga menjadi bagian yang integral, tetapi bisa juga menjadi bagian
tersendiri. (Chandraleka, 2008).
Kerja rutin pencari haruslah dibatasi untuk menghindari deteksi.
Maksudnya, bila rutin pencari bekerja terus menerus memeriksa setiap file
yang ada dalam disk, maka akan membutuhkan waktu yang lama dan akan
menyebabkan aktifitas disk tidak normal dan tidak biasa. Ini tentu cukup
mengkhawatirkan karena seorang user yang cukup waspada dengan aktivitas
virus bisa menjadi curiga dan keberadaan virus dapat diketahui. Hal ini tentu
sangat tidak diinginkan oleh para pembuat virus karena kelangsungan hidup
virus menjadi terhambat.
Sebagai alternatif untuk mendukung anti detection routine, virus diaktifkan pada kondisi-kondisi tertentu, misalnya pada tanggal-tanggal
tertentu seperti virus-virus pada keluarga Friday 13. Virus ini merupakan virus
parasitic yang berbahaya dan bekerja dengan mencari seluruh file yang
berkestensi .COM (kecuali COMMAND.COM) pada direktori aktif beserta
subdirektorinya. Selanjutnya menempelkan dirinya pada bagian akhir file
korban. Virus ini aktif setiap hari Jum’at ketiga belas dengan menghapus
file-file.
Ada juga virus yang menggunakan alternative lain, misalnya dengan
mendeteksi hentakan keyboard. Bila keyboard tidak ditekan selama jangka
waktu yang ditentukan (misalnya 10 menit), maka virus mulai diaktifkan. Trik
tidak berada didepan komputernya. Dengan demikian, aktivitas virus yang
terdapat pada sistem operasi komputer dapat berjalan lancar tanpa
sepengetahuan user.
Rutin pencari, pengganda, dan anti deteksi merupakan
komponen-komponen yang mendasar yang ada dalam setiap virus. Tentu saja virus-virus
komputer mempunyai rutin-rutin tambahan yang lain, dengan tujuan
menghentikan operasi normal komputer, menyebabkan kerusakan, atau bisa
juga sekedar hiburan bagi programmer pembuat virusnya. Rutin-rutin tersebut
akan mempengaruhi karakter sebuah virus dan berperan penting dalam
mencapai tujuan virus yaitu kelangsungan virus dan bereproduksi. Bila hanya
sedikit aktivitas disk, maka tidak ada orang yang memperhatikannya sehingga
keberadaan virus tidak diketahui. Lain halnya dengan virus-virus yang
menampilkan kotak dialog atau langsung melakukan kerusakan saat itu juga.
User akan bisa langsung mengetahui keberadaan virus dikomputernya
sehingga dapat segera dibasmi.
2.4 Aktivitas-Aktivitas Virus Pada Komputer
Hal-hal yang akan dilakukan virus pada sebuah komputer antara lain:
a. Memperlambat Email.
Virus dapat menyebar melalui e-mail, seperti virus Sobig, dan mampu
untuk membuat trafik e-mail yang sangat besar yang tentu saja akan
membuat server menjadi lambat atau bahkan menjadi crash. Bahkan jika
hal tersebut tidak sampai terjadi, perusahaan yang merasa terganggu
dengan insiden ini toh juga akan mematikan servernya.
b. Mencuri data.
Contohnya adalah Worm Bugbear-D, mampu merekam keystroke
keyboard Anda, termasuk password dan lain sebagainya. Rekaman tadi
c. Menggunakan komputer user untuk menyerang suatu situs.
Contohya adalah virus MyDoom, dia menginfeksi banyak komputer di
seluruh dunia untuk menyerang situs SCO dengan traffic data yang sangat
besar. Ini akan membuat situs tersebut akan terbebani luar biasa dan
akhirnya akan crash dan tidak bisa melayani pengguna lainnya. Ini biasa
dinamakan dengan denial of service.
d. Membiarkan orang lain untuk membajak komputer korban.
Beberapa virus menempatkan trojan backdoor pada komputer dan ini akan
membuat si pembuat virus dapat terhubung ke komputer tersebut secara
diam-diam dan bisa dimanfaatkan lebih lanjut sesuai dengan keinginannya.
e. Merusak data.
Contohnya adalah Virus Compatable, dapat membuat perubahan pada data
yang disimpan user pada dokumen MS Excel.
f. Menghapus data.
ContohnyaVirus Sircam, berusaha untuk menghapus atau meng-overwrite
hardisk user pada suatu waktu tertentu yang tidak terduga.
g. Men-disable hardware.
Contohnya Virus CIH atau Chernobyl, berusaha untuk meng-overwrite
chip BIOS pada tanggal 26 April dan akan membuat komputer korban
h. Menimbulkan hal-hal yang aneh dan mengganggu.
Contohnya Virus worm Netsky-D, dapat membuat komputer berbunyi
beep secara spontan atau tiba-tiba untuk beberapa jam lamanya.
i. Menampilkan pesan tertentu.
Contohnya Virus Cone-F, akan menampilkan pesan berbau politik jika
bulan menunjukkan bulan Mei.
j. Membuat malu user.
Contohnya Virus PolyPost, akan melakukan posting dokumen dan nama user pada newsgroup yang berbau pornografi.
2.5 Tanda-Tanda Keberadaan Virus
Ada banyak cara untuk mendeteksi keberadaan virus pada sistem komputer.
Diantaranya adalah seperti tanda-tanda di bawah ini yang kemungkinan
mengindikasikan adanya virus komputer pada sistem :
a. Penambahan ukuran file tanpa alasan yang jelas. Hal ini mengindikasikan adanya
virus dengan tipe appending.
b. Program tidak berjalan secara normal dan diikuti dengan pesan-pesan error. Atau
adakalanya disertai dengan animasi-animasi.
c. Adanya perubahan-perubahan struktur direktori tanpa sebab.
d. Penurunan jumlah memori yang tersedia yang disebabkan bukan karena komputer
sedang menjalankan program-program komputer.
e. Aktifitas sistem keseluruhan berjalan secara lambat. Untuk mengeksekusi program
2.6 Sejarah Virus Komputer
Virus komputer pertama kalinya tercipta bersamaan dengan komputer. Pada tahun
1949, salah seorang pencipta komputer, John von Newman, yang menciptakan
Electronic Discrete Variable Automatic Komputer (EDVAC), memaparkan suatu makalahnya yang berjudul “Theory and Organization of Complicated Automata”. Dalam makalahnya dibahas kemungkinan program yang dapat menyebar dengan
sendirinya.
Perkembangan virus komputer selanjutnya terjadi di AT&T Bell Laboratory
salah satu laboratorium komputer terbesar di dunia yang telah menghasilkan banyak
hal, seperti bahasa C dan C++. Di laboratorium ini, sekitar tahun 1960-an, setiap waktu istirahat para peneliti membuat permainan dengan suatu program yang dapat
memusnahkan, kemampuan membetulkan dirinya dan balik menyerang kedudukan
lawan. Selain itu, program permainan dapat memperbanyak dirinya secara otomatis.
Perang program ini disebut Core War, pemenangnya adalah pemilik program sisa terbanyak dalam selang waktu tertentu. Karena sadar akan bahaya program tersebut,
terutama C dan C++ adalah salah satu pemrograman bahasa tingkat tinggi bila bocor
keluar laboratorium tersebut, maka setiap selesai permainan, program tersebut selalu
dimusnahkan.
Sekitar tahun 1970-an, perusahaan Xerox memperkenalkan suatu program
yang digunakan untuk membantu kelancaran kerja. Struktur programnya menyerupai
virus, namun program ini adalah untuk memanfaatkan waktu semaksimal mungkin
dan pada waktu yang bersamaan dua tugas dapat dilakukan.
Pada tahun 1980-an, perang virus di dunia terbuka bermula atas pemaparan
Fred Cohen, seorang peneliti dan asisten profesor di Universitas Cincinati, Ohio.
Dalam pemaparannya, Fred juga mendemonstrasikan sebuah program buatannya yang
dapat menyebar secara cepat pada sejumlah komputer, yaitu suatu virus. (Aycock,
Sementara virus berkembang, Indonesia juga mulai terkena wabah virus. Virus
komputer ini pertama menyebar di Indonesia juga pada tahun 1988. Virus yang begitu
menggemparkan seluruh pemakai komputer di Indonesia, saat itu, adalah virus
©Brain yang dikenal dengan nama virus Pakistan.
Berikut adalah sekilas sejarah mengenai virus komputer .
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 ‘Komputer 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.
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.
pencipta virus didirikan di Bulgaria. Mark Ludwig menulis buku “The Little
Black Book of Komputer 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
Gambar 2.4 Tampilan Virus Creation Lab (VCL).
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.
1996 Kemunculan virus Boza yang didesain khusus untuk menyerang file-file
Windows95, 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
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 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. (Minnarto, 1999).
2.7 Jenis-Jenis Virus Komputer
2.7.1 Berdasarkan Teknik Pembuatannya
a. Virus yang Dibuat dengan Compiler
Adalah virus yang dapat dieksekusi karena merupakan virus yang telah di
compile sehingga menjadi dapat dieksekusi langsung. Virus jenis ini adalah virus yang pertama kali muncul di dunia komputer, dan sampai sekarang
terus berkembang pesat. Biasanya virus jenis ini dibuat dengan bahasa
pemrograman tingkat rendah yang disebut dengan assembler, karena dengan menggunakan assembler program yang dihasilkan lebih kecil dan cepat, sehingga sangat cocok untuk membuat virus. Tetapi tidak tertutup
kemungkinan untuk membuat virus dengan menggunakan bahasa
pemrograman lainnya seperti C dan Pascal baik dilingkungan DOS maupun Windows. Mungkin virus jenis ini adalah virus yang paling sulit untuk dibuat tetapi karena dibuat dengan menggunakan bahasa
pemrograman dan berbentuk bahasa mesin maka keunggulan dari virus ini
adalah mampu melakukan hampir seluruh manipulasi yang mana hal ini
tidak selalu dapat dilakukan oleh virus jenis lain karena lebih terbatas.
b. Virus Macro
Banyak user yang salah pengertian dengan jenis virus ini, mereka
menganggap bahwa virus Macro adalah virus yang terdapat pada program Microsoft Word. Memang hampir seluruh virus Macro yang ditemui merupakan virus Microsoft Word. Sebenarnya virus Macro adalah virus yang memanfaatkan fasilitas pemrograman modular pada suatu program
aplikasi tertentu seperti Microsoft Word, Microsoft Excel, Microsoft
PowePoint, Corel WordPerfect, dan sebagainya. Tujuan dari fasilitas
pemrograman modular ini adalah untuk memberikan suatu kemudahan
serta membuat jalan pintas bagi aplikasi tersebut. Sayangnya fungsi ini
dimanfaatkan oleh pembuat pembuat virus untuk membuat virus didalam
aplikasi tersebut. Walaupun virus ini terdapat didalam aplikasi tertentu
tetapi bahaya yang ditimbulkan tidak kalah berbahanya dari virus-virus
c. Virus Script/Batch
Pada awalnya virus ini lebih dikenal dengan virus batch karena dulu terdapat pada file batch yang terdapat pada DOS, sekarang hal ini telah berganti menjadi script. Virus script biasanya sering didapat dari Internet karena kelebihannya yang fleksibel dan bisa berjalan pada saat kita
bermain Internet, virus jenis ini biasanya menumpang pada file HTML (Hype Text Markup Language) dibuat dengan menggunakan fasilitas script seperti Javascript, VBscript,4 maupun gabungan antara script yang mengaktifkan program Active-X dari Microsoft Internet Explorer.
2.7.2 Berdasarkan Infeksi yang Dilakukan
a. Virus Boot Sector
Virus Boot Sector adalah virus yang memanfaatkan gerbang hubungan antara komputer dan media penyimpan sebagai tempat untuk menularkan
virus. Apabila pada boot sector terdapat suatu program yang mampu
menyebarkan diri dan mampu tinggal di memory selama komputer bekerja,
maka program tersebut dapat disebut virus.
b. Virus File
Virus file merupakan virus yang memafaatkan suatu file yang dapat diproses langsung pada editor DOS, seperti file berekstensi COM, EXE, beberapa file overlay, dan file BATCH. Virus umumnya tidak memiliki kemampuan untuk menyerang di semua file tersebut. Virus file juga dikelompokkan berdasarkan dapat atau tidaknya tinggal di memory.
c. Virus Sistem
d. Virus Hybrid
Virus ini merupakan virus yang mempunyai dua kemampuan, biasanya
dapat masuk ke boot sector dan juga dapat masuk ke file. Salah satu contoh virus ini adalah virus Mystic yang dibuat di Indonesia.
e. Virus Registry Windows
Virus ini menginfeksi operating sistem yang menggunakan Windows 95/98/NT/XP biasanya akan mengadakan infeksi dan manipulasi pada bagian registry Windows sebab registry adalah tempat menampung seluruh informasi komputer baik hardware maupun software. Sehingga setiap kali kita menjalankan Windows maka virus akan dijalankan oleh registry tersebut.
f. Virus Program Aplikasi
Virus ini merupakan virus Macro, menginfeksi pada data suatu program aplikasi tertentu. Virus ini baru akan beraksi apabila user menjalankan
program aplikasi tersebut dan membuka data yang mengandung virus.
2.7.3 Berdasarkan Media Penyebarannya
a. Penyebaran dengan Media Fisik
Media yang dimaksudkan bisa dengan disket, CD-ROM(Compact Disc Read Only Memory), harddisk, dan sebagainya. Untuk CD-ROM, walaupun media ini tidak dapat dibaca tetapi ada kemungkinan suatu
CD-ROM mengandung virus tertentu, walaupun kemungkinannya kecil, tetapi
seiring dengan berkembangnya alat CD-R/CD-RW yang beredar dipasaran
maka kemungkinan adanya virus didalam CD-ROM akan bertambah pula.
Untuk saat ini virus jenis ini yang menjadi dominan dari seluruh virus yang
ada. Virus ini akan menular pada komputer yang masih belum tertular
b. Penyebaran dengan Media Internet
Akhir-akhir ini virus yang menyebar dengan media sudah semakin banyak,
virus ini biasanya menyebar lewat e-mail ataupun pada saat kita mendownload suatu file yang mengandung virus. Juga ada beberapa virus yang secara otomatis akan menyebarkan dirinya lewat e-mail apabila
komputer memiliki hubungan ke jalur Internet.
Selain pengelompokan virus berdasarkan kriteria diatas, berdasarkan
kemampuannya dalam menginfeksi komputer, virus komputer dapat dikelompokkan
menjadi beberapa jenis, yaitu:
a. Computer virus: merujuk pada program yang memiliki kemampuan untuk
bereplikasi dengan sendirinya.
b. Computer worm: merujuk pada program independen yang memiliki
kemampuan untuk bereplikasi dengan sendirinya. Independen di sini
memiliki makna bahwa worm tidak memiliki host program sebagaimana
virus, untuk ditumpangi. Sering kali worm dikelompokan sebagai
sub-kelas dari virus komputer.
c. 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.
d. 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.
e. Joke program: merujuk pada program yang meniru operasi-operasi yang
tujuan lelucon dan tidak mengandung operasi berbahaya apapun. (Gennai,
2002)
2.8 Program Antivirus
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 antivirus yang lazimnya
digunakan, yaitu: scanner, monitors, dan integrity checkers. (Aycock, 2006).
2.8.1 Scanner
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 antivirus yang paling banyak
digunakan dengan alasan kemudahan dalam proses maintenance (pemeliharaan).
Pada dasarnya scanners terdiri atas:
a. Search Engine
b. 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:
a. Scanners harus tetap dijaga agar up-to-date secara terus menerus karena
scanners hanya dapat mendeteksi virus yang telah diketahui sebelumnya.
b. 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
c. 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.
2.8.2 Monitor
Monitors adalah program yang terdapat 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 operasi. 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)
2.8.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
secara periodik checksum dari program-program tersebut akan dihitung ulang dan
dibandingkan dengan database checksum tersebut. Beberapa pakar menilai bahwa
database checksum ini harus 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:
a. Off-line integerity checkers: perlu di-run terlebih dahulu untuk memeriksa
checksum dari seluruh kode executable yang terdapat di dalam sistem
komputer.
b. 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 stealth.
c. 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:
a. Integrity checkers tidak memiliki kemampuan untuk mencegah proses
penginfeksian oleh sebuah virus. Ia hanya dapat mendeteksi dan melaporkan
hasil pendeteksian yang dilakukannya tersebut.
b. Integrity checkers pertama kali harus di sistem yang bebas virus, jika tidak
maka hasil perhitungan pertama yang dilakukannya merupakan hasil
peng-install-an program integrity checkers dilengkapi dengan scanners untuk
memastikan sistem bebas virus.
c. Integrity checkers rentan terhadap false positive (salah indikasi keberadaan
virus pada program yang sebenarnya bebas virus), karena integrity checkers
mendeteksi perubahan file bukan virus.
d. Integrity checkers tidak dapat mendeteksi sumber dari infeksi virus, walaupun
dapat mendeteksi proses penyebaran virus dan mengidentifikasi objek yang
baru terinfeksi.
e. Integrity checkers rentan terhadap slow viruses, karena slow virus menginfeksi
file target ketika file tersebut ditulis ke dalam disk.
Meskipun adanya kekurangan-kekurangan di atas, banyak pakar menganggap
integrity checkers sebagai pertahanan yang paling baik terhadap ancaman virus
komputer dan malware lainnya.
2.9 Pengertian Checksum dan Fungsi Hashing CRC32
Checksum adalah jumlah yang dikalkulasikan sebagai fungsi dari suatu message. Atau
checksum bisa dianalogikan sebagai sidik jari pada manusia. (Shadewa,2007)
Fungsi hash adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengkonversinya menjadi string keluaran yang panjangnya tetap (fixed) (umumnya berukuran jauh lebih kecil daripada ukuran string semula). (Munir, 2004).
CRC32 adalah kepanjangan dari ” Cyclic Redundancy Code” dan 32
melambangkan panjang checksum dalam bit.. Algoritma CRC adalah cara yang lebih
baik dan teruji untuk pengecekan byte dalam jumlah besar dari suatu file yang telah
termodifikasi maupun tidak, jika dibandingkan dengan metode yang mengacu pada
nama atau ukuran file. Algoritma ini mencari lewat seluruh jumlah byte dan
menghasilkan angka 32 bit untuk menggambarkan isi file, dan sangat kecil sekali
kemungkinan dua stream dari byte yang berbeda mempunyai CRC yang sama.
urutan byte. Dengan CRC32 kemungkinan perubahan standar (penyimpangan dari
penghitungan CRC terhadap file) yang terjadi dapat dikendalikan. Nilai CRC32 dari
sebuah file adalah nilai yang didapat dengan memproses ukuran dan nama file dengan
nilai tabel CRC32 yang telah distandardkan (lampiran 2).
Implementasi CRC32 pada pendeteksian virus adalah virus dapat dikenali
melalui banyak cara, dapat melalui nama file, ukuran atau dengan membongkar isi file
dan menemukan penandanya. Ada beberapa kelemahan jika hanya mengenalinya dari
nama file. Terkadang program virus tidak memakai nama asli dari virus itu sendiri.
Misalnya virus Hallo.roro.htt memakai nama program pemicunya syssrv.exe.
Sehingga mau tidak mau untuk mendeteksi program itu antivirus harus melihatnya
melalui ukuran file. Ukuran file pun belum menjamin bahwa file tersebut adalah virus.
Bisa saja ukuran filenya sama tetapi programnya berbeda. Sehingga diperlukan
metode lain untuk mengenali file virus. Pengenalan virus melalui nilai CRC32 nya
merupakan cara yang lebih akurat dan efektif.
Cara-cara mengenali sebuah virus melalui metode checksum error akan
dijelaskan sebagai berikut:
a. Memilih file yang akan diperiksa
b. Mengambil informasi dari file tersebut, yaitu nama, ukuran.
c. Menghitung checksum file yang diambil dari ukuran file dengan metode
CRC32.
d. Menggunakan hasil checksum tersebut untuk mengenali bahwa program
tersebut adalah virus.
Sama seperti fungsi hashing yang lainnya, CRC32 berfungsi untuk mengambil
penanda dari sebuah file yang nantinya akan dipakai sebagai acuan untuk memeriksa
apakah suatu file adalah file virus atau bukan. Kecil sekali kemungkinan bahwa dua
buah file mempunyai nilai CRC32 yang sama. CRC32 hanya mengambil 32 bit dari
sebuah file yang dijadikan sebagai penanda file tersebut. Hal ini berbeda dengan
metode MD5 yang mengambil 128 bit dari file. Jumlah bit penanda yang dihasilkan
media penyimpanan dan kecepatan proses scanning. Langkah-langkah pembuatan
MD5secara garis besar adalah sebagai berikut:
1. Penambahan bit-bit pengganjal (padding bits). 2. Penambahan nilai panjang pesan semula.
3. Inisialisasi penyangga (buffer) MD.
4. Pengolahan pesan dalam blok berukuran 512 bit.
5. 512 bit kemudian dibagi kedalam 32 bit sub blok.
6. Output MD5 berupa 4 buah blok yang masing-masing 32 bit.
7. 128 bit dari 4 buah blok ini yang disebut sebagai nilai hash.
Bererapa metode yang lain menggunakan hanya 16 bit sebagai penanda dari
suatu file, hal ini tentunya akan sangat membantu mengefisienkan media
penyimpanan, hanya saja 16 bit kurang menggambarkan isi dari suatu file, akan sering
terjadi coalition, apalagi jika virus dibangun dengan bahasa pemrograman tingkat tinggi. Keuntungan memakai CRC32 adalah karena hanya terdiri dari 32 bit akan
meminimalkan pemakaian media penyimpanan, dan mempercepat proses scanning.
Metode lain yang dapat dipakai user adalah metode heuristik. Pada metode ini
program akan menganggap suatu file adalah virus jika file tersebut mempunyai sifat
seperti sifat virus (misalnya mengubah nilai registry, memasuki start up system).
Keunggulan dari metode ini adalah antivirus tidak terlalu bergantung pada signature
virus yang terdapat pada database antivirus. Tidak seperti algoritma Hashing yang
mengambil beberapa bit dari sebuah file sebagai penandanya, metode ini mengambil
ciri-ciri umum proses virus untuk menandai sebuah file merupakan virus atau tidak.
Kelemahan dari metode ini adalah seringnya terjadi kesalahan pada pendeteksian
virus, hal ini dikarenakan beberapa file sistem mempunyai rutin yang sama seperti file
sistem. Selain itu, metode ini bersifat tidak pasti, hanya menjadikan suatu file yang
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis
Pada bab ini akan dibahas mengenai anlisis permasalahan, yaitu penelitian tentang
kekurangan dengan memakai antivirus dari perusahaan pembuat antivirus beserta
masalah-masalah lain yang ditemukan. Kemudian akan dibahas mengenai
penyelesaian masalah dan persyaratan yang dibutuhkan untuk menyelesaikan masalah.
3.1.1 Analisis Permasalahan
Masalah yang dihadapi selama ini adalah semakin pesatnya perkembangan virus
mengharuskan user untuk mendownload database virus yang semakin besar
ukurannya. Setelah user mendownload data base antivirus, belum tentu virus yang
menginfeksi komputer user terdapat dalam data base antivirus tersebut. Oleh karena
itu, akan lebih efektif jika user hanya menghitung nilai CRC32 dari file virus yang
menginfeksi komputer user, kemudian memasukkan nilai CRC32 file tersebut
kedalam data base antivirus, kemudian antivirus melakukan scanning terhadap
komputer dan menghapus seluruh file yang nilai CRC32nya yang serupa dengan file
virus tersebut. Selain itu dengan menggunakan antivirus sederhana yang dibuat sendiri
oleh user dapat membantu user yang sama sekali tidak memiliki akses Internet.
Antivirus, sesuai namanya adalah sebuah aplikasi yang dibangun untuk
mendeteksi keberadaan virus pada sebuah komputer untuk selanjutnya dihapus dari
komputer. Cara kerja program-program penghapus virus ini kebalikan dari program
virus itu sendiri, yaitu mendeteksi apakah file terkena virus atau tidak, jika ya maka
antivirus akan menindaklanjuti file tersebut yaitu dengan mengkarantina, menghapus,
Gambar 3.1 Ilustrasi Cara Kerja Antivirus
Dari gambar 3.1 dapat dilihat sebuah program antivirus mencari semua file
yang telah terinfeksi oleh virus, selanjutnya antivirus melakukan proses pemisahan
file virus dengan file yang terinfeksi, kemudian melakukan penghapusan virus dan
meninggalkan file yang telah bersih dari virus.
3.1.2 Analisis Persyaratan
Dalam perancangan sebuah perangkat lunak diperlukan rekayasa persyaratan yang
merupakan sebuah proses untuk menemukan, menganalisis, mendokumentasikan, dan
memeriksa layanan serta batasan sistem. Analisis ini akan digunakan pada saat sebuah
program akan dikembangkan (pengkodean dalam bahasa pemrograman). Dalam hal
ini ada 4 (empat) tipe analisis yang digunakan, yaitu :
1. Content Analysis
Menentukan isi yang akan disajikan oleh antivirus, baik itu berupa text, grafik
maupun image. 2. Interaction Analysis
Menjelaskan cara interaksi antara sistemantivirus dengan user. Program akan
dibangun dengan Visual Basic 6.0 yang akan berinteraksi dengan user dengan
tombol-tombol dan tampilan grafis.
3. Functional Analysis
Menentukan operasi yang akan diaplikasikan pada program antivirus dan
termasuk di dalamnya fungsi-fungsi yang melakukan semua proses serta
semua operasi dan fungsi tersebut dideskripsikan secara detil. Antivirus akan
mendeteksi keberadaan file virus dalam komputer, menghitung nilai CRC32
dari file tersebut kemudian menghapusnya dari komputer. Antivirus Mencari file virus
virus virus
hapus
4. Configuration Analysis
Lingkungan dan infrastruktur dimana aplikasi antivirus digambarkan secara
detil, seperti pemilihan kebutuhan minimal hardware/software agar user bisa menggunakan antivirus ini. (Stephen,1996)
3.2 Perancangan
Setelah dilakukan analisis terhadap permasalahan, kemudian akan dilanjutkan dengan
perancangan sebuah program antivirus yang akan menyelesaikan masalah yang
dihadapi user selama menggunakan program antivirus dari perusahaan pembuat
antivirus.
3.2.1 Algoritma Antivirus 1. START
2. Aplikasi memeriksa database tempat penyimpanan penanda dari file virus.
3. Apakah database virus ada?
a. jika ada langsung ke nomor 4
b. jika tidak langsung ke nomor 7
4. Aplikasi memeriksa semua proses yang sedang berjalan.
5. Apakah ada proses virus yang sedang berjalan?
a. Jika ya langsung ke nomor 6
b. Jika tidak kembali ke nomor 7
6. Matikan proses virus yang terdeteksi
Flowchart antivirus
Gambar 3.2 Flow Chart Antivirus START
tida
k
Sistem memeriksa database virus
Periksa semua proses yang berjalan
Apakah ada proses virus?
Matikan proses virus
END ya ada
T
ida
k a
3.2.2 Struktur Kode Antivirus
Untuk membangun sebuah program antivirus, maka program tersebut harus terdiri
dari beberapa komponen.
1. Desain Interface (Antar muka)
Desain interface adalah desain tampilan utama dari program antivirus.
Yaitu kode yang membentuk aplikasi luar antivirus yang dibangun.
Adapun desain antar muka dari sistem adalah sebagai berikut:
Gambar 3.3 Desain Interface Antivirus
2. Kode Metode
Kode ini adalah prosedur yang dipakai untuk melakukan identifikasi
virus. Pada sistem metode yang dipakai untuk mendeteksi keberadaan
virus adalah dengan metode CRC32. header
Informasi tentang virus yang terdeteksi
Check box Check box
3. Kode Virus List (Database Virus)
Kode ini adalah prosedur yang dipakai untuk menyimpan daftar virus
yang telah diketahui nilai CRC32 nya. Kode ini berguna untuk
memanipulasi database virus yang berisi list virus atau daftar file yang
dicurigai sebagai virus. Database ini nantinya akan bertambah besar,
sesuai dengan banyaknya virus yang harus dikenali oleh antivirus.
4. Kode Manipulasi File
Kode ini adalah prosedur yang akan dilakukan sistem jika menemukan
virus. Kode manipulasi disini berguna untuk memanipulasi file virus,
maksudnya untuk menangani file virus yang telah terdeteksi. Ketika
ada file yang terdeteksi sebagai virus, maka aplikasi antivirus akan
menindak lanjuti (menghentikan) file tersebut.
5. Kode Penghentian Proses Virus
Kode ini adalah prosedur penghentian proses virus. Kode ini berguna
untuk menghentikan proses yang dijalankan oleh virus. Setiap virus
biasanya memiliki file induk virus yang selalu menjalankan proses
virus. Misalnya melakukan ping ke suatu situs atau menggandakan
dirinya sendiri. Maka untuk menghentikan proses tersebut, maka harus
ada kode kill process. Jika user ingin menghapus suatu file, maka file
tersebut harus tidak boleh berjalan atau sedang melakukan proses di
komputer. Jika masih melakukan proses, maka file tersebut tidak dapat
dihapus.
Untuk dapat mengetahui nilai CRC32 dari suatu file, maka program antivirus
harus didukung sebuah fitur yaitu sebuah program yang dapat menghitung nilai
Adapun algoritma program penghitung nilai CRC32 dari sebuah file adalah
sebagai berikut:
1. START
2. Cari file yang akan dihitung nilai CRC32 nya.
3. Hitung nilai CRC32 dari file.
4. Tampilkan pada message box.
5. Copy nilai CRC32 file.
6. Jika file adalah virus, tambahkan nilai CRC32 dari file tersebut pada database
antivirus.
7. END.
Selain itu untuk melihat semua proses yang sedang berjalan pada komputer
maka program antivirus membutuhkan sebuah program yang dapat menampilkan
seluruh proses yang terjadi, jika program task manager yang disediakan oleh windows
tidak dapat bekerja karena diblokir oleh virus. Hal ini nantinya akan digunakan untuk
menghentikan proses virus, karena file virus tidak dapat dihapus jika proses yang
dilakukan virus tersebut tidak dihentikan. Setelah proses virus dihentikan kemudian
antivirus akan melakukan scanning keseluruh directory pada sistem operasi dan
BAB 4
IMPLEMENTASI
4.1 Implementasi Antivirus Pada Visual Basic 6.0
Bahasa Pemrograman Visual Basic akan digunakan sebagai bahasa untuk
menerjemahkan algoritma dan flowchart antivirus kedalam kode-kode bahasa
pemrograman yang bisa dicompile untuk selanjutnya dilakukan pengujian terhadap
antivirus. Adapun listing program pada aplikasi ini terdapat pada lampiran 1.
4.2 Penggunaan Program dalam Scanning dan Penghapusan Virus
Program antivirus ini dapat dipakai oleh semua user. Program antivirus ini masih
dapat dikembangkan sesuai dengan keinginan user. Program antivirus ini dibangun
menggunakan bahasa pemrograman Visual Basic 6.0. Program antivirus
menggunakan metode scanning dalam pendeteksian virus.
Sebelum membuat program, Visual Basic 6.0 harus ditambahkan komponen
tambahan yaitu Microsoft Windows Common Control 6.0 (SP6). Komponen ini dapat
ditambahkan melalui menu Project Components, atau dengan menekan tombol
Ctrl+T pada keyboard.
Terdapat dua mode pada antivirus ini, yaitu mode Real Time Scan dan
Autokill Virus. Pada mode real time scan, antivirus akan terus menerus memantau
setiap proses yang terjadi pada komputer, selanjutnya memberitahu user jika ada
proses yang dianggap sebagai virus, sedangkan pada mode autokill virus, antivirus
4.3 Tampilan Interface
Tampilan utama dari aplikasi ditunjukkan oleh gambar berikut:
Gambar 4.1 Tampilan interface antivirus
Kolom PID adalah kolom yang menampilkan Id dari suatu proses dalam
sistem operasi komputer. Kolom Nama Virus adalah kolom yang menampilkan
informasi nama virus yang terdeteksi oleh aplikasi. Kolom Nama Proses adalah kolom
yang menampilkan informasi nama file beserta nilai CRC32 dari file tersebut. Kolom
Alamat Proses adalah kolom yang menampilkan informasi tentang pada directory
mana file virus tersebut berada.
Kontrol utama yang diperlukan pada pembuatan program antivirus adalah:
1 buah listview
2 buah image list
2 buah picture box
1 buah timer
2 buah checkbox
Property dan value pada masing-masing kontrol ditunjukkan oleh tabel berikut:
Background Color &H00FFFFFF&
Visible FALSE
e Name picIcon16
Height 240
Width 240
Background Color &H00FFFFFF&
Visible FALSE
f Name tmrRealTimeScan
Enabled FALSE
Interval 100
g Name ChkRealTimeScan
Caption Mode Real-Time Scan
Caption Matikan Virus Terdeteksi
Fungsi dari masing-masing kontrol adalah sebagai berikut:
a. lprocess
berfungsi untuk menampilkan list virus yang terdeteksi oleh antivirus. List
view ini akan menampilkan informasi tentang virus yang berupa:
1. icon virus
2. Proses ID virus
3. Nama Virus
4. Nama Proses Virus
5. Alamat Virus
6. Ukuran Virus
b. ImgLarge
Jika program dieksekusi maka kontrol ini tidak ditampilkan. Kontrol ini
diperlukan sebagai tempat penyimpanan icon virus (32px X 32px) yang
terdeteksi.
c. ImgSmall
Jika program dieksekusi maka kontrol ini tidak ditampilkan. Kontrol ini
diperlukan sebagai tempat penyimpanan icon virus (16px X 16px) yang
terdeteksi.
d. picIcon32
Saat program dijalankan kontrol ini tidak ditampilkan. Kontrol ini
berfungsi sebagai tempat pemrosesan ekstract icon virus (32px X 32px)
yang terdeteksi.
e. picIcon16
Saat program dijalankan kontrol ini tidak ditampilkan. Kontrol ini
berfungsi sebagai tempat pemrosesan ekstract icon virus (16px X 16px)