Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint...

72
www.wahyuhidayat.com 1 Teknik Pembuatan Anti Virus Dengan Metode Pencarian Header File Data SizeOfCode Dan AddresOfEntrypoint Sebagai Pattern Virus Oleh Muhammad Yusuf 2006 02 0190 SKRIPSI Diajukan Untuk Memenuhi Sebagian Syarat Ujian Kesarjanaan Strata Satu Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Handayani 2008

description

teknik pembuatan antivirus menggunakan metode pencarian header data

Transcript of Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint...

Page 1: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 1

Teknik Pembuatan Anti Virus Dengan Metode Pencarian Header File Data SizeOfCode Dan AddresOfEntrypoint Sebagai Pattern Virus

Oleh

Muhammad Yusuf 2006 02 0190

SKRIPSI

Diajukan Untuk Memenuhi Sebagian Syarat

Ujian Kesarjanaan Strata Satu

Sekolah Tinggi Manajemen Informatika dan Komputer

(STMIK) Handayani

2008

Page 2: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 2

ABSTRAK

Muhammmad yusuf, irhamdy a, patty, teknik pembuatan anti virus dengan metode pencarian data header file sizeofcodedan entryofpoint menggunakan visual basic 6.0 dibimbing oleh : Amir Ali dan Abd. Latif Arda Penelitian ini bertujuan untuk : (1) mengetahui tingkah laku dari virus dan worm. (2) mengetahui bagian-bagian apa saja dari sebuah sistem operasi (windows) yang di serang oleh virus dan worm. (3) Membuat sebuah anti virus sendiri. Berdasarkan penelitian diatas dapat di simpulkan bahwa rancangan

Anti virus yang menggunakan addresOfEntryPoint dan SizeofCode

sebagai pattern virus ini, bisa juga diandalkan sebagai sebuah engine scaner, yang cepat dan handal untuk mengenali virus, dan juga hemat dalam penggunaan recource memori.

Page 3: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 3

DAFTAR ISI

Halaman

HALAMAN JUDUL ...............................................................................

HALAMAN PERSETUJUAN ................................................................

HALAMAN PENGESAHAN .................................................................

ABSTRAK ..............................................................................................

KATA PENGANTAR ............................................................................

DAFTAR ISI ...........................................................................................

DAFTAR GAMBAR ..............................................................................

BAB I PENDAHULUAN ................................................................

A. Latar Belakang Penulisan ................................................

B. Batasan Masalah..............................................................

C. Rumusan Masalah ...........................................................

D. Tujuan Dan Manfaat Penelitian ......................................

BAB II LANDASAN TEORI ...........................................................

A. Sejarah Virus ..................................................................

1. Pengertian Virus Komputer.......................................

2. Kemampuan Dasar virus komputer ...........................

3. Jenis-jenis Virus komputer ........................................

4. Berdasarkan Infeksi Yang Dilakukan .......................

5. Berdasarkan Media Penyebarannya ..........................

6. Sejarah Singkat dan Taksonomi worms ....................

7. Struktur Worms .........................................................

8. Tipe-Tipe Worms ......................................................

9. Perbedaan Virus dan Worm ......................................

10. Seputar Anti Virus Serta Konsepnya ........................

11. Header File (PE) ........................................................

12. Sistem Operasi 16 dan 32 bit ....................................

Page 4: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 4

BAB III METODE PENELITIAN .....................................................

A. Alat dan bahan................................................................

B. Teknik penyiapan pattern virus ......................................

C. Mempersiapkan pattern virus .........................................

D. Meyimpan pattern virus ke text file (VDF)....................

E. Teknik mendeteksi proses virus di memori

dan menghentikannya.....................................................

F. Mengambil semua proses yang aktif ..............................

G. Memeriksa masing-masing module dalam proses .........

H. Menghentikan proses virus ............................................

BAB IV METODE PERANCANGAN SISTEM ...............................

A. Perancangan Program.....................................................

B. Algoritma dari program..................................................

C. Bagan alir (Flowchart) ...................................................

BAB V IMPLEMENTASI ...............................................................

A. Petunjuk pengoperasian ................................................

BAB VI PENUTUP ............................................................................

A. Kesimpulan ....................................................................

B. Saran ...............................................................................

Page 5: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 5

BAB I

PENDAHULUAN

A. Latar Belakang

Seiring pesatnya kemajuan teknologi informasi khususnya di bidang

teknologi komputer dan jaringan, keamanan dan isu yang kerap kali dibahas.

Mulai dari ancaman langsung para craker atau hacker jahat hingga acaman yang

dilakukan melalui program yang disebut malcode (malicious code). Suatu

program atau script apapun yang bersifat merusak atau merugikan dapat

katagorikan sebagai malcode termasuk virus komputer, worm atau trojan horse.

Selama lebih dari tiga dekade yang lalu, virus komputer telah berkembang

dari sekedar riset akademis menjadi masalah yang umum bagi para pengguna

komputer di dunia. Masalah terbesar dari virus ini berasal dari penanggulangan

efek kerugian yang ditimbulkan oleh penyebarannya. Efek kerugian ini semakin

menjadi dengan maraknya penggunaan internet sebagai jalur komunikasi global

antara pengguna komputer di seluruh dunia. Berdasarkan hasil survei CSI/FB

sejak tahun 1999-2006 pada sekitar 300-an responden dari berbagai organisasi di

Amerika Serikat, tentang kejahatan komputer dan keamanannya, menyebutkan

bahwa virus menempati urutan pertama sebagai kejahatan komputer yang paling

merugikan. Masih dari hasil survei tersebut, dinyatakan kerugian rata-rata yang

diderita organisasi-organisasi itu akibat virus komputer ditaksir mencapai sekitar

38 juta dolar amerika pertahun. Seiring dengan perkembangannya, virus komputer

mengalami beberapa evolusi dalam bentuk, karakteristik serta media

Page 6: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 6

penyebarannya. bentuk evolusi tersebut dikenal dengan Worms, Spyware, Trojan

horse dan program Malcode lain.

Perkembangan penyebaran malcode di Indonesia pada awalnya lebih

banyak didominasi oleh worms dan virus yang berasal dari luar negeri. Namun

pada bulan Oktober 2005, dominasi ini mulai runtuh dengan menyebarnya virus-

virus lokal yang hampir ada disetiap komputer di seluruh Indonesia, virus

menyebar dengan sangat cepat dan sangat membuat risih bagi pengguna

komputer, dengan demikian dibuatlah anti virus sebagai salah satu solusi

mencegah penyebaran.

Metode pencarian virus yang paling sering di pakai oleh anti virus yaitu

metode CRC-32 (Cyclic Redundancy Code). Metode CRC-32 merupakan teknik

yang semulanya digunakan untuk mengecek kerusakan pada file. Metode ini yang

sering digunakan oleh anti virus lokal untuk mengecek signature dari virus, tetapi

teknik ini tidak efesien apabila diterapkan pada malware yang sudah

mengimplementasikan teknik polymorph.. Kasus virus lokal sudah ditemukan

penggunaan teknik polymorph. Baik itu secara sederhana maupun kompleks. Cara

yang biasa digunakan yaitu :

1. Merubah atau mengenkripsi nama variabel dan string

2. Menambah atau mengurangi byte-byte tertentu di virus

3. menggunakan engine polymorph tertentu

Jika secara normal metode Crc-32 ini sangat gampang untuk dikelabui, hal

ini dikarenakan perubahan 1 bit kode pada program maka akan menyebabkan

perubahan hasil pengecekan CRC-32.

Page 7: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 7

Hal ini yang melatarbelakangi mengapa “Teknik Pembuatan Anti Virus

Dengan Metode Pencarian Header File Data Sizeofcode Dan Addresofentrypoint

Sebagai Pattern Virus” diangkat sebagai judul skripsi, karena berdasarkan

pengamatan penulis walaupun virus sudah melakukan modifikasi terhadap dos

header dengan tujuan untuk memperkecil ukuran virus, tetapi data optimal header

dari virus yang berupa SizeOfCode dan AddressOfEntry, tidak akan

berubah.

B. Batasan Masalah

Penulis membatasi penelitian ini dengan membahas :

1. File yang akan di jadikan sampel virus yaitu berupa file yang

berekstensi *.exe.

2. Pattern virus dalam bentuk hexadecimal yang merupakan data

AddressOfEntryPoint dan SizeOfCode.

3. Menyimpan pattern virus pada suatu text file terpisah dimana 16

digit pertama adalah pola virus yang berupa bilangan hexa, dan

diikuti oleh nama virus

C. Rumusan Masalah

Berdasarkan latar belakang dan batasan masalah, maka permasalahan

dalam skripsi ini, adalah bagaimana teknik pembuatan anti virus dengan metode

pencarian header file data sizeofcode dan .

Page 8: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 8

D. Tujuan Penelitian

Dari hasi penelitian yang dilakukan, adapun tujuan yang ingin dicapai

dalam merancang suatu sistem anti virus yaitu :

1. Untuk membuat sebuah anti virus dengan metode pencarian header file

data SizeOfCode dan AddressOfEntrypoint sebagai pattern

virus.

2. Untuk mengetahui letak kekurangan-kekurangan dari sistem yang sedang

berjalan..

3. Untuk mengetahui sejauh mana efektivitas dan efisiensi dari sebuah sistem

anti virus yang menggunakan header file sizeofcode dan

AddressOfEntryPoint sebagai pattren virus yang dirancang, untuk

dibandingkan dengan sistem yang menggunakan metode cheksum (CRC-

32).

Page 9: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 9

BAB II

LANDASAN TEORI

A. Sejarah Virus Komputer

Virus komputer pertama kalinya tercipta bersamaan dengan komputer.

Pada tahun 1949 salah seorang pencipta komputer Johnvon Newman, yang

menciptakan Electronic Discrete Variable Automatic Computer (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++.1 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, yaitu pemenangnya adalah pemilik

program sisa terbanyak dalam selang waktu tertentu. Karena sadar akan bahaya

program tersebut, terutama 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

Page 10: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 10

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

ciptaannya, yaitu suatu virus yang dapat menyebar secara cepat pada sejumlah

komputer. 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.

1. Pengertian Virus Komputer

Istilah virus komputer tak asing lagi bagi kalangan pengguna komputer

saat ini. Padahal, sekitar 12 tahun yang lalu, istilah ini telah dikenal oleh

masyarakat pengguna komputer. Baru pada tahun 1988, muncul artikel-artikel di

media massa yang dengan gencar memberitakan mengenai ancaman baru bagi

para pemakai komputer yang kemudian dikenal dengan sebutan „virus komputer‟.

Virus yang terdapat pada komputer hanyalah berupa program biasa, sebagaimana

layaknya program-program lain. Tetapi terdapat perbedaan yang sangat mendasar

pada virus komputer dan program lainnya.Virus dibuat oleh seseorang dengan

tujuan yang bermacam-macam, tetapi umumnya para pembuat virus hanyalah

ingin mengejar popularitas dan juga hanya demi kesenangan semata. Tetapi

apabila seseorang membuat virus dengan tujuan merusak maka tentu saja akan

mengacaukan komputer yang ditularinya.

Page 11: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 11

2. Kemampuan Dasar Virus Komputer

Definisi umum virus komputer adalah program komputer yang biasanya

berukuran kecil yang dapat menyebabkan gangguan atau kerusakan pada sistem

komputer dan memiliki beberapa kemampuan dasar, diantaranya adalah :

a. Kemampuan untuk memperbanyak diri

Yakni kemampuan untuk membuat duplikat dirinya pada file-file atau

disk-disk yang belum ditularinya, sehingga lama-kelamaan wilayah

penyebarannya semakin luas.

b. Kemampuan untuk menyembunyikan diri

Yakni kemampuan untuk menyembunyikan dirinya dari perhatian user,

antara lain dengan cara-cara berikut :

1) Menghadang keluaran ke layar selama virus bekerja, sehingga

pekerjaan virus tak tampak oleh user.

2) Program virus ditempatkan diluar track2 yang dibuat DOS (misalkan

track 41)

3) Ukuran virus dibuat sekecil mungkin sehingga tidak menarik

kecurigaan.

c. Kemampuan untuk mengadakan manipulasi.

Sebenarnya rutin manipulasi tak terlalu penting. Tetapi inilah yang sering

mengganggu. Biasanya rutin ini dibuat untuk :

1) Membuat tampilan atau pesan yang menggangu pada layar monitor

2) Mengganti volume label disket

Page 12: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 12

3) Merusak struktur disk, menghapus file-file

4) Mengacaukan kerja alat-alat I/O, seperti keyboard dan printer

d. Kemampuan untuk mendapatkan informasi

Yakni kemampuan untuk mendapatkan informasi tentang struktur media

penyimpanan seperti letak boot record asli, letak tabel partisi, letak FAT32, posisi

suatu file, dan sebagainya.

e. Kemampuan untuk memeriksa keberadaan dirinya

Sebelum menyusupi suatu file, virus akan memeriksa keberadaan dirinya

di dalam file tersebut dengan mencari ID (tanda pengenal) dirinya. File yang

belum tertular suatu virus tentunya tidak mengandung ID dari virus yang

bersangkutan. Kemampuan ini mencegah penyusupan yang berkali-kali pada

suatu file yang sama.

3. Jenis-Jenis Virus Komputer

Berikut ini akan dibahas jenis-jenis virus yang penulis simpulkan dari

berbagai sumber, baik sumber pustaka maupun sumber dari internet.

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

Page 13: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 13

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 orang salah kaprah 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

yang lain.

Page 14: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 14

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 bermain internet, virus

jenis ini biasanya menumpang pada file HTML (Hype Text Markup Language)

dibuat dengan menggunakan fasilitas script seperti Janti virusascript, VBscript,4

maupun gabungan antara script yang mengaktifkan program Active-X dari

Microsoft Internet Explorer.

4. Berdasarkan Infeksi yang Dilakukan

1. 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. Virus boot sector terbagi dua yaitu virus yang menyerang

disket dan virus yang menyerang disket dan tabel partisi.

2. Virus File

Virus file merupakan virus yang memanfaatkan suatu file yang dapat

diproses langsung pada editor DOS, seperti file berekstensi COM dan EXE serta

beberapa file overlay, dan file BATCH. Virus umumnya tidak memiliki

kemampuan untuk menyerang di semua file tersebut. Virus file juga

dikelompokkan berdasarkan yang tinggal di memori.

Page 15: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 15

3. Virus System

Virus sistem merupakan virus yang memanfaatkan file-file yang dipakai

untuk membuat suatu sistem komputer. Contohnya adalah file dengan berekstensi

SYS, file IBM BIO.COM, IBM DOS.COM, atau COMMAND.COM.

4. 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.

5. Virus Registry Windows

Virus ini menginfeksi operating system yang menggunakan Windows

95/98/NT 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 user menjalankan Windows

maka virus akan dijalankan oleh registry tersebut.

6. 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 yangmengandung virus.

5. Berdasarkan Media Penyebarannya

1. 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

Page 16: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 16

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 apabila terjadi

pengaksesan pada file/media yang mengandung virus yang diikuti dengan

pengaksesan file/media yang masih bersih, dapat juga dengan mengakes

file/media yang masih bersih sedangkan di memori komputer terdapat virus yang

aktif.

2. 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 user 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.

6. Sejarah Singkat dan Taksonomi Worms

Sejarah Worms mulai ada dan dikenal sejak awal internet mulai

dipublikasikan. Dimana saat itu para ahli berusaha mengumpulkan informasi dari

seluruh jaringan internet yang belum memiliki semacam mesin pencari (search

engine). Untuk mengenal sejarah awal keberadaan worms ini, secara umum dapat

dilihat pada gambar kronologis kemunculan worms di bawah ini,

Page 17: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 17

Gambar 2.1 Kronologis worms

Dari gambar tersebut, secara singkat dapat diketahui bahwa sejak awal

penciptaan worms di Palo Alto Research Center (PARC) oleh Robert T. Morris,

berdasarkan lingkungan sistem operasinya worms berkembang dua kategori yaitu,

worms yang berjalan dengan target sistem operasi UNIX dan Worms yang pada

sistem operasi Microsoft Windows. Worms pada sistem UNIX dan variannya

terdiri dari ADMW0rm, ADM Millenium, Ramen, li0n, Cheese, sadmind/IIS, dan

Adore. 7 Sedangkan worms yang berjalan pada sistem Microsoft Windows terdiri

dari Code Red 1, Code Red 2, Code Red II, Nimda, SQL Snake dan Sapphire.

Beberapa catatan yang dari kronologis worms tersebut adalah tentang,

1. Morris worms

Worms ini diciptakan oleh Robert Tappan Morris pada tahun 1988 sebagai

proyek riset pada saat menyelesaikan program doktoralnya di Cornell Unversity.

Dengan memanfaatkan kelemahan (vulnerability) pada Sendmail Server dan

Finger Daemon pada sistem Unix, worms ini menyebar dengan setelah

Page 18: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 18

menyebabkan keadaan zero argumenth pada sistem yang diinfeksinya. Teknik

penyebaran worms ini, masih dipakai hingga saat ini. Efek penyebaran worms

yang sangat luas ini, menyebabkan pembentukan tim Computer Emergency

Response Team (CERT/CERT-CC) oleh Amerika.

2. Ramen Worms

Merupakan worms pertama yang berhasil menyebar pada lingkungan

Linux. Ia pertama kali di identifikasikan menyerang Red Hat versi 6.1, 6.2, 6.3

dan 7.0., worms ini menyebar dengan bantuan shell scripts exploits dan scanner

yang telah dikompilasi (packed) menjadi file binary. Setelah berhasil menginfeksi

dan menjalankan aksinya (payload), ia kemudian mencari host lain secara acak

pada jaringan kelas B.

3. Sadmind/IIS

Worms ini mampu menyerang web server IIS (Internet Information

Service) Microsoft Windows, melalui kelemahan sistem pada Sun Solaris. Dengan

mencari akses root pada Sun Solaris yang terhubung dengan sistem Unix, worms

ini berevolusi dengan mengubah tampilan (deface)situs-situs yang menggunakan

IIS.

4. Melissa

Worms ini bukan yang pertama kali menggunakan teknik penyebaran

melalui e-mail, tetapi kecepatan penyebaran yang hebat membuat worms

membuat seluruh pengguna internet/e-mail di dunia menjadi sangat menderita.

Rahasia dibalik kesuksesan worms ini terletak pada implementasi rekayasa sosial

Page 19: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 19

pada file attachment e-mail yang yang telah terinfeksi worms tersebut. teknik ini

sampai sekarang masih efektif dan digunakan oleh worms-worms lainnya.

5. Code Red (Code Red 1)

Begitu worms ini beraksi, ia langsung menjadi sebuah standar worms lain

dalam melakukan infeksi. Teknik yang digunakan adalah melakukan exploits pada

lubang keamanan sistem yang baru diumumkan oleh vendornya. Waktu yang

dibutuhkan worms ini dalam usaha untuk mengeksploitasi lubang keamanan suatu

sistem, melebihi kecepatan vendor dalam menyediakan patch untuk kelemahan

sistem tersebut.

6. Code Red II

Worms ini menggunakan landasan ekploitasi pada pendahulunya yaitu

Code Red 1 dan Code Red 2. Dengan Teknik Island hoping worms ini membuat

kecepatan penyebaranya meningkat tiga sampai empat kali lebih cepat dari versi

pendahulunya. Teknik ini membuat probabilitas serangan acak pada alamat

Internet Protocol jaringan kelas A dan B menjadi lebih tinggi, sehingga lebih

mudah dan cepat dalam menginfeksi sistem lain.

7. Nimda

Meskipun diidentifkasikan dibuat bukan oleh pembuat Code Red, worms

ini kemungkinan memiliki tujuan untuk melanjutkan hasil serangan dari Code Red

II. Dengan menggunakan teknik yang sama dengan Code Red II, worms ini

berbeda dalam proses scanning alamat IP pada jaringan. Dengan teknik tersebut

worms ini menyebakan aktivitas besar-besaran yang menguras sumber daya dalam

jaringan.

Page 20: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 20

7. Struktur Worms

Lima komponen yang umum dimiliki oleh worm

adalah sebagai berikut,

1. Reconnaissance.

Komponen Worms ini bertugas untuk merintis jalannya penyebaran pada

jaringan. Komponen ini memastikan titik-titik (node) mana saja pada jaringan

yang dapat dinfeksiolehnya.

2. Attack .

Komponen ini bertugas untuk melancarkan serangan pada target node

yang telah teridentifikasi. Bentuk serangan dapat berupa tradisional buffer atau

heap overflow, string format, dan sebagainya.

3. Communications

Komponen ini membuat tiap node yang terinfeksi pada jaringan dapat

saling berkomunikasi. Komponen memberikan semacam antar muka (interface)

agar tiap worm pada jaringan dapat saling mengirim pesan.

4. Command

Komponen ini menjadi semacam pemicu apabila target sudah

teridentifikasi. Komponen ini merupakan suatu antar muka agar setiap worms

dapat mengeluarkan perintah (command) pada worms di titik lain lain.

5. Intelligent

Komponen ini merupakan komponen cerdas yang mampu memberikan

informasi bagaimana karakteristik keadaan worms di titik lain pada jaringan.

Berikut ini adalah bagaimana proses dari tiap komponen tersebut bekerjasama

dalam melakukan suatu serangan .

Page 21: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 21

Gambar 2.2 Gambaran proses umum komponen worms

8. Tipe-tipe worms

Berdasarkan media penyebarannya worms dapat digolongkan menjadi,

1. Email Worms

2. Instant Messaging Worms

3. Internet Relay Chat (IRC) Worms

4. File Sharing Networks Worms

5. Internet Worms

9. Perbedaan Virus dan Worms

Dari klasifikasi di atas, karena memiliki aksi yang hampir serupa, terdapat

dua tipe malware yang agak sulit dibedakan yaitu, virus dan worms. Untuk

mempermudah melihat perbedaan kedua malware tersebut dapat ditinjau dari :

1. Definisi

a. pada awalnya virus, adalah, sebagai suatu program yang dapat

menginfeksi program lain dengan memodifikasinya, termasuk

kemungkinan untuk berevolusi dengan menggandakan dirinya sendiri.

Page 22: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 22

Seiring dengan perkembangan teknik pemrogramannya, terdapat

beberapa bentuk virus yang tidak sesuai dengan definisi tersebut.

Sebagai contoh, suatu virus yang sering disebut companion virus

memiliki kemampuan menggandakan diri tanpa mengubah program

yang diinfeksinya. Sehingga menurut Peter Szor (2005), definisi yang

lebih akurat untuk virus pada saat ini adalah, suatu program yang

secara berulang (recursively) dan dengan tegas (explicitly)

menggandakan suatu versi dirinya sebagai kemungkinan untuk

berevolusi

b. Sedangkan definisi formal untuk worms, adalah suatu program yang

berpindah dari satu komputer ke komputer yang lain tanpa

mengikatkan dirinya (attach itselft) pada sistem operasi komputer

yang. Sejalan dengan perkembangannya, definsi worms tersebut sudah

tidak begitu tepat. Beberapa worms sering menggunakan teknik untuk

menyembunyikan kehadirannya dengan melakukan instalasi atau

memodifikasi sistem. Sehingga definisi yang lebih tepat menurut Jose

Nazario(2004), adalah suatu agen penginfeksi yang otonom dan

independen dalam bereplikasi, serta memiliki kemampuan dalam

menginfeksi sistem host baru melalui fasilitas jaringan.

2. Cara penyebaran

a. Virus memerlukan campur tangan pengguna dalam penyebarannya,

misalnya dalam proses download, klik ganda pada file yang

terinfeksi, dan lain-lain.

Page 23: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 23

b. Sedangkan worms dapat secara otomatis menyebar dengan tanpa

atau sedikit campur tangan dari penggunannya. Misalnya dengan

satu kali klik pada file lampiran e-mail yang terinfeksi worms,

maka satu atau beberapa sistem yang terkoneksi melalui e-mail

tersebut akan segera terinfeksi.

10. Seputar anti virus serta konsepnya

1. Pengertian Anti virus

Anti virus adalah program yang dapat menangkap mengidentifikasi dan

menghancurkan virus. Program anti virus terbagi menjadi 3, yaitu :

a. Fix

Sebuah program yang dapat mendeteksi dan menghancurkan hanya

satu virus.Harus di jalankan terlebih dahulu kemudian program akam

mencari dan menghapus virus tertentu Contohnya: Fixnimda( dari

Nanti virus), FixCodered (dari Nanti virus), dll.

b. Anti dot

Sebuah program yang dapat menangkap, dan mendeteksi beberapa

jenis virus dan menghapusnya, sama seperti program fix, harus di

jalankan terlebih dahulu kemudian mencari file yang akan terinfeksi

maupun filoe virus tertentu contohnya : Wedash Anti dot 2004, ANTI

VIRUSIGEN, PCMANTI VIRUS, dll

c. Anti virus

Sebuah program yang dapat menangkap, mendeteksi dan menghapus

banyak jenis virus, dapat otomatis menangkap file yang terinfeksi dan

Page 24: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 24

menghapusnya contohnya : Norton Anti virus, Mc afee. Norman,

Panda anti virus, ANTI VIRUSG, Kaperskay, dll.

2. Daerah-daerah rawan serangan virus

a. Registry

Registry windows adalah suatu database untuk menyimpan dan mengatur

sistem di windows. Caru masuk di regedit yaitu :Klik start => Run => ketik

„regedit‟ (tanpa tanda petik).

Gambar 2.3 Regedit

b. Alamat registry

Registry mempunyai alamat yang berguna untuk mengatur konfigurasi

pada windows, misalnya :

1) Alamat registry:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\

Run, Berguna untuk menjalankan suatu aplikasi secara\otomatis

2) Alamat registry:

HKEY_LOCAL_USER\Software\Microsoft\Windows\CurrentVersion\Ex

plorer\Advanced\ Berguna untuk memanipulasi kode explorer.

Page 25: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 25

3. Alamat registry:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\

CurrentVersion\Berguna untuk memanipulasi drive penginstalan, lisensi pada

window

c. System Editor (Sysedit)

System editor atau yang biasa disingkat dengan sysedit adalah file-file

tertentu yang di jalankan ketika komputermasuk dalam windows pertama kali,

seperti regedit sysedit ini biasanya dipakai masih banyak dipakai disistem operasi

windows lama seperti win95, win98 win3.1 jadi walaupun memang sudah lama

tapi secara tidak langsung berpengaruh juga pada user yang memakai sistem

Operasi windowsXp, Caru masuk di sysedit yaitu :Klik start => Run => ketik

„sysedit‟ (tanpa tanda petik)

Gambar 2.4 Sysedit

d. Config.sys

Config.sys adalah file yang memuat tentang seluruh konfigurasi windows

dan dijalankan ketika pertama kali windows mulai. Letak file ada pada drive C:\

dan mempunyai atribut file system dan di hidden.

Page 26: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 26

e. Autoexec.bat

Autoexec.bat adalah file yang berisi perintah yang ada di komputer dan

akan dijalankan pertama kali ketika ketika pertama kali windows mulai. Letak file

ada pada drive C:\ dan mempunyai atribut file system dan di hiden

f. Win.ini

Ini juga sebuah file yang dieksekusi pertama kali oleh windows. File yang

dieksekusi pertama kali oleh windows. File ini berisi tentang aplikasi 16 bit yang

disupport oleh windows.

g. System.ini

System.ini adalah sebuah file yang berguna untuk menyimpan data font

yang diakses oleh windows ketika pertama kali.

h. Msconfig

Msconfig sebenarnya adalah sebuah aplikasi , dari aplikasi msconfi,

seluruh file system editor (sysedit) tadi dijalankan.

Gambar 2.5 Msconfig

Page 27: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 27

i. Direktory yang sering di incar oleh virus

C:\Windows

C:\Windows\System32

11. HEADER FILE (PE)

Format File PE (Portable Executable) mulai dikenalkan pada Windows NT

3.1, dimana format file ini masih menyimpan header MZ dari MS-DOS. Berikut

skema dasar format file PE :

|----------------------------|

| CodeView Debug Information |

|----------------------------|

| COFF Symbols |

|----------------------------|

| COFF Line Numbers |

|----------------------------|

| Section - n |

| . |

| . |

| Section - 2 |

|----------------------------|

| Section - 1 |

|----------------------------|

| Section - 0 |

|----------------------------|

| Array Section table |

| . |

| . |

| Array Section table |

|----------------------------|

| Data Directory |

|----------------------------|

| |

|----------------------------|

| Image File Header |

|----------------------------|

| "PE\0\0" |

|----------------------------|

| "MZ" |

|----------------------------|

Gambar 2.6 Skema PE

Page 28: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 28

1. PE Header

PE Header merupakan salah satu struktur dari IMAGE_NT_HEADER

(dideklarasikan dalam WINNT.H). Header ini mengandung berbagai macam jenis

informasi seperti lokasi dan ukuran dari area kode dan data, sistem operasi yang

dipakai, ukuran stack, dan lain-lain. Header ini juga mengandung MS-DOS stub,

yaitu program kecil yang akan menampilkan teks "This program cannot be run in

MS-DOS mode." Bila file PE dijalankan di lingkungan yang tidak mendukung

Win32. PE Header Terdiri dari struktur :

DWORD Signature;

IMAGE_FILE_HEADER FileHeader;

IMAGE_OPTIONAL_HEADER OptionalHeader;

Dimana Signature adalah teks "PE\0\0". Sedangkan IMAGE_FILE_HEADER

berisi struktur : 1. WORD

Machine //Berisi nilai untuk jenis CPU yang dipakai, ex : 0x14d untuk Intel i860

2. WORD

NumberOfSections //Berisi jumlah section yang ada di file PE

2 DWORD

TimeDateStamp //Berisi tanggal kapan linker (atau compiler untuk File OBJ)

memproduksi file PE

3 DWORD

PointerToSymbolTable //Offset untuk tabel symbol COFF

4 DWORD

NumberOfSymbols //Berisi jumlah symbol COFF di tabel

5 WORD :

SizeOfOptionalHeader //Berisi ukuran dari optional header

Page 29: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 29

6 WORD

Characteristics //Berisi informasi tentang file PE

Untuk IMAGE_OPTIONAL_HEADER berisi :

1. WORD

Magic //Selalu bernilai 0x010B

2. BYTE

MajorLinkerVersion //Versi linker yang dipakai

3. BYTE

MinorLinkerVersion //Versi linker yang dipakai

4. DWORD

SizeOfCode //Ukuran dari section code

5. DWORD

SizeOfInitializedData //Ukuran dari semua data section yang terinisialisasi

6. DWORD

SizeOfUninitializedData //Ukuran dari semua data section yang tidak

terinisialisasi

7. DWORD

AddressOfEntryPoint //Alamat dimana loader akan memulai eksekusi file

PE, alamat ini adalah RVA (Relative Virtual Address)

8. DWORD

BaseOfCode //Alamat RVA dimana section code dimulai

9. DWORD

BaseOfData //Alamat RVA dimana section data dimulai

10. DWORD

ImageBase //Alamat dimana file PE akan dimapping di memory

11. DWORD

SectionAlignment //Nilai penggandaan untuk mapping tiap section di memory

12. DWORD

FileAlignment //Nilai penggandaan untuk mapping tiap section di disk

Page 30: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 30

13. WORD

MajorOperatingSystemVersion //Versi OS yang dipakai

14. WORD

MinorOperatingSystemVersion //Versi OS yang dipakai

15. WORD

MajorSubsystemVersion //Versi minimum OS yang dipakai

16. WORD

MinorSubsystemVersion //Versi minimum OS yang dipakai

18. DWORD

Reserved1 //Selalu bernilai 0

19. DWORD

SizeOfImage //Ukuran dari image yang akan diload oleh loader

20. DWORD

SizeOfHeaders //Ukuran dari PE Header dan tabel section

21. DWORD

CheckSum //Nilai checksum CRC dari file PE

22. WORD

Subsystem //Tipe subsistem yang diperlukan untuk keperluan GUI

23. WORD

DllCharacteristics //Tanda atau flag untuk inisialisasi DLL (Dynamic Link

Library)

24. DWORD

SizeOfStackReserve //Ukuran dari virtual memory yang akan digunakan untuk

inisialisasi stack

Page 31: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 31

25. DWORD

SizeOfStackCommit //Ukuran dari memory yang akan digunakan untuk

inisialisasi stack

26. DWORD

SizeOfHeapReserve //Ukuran dari virtual memory yang akan digunakan untuk

inisialisas heap proses

27. DWORD

SizeOfHeapCommit //Ukuran dari memory yang akan digunakan untuk

inisialisasi heap proses

28. DWORD

LoaderFlags //Digunakan untuk keperluan debugging

29. DWORD

NumberOfRvaAndSizes //Jumlah dari array DataDirectory

2. Tabel Section

Secara umum Tabel Section dapat dianalogikan sebagai "daftar" untuk tiap

section yang ada di file PE. Tabel ini mencakup informasi tentang section-section

file PE. berikut contoh layout dari tabel section file PE yang sudah di dump :

1. text VirtSize: 00005AFA VirtAddr: 00001000

raw data offs: 00000400 raw data size: 00005C00

relocation offs: 00000000 relocations: 00000000

line # offs: 00009220 line #'s: 0000020C

characteristics: 60000020

CODE MEM_EXECUTE MEM_READ

2. bss VirtSize: 00001438 VirtAddr: 00007000

Page 32: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 32

raw data offs: 00000000 raw data size: 00001600

relocation offs: 00000000 relocations: 00000000

line # offs: 00000000 line #'s: 00000000

characteristics: C0000080

UNINITIALIZED_DATA MEM_READ MEM_WRITE

3. rdata VirtSize: 0000015C VirtAddr : 00009000

raw data offs: 00006000 raw data size: 00000200

relocation offs: 00000000 relocations: 00000000

line # offs: 00000000 line #'s: 00000000

characteristics: 40000040

INITIALIZED_DATA MEM_READ

4. data VirtSize: 0000239C VirtAddr: 0000A000

raw data offs: 00006200 raw data size: 00002400

relocation offs: 00000000 relocations: 00000000

line # offs: 00000000 line #'s: 00000000

characteristics: C0000040

INITIALIZED_DATA MEM_READ MEM_WRITE

5. data VirtSize: 0000033E VirtAddr: 0000D000

raw data offs: 00008600 raw data size: 00000400

relocation offs: 00000000 relocations: 00000000

line # offs: 00000000 line #'s: 00000000

characteristics: C0000040

INITIALIZED_DATA MEM_READ MEM_WRITE

Page 33: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 33

6. reloc VirtSize: 000006CE VirtAddr: 0000E000

raw data offs: 00008A00 raw data size: 00000800

relocation offs: 00000000 relocations: 00000000

line # offs: 00000000 line #'s: 00000000

characteristics: 42000040

INITIALIZED_DATA MEM_DISCARDABLE MEM_READ

Layout diatas adalah format dari IMAGE_SECTION_HEADER, Berikut

keterangan tentang IMAGE_SECTION_HEADER :

a. BYTE Name[IMAGE_SIZEOF_SHORT_NAME] //Nama

section,biasanya

b. diawali dengan tanda titik/dot union { //Nilai sesungguhnya dari ukuran

kode atau data DWORD PhysicalAddress DWORD VirtualSize } Misc;\

c. DWORD VirtualAddress //Alamat RVA untuk keperluan mapping oleh

loader

d. DWORD SizeOfRawData //Ukuran dari section setelah dibulatkan ke

ukuran file alignment

e. DWORD PointerToRawData //Offset dari section

f. DWORD PointerToRelocations //Offset untuk informasi relokasi section

g. DWORD PointerToLinenumbers //Offset untuk nomor baris (line number)

h. WORD NumberOfRelocations //Jumlah dari relokasi yang ada di tabel

relokasi

i. WORD NumberOfLinenumbers //Jumlah dari nomor baris yang ada di

tabel nomor baris

Page 34: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 34

j. DWORD Characteristics //Berisi angka tertentu yang menunjukkan atribut

dari suatu section (data, kode, dll)

12. Sistem Operasi 16 dan 32 bit

Perbedaan penting dari 16 bit dan 32 bit sistem operasi ialah cara

bagaimana mereka menangani struktur internal. Ada perbedaan besar antara

sistem operasi 16-bit dengan 32-bit, yaitu mendukung mode 32-bit protected,

model memori flat, yang mana menyediakan manajemen memori lebih bersih

daripada 16-bit, dan mengizinkan program untuk membuat dan mengalamatkan

struktur data yang sangat besar.

1. Tidak menggunakan DOS lagi

Windows NT tidak berisi kode DOS dalam kernelnya. Semuanya

dikerjakan melalui emulasi pada pemanggilan standar DOS. Windows 95 masih

mengandalkan kode DOS untuk menjalankan aplikasi DOS. Windows 95

sebenarnya terdiri atas dua sistem operasi dalam satu paket, yaitu Windows 4.0

dan DOS 7.0 Meskipun tidak ada DOS, Windows NT tetap dapat menjalankan

banyak program DOS sepanjang mereka atidak mencoba mengakses secara

langsung hardware atau membutuhkan device driver khusus. Hal ini

dimungkinkan terjadi karena NT membuat lingkungan DOS virtual.

Page 35: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 35

BAB III

METODE PENELITIAN

A. Alat dan bahan

Beberapa alat dan bahan yang diperlukan untuk melakukan analasis kode

worms dan virus untuk di ambil sebagai pattern virus Antara lain adalah :

1. Perangkat Lunak

Tabel 3.1 Perangkat lunak analisis

NO NAMA DEVELOPER

1 PE Tools NEOx/[uinc]http://www.uinc.ru

2 Process Explorer Sysinternals:www.sysinternal.com

3 UPX -

4 Hiew Hiew 5.84, windows

2. Perangkat keras

Sebagai lingkungan analisis, digunakan sebuah komputer (PC) dengan

spesifikasi :

a. PC Pentium 4 dual core 3.00 Ghz

b. Ram 1 Giga

c. Hardisk Seagate 160 Gb

d. Yang telah berisi sistem operasi Windows XP SP 2, Ms. office 2003,

perangkat lunak untuk analisis seperti pada tabel di atas

3. Bahan

Beberapa file yang terenfeksi worm Brontok C, worm Klez,

Page 36: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 36

B. Teknik penyiapan pattern virus

Langkah pertama dari pembuatan program antivirus adalah memiliki

pattern atau dari virus yang akan dikenali oleh program antivirus. Pattern bisa

juga disebut pola atau susunan. Sebuah program antivirus tidak akan bermanfaat

jika tidak didukung oleh virus definition yang lengkap, definition file adalah suatu

kumpulan data dari malicious code. Jadi industri antivirus sangat tergantung dari

dukungan sample virus yang dikirim kepada mereka.

Walaupun dewasa ini telah dilakukan berbagai pendekatan heuristic dalam

pendeteksian program-program virus, tetapi hal tersebut sering tidak efektif

karena akan membuat system menjadi rewel dan sering memberikan false alarm

dimana program-program utility tertentu dianggap sebagai virus, oleh karena itu

pembuat virus telah memperbaiki teknik pengkodean (polymorphism) sehingga

dapat memperdaya program-program antivirus.

Tentu saja hal ini membutuhkan penelitian dan analisa yang mendalam

sehingga teknik pengumpulan pattern virus menjadi efektif untuk mendeteksi

keberadaan process virus dimemori maupun file virus dimedia penyimpanan.

Masalah lain adalah teknik penyiapan pattern virus akan mempengaruhi teknik

pendeteksian yang tentu saja sangat menentukan performance dari antivirus yang

dibuat, misalnya pattern virus telah berkembang menjadi 100 pattern dan jumlah

file yang akan dideteksi adalah 1000 files, sehingga dilakukan perkalian menjadi

100000 kali proses pendeteksian, bagaimana kalau pattern berkembang menjadi

1000, dan terakhir adalah resource yang digunakan untuk penyimpanan pattern

tersebut baik media disk maupun memori. Jadi teknik pembuatan pattern virus

Page 37: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 37

merupakan isu yang terpenting dari kesuksesan pendeteksian program antivirus

dan perfomancenya, serta resource yang dihabiskan. Ini merupakan bagian yang

paling penting dari suatu program antivirus. Karena bagaimana pattern virus

tersebut dilakukan (mengambil pattern dari file virus), maka dengan cara

sebaliknya program anti virus akan mendeteksi keberadaan virus file dan process

virus dimemori (dengan membandingkan pattern virus dengan data file dan

process).

Teknik pendekatan yang digunakan penulis merupakan hasil pengamatan

dan penelitian terhadap beberapa program virus yang beredar di Indonesia, seperti

varian Brontok dan MyHeart. Pendekatan ini cukup efektif untuk digunakan untuk

mengenali keberadaan process virus di memori maupun di file dengan satu

pendekatan yang sama. Sebelum membahas tentang bagaimana pattern virus

diambil, penulis akan membahasa tentang struktur PE file yang digunakan pada

file executable dilingkungan system operasi Windows.

1. Struktur file PE (Portable Executable)

Suatu file PE akan diawali dengan suatu DOS Header yang memiliki suatu

e_magic number dalam hexa 4D 5A (MZ, lihat gambar dibawah), kemudian pada

offset ke 60 atau hexa D8 akan terdapat suatu pointer (e_lfanew) yang menunjuk

kelokasi dimana PE file header.

Page 38: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 38

Gambar 3.1 DOS Header dari suatu PE file

Pada Visual Basic, Deklarasi struktur data untuk DOS Header dapat

dideklarasikan sebagai berikut :

Private Type IMAGE_DOS_HEADER

e_magic As Integer ''\\ Magic number

e_cblp As Integer ''\\ Bytes on last page of file

e_cp As Integer ''\\ Pages in file

e_crlc As Integer ''\\ Relocations

e_cparhdr As Integer ''\\ Size of header in paragraphs

e_minalloc As Integer ''\\ Minimum extra paragraphs needed

e_maxalloc As Integer ''\\ Maximum extra paragraphs needed

e_ss As Integer ''\\ Initial (relative) SS value

e_sp As Integer ''\\ Initial SP value

e_csum As Integer ''\\ Checksum

e_ip As Integer ''\\ Initial IP value

e_cs As Integer ''\\ Initial (relative) CS value

e_lfarlc As Integer ''\\ File address of relocation table

e_ovno As Integer ''\\ Overlay number

e_res(0 To 3) As Integer ''\\ Reserved words

e_oemid As Integer ''\\ OEM identifier (for e_oeminfo)

e_oeminfo As Integer ''\\ OEM information; e_oemid specific

e_res2(0 To 9) As Integer ''\\ Reserved words

e_lfanew As Long ''\\ File address of new exe header

End Type

Jika suatu PE file dijalankan pada lingkungan DOS-16 akan mencetak

pesan error dan berhenti, sedangkan Windows akan mengikuti pointer ini untuk

menuju ke bagian informasi berikutnya.

Page 39: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 39

2. DOS Header pada beberapa Virus

Pada PE file standard dapat dengan mudah mendapatkan posisi PE Header,

dengan mengambil pointer e_lfanew. Tetapi pada beberapa virus hal tersebut tidak

dapat dilakukan, karena mereka telah melakukan modifikasi terhadap DOS

Header dengan tujuan mereduksi ukuran dari program Virus. Contoh DOS Header

pada Worm Klez yang masih standar. di perlihatkan pada gambar berikut.

Gambar 3.2 Dos Header

Keterangan Gambar diatas (warna merah) :

Dimana pada offset 3C hexa (e_lfanew) berisi nilai 80 hexa yang merupakan

pointer ke lokasi dimana PE header berada, yaitu pada posisi Offset 80 hexa,

kalau dilihat pada gambar diatas berisi nilai 50 45 hexa yang merupakan

representasi dari nilai ASCII P (50 hexa) dan E (45 hexa).

3. Fakta DOS Header pada Worm Brontok.C

Berdasarkan pengamatan penulis, ternyata pembuat virus telah melakukan

modifikasi terhadap PE file dengan mereduksi DOS Header.

Page 40: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 40

Gambar 3.3 Header pada Worm Brontok.C

Pada gambar diatas tidak dapat menggunakan pendekatan sebelumnya untuk

menentukan posisi PE header, sehingga perlu dilakukan dengan cara pencarian

data “PE”+Chr$(0)+Chr$(0) pada buffer pembacaan file, e_lfanew =

InStr(sBuffer, "PE" + Chr$(0) + Chr$(0))

Dim sBuffer As String * 512

Dim e_lfanew As Integer

Dim nf As Integer

nf = FreeFile

Open sFiles For Binary Access Read As #nf

Get #nf, , sBuffer

e_lfanew = InStr(sBuffer, "PE" + Chr$(0) + Chr$(0))

Potongan program diatas akan membuka file untuk diakses dibaca saja

secara binary , kemudian membaca 512 bytes pertama dari file ke variable string

sBuffer, selanjutnya dilakukan pencarian "PE" + Chr$(0) + Chr$(0), jika

ditemukan maka variable e_lfanew akan berisi pointer ke PE Header dan

sebaliknya akan berisi 0 (nol).

Page 41: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 41

4. NT Header

Suatu NT Header memiliki struktur data dimana setelah Signature

(PE\0\0) akan diikuti oleh IMAGE_FILE_HEADER,

IMAGE_OPTIONAL_HEADER, dan IMAGE_OPTIONAL_HEADER_NT.

Public Type IMAGE_NT_HEADERS

Signature As Long

FileHeader As IMAGE_FILE_HEADER

OptionalHeader As IMAGE_OPTIONAL_HEADER

OptionalHeaderNT As IMAGE_OPTIONAL_HEADER_NT

End Type

Signature, merupakan data 4 byte yaitu "PE" + Chr$(0) + Chr$(0) File

Header, memiliki struktur data sebagai berikut :

Private Type IMAGE_FILE_HEADER

Machine As Integer

NumberOfSections As Integer

TimeDateStamp As Long

PointerToSymbolTable As Long

NumberOfSymbols As Long

SizeOfOptionalHeader As Integer

Characteristics As Integer

End Type

Gambar 3.4 Data Image File Header

Berdasarkan gambar diatas, maka :

Machine (Integer) 4C 01

NumberOfSection (Integer) 02 00

TimeDateStamp (Long) 00 00 00 00

PointerToSymbolTable 00 00 00 00

NumberOfSymbol 00 00 00 00

SizeOfOptionalHeader 4C 01

Characteristics 02 00

Page 42: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 42

Optional Header, memiliki struktur data sebagai berikut :

Private Type IMAGE_OPTIONAL_HEADER

Magic As Integer

MajorLinkerVersion As Byte

MinorLinkerVersion As Byte

SizeOfCode As Long

SizeOfInitializedData As Long

SizeOfUninitializedData As Long

AddressOfEntryPoint As Long

BaseOfCode As Long

BaseOfData As Long

End Type

Gambar 3.5 Image Optional Header

Yang jika diview dengan PE Tools (http://www.uinc.ru), maka adalah sebagai

berikut :

Gambar 3.6 Data Optional Header suatu PE file

C. Mempersiapkan pattern virus

Berdasarkan pengamatan yang dilakukan penulis adalah cukup efektif

menggunakan data SizeOfCode dan AddressOfEntryPoint sebagai pattern virus,

karena sulit ditemukan dua executable memiliki SizeOfCode dan

Page 43: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 43

AddressOfEntryPoint yang sama, kecuali merupakan executable file yang sama,

artinya dengan menggunakan data ini dapat mengenali file executable virus,

karena jika merupakan file virus yang sama maka, akan memiliki data yang sama

juga.

Public Function AmbilPatternFile(sFiles)

Dim sBuffer As String * 512

Dim ImageNTHeader As IMAGE_NT_HEADERS

Dim e_lfanew As Integer

Dim nf As Integer

nf = FreeFile

AmbilPatternFile = ""

On Error GoTo Finally

Open sFiles For Binary Access Read As #nf

Get #nf, , sBuffer

e_lfanew = InStr(sBuffer, "PE" + Chr$(0) + Chr$(0))

If e_lfanew > 0 Then

Seek #nf, e_lfanew

Get #nf, , ImageNTHeader

AmbilPatternFile = buatPattern(ImageNTHeader)

End If

Close #nf

Finally:

End Function

Potongan program diatas berfungsi mengambil pattern file dari suatu executable :

e_lfanew = InStr(sBuffer, "PE" + Chr$(0) + Chr$(0))

ambil posisi e_lfanew dengan mencari substring “PE” dalam sBuffer.

If e_lfanew > 0 Then

Seek #nf, e_lfanew

Get #nf, , ImageNTHeader

AmbilPatternFile = buatPattern(ImageNTHeader)

End If

Jika e_lfanew > nol (ditemukan), maka akan dipindahkan file pointer ke

offset dimana file header dimulai dengan perintah Seek #nf, e_lfanew, dan

Page 44: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 44

kemudian dilakukan pembacaan ke variable ImageNTHeader dengan perintah Get

#nf, , ImageNTHeader, dan selanjutnya akan dipanggil function buatPattern dan

melewatkan variable ImageNTHeader sebagai parameter. Variabel

ImageNTHeader merupakan variable struktur IMAGE_NT_HEADERS

Dim ImageNTHeader As IMAGE_NT_HEADERS

Dan struktur

IMAGE_NT_HEADER dapat dilihat pada penjelasan sebelumnya.

Public Function buatPattern(ImageNTHeader As IMAGE_NT_HEADERS)

buatPattern=Right$("00000000"+Hex$(ImageNTHeader.OptionalHeader.Address

OfEntryPoint),8) + Right$("00000000" + Hex$

(ImageNTHeader.OptionalHeader.Size

OfCode), 8)

End Function

Function buatPattern akan mengembalikan pattern virus dalam bentuk

hexadecimal yang merupakan data AddressOfEntryPoint dan SizeCode.

D. Menyimpan pattern virus ke file

Bisa saja langsung memasukkan pattern virus kedalam program, tetapi

tentu saja pendekatan ini tidak efektif, dimana setiap ada pattern baru, maka harus

melakukan modifikasi terhadap source code dan melakukan kompilasi ulang.

Pendekatan lain yang dapat lakukan adalah dengan menyimpan pattern virus pada

suatu text file terpisah (indoprog.vdf), sehingga setiap adanya pattern virus baru

cukup dimasukan kedalam file.

Pattern Virus Nama virus

XXXXXXXXXXXXXXXXyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

Page 45: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 45

Dimana 16 digit pertama adalah pola virus, dan diikuti oleh nama virus. Sehingga

00095F0000095000virus1 0000136000003000virus2 0000135800003000virus3 000070E000002000virus4 dst setiap startup program antivirus cukup membaca semua pattern tersebut ke suatu

variable array.

Dim PatternCount As Integer

Dim PatternVirus(100) As String

Private Sub loadVdf()

Dim cVDF As String

Dim nf As Integer

cVDF = App.Path + "\indoprog.vdf"

nf = FreeFile

PatternCount = 0

Open cVDF For Input As #nf

Do While Not EOF(nf)

Input #nf, PatternVirus(PatternCount)

Call lstHistory.AddItem("Baca : " + PatternVirus(PatternCount), 0)

PatternCount = PatternCount + 1

Loop

PatternCount = PatternCount - 1

Close #nf

End Sub

E. Teknik Mendeteksi process virus dimemori dan menghentikannya

Sebagaimana dengan program executable lainnya, pada saat runtime

program virus juga berupa process yang aktif dimemory.

Page 46: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 46

Gambar 3.7 Halaman process pada task manager.

Jika sistem sudah terinfeksi virus, maka proses dari virus juga akan tampil

pada halaman proses pada task manager. Tetapi permasalahannya, banyak virus

menggunakan nama file yang menyerupai program internal Windows sehingga

menyulitkan untuk membedakan mana yang virus maupun mana yang merupakan

program sebenarnya. Untuk dapat melihat data dari process yang lebih terperinci,

bisa dengan menggunakan software Process Explorer dari sysinternal

(http://www.sysinternal.com)

Gambar 3.8 Process yang ditampilkan dengan Process Explorer

Pada Gambar diatas, dapat langsung dibedakan mana yang merupakan

System Service dan mana yang merupakan aplikasi yang berjalan dibawah

Explorer.exe, serta Description dan Company Name.

Page 47: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 47

Kadang ada file image dari proses yang sama dengan file virus. Virus

menggunakan EXE Packer untuk memperkecil ukurannya pada media

penyimpanan maupun transfer data, tetapi pada saat dijalankan tentu saja harus

diextract sehingga dalam hal ini image dari process virus akan berbeda dengan file

virus. Misalnya program Indoprog Anti Virus.exe normalnya berukuran 86016

bytes Setelah dilakukan Packer menggunakan UPX, ukurannya menjadi lebih

kecil.

Gambar 3.9 Process UPX

yaitu menjadi berukuran 35840 bytes. Berikut ini adalah Optional Header file

indoprog anti virus.exe sebelum di UPX

Page 48: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 48

Gambar 3.10 Optional Header file Indoprog Anti Virus.exe sebelum UPX

Berikut ini adalah Optional Header file Indoprog Anti Virus.exe setelah di

UPX.

Gambar 3.11 Optional Header file Indoprog Anti Virus.exe setelah UPX

Berikut ini adalah Optional Header dari image process Indoprog Anti

Virus pada saat runtime.

Page 49: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 49

Gambar 3.12 Optional Header image process Indoprog Anti Virus.exe (UPX)

Tetapi berdasarkan pengamatan yang dilakukan oleh penulis, ternyata data

AddressOfEntryPoint dan SizeOfCode tidak diubah pada image proses,

sehingga teknik pendeteksian dengan pola tersebut layak dilakukan. Pada

prinsipnya keberadaan process dimemory memiliki PId (Process Id), dan masing-

masing process terdiri dari Module-module (terdiri dari executable itu sendiri, dll,

dan ocx yang diimport oleh executable tersebut).

F. Mengambil semua process yang aktif

Untuk mengambil process yang sedang aktif, membutuhkan fungsi API seperti :

Public Sub periksaProcesses()

Dim hSnapShot As Long

Dim ProcessEntry As PROCESSENTRY32

Dim NextEnumExists As Boolean

Dim Pos As Long

Dim pId As Long

Dim fileName As String

Dim baseName As String

hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)

If hSnapShot = 0 Then

MsgBox "Failed to create Module and Thread snapshot"

Exit Sub

Page 50: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 50

End If

ProcessEntry.dwSize = Len(ProcessEntry)

NextEnumExists = 0 <> Process32First(hSnapShot, ProcessEntry)

While NextEnumExists

pId = ProcessEntry.th32ProcessID

Pos = InStr(ProcessEntry.szExeFile, Chr(0))

If Pos > 1 Then

fileName = Left(ProcessEntry.szExeFile, Pos - 1)

baseName = extractFilename(fileName)

Else

fileName = ""

baseName = ""

End If

Call lstHistory.AddItem("Periksa (" + Hex$(pId) + ") " + fileName, 0)

Call periksaModules(pId)

NextEnumExists = 0 <> Process32Next(hSnapShot, ProcessEntry)

Wend

Call CloseHandle(hSnapShot)

End Sub

Dimana deklarasi dari masing-masing fungsi API untuk

CreateToolhelp32Snapshot, Process32First, Process32Next, CloseHandle adalah

sebagai berikut :

Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" _

(ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long

Public Declare Function CloseHandle Lib "kernel32" _

(ByVal hObject As Long) As Long

Public Declare Function Process32First Lib "kernel32" _

(ByVal hSnapShot As Long, ByRef ThreadStruct As PROCESSENTRY32) As

Long

Public Declare Function Process32Next Lib "kernel32" _

(ByVal hSnapShot As Long, ByRef ThreadStruct As PROCESSENTRY32) As

Long

Page 51: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 51

sedangkan TH32CS_SNAPPROCESS merupakan konstanta dengan nilai &H2

Public Const TH32CS_SNAPPROCESS As Long = &H2&

Dan PROCESSENTRY32 adalah struktur yang dideklarasikan sebagai berikut :

Public Type PROCESSENTRY32

dwSize As Long

cntUsage As Long

th32ProcessID As Long

th32DefaultHeapID As Long

th32ModuleID As Long

cntThreads As Long

th32ParentProcessID As Long

pcPriClassBase As Long

dwFlags As Long

szExeFile As String * 260

End Type

Potongan kode di atas akan menjelaskan bagaimana program akan

melakukan looping mulai dari process yang pertamaNextEnumExists = 0 <>

Process32First(hSnapShot,ProcessEntry), dan seterusnya dengan

NextEnumExists = 0 <> Process32 Next (hSnapShot, ProcessEntry).

Selanjutnya dalam masing-masing looping akan diambil pId =

ProcessEntry.th32ProcessID, dan diextract nama file exe image process tersebut

Pos = InStr(ProcessEntry.szExeFile, Chr(0))

If Pos > 1 Then

fileName = Left(ProcessEntry.szExeFile, Pos - 1)

baseName = extractFilename(fileName)

Else

fileName = ""

baseName = ""

End If

Dan masing-masing PId akan dilewatkan sebagai argument pada fungsi Call

periksaModules(pId)

Page 52: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 52

G. Memeriksa masing-masing Module dalam Process

Setelah mendapatkan process, maka perlu memeriksa masing-masing

module dalam process untuk mencocokan memory image dari masing-masing

module dengan pattern virus yang telah persiapkan, jika ternyata ada memory

image yang menyerupai pattern virus, maka process pemilik module tersebut

harus dihentikan.

Gambar 3.13 Module dari process zlclient.exe

Public Sub periksaModules(pId As Long)

Dim ModuleEntry As TMODULEENTRY32

Dim hProcess As Long

Dim Proceed As Long

Dim hSnapShot As Long

Dim lWritten As Long

Dim sBuffer As String * 512

Dim ImageNTHeader As IMAGE_NT_HEADERS

Dim e_lfanew As Integer

Dim Pattern As String

Dim i As Integer

Page 53: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 53

If GetVersion = VER_PLATFORM_WIN32_NT Then

If Not SetPrivilege("SeDebugPrivilege", True) Then Exit Sub

End If

hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pId)

If hProcess <> 0 Then

hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pId)

If hSnapShot <> -1 Then

ModuleEntry.dwSize = Len(ModuleEntry)

Proceed = Module32First(hSnapShot, ModuleEntry)

Do While Proceed

sBuffer = Space(1024)

If ReadProcessMemory(hProcess, ByVal ModuleEntry.modBaseAddr,

ByVal sBuffer, 512, lWritten) Then

If lWritten > 0 Then

e_lfanew = InStr(sBuffer, "PE" + Chr$(0) + Chr$(0)) - 1

If e_lfanew > 0 Then

If ReadProcessMemory(hProcess, ByVal (ModuleEntry.modBaseAddr

+ e_lfanew), ByVal ImageNTHeader, Len(ImageNTHeader), lWritten) Then

Pattern = buatPattern(ImageNTHeader)

i = 0

Do While i <= PatternCount

If Pattern = Left(PatternVirus(i), Len(Pattern)) Then Exit Do

i = i + 1

Loop

If i <= PatternCount Then

adanti virusirus = True

Call TerminateProcess(hProcess, 0) Call lstHistory.AddItem("Found :" + Mid$(PatternVirus(i), Len(Pattern) +

1), 0)

Call lstHistory.AddItem("Action: Kill process", 0)

End If

End If

End If

End If

End If

Proceed = Module32Next(hSnapShot, ModuleEntry)

Loop

End If

CloseHandle (hSnapShot)

Page 54: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 54

End If

CloseHandle (hProcess)

If GetVersion() = VER_PLATFORM_WIN32_NT Then

Call SetPrivilege("SeDebugPrivilege", False)

End If

End Sub

Sebagaimana dengan pengambilan process, pengambilan module-module

berdasarkan PId juga membutuhkan fungsi WIN API seperti :OpenProcess,

CreateToolhelp 32Snapshot, Module32First, Module32Next. Sesuatu yang

menjadi permasalahan dalam pengambilan module adalah pada system operasi

berbasis NT seperti NT4/2000/XP yang membutuhkan suatu priviledge

SeDebugPrivilege.

If GetVersion = VER_PLATFORM_WIN32_NT Then

If Not SetPrivilege("SeDebugPrivilege", True) Then Exit Sub

End If

Setelah mendapatkan modul, maka selanjutnya adalah melakukan ReadProcess

Memory yang bertujuan membaca image dari modul.

sBuffer = Space(1024)

If ReadProcessMemory(hProcess, ByVal ModuleEntry.modBaseAddr, ByVal

sBuffer, 512, lWritten) Then

Dimana persiapkan string buffer yang berukuran 1024 bytes, dan

melakukan proses pembacaan image ke variable sBuffer. Sesuatu hal yang perlu

diperhatikan adalah pembacaan memori proses didasarkan pada nilai pointer

ModuleEntry.modBaseAddr. lWritten akan mengembalikan ukuran byte yang

terbaca, sehingga dengan memeriksa nilai lWritten akan diketahui apakah

Page 55: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 55

pembacaan berhasil dilakukan. Selanjutnya akan mencara posisi offset file Header

(e_lfanew), dengan mencari e_lfanew = InStr(sBuffer, "PE" + Chr$(0) +

Chr$(0)) – 1

Setelah mendapatkan posisi e_lfanew, maka dapat melakukan pembacaan

ke variable ImageNTHeader dengan perintah ReadProcessMemory(hProcess,

ByVal (ModuleEntry.modBaseAddr + e_lfanew), ByVal ImageNTHeader,

Len(ImageNTHeader), lWritten) yang secara kongkrit dapat dilihat pada

potongan program berikut :

If ReadProcessMemory(hProcess, ByVal ModuleEntry.modBaseAddr,

ByVal sBuffer, 512, lWritten) Then

If lWritten > 0 Then

e_lfanew = InStr(sBuffer, "PE" + Chr$(0) + Chr$(0)) - 1

If e_lfanew > 0 Then

If ReadProcessMemory(hProcess, ByVal (ModuleEntry.modBaseAddr

+ e_lfanew), ByVal ImageNTHeader, Len(ImageNTHeader), lWritten) Then

Pattern = buatPattern(ImageNTHeader)

i = 0

Do While i <= PatternCount

If Pattern = Left(PatternVirus(i), Len(Pattern)) Then Exit Do

i = i + 1

Loop

If i <= PatternCount Then

adanti virusirus = True

Call TerminateProcess(hProcess, 0) Call lstHistory.AddItem("Found :" + Mid$(PatternVirus(i), Len(Pattern) +

1), 0)

Call lstHistory.AddItem("Action: Kill process", 0)

End If

End If

End If

End If

End If

Page 56: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 56

Setelah dibaca memori proses mulai dari offset e_lfanew ke-variabel

ImageNTHeader maka dapat dilakukan proses generater PatternVirus, dan

selanjutnya dibandingkan dengan pola virus yang dipersiapkan terlebih dahulu.

H. Menghentikan proses virus

Jika ditemukan pola virus tersebut, berarti proses tersebut merupakan

process virus, sehingga harus dihentikan dengan

Call TerminateProcess(hProcess, 0)

1. Mencari semua file virus dimedia penyimpanan

Untuk mendeteksi semua file virus dimedia penyimpanan harus diawali

dengan menggambil semua drive yang terinstalasi pada system komputer,

kemudian dilanjutkan untuk pengambilan folder dan sub-sub folder pada masing-

masing drive dan folder, dan akhirnya dilanjutkan dengan pengambilan file pada

masing-masing folder yang ditemukan.

a. Menggambil semua drive

Untuk menggambil semua drive dari system, dapat menggunakan

Scripting.FileSystemObject, dan melakukan looping untuk semua drive For Each

sDrive In Drives, yang selanjutnya masing-masing drive akan dilewatkan ke

fungsi GetFolder.

'Mencari semua drive, dan mendeteksi

Sub periksaDrives()

Dim ObjFSO As Object

Dim Drives As Object

Dim sDrive As Object

Set ObjFSO = CreateObject("Scripting.FileSystemObject")

Set Drives = ObjFSO.Drives

For Each sDrive In Drives

'1 - Removable drive

'2 - Fixed drive (hard disk)

Page 57: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 57

'3 - Mapped network drive

'4 - CD-ROM drive

'5 - RAM disk

If sDrive.DriveType <= 2 Then

Call GetFiles(sDrive & "\")

GetFolders (sDrive & "\")

End If

Next

End Sub

b. Menggambil Semua Folder Dari Suatu Drive

Cara penggambilan folder dari drive menyerupai cara menggambil drive,

yaitu dengan Scripting.FileSystemObject dan melakukan looping untuk semua

SubFolders For Each sFolder In ObjFSO.GetFolder(Folder).SubFolders,

Cuma permasalahan yang dihadapi disini adalah masing-masing folder tentu saja

mungkin memiliki sub folder dan seterusnya, sehingga masalah tersebut tidak

dapat dilakukan dengan sekali looping saja, melainkan harus dilakukan secara

Rekursi

Function GetFolders(Folder As String)

Dim ObjFSO As Object

Dim sFolder As Object

On Error GoTo Finally

Set ObjFSO = CreateObject("Scripting.FileSystemObject")

For Each sFolder In ObjFSO.GetFolder(Folder).SubFolders

Call GetFiles(sFolder.Path)

GetFolders (sFolder.Path) „Rekursi

Next

Finally:

End Function

c. Mendeteksi Semua File Pada Path Tertentu

Page 58: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 58

Berikut ini adalah function untuk Menggambil semua file dari Path yang

diberikan, dan memeriksa file dengan extension "bat bin com cmd dll exe ini htt

pif".

Function GetFiles(Path As String)

Dim ObjFSO As Object

Dim sFiles As Object

Dim Pattern As String

Dim i As Integer

On Error GoTo Finally

Set ObjFSO = CreateObject("Scripting.FileSystemObject")

txtScan.Text = Path

For Each sFiles In ObjFSO.GetFolder(Path).Files

DoEvents

If InStr("bat bin com cmd dll exe ini htt pif", Right$(sFiles,

3)) > 0 Then

Pattern = AmbilPatternFile(sFiles)

If Pattern <> "" Then

i = 0

Do While i <= PatternCount

If Pattern = Left(PatternVirus(i), Len(Pattern)) Then Exit

Do

i = i + 1

Loop

If i <= PatternCount Then

adanti virusirus = True

'SetAttr sFiles, vbNormal

'Kill sFiles

Call lstHistory.AddItem("File :" + sFiles, 0)

Call lstHistory.AddItem("Found :" + Mid$(PatternVirus(i),

Len(Pattern) + 1), 0)

End If

End If

End If

Next

Finally:

End Function

Mengambil semua file yang terdapat pada path tertentu :

Page 59: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 59

For Each sFiles In ObjFSO.GetFolder(Path).Files

If InStr("bat bin com cmd dll exe ini htt pif", Right$(sFiles, 3)) >

0 Then

Pattern = AmbilPatternFile(sFiles)

If Pattern <> "" Then

i = 0

Do While i <= PatternCount

If Pattern = Left(PatternVirus(i), Len(Pattern)) Then Exit Do

i = i + 1

Loop

If i <= PatternCount Then

adanti virusirus = True

'SetAttr sFiles, vbNormal

'Kill sFiles

Call lstHistory.AddItem("File :" + sFiles, 0)

Call lstHistory.AddItem("Found :" + Mid$(PatternVirus(i),

Len(Pattern) + 1), 0)

End If

End If

Semua extension yang memenuhi kriteria akan diambil pattern dengan

perintah Pattern = AmbilPatternFile(sFiles), dan pattern akan dibandingkan

dengan pattern virus yang sudah dipersiapkan sebelumnya (PatternCount adalah

variable yang berisi total pattern yang telah dibaca ke variable array PatternVirus)

Do While i <= PatternCount

If Pattern = Left(PatternVirus(i), Len(Pattern)) Then Exit Do

i = i + 1

Loop

Jika Pattern menyerupai salah satu pattern, maka akan segera keluar dari looping

If Pattern = Left(PatternVirus(i), Len(Pattern)) Then Exit Do

If i <= PatternCount Then

adanti virusirus = True

SetAttr sFiles, vbNormal

Kill sFiles

Call lstHistory.AddItem("File :" + sFiles, 0)

Call lstHistory.AddItem("Found :" + Mid$(PatternVirus(i), Len(Pattern)

+ 1), 0)

Page 60: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 60

End If

Jika looping selesai dengan nilai I <= PatternCount, maka artinya file

tersebut merupakan file virus dengan pattern tersebut, dan harus dihapus, tetapi

sebelum dilakukan penghapusan harus diset Atribut dari file ke Normal, dan baru

dihapus.

d. Memulihkan registry yang dimodifikasi virus ke kondisi standard

Untuk memulihkan registry yang dimodifikasi virus ke kondisi standard

merupakan hal yang sulit, karena masing-masing virus melakukan teknik

pendekatan pengaktifan, dan perubahan registry yang berbeda-beda, sehingga

tidak dimungkinkan untuk mendefinisikan pemulihan untuk masing-masing virus,

tetapi yang dapat lakukan adalah mencari informasi registry apa saja yang sering

dimodifikasi oleh virus dan mengembalikannya ke nilai default. Berikut ini adalah

registry yang sering dimodifikasi oleh virus yang di simpan ke suatu file

indoprog.rdf, dimana terdiri dari tiga kolom yaitu Aksi, Key dan nilai Default.

“W”, write

“D”, delete

Key, merupakan nama dari key register

Default, merupakan nilai default untuk key register

Contoh file indoprog.rdf

"W","HKCR\batfile\shell\open\command","%1 %*",""

"W","HKCR\exefile\shell\open\command","%1 %*",""

"W","HKCR\piffile\shell\open\command","%1 %*",""

"W","HKCR\lnkfile\shell\open\command","%1 %*",""

"W","HKCR\scrfile\shell\open\command","%1 %*",""

"W","HKCR\regfile\shell\open\command","%1 %*",""

"W","HKLM\Software\CLASSES\batfile\shell\open\command","%1

%*",""

"W","HKLM\Software\CLASSES\exefile\shell\open\command","%1

%*",""

"W","HKLM\Software\CLASSES\piffile\shell\open\command","%1

%*",""

Page 61: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 61

"W","HKLM\Software\CLASSES\lnkfile\shell\open\command","%1

%*",""

"W","HKLM\Software\CLASSES\scrfile\shell\open\command","%1

%*",""

"W","HKLM\Software\CLASSES\regfile\shell\open\command","%1

%*",""

"W","HKLM\Software\Classes\exefile","Application",""

"W","HKLM\Software\Microsoft\Windows

NT\CurrentVersion\Windows\AppInit_DLLs","",""

"W","HKLM\Software\Microsoft\Windows

NT\CurrentVersion\Winlogon\Shell","Explorer.exe",""

"W","HKLM\Software\Microsoft\Windows

NT\CurrentVersion\Winlogon\Userinit","windir\system32\userin

it.exe",""

"W","HKLM\System\ControlSet001\Control\SafeBoot\AlternateShe

ll","Cmd.exe",""

"W","HKLM\System\ControlSet002\Control\SafeBoot\AlternateShe

ll","Cmd.exe",""

"W","HKLM\System\ControlSet003\Control\SafeBoot\AlternateShe

ll","Cmd.exe",""

"W","HKCU\Control Panel\Desktop\SCRNSANTI

VIRUSE.EXE","Explorer.exe",""

"W","HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies

\Explorer\NoRun","0","DWORD"

"W","HKLM\Software\Microsoft\Windows\CurrentVersion\Policies

\System\DisableRegistryTools","0","DWORD"

"W","HKLM\Software\Microsoft\Windows\CurrentVersion\Policies

\System\DisableCMD","0","DWORD"

"W","HKLM\Software\Microsoft\Windows\CurrentVersion\Policies

\System\DisableTaskMgr","0","DWORD"

"W","HKLM\Software\Microsoft\Windows\CurrentVersion\Policies

\System\NoDevMgrPage","0","DWORD"

"W","HKLM\Software\Microsoft\Windows

NT\SystemRestore\DisableConfig","0","DWORD"

"W","HKLM\Software\Microsoft\Windows

NT\SystemRestore\DisableSR","0","DWORD"

"W","HKLM\Software\Policies\Microsoft\Windows\Installer\Limi

tSystemRestoreCHeckpointing","0","DWORD"

"W","HKLM\Software\Policies\Microsoft\Windows\Installer\Disa

bleMSI","0","DWORD"

"W","HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer

\CabinetState\FullPathAddress","0","DWORD"

"W","HKLM\Software\Microsoft\Internet

Explorer\Main\Default_Page_Url","about:blank",""

"W","HKLM\Software\Microsoft\Internet

Explorer\Main\Default_Page_Url","about:blank",""

"W","HKLM\Software\Microsoft\Internet Explorer\Main\Start

Page","about:blank",""

"W","HKLM\Software\Microsoft\Internet Explorer\Main\Start

Page","about:blank",""

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\Explorer\NoFind","0","DWORD"

"W","HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies

\Explorer\NoRun","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\Explorer\DisallowRun","0","DWORD"

Page 62: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 62

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\System\DisableRegistryTools","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\System\DisableCMD","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\System\DisableTaskMgr","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\System\NoDevMgrPage","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\WinOldApp\Disabled","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\WinOldApp\NoRealMode","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

\Explorer\NoViewContextMenu","0","DWORD"

"W","HKCU\Software\Microsoft\Internet

Explorer\Main\Default_Page_Url","about:blank",""

"W","HKCU\Software\Microsoft\Internet

Explorer\Main\Default_Page_Url","about:blank",""

"W","HKCU\Software\Microsoft\Internet Explorer\Main\Start

Page","about:blank",""

"W","HKCU\Software\Microsoft\Internet Explorer\Main\Start

Page","about:blank",""

"W","HKCU\Software\Microsoft\Internet

Explorer\Main\HomeOldSP","about:blank",""

"W","HKCU\Control Panel\International\s1159","AM",""

"W","HKCU\Control Panel\International\s2359","PM",""

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer

\Advanced\HideFileExt","0","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer

\Advanced\Hidden","1","DWORD"

"W","HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer

\Advanced\ShowSuperHidden","1","DWORD"

"D","HKLM\Software\Microsoft\Internet Explorer\Main\Window

Title","",""

"D","HKLM\Software\Microsoft\Internet Explorer\Main\Search

Bar","",""

"D","HKLM\Software\Microsoft\Internet Explorer\Main\Search

Page","",""

"D","HKLM\Software\Microsoft\Internet

Explorer\Search\SearchAssistant","",""

"D","HKCU\Software\Microsoft\Internet

Explorer\Toolbar\BackBitmapShell","",""

"D","HKCU\Software\Policies\Microsoft\Internet

Explorer\Control Panel\ResetWebSettings","",""

"D","HKCU\Software\Microsoft\Internet Explorer\Main\Search

Bar","",""

"D","HKCU\Software\Microsoft\Internet Explorer\Main\Search

Page","",""

"D","HKCU\Software\Microsoft\Internet

Explorer\Search\SearchAssistant","",""

"D","HKCU\Software\Microsoft\Internet Explorer\Main\Window

Title","",""

Page 63: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 63

Selanjutnya file regedit.rdf akan digunakan untuk memulihkan registry

dengan memanfaatkan sub berikut :

Private Sub bersihkanRegistry()

On Error Resume Next

Dim nf As Integer

Dim cRdf As String

Dim WShell As Object

Dim Action As String

Dim Key As String

Dim Value As String

Dim Data As String

cRdf = App.Path + "\regedit.rdf"

nf = FreeFile

Open cRdf For Input As #nf

Set WShell = CreateObject("WScript.Shell")

Do While Not EOF(nf)

Input #nf, Action, Key, Value, Data

If Action = "D" Then

WShell.regDelete Key

txtPath.Text = "Hapus :" + Key

Else

If Data = "DWORD" Then

WShell.regwrite Key, Value, "REG_DWORD"

Else

If InStr(Value, "windir") Then

Value = Replace(Value, "windir", Environ$("windir"))

End If

WShell.regwrite Key, Value

End If

txtPath.Text = "Tulis :" + Key

End If

Loop

Close #nf

Set WShell = Nothing

End Sub

Page 64: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 64

BAB IV

METODE PERANCANGAN SISTEM

A. Perancangan Program

Rancangan sistem ini terdiri hanya satu form saja yang sudah mencakup

semua proses.

1. Rancangan input dan proses

Gambar 4.1 Form input proses

Page 65: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 65

B. Algoritma dari program

Algoritma dari aplikasi penghapus virus adalah sebagai berikut,

1. mula-mula program akan memuat suatu daftar definisi virus yang berisi

pola-pola virus untuk pendeteksian keberadaan process worm di system

komputer maupun pada file.

2. Kemudian program akan mengambil semua PID dari semua yang sedang

aktif di system komputer, dan selanjutnya mengambil image process

berdasarkan PID, dan image dari masing-masing module process ini akan

diperiksa dengan mencocokkan dengan masing-masing pola worm yang

telah dipersiapkan sebelumnya,

3. jika ternyata image tersebut sama dengan salah satu pola, maka program

akan menghentikan process berdasarkan PID, dan memberikan pesan

kepada pemakai.

4. Tahapan selanjutnya adalah melakukan pencarian file-file yang berada

pada system komputer, dengan melakukan proses pengambilan nama file.

Berdasarkan nama file tersebut, program akan mengambil data dari file

untuk dicocokan dengan masing-masing pola virus yang telah

dipersiapkan, jika ternyata image tersebut sama dengan salah satu pola,

maka program akan menampilkan informasi kepada user dan menghapus

file tersebut. Selanjutnya program akan membersihkan registry yang

diekploitasi oleh virus, dengan menghapus maupun mengembalikan nilai

defaultnya.

Page 66: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 66

Start

Muat Virus Definition

Ambil Process32First

Baca Image Process

Sama dengan

pattern virus

Kill Process

Ambil Process32Next

Ada ?

1

ya

tidak

ya

tidak

C. Bagan Alir(Flowchart) Logika Proses Program Anti virus Sederhana

Page 67: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 67

1

Ambil File yang terinfeksi

Ada ?

Ambil Semua Nama File

bin, bat, com,

exe,pif, vbs

Cocokan dengan pattern

sama ?

Konfirmasi pemakai

Lakukan aksi sesuai

konfirmasi

Ambil Folder Berikutnya

2

ya

tidak

ya

ya

tidak

tidak

Page 68: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 68

3

ada terinfeksi

?

Pulihkan Registry

Start

Tampil Proses Log

ya

tidak

Gambar, 4.2 Flowchart logika proses anti virus sederhana

Page 69: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 69

BAB V

PENUTUP

A. Kesimpulan

Dari hasil teknik uji coba dari sistem anti virus ini dapat di ambil

kesimpulan bahwa:

1. Teknik penggunaan header file addresOfentrypoint dan

sizeofcode, Sangat akurat dalam mengenal virus, walaupun virus

telah merubah header filenya tapi datanya tetap sama.

2. Engine scanernya juga cepat dan ringan tidak terlalu memberatkan

memori.

B. Saran

Anti virus ini juga perlu di tingkatkan sensitifitasnya, karena bila terdapat

section dummy pada urutan section kedua atau tidak ada pada section, atau

pembelokan pada entrypointnya maka data yang di teliti bisa saja salah,

Fungsi ini juga masih rawan dari kesalahan analisa.

Maka dari itulah butuh penelitian lebih lanjut, dengan menambahkan

algoritma baru fungsi ataupun prosedur, agar dapat mengembangkan dan

memajukan kualitas aplikasi anti virus.

Page 70: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 70

DAFTAR GAMBAR

Gambar Judul Halaman

2.1 Kronologis Worm……………………………………… 13

2.2 Proses umum komponen worms………………………. 17

2.3 Regedit………………………………………………… 20

2.4 System editor (Sysedit)………………………………... 21

2.5 Msconfig………………………………………………. 22

2.6 Skema PE……………………………………………… 23

3.1 Dos header suatu PE file……………………………… 34

3.2 Dos header pada WormKlez………………………….. 35

3.3 Header pada worm brontok c………………………… 36

3.4 Data image file header……………………………….. 37

3.5 Image Optimal Header………………………………. 38

3.6 Data Optimal header suatu file ( PE Tools)…………. 38

3.7 Task manager………………………………………… 42

3.8 Tools Process explorer………………………………. 42

3.9 Process UPX…………………………………………. 43

3.10 Optional Header file indoprog AV.exe……………… 44

3.11 Optional Header file indoprogAV exe setelah di UPX.. 44

3.12 Optimal Header image process IndoprogAV.exe……. 45

3.13 Process module dari proses Zlclient.exe…………….. 48

4.1 From input proses………………………………………. 60

4.2 Flowchart………………………………………………. 64

Page 71: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 71

5.1 Form pembuka……………………………………………….... 65

5.2 Menu utama…………………………………………………… 66

5.3 Form dialog…………………………………………………… 67

5.4 From yang di load………………………………………………. 68

5.5 Form proses…………………………………………………….. 69

5.6 Form proses temukan Virus……………………………………… 70

5.7 Form About……………………………………………………….. 71

Page 72: Teknik Pembuatan Antivirus Dengan Metode Pencarian Header Data SizeofCode Dan AddressOfEntrypoint Sebagai Pattern Virus

www.wahyuhidayat.com 72

DAFTAR PUSTAKA

Aat Shadewa, 2006, Rahasia Membuat Anti virus Menggunakan Visual Basic,

Yogyakarta: Penerbit DSI Publishing

http://echo.or.id/forum/viewtopic.php?t=5903

Gordon, A., Lawrence et. al., (2006), CSI/FBI Computer Crime and Security

Survey 2006, CSI Publication, Washington DC, http://www.GoCSI.com/,

1 November 2006.

Nazario, Jose, et. al., (2004), Defense and Detection Srategies Againts Internet

Worms, Artech House inc., Norwood MA.

Pietrek, Mat; Peering Inside the PE A tour of the PE: A Tour of the Win32

Portable Executable File format; MSDN;1994

Reza kurniawan, (2006). Analisis serangan worms komputer,tinjauan kasus:

Worm lokal email-worm.win32.brontok.c, laporan tugas akhir pada

institut teknologi bandung

Szor, Peter (2005), The Art of Computer Virus Research and Defense,

Addison Wesley Proffesional, New Jersey.

www.allapi.net

www.planet-source-code.com

www.google.co.id