VIRUS, TROJAN HORSE DAN WORM Haryono / 0320408 Program Diploma IV Teknik Komputer dan Jaringan Abstrak Virus, Trojan Horse dan Worm merupakan program yang dibuat oleh programer untuk tujuan merusak atau mengganggu sistem komputer.
Dalam jaringan komputer yang
terhubung ke internet virus, trojan horse dan worm ibarat penyakit yang sangat mengganggu dan menyebalkan. Memang sulit menanggulangi berbagai jenis software yang bertujuan tidak baik. Secara hukum sama sulitnya menangkap dan memenjarakan si pembuat software tersebut. Ibarat seseorang mempunyai keinginan memenjarakan virus flu, virus demam dan sebagainya. Tentu hal itu tidak akan pernah dapat dilakukan. Cara efektif menanggulangi virus yaitu mengenali jenis virus atau berbagai penyakit yang mungkin menyerang, mengkonfigurasikan sistem yang digunakan agar tidak mudah ditulari virus, worm dan trojan horse. Akan lebih baik lagi bila mempunyai obat dan vaksin yang dapat digunakan untuk menanggulangi serang virus tersebut. Pendahuluan Dalam dunia bawah tanah komputer dikenal dengan istilah “Malicious Software” yang kemudian disingkat menjadi “Malware”. Malicious merupakan kata sifat dalam bahasa inggris (adjective) yang artinya menaruh dendam atau mendendam. Malicious Software dapat diartikan menjadi perangkat lunak pendendam atau program jahat. Malicious Software merupakan perangkat lunak yang dibuat atau ditulis untuk menjalankan aksi-aksi yang tidak diinginkan oleh pengguna komputer. Pemrograman software ini sangat sederhana berisi kode jahat dan merusak (malicious codes atau disingkat malcodes). Klasifikasi kode perusak dapat digolongkan dalam 3 macam golongan, antara lain: virus, worm dan Trojan Horses, serta beberapa program yang memiliki bug. Virus memiliki kemampuan jahat untuk mereproduksi diri mereka sendiri dan terdiri dari kumpulan kode yang dapat memodifikasi target kode yang sedang berjalan, atau dapat pula memodifikasi struktur internal target kode, sehingga target kode sebelum berjalan
dipaksa menjalankan virus. Setiap virus mempunyai karakter sendiri yang berbeda antara satu dengan yang lain.
Dahulu digunakan istilah "Malware (= Malicious Software)" ditujukan untuk
malcode. Tetapi istilah ini terlalu lemah dan sempit, sehingga e-mail palsu / bohong yang notabene bukan software tidak dapat dimasukkan dalam golongan ini. Oleh karena itu digunakan istilah malcode, bukan malware. A. Virus Virus sama halnya dengan program-program yang ada di dalam komputer, yaitu kumpulan kode atau instruksi program. Perbedaan program komputer dengan virus yaitu, virus mempunyai kemampuan menggandakan diri. Proses sefl replicating ini terjadi dengan menginfeksi file / program lain yang dapat disebut host. Di samping itu virus mempunyai payload yaitu aksi yang dibawa oleh virus tersebut.
Payload ini dapat
berbahaya atau tidak tergantung selera programer virus tersebut. Definisi tentang
virus adalah sebuah program berukuran kecil yang dapat
dieksekusi dan mempunyai kemampuan menggandakan diri, baik dengan menimpa (overwrite) atau menambahkan (appending) kode programnya ke program induk (host) atau ke sistem area harddisk atau floppydisk, dapat pula sebagai program makro atau script yang dapat dieksekusi dan dibuat dengan tujuan untuk merusak sistem komputer. Agar dapat bekerja umumnya virus memanfaatkan interupsi DOS dan BIOS. Virus sering menampilkan pesan yang tidak disukai, merusak tampilan display, menghapus memory C-MOS, merusak informasi dalam hard disk dan lain lain. Virus dapat dibagi dalam beberapa kategori: •
a. Boot Virus
: Virus yang berada di boot sector disebut boot virus. Jika komputer dinyalakan sebuah inisial program di boot sector akan dijalankan.
•
b. File Virus
: File virus adalah virus yang menginfeksi executable program.
•
c. Multipartite Virus
: Virus yang menginfeksi baik boot sector maupun file.
•
d. Macro Virus
: Belakangan diketemukan virus, target yang terinfeksi bukan executable program, tetapi file dokument seperti Microsoft Excel atau Word. Virus ini akan
memulai menginfeksi bila program aplikasi membaca dokumen yang berisi macro. Komponen Penting Tubuh Virus Setiap virus mempunyai bagian-bagian yang disebut routine dan ada bagian penting yang bersifat tambahan. Komponen tambahan ini meski tidak begitu penting tetapi menjadi karakteristik yang dapat membedakan dengan virus lain. 1. Rutin Pencari Rutin pencari (search routine) berperan sebagai unit yang mencari file-file baru atau daerah (area) baru pada disk yang akan diinfeksi. Rutin ini berkaitan erat dengan penentuan seberapa baik virus 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. Makin andal rutin pencarinya semakin membantu penyebaran virus. 2. Rutin Pengganda Komponen kedua yang harus dimiliki virus yaitu rutin pengganda. Rutin ini berfungsi mengcopy virus ke suatu area yang telah ditentukan oleh rutin pencari. Besar kecilnya rutin pengganda ini tergantung dari ke-komplek-kan virus dalam pengcopian diri. Sebagai contoh virus yang menginfeksi file COM mempunyai rutin pengganda lebih kecil dibandingkan dengan virus yang menginfeksi file EXE. Hal ini dikarenakan struktur file EXE lebih rumit dibanding file COM sehingga banyak yang harus dilakukan virus untuk dapat menempel pada file EXE. 3. Rutin Anti Deteksi Fitur tambahan yang biasanya terdapat dalam tubuh virus
yaitu rutin untuk
menghindari deteksi. Anti detection routine berperan menghidari deteksi baik dari pengetahuan user atau pantauan program anti virus yang memang merupakan predatornya. Anti detection routine bisa dibangun menyatu dengan rutin pencari atau rutin pengganda sehingga menjadi bagian yang integral, tetapi bisa juga merupakan bagian tersendiri. Sebagai alternatif untuk mendukung anti detection routine, virus diaktifkan pada kondisi-kondisi tertentu misalnya pada tanggal istimewa (Friday 13), alternatif
hentakan keyboard, misal saat keyboard ditekan beberapa saat. Bahkan ada juga virus yang bertindak seperti pilot kamikaze yang berperan sebagai perangkat “delivery system” hal ini dapat dijelaskan, karena jenis virus ini tidak mementingkan kelangsungan hidupnya. Programer pembuat virus ini tidak peduli apakah virus tersebut akan musnah di dalam aksinya, ketika virus telah bekerja menginfeksi / mencapai sasarannya. Ibarat sebuah perangkat perang virus semacam ini senjata yang cukup efektif untuk menyelesaikan misi. Proses Pembuatan Virus Virus komputer dapat dibuat oleh seorang programer dengan kompiler bahasa pemrograman, baik itu Assembler, Pascal, C, C++ atau yang lain. Secara sederhana kompiler berfungsi mengubah suatu kode bahasa menjadi format file EXE atau COM. Virus sama dengan program-program yang dibuat oleh programer komputer tetapi mempunyai kemampuan untuk menggandakan diri dan dapat menginfeksi file lain. Tujuan Pembuatan Virus Ada berbagai hal yang melatarbelakangi alasan seorang programer komputer membuat virus. Motivasi mereka antara lain : 1. Popularitas 2. Membangkitkan semangat 3. Untuk Seorang Yang Dikasihi 4. Memfitnah Orang 5. Mencari Kesenangan 6. Iseng Tanpa Tujuan Karakteristik Virus Berikut ini karakter-karakter yang membedakan virus komputer yang satu dengan yang lain : 1. Ukuran Ukuran virus sangat kecil bila dibandingkan dengan kebanyakan program komputer. 2. Stealth Virus dengan tipe ini merupakan virus residen (menetap) yang berusaha menghidari deteksi dengan menyembunyikan kehadirannya pada file yang terinfeksi. Virus ini akan mencegat panggilan sistem yang akan membaca file yang terinfeksi tersebut,
dengan demikian komputer akan mendapati informasi file yang bukan sebenarnya. Dan seolah-olah komputer berjalan normal, padahal sistem sudah hancur. Demikian pula antivirus akan ditipu oleh virus jenis ini. Teknik pembuatan virus ini sudah tergolong canggih. 3. Metode Infeksi Terdapat banyak cara yang dilakukan oleh virus dalam menginfeksi program induk (host). Berikut ini metode-metode infeksi yang umum digunakan : a. Overwriting Metode ini dikatakan sudah kuno, proses infeksinya dijelaskan sebagai berikut : virus akan mengcopi tubuhnya ke program induk sehingga program induk yang terinfeksi tersebut rusak, kemudian program tidak dapat berjalan dengan baik. Virus yang menginfeksi program komputer dengan metode ini, ukuran file yang terinfeksi tidak berubah. b.Appending Metode ini lebih maju dibandingkan metode overwrite. Virus akan mengcopi tubuhnya dengan cara menambahkan program induk tidak dengan cara menimpa (overwrite). Program yang terinfeksi tetap dapat berjalan normal, tetapi ukuran file bertambah besar. c. Prepending Metode penginfeksian virus mirip dengan appending, hanya saja virus mengcopi tubuhnya pada bagian awal program induk. Pada saat program yang terinfeksi virus dijalankan, kode virus akan tereksekusi lebih dahulu kemudian diikuti dengan program induk. d. Disk Infektor Virus tipe ini akan menginfeksi boot record atau dapat juga pada partisi disk. e. TSR (Terminate and Stay Resident) Merupakan virus yang dapat tinggal di memori komputer dan akan tetap ada sampai komputer di shut down. Cara menanggulangi dengan melakukan booting dingin (CTRL-ALT-DEL atau reset) agar virus yang tinggal di memori hilang. Cara Virus Masuk Sistem Komputer Sebagian besar virus komputer dapat menginfeksi program melewati proses
instalasi software, mengkopi file melalui media dan melalui jaringan komputer. Hal ini dapat dijelaskan sebagai berikut : 1. Software bajakan mungkin mengandung virus, karena pada saat software tersebut digandakan menggunakan media CD-ROM di komputer, kemungkinan virus yang bercokol di komputer pengganda software ikut serta. 2. Disket, flashdisk dan CD sebagai media penyimpan sangat rentan terhadap penularan virus komputer. 3. Jaringan komputer yang terhubung ke internet
merupakan jalan tol bagi proses
penularan virus. Misalnya email yang memuat attachment sering terinfeksi virus. Tanda Keberadaan Virus Beberapa cara mendeteksi keberdaan virus dalam sebuah komputer, diantaranya : 1. Penambahan ukuran file tanpa alasan yang jelas. Hal ini mengindikasikan adanya virus dengan tipe appending. 2. Program tidak dapat berjalan secara normal dan diikuti pesan-pesan error. 3. Adanya perubahan struktur direktori tanpa sebab. 4. Penurunan jumlah memori yang tersedia bukan karena komputer sedang menjalankan sebuah program. 5. Seluruh aktivitas sistem berjalan secara lambat, hal ini dapat dilihat bila proses eksekusi program membutuhkan waktu yang lebih lama dari biasanya.
B. Trojan Horse Kuda Troya diambil namanya dari fabbel sastra besar Homer. Istilah ini berasal dari mitologi Yunani, pada saat Yunani sedang perang menghadapi pasukan Troy. Yunani telah mengepung kota Troy beberapa tahun, tetapi kota Troy tidak dapat jatuh ke tangan Yunani. Akhirnya Yunani membuat strategi kuda raksasa dari kayu, uniknya dalam perut kuda ini berongga sehingga dapat diisi banyak pasukan Yunani. Kemudian kuda ini dihadiahkan ke penduduk Troy, dengan bantuan spionase Yunani penduduk Troy berhasil diyakinkan untuk memasukkan kuda kayu ke dalam kota. Pada malam hari pasukan Yunani yang berada di dalam kuda tersebut keluar dan membuka gerbang kota Troy yang akhirnya kota Troy dapat jatuh ketangan Yunani. Trojan horse dalam dunia komputer digunakan untuk menamai program-program yang tampaknya baik, tetapi didalamnya menyimpan maksud-maksud jahat, misalnya mencuri password, mengontrol komputer dari jarak jauh, dan lain-lain. Proses yang dilakukan yaitu seorang user A menaruh program atau kode biner yang tampaknya bagus dan membuat user lain ingin mendownload-nya kemudian menjalankan sebagai root. Setelah didownload dan dijalan, kemudian user A tersebut dapat mengganggu sistem user lain (user B) sementara user B tidak memperhatikan. User B berpikir bahwa file kode biner yang diambilnya baik hanya melakukan satu hal (dan mungkin sangat baik). Perlu diingat bahwa seorang user tidak akan pernah tahu apa yang sesungguhnya terjadi bila dia menjalankan suatu program.
Sebagai gambaran bila seorang user
dihadapkan pada suatu tampilan program dengan suatu tombol yang bertuliskan “close”, user tersebut tidak akan pernah tahu aksi sesungguhnya, apakah aksi penekanan tombol tersebut akan dapat menutup aplikasi program atau aksi yang lain. Aksi yang kasat mata kemungkinan hanya diketahui oleh si pembuat program, misalnya untuk mencuri password atau bahkan memformat hardisk komputer user. Perlu diwaspadai terhadap program apa yang diinstal di dalam suatu mesin. Linux menyediakan chekshum MD5, dan tanda PGP, file RPM sehingga anda dapat melakukan verivikasi bahwa anda menginstal hal yang sebenarnya. Distribusi lain memiliki metode yang serupa. Sebaiknya tidak menjalankan sembarang file biner yang kode sumbernya tidak dikenal sebagai root! Sedikit penyerang yang bersedia mengeluarkan kode sumber
untuk dilihat publik. Meski dapat menjadi komplek, pastikan untuk dapat memperoleh kode sumber beberapa program dari site distribusi sebenarnya. Jika program akan berjalan sebagai root pastikan seseorang yang dipercaya telah melihat kode sumber dan melakukan verivikasi. Trojan Horse diproduksi dengan tujuan jahat. Berbeda dengan virus, Trojan Horse tidak dapat memproduksi diri sendiri. Pada umumnya Trojan Horse dibawa oleh utility program lainnya. Utility program tersebut mengandung dirinya, atau Trojan Horse itu sendiri “berlagak" sebagai utility program. Contoh Trojan Horse: Win-Trojan/Back Orifice, Win-Trojan/SubSeven, WinTrojan/Ecokys (Korean). Trojan Horse masih dapat dibagi lagi menjadi: •
1. DOS Trojan Horse
: Trojan Horse ini berjalan di DOS. Trojan Horse jenis ini akan mengurangi kecepatan komputer atau menghapus file-file pada hari atau situasi tertentu.
•
2. Windows Trojan Horse
: Trojan Horse ini digunakan sebagai program untuk hacking dengan tujuan jahat yang dapat mengkoleksi informasi dari komputer yang tersambung internet. Trojan Horse jenis ini berjalan di system Microsoft Windows. Jumlah Windows Trojan Horse meningkat sejak 1998.
C. Worm Worm sama juga dengan program-program aplikasi komputer yang ada di komputer.
Perbedaannya worm mampu menggandakan diri atau kamuflase.
Worm
memiliki berbeda dengan virus, karena virus menggandakan diri dengan menginfeksi suatu file, sedangkan worm tidak menginfeksi file apapun.
Worm juga mempunyai
payload, tentunya dibuat sesuai keinginan programernya. Seiring perubahan waktu worm bersifat menyerupai virus. Jadi ada malicious yang mempunyai karakter virus dan juga karakter worm sekaligus. Perkara kamuflase dalam worm digunakan untuk mengelabui para pengguna komputer, diantaranya dari nama file yang digunakan.
Worm menggunakan nama-nama yang
memanfaatkan sifat keingintahuan para user. Worm ditujukan kepada program yang mengkopi dirinya sendiri ke (hanya) memory komputer. Perbedaan mendasar dari worm dan virus yaitu proses penginfeksian yang terjadi sampai menginfeksi target code atau tidak. Virus menginfeksi target code, tetapi worm tidak. Worm hanya ngendon di memory. Worm pada awalnya diketemukan di large computer (1970-an), dan akhir- akhir ini saja diketemukan di komputer kecil seperti PC. Terutama sejak 1999, dimana work banyak beredar melalui media email.
UJIAN AKHIR SEMESTER MANAJEMEN DAN KEAMANAN JARINGAN
VIRUS, TROJAN HORSE DAN WORM
Disusun : Haryono / 0320408
INSTITUT TEKNOLOGI BANDUNG 2006