Jumat, 23 April 2010

BDVM - BAB 2 Struktur virus macro

BAB 2
Struktur virus macro


Setelah melewati tahap pengenalan dasar dan umum, kita sebagai calon pendekar akan melanjutkan “meditasi” dengan mulai mengenal struktur ilmu virus secara lebih dekat.  Pada bagian ini kita sudah mulai mengarah kepada suatu ilmu yang khusus, yaitu ilmu virus macro.  Artinya kita akan melupakan jenis-jenis virus lainnya, definisi-definisi yang memusingkan dan belajar secara lebih detail untuk jenis virus macro saja.



Struktur virus macro

Seperti halnya jenis virus-virus lainnya, virus macro mempunyai banyak kesamaan bagian dalam programnya.  Virus macro akan mempunyai rutin-rutin tertentu untuk menjamin kelangsungan hidupnya.
Secara global struktur program virus macro   dapat dibedakan menjadi 5 bagian utama.  Kelima bagian utama tersebut adalah :
1. Rutin penanda virus
2. Rutin penggandaan diri sendiri
3. Rutin pertahanan
4. Rutin pemicu
5. Rutin manipulasi

Kita lihat bagian demi bagian, sehingga menambah pemahaman akan strukturnya.

1.    Rutin penanda virus
Setiap virus pasti mempunyai tanda pengenal.  Jika dianalogkan dengan manusia, penanda virus sama dengan nama.  Dari ciri-ciri penanda virus, suatu virus akan dikenali.  Misalnya virus A adalah virus yang mempunyai tanda pengenal Y.  Virus B adalah virus yang mempunyai tanda pengenal X.  Dengan penanda virus inilah, umumnya suatu program virus akan mendeteksi dan mengidentifikasi suatu virus.
Berbagai macam cara dalam pembuatan penanda virus ini.  Ada yang dilakukan dengan kalimat yang dipasangkan dalam rutin program virusnya.  Adapula yang memakai nama suatu obyek.  Tinggal bergantung kepada keinginan pemrogram virus.

2.    Rutin penggandaan diri sendiri
Suatu program tidak dapat dikatakan sebagai suatu program virus, bilamana ia tidak dapat melakukan penggandaan dirinya sendiri.  Jadi seolah-olah ia mempunyai kemampuan untuk “beranak dan menyebarkan diri”.  Banyak jurus untuk proses penggandaan diri pada virus macro.  Namun demikian pada umumnya virus macro akan melakukan proses penggandaan diri melalui global template (normal.dot).

3.    Rutin pertahanan dan penjebolan
Suatu program virus tidak dapat dikatakan sebagai program yang baik, jika ia tidak mempunyai suatu rutin untuk menjebol pertahanan suatu program. He.. he… he… :)
Ini jelas, karena program virus biasanya dipakai untuk hal-hal yang berbau “nakal”. Entah itu sekedar iseng atau bahkan cenderung dipakai sebagai program yang bersifat destruktif.  Oleh karena itu kemampuan penjebolan pertahanan suatu program wajib dimiliki oleh setiap program virus.  Sehingga ia dapat memanipulasi data atau program. 
Suatu virus selain mempunyai jurus membobol pertahanan program,   juga akan diperlengkapi dengan suatu rutin yang dipakai untuk bertahan dari serangan lawan.  Jadi, ia akan mempunyai benteng-benteng pertahanan untuk menjaga kelangsungan hidupnya.


4.    Rutin pemicu
Setiap program virus umumnya akan mempunyai suatu rutin yang dipakai untuk memicu aktifnya program utama virus.  Rutin-rutin pemicu ini beraneka ragam caranya.   Misalnya virus akan diaktifkan jika pemakai melakukan pembukaan data atau mungkin saat suatu dokumen disimpan., dan lain sebagainya.
Yang jelas, program virus macro juga akan mempunyai rutin pemicu virus, biarpun itu hanya satu rutin pengaktif saja.


5.    Rutin manipulasi
Setiap program virus, pasti melakukan suatu manipulasi tertentu.  Jenis manipulasi yang dilakukan tentu saja amat kompleks.  Mulai dari yang sekedar iseng ataupun yang dengan sengaja untuk tujuan perusakan sistem.  Orang-orang yang benci virus mengatakan untuk tujuan sabotase ! he… he… :)
Yang membatasi jangkauan rutin manipulasi, adalah kemampuan pembuatnya.  Repot bukan?  Semakin “sakti” pembuatnya, program virus akan semakin dahsyat dan macam-macam manipulasi yang mungkin terjadi. Dan tentu saja akan semakin sulit untuk dideteksi dan dilumpuhkan.


Itulah lebih kurang gambaran struktur program  atau rutin virus.  Pada pembahasan-pembahasan nanti, kita akan menelaah rutin-rutin ini secara lebih teliti.  Akan ditunjukkan secara langsung suatu sub prosedur yang kita jadikan sebagai model virus, juga, jika perlu, akan dibahas baris per baris dari perintah program.  Sehingga  selain mengenal teori juga akan praktek langsung dengan model virus yang kita buat.
Dari contoh-contoh sub prosedur yang dibahas, jika dituliskan secara lengkap dan  utuh (dirangkum) maka akan terbentuk suatu jenis program  virus  dengan sendirinya.  Siap?


Penanda virus

Seperti telah diuraikan di atas, secara kasar struktur virus macro dapat dipilah menjadi 5 bagian utama. Kelima bagian utama ini mempunyai tugas yang saling melengkapi satu dengan yang lainnya.   Pada kesempatan ini kita akan melihat penanda virus.

Apa itu penanda virus ?

Istilah keren-nya adalah virus marker. Bagian ini dipakai oleh program virus untuk mengenali dirinya sendiri.  Artinya jika ternyata pada suatu file sudah terdapat tanda pengenal ini, maka ia tidak akan menginfeksinya lagi.   Jika tidak ditemui maka ia akan menggandakan dirinya (mengcopykan programnya) ke file tersebut.
Penanda ini bermacam-macam bentuknya sesuai dengan keinginan si pemrogram.  Dari tanda-tanda pengenal inilah biasanya program anti virus dapat mengenali jenis virus yang sedang menyerang.
Virus macro pun memakai tanda ini sebagai suatu identifikasi keberadaan program-nya.  Penanda virus dapat diletakkan sebagai suatu konstan pada program, misalnya dengan perintah :

Const marker=”dibuat oleh ABCD”

* keterangan : Konstan yang bernama “marker” berisi  penanda virus yang berbunyi “dibuat oleh ABCD”
Atau barangkali

Const ID=”cyber hacker”
* keterangan : Konstan yang bernama “ID” berisi  penanda virus yang berbunyi “cyber hacker”

Konstan yang bernama “marker” berisi  penanda virus yang berbunyi “dibuat oleh ABCD”, pada saat virus aktif ia akan mencari penanda virus  ini dengan perintah-perintah tertentu.  Misalnya dengan perintah Find atau dengan jebakan perbandingan IF… THEN … , dan sebagainya.

Contoh lain, penanda virus ini dapat berupa nama suatu module program (object name).  Program akan mencari nama obyek tersebut pada saat aktif.  Pada pembahasan kita, ini sebagai model kita akan memakai penanda virus dengan nama suatu obyek.  Anggap saja kita akan membuat suatu penanda virus dengan nama MEGATRUH.  (nama yang yang aneh, ya? Nama itu saya ambil dari salah satu jenis tembang jawa.  yang biasanya digunakan untuk event-event kesusahan.  Misalnya kematian .. he .. he... :).  Megat = memutus, ruh = nyawa, jadi jika disambung = memutus nyawa.).
Sebetulnya akan saya beri nama MEGATREND, tapi kok … rasanya terlalu kebarat-baratan.  Takut dicap kurang rasa nasionalimenya … he.. he… he.. :).  Oke! Pemakaiannya kita lihat nanti.


============================================================================
Hacker vs cracker? : suatu pelurusan terminologi

Tentunya kita sering berpikir minor alias negatif begitu mendengar istilah hacker.  Sebenarnya, kelompok yang menamakan dirinya hacker mempunyai tujuan-tujuan yang baik dan berusaha mendapatkan jalan keluar untuk setiap persoalan yang berhubungan dengan komputer dan network. 
Misalnya, seseorang lupa akan suatu password dan ia tidak dapat membukanya.  Hacker-lah yang biasanya ditugasi untuk menyelesaikan masalah ini.   Sehingga persoalan-persoalan aneh-aneh bagi pemakai komputer, bukanlah persoalan yang aneh-aneh lagi bagi dia.  
Memang ada kelompok lain yang mempunyai kemampuan yang sama dan dikenal dengan sebutan cracker.  Kelompok ini dapat dikatakan sebagai kelompok yang bertentangan dengan hacker.   Karena keduanya mempunyai orientasi prinsip yang bertolak belakang.  Hacker mempunyai sifat membangun  dan mencari pemecahan masalah untuk sistem komputer dan jaringan untuk orang banyak.  Sedangkan cracker mempunyai sifat membongkar, merusak dan mencari kepuasan pribadi.
Sayangnya kita terlanjur “salah kaprah” akan terminologi hacker dan cracker ini.  Kita pukul rata secara sadis untuk istilah ini.  Padahal prinsip keduanya sungguh berbeda.  Kasihan!  Tapi bagaimana lagi, kebanyakan pemakai komputer yang mengaku hacker sendiri tidak tahu prinsip dan filosofi hacker yang sesungguhnya.  Ironis sekali!!!  Mengklaim dirinya hacker tanpa mengetahui sifat hacker dan ikatan moralnya. Sesungguhnyalah ia seorang cracker bukan hacker !
Hacker sejati mempunyai sifat menyelesaikan masalah dan membuatnya menjadi berguna, menghargai kebebasan, dan kerjasama sukarela. Seorang hacker sejati secara default (he… he…:) emangnya mesin atau software…) harus mematuhi beberapa moto standar hacker seperti :
•    Masalah yang sama haram hukumnya dipecahkan lebih dari satu kali 
•    Kebosanan dan pekerjaan membosankan itu adalah sesuatu yang berbahaya dan wajib dihindari
•    Kebebasan adalah nomor satu dan harus dijunjung tinggi
•    Dunia ini penuh dengan persoalan menarik untuk dicermati dan dipecahkan

Konon untuk masuk ke kelompok suatu hacker, seseorang akan melewati beberapa tes yang tidak gampang.  Ia harus mempunyai beberapa kemampuan dasar, seperti : menguasai suatu bahasa pemrograman yang mendukung proses hacking,  menguasai salah satu unix open source, dan  menguasai cara membuat WWW dengan HTML atau script lainnya., dan sebagainya. 
Untuk dapat diterima di komunitas hacker, seseorang harus sanggup melakukan beberapa hal seperti : membuat informasi yang berguna, menulis software open source, membantu menguji dan men-debug  software open source, membantu berjalannya infrastruktur sistem komputer serta loyal kepada peraturan dan budaya hacker. Budaya hacker akan menuntut seseorang  harus inovatif, kreatif, mempunyai kemampuan dalam bidang yang sulit dan melibatkan kekuatan mental yang tidak mudah.
Nah! Ternyata tidak gampang kan menjadi seorang hacker sejati?  karena begitu banyak aturan moral yang mengikat dan  dukungan kemampuan otak yang encer merupakan menu wajib.   Hayo…. Siapa mau mendaftar?  Saya sih tidak mau, terlalu memusingkan kepala dan saya memang tidak sanggup dengan peraturan, syarat kemampuan dan budayanya yang super ketat.  Belajar ilmunya dikit-dikit saja… kalau boleh lho…
============================================================================


Membuat penanda virus dengan nama obyek

Seperti telah disinggung di atas kita akan membuat suatu penanda virus dengan nama suatu obyek.  Pertama kali yang harus kita lakukan adalah membuat suatu dokumen baru.  Aktifkan program Microsoft Word. Klik  File pilih New.   Jika suatu dokumen baru sudah muncul,  kini aktifkan editor Visual Basic,. dengan  menekan tombol Alt  F11.  Atau cara lain dengan memilih Tools. Lalu memilih Macro dan memilih Visual Basic Editor.
Jika kita benar dalam melakukannya jendela editor visual basic akan terlihat.
Dari editor inilah kita akan belajar membuat suatu penanda virus.  Perhatikan jendela Project yang tampil di layar.


Gambar :  isi project properties

Pada jendela Project dapat kita lihat terdapat dua file yang terbuka (aktif) yaitu Normal dan Project (Documet1).   Normal mewakili Normal Template sedangkan   Project (Document1) mewakili file yang sedang aktif.  Pada kasus ini kebetulan bernama Document1. Pada bagian Document1 ini  terdapat beberapa modul lainnya.  Seperti ThisDocument atau Reference to normal.   Kita akan membuat suatu modul baru yang akan kita pakai sebagai penanda virus.



Gambar :  membuat modul baru

Klik kanan pada bagian Project (Document1), akan ditampilkan suatu menu konteks dengan beberapa pilihan.  Saya tidak akan membahas pilihan-pilihan yang ada kecuali pilihan Insert.  Karena dengan pilihan Insert inilah kita akan membuat suatu modul baru.  Setelah memilih Insert pilihlah Module.   Begitu proses selesai kita kerjakan, suatu modul baru akan dibentuk oleh visual basic.


Gambar :  module baru terbentuk

Lho… kok tahu begitu ? Iya… pada jendela project, akan muncul suatu folder baru yang bernama Modules. Folder ini berisi dengan satu modul baru yang bernama Module1.  Yach….. inilah calon jabang bayi virus kita … he… he…:)  tenang… tenang … kita tidak perlu repot-repot untuk bancakan atau selamatan atau membuat bubur abang putih.  Huss……!!! :)
Langkah berkutnya adalah keluar dari visual basic editor,  dan mengaktifkan menu Tools. Pada saat menu Tools menampilkan menu pulldown kita pilih Templates and Add-Ins… 


Gambar :  memanggil menu template

Dengan fasilitas ini kita akan mengganti nama modul baru yang telah kita buat.  Akan ditampilkan jendela Templates and Add-ins.  Kita tidak akan mencermati isi dari jendela ini secara detail satu demi satu.  Konsentrasi kita kerahkan pada tombol perintah yang bertuliskan Organizer….

Gambar :  tampilan  template dan Add-ins

Klik Organizer, maka suatu jendela Organizer akan muncul.  Pada jendela tersebut akan terdapat beberapa Tab yaitu : Styles, Autotext, Toolsbars dan Macro Project Items.  Klik-lah tab Macro Project Items. Tampilannya lebih kurang seperti terlihat pada gambar.  Akan terlihat pada jendela sebelah kiri  sebuah nama modul  yaitu Module1.  (modul inilah yang tadi kita buat).  Ini menunjukkan dokumen yang aktif hanya  berisi modul tersebut.  Sedangkan pada jendela bagian kanan terlihat masih kosong.  Jendela ini mewakili Normal.dot.


Gambar :  tab Macro Project Items

Klik tulisan Module1.  Jika sudah terpilih kini saatnya kita mengganti namanya.  Klik tombol perintah yang bertuliskan Rename.    Jika kita benar dalam memanggilnya akan tampil kotak dialog Rename.   Kita ketikkan MEGATRUH.  Anggap saja penanda virus  kita bernama MEGATRUH.  Tekan Enter atu klik Ok agar perubahan yang kita buat menjadi permanen.  Klik Cancel untuk membatalkannya.



Gambar :  mengganti nama modul

Hasil akhir pengubahan akan segera terlihat.  Perhatikan jendela sebelah kiri.   Nama modul yang semula bernama Module1 telah berubah menjadi  MEGATRUH.

Gambar :  nama modul telah berubah menjadi MEGATRUH

Dengan pengubahan ini, maka nama modul sudah berubah nama dari Module1 mejadi MEGATRUH. Apa iya…sih ?!  Agar lebih mantap kita buktikan dengan memanggil kembali visual basic editor.  Jika editor Visual Basic telah berhasil diaktifkan, perhatikan pada jendela Project,  nama module MEGATRUH akan muncul menggantikan Module1.


Gambar :  modul baru MegatRuh terbentuk

Nah…  ternyata membuat penanda virus-nya gampang ya?  Memang, untuk mulai mengetikkan data-data program, klik ganda modul yang bernama MEGATRUH. Editor yang ada akan aktif dan kita tinggal mengetikkan data-data program virus yang akan kita beberkan secara habis-habisan pada bab-bab berikut ini.   Siap.. ?

============================================================================

Pernah dilecehkan atau dianggap remeh orang?  Belum ya?  Saya sering! Saya tidak marah, malahan menyukainya.  Tepatnya, menikmatinya!  Mungkin karena sikap low profile  dan “bakat” saya, hal itu terjadi.  Saya menyukainya karena saya mendapatkan banyak keuntungan atas perlakuan tersebut. 
Pertama, lawan atau teman tidak akan pernah tahu “kekuatan” saya yang sebenarnya.  Jadi, saya tidak akan termasuk “hitungan” dalam daftar orang yang patut dicurigai dan ditakuti keberadaannya.  He… he… he… :).  Mereka tidak akan pernah menduganya jika saya nantinya berbuat yang macem-macem.
Kedua, jika ada pekerjaan-pekerjaan sulit, saya tidak akan dipakai.  Selamatlah saya dan cocok sekali dengan sifat malas yang saya sukai.  He… he… :)
Ketiga, kawan dan lawan tipis sekali kemungkinannya “menyerang”, karena saya dianggap “tidak berbahaya” dan “tidak tahu apa-apa”.  Jadi tidak akan merepotkan hidup yang saya jalani,
Jadi… jika Anda disepelekan, janganlah marah! Tenang dan belajarlah! Sehingga jika suatu saat kesabaran Anda habis, Anda dapat berlenggang dengan santai untuk memberi pelajaran kepada mereka yang sok tahu.  Okey, honey… keep smiling !
============================================================================

 Download bab ini dalam versi e-book PDF

3 komentar:

  1. Bner kata abang tri n sufi...

    lebih baik direndahkan agar orang itu tidak tau profil kita sebenarnya dan kita terus selalu menimba ilmu dan membasmi orang yg sudah klewatan merendahkan kita

    wkwkwkwk :D

    BalasHapus
  2. pertanyaan saya...

    kenapa e book PDF nya sama dengan yang abang posting ???

    mana lanjutannya bang ??

    BalasHapus
  3. bang aroel....

    e book pdf memang sama dgn yang dipost. sengaja dibuat begitu biar tidak terlalu berat downloadnya. jadi ikuti saja tiap artikel yg ada. terus klik download di akhir bagian artikel. atau saat download di 4shared, klik folder ebook. dan akan muncul file-file ebook lanjutannya. terima kasih atas kesediaanya singgah di blog.

    BalasHapus