TEKNIK PEMBUATAN ANTIVIRUS DENGAN METODE PENCARIAN
DENGAN MEMBACA INFORMASI STRUKTUR FILE PORTABLE
EXECUTABLE(PE) SEBAGAI POLA VIRUS
Naskah Publikasi
diajukan oleh
Syamsul Syarif
08.21.0375
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM
YOGYAKARTA
2011
TECHNIC MAKE ANTIVIRUS WITH METHOD SEARCH WITH READ INFORMATION STRUCTURE FILE PORTABLE(PE)
EXEUTABLE AS PATTERN VIRUS
TEKNIK PEMBUATAN ANTIVIRUS DENGAN METODE PECARIAN DENGAN MEMBACA INFORMASI STRUKTUR FILEPORTABLE
EXCUTABLE(PE) SEBAGAI POLA VIRUS Syamsul Syarif
Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
For more than three decades ago, computer viruses have evolved from mere academic research into a common problem for computer users in the world. The biggest problem of this virus comes from overcoming the effects of losses caused by the spread. Effect of this loss is increasingly becoming the widespread use of the Internet as a global communication path between computer users around the world. Based on survey results of the CSI / FB since the period 2004-2008 in about 433 of the respondents from various organizations in the United States, about computer crime and security, said that the virus ranks first as the most harmful computer crime. Along with its development, computer viruses have some evolution in the form, characteristics and distribution media. form of evolution is known as Worms, Spyware, Trojan horses and other Malcode program.
Developments in Indonesia spread malcode initially more dominated by worms and viruses that come from abroad. But in October 2005, this dominance began to crumble with the spread of local viruses that almost every computer is in Indonesia, the virus spreads very fast and extremely uncomfortable for the user computer, thus made an anti virus as one solution to prevent the spread.
Virus discovery method most often used by anti-virus on the method of CRC-32 (Cyclic Redundancy Code). CRC-32 method is a technique that semulanya used to check the damage to the file. This method is often used by anti-virus to check the signature of the virus, but these techniques are not efficient when applied to malware that has been implemented Polymorph technique. Polymorph technique in general is a technique to replicate itself and each signature is different from each other replicas. The case of local virus has been found using techniques Polymorph. This is the background for why the "Technical Preparation Anti Virus Search Method By Reading Portable File Structure Information Executeble (PE) As a pattern of virus" was appointed as the thesis title, because according to writer's observation, although the virus has made modifications to add or subtract certain bytes but Portable File Structure Information Executeble (PE) in the form of optimal data header from a virus that contains information SizeOfCode and AddressOfEntry, will not change.
1. Pendahuluan
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 2004-2008 pada sekitar 433-an responden dari berbagai org433-anisasi di Amerika Serikat, tent433-ang kejahat433-an komputer dan keamanannya, menyebutkan bahwa virus menempati urutan pertama sebagai kejahatan komputer yang paling merugikan. Seiring dengan perkembangannya, virus komputer mengalami beberapa evolusi dalam bentuk, karakteristik serta media penyebarannya. bentuk evolusi tersebut dikenal dengan Worms, Spyware, Trojan horse dan program Malcode lain.
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 untuk mengecek signature dari virus, tetapi teknik ini tidak efesien apabila diterapkan pada malware yang sudah mengimplementasikan teknik polymorph. Teknik Polymorph secara umum adalah teknik mereplikasi diri dan tiap signature replikanya berbeda satu sama lain. Kasus virus lokal sudah ditemukan penggunaan teknik polymorph. Baik itu secara sederhana maupun kompleks.
2. Landasan Teori
2.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.
2.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.
2.2 Pengertian Antivirus
Anti virus adalah program yang dapat menangkap mengidentifikasi dan menghancurkan virus. Program anti virus terbagi menjadi 3, yaitu :
1. 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.
2. 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 file virus tertentu contohnya : Wedash Anti dot 2004, ANTI VIRUSIGEN, PCMANTI VIRUS, dll
3. Anti virus
Sebuah program yang dapat menangkap, mendeteksi dan menghapus banyak jenis virus, dapat otomatis menangkap file yang terinfeksi dan menghapusnya contohnya : Norton Anti virus, Mc afee. Norman, Panda anti virus, ANTI VIRUSG, Kaperskay, dll.
2.3 Portable Executable (HEADER FILE)
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.1 Skema PE
3. Analsis
3.1 Analisi Kebutuhan
Beberapa alat dan bahan yang dibutuhkan untuk melakukan analasis kode worms, virus dan pembuatan Antivirus, 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
5 Microsoft Visual Studio 2005 www.microsoft.com
2. Perangkat Keras
a. Prosesor : Intel Core 2 Duo 2.0 Ghz b. Motherboard : Elitegroup G410
c. Harddisk : Fujitsu SATA 80 GB 7200 rpm d. RAM : DDR II 2 x 1 GB Visipro e. VGA : Intel 945 Express f. Optical Drive : DVD RW
g. Keyboard : PS2 h. Mouse : PS2
3. Bahan
Beberapa file yang terenfeksi Virus Brontok C, worm Klez.
4. Pattern Virus
Langkah awal 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 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
3.2 Analisis Struktur file PE pada Virus Brontok dan Worm Klez 3.2.1. Struktur DOS Header pada Virus Brontok
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.
Contoh DOS Header pada Virus Brontok yang masih standar. di perlihatkan pada gambar berikut.
Gambar 3.2.1 Dos Header Virus Brontok Keterangan Gambar diatas (warna merah) :
Dimana pada offset 3C hexa (e_lfanew) berisi nilai B8 hexa yang merupakan pointer ke lokasi dimana PE header berada, yaitu pada posisi Offset B8 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.2.2. Struktur DOS Header pada Worm Kleze
Berdasarkan pengamatan penulis, ternyata jika sebuah system komputer yang terinfeksi Worm Kleze, Worm Kleze akan mereplikasi diri tidak hanya ke file format standar (exe atau inf) melainkan dalam bentuk kompresi file juga yang bertujuan untuk modifikasi DOS Header atau memperdaya program-program antivirus
Gambar 3.3 Header pada Replikasi Worm Kleze
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 New VB6.FixedLenghthString(512) Dim e_lfanew As Short
Dim nf As Short nf = FreeFile
FileOpen (nf, sFiles, OpenMode.Binary, OpenAccess.Read) FileGet (nf, sBuffer.Value)
e_lfanew = InStr(sBuffer. Value, "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).
4. Implementasi dan Pembahasan 4.1 Pengujian Program
Setelah program anti virus ini melewati proses tahap pengkodean, maka
tahap selanjutnya adalah tahap pengujian. Pengujian terhadap program ini
dilakukan pada sistem operasi windows Xp dan juga pengujian dilakukan pada
masing – masing modul dengan tujuan untuk mengetahui apakah program mampu
mendeteksi keberadaan, menghapus dan memperbaiki Registry yang termodifikasi
oleh virus atau worm pada sistem komputer yang terinfeksi .
1. Alat dan bahan yang digunakan untuk melakukan pengujian sebagai
berikut:
a. VirtualBox, untuk melakukan virtualisasi sistem komputer dengan
menginstal OS windows Xp SP2, VirtualBox dapat didownload
pada situs virtualbox.org.
b. File Virus Brontok A dan Worm Kleze
c. Winrar untuk pengecekan CRC-32 dapat didownload pada situs
http://www.rarlab.com/
2. Langkah – langkah pengujian:
a. Memastikan file yang di siapkan merupakan virus / worm, dengan
mengupload
dan
melakukan
analisis
ke
website
:
www.virustotal.com
Gambar 4.1 Proses upload file
Gambar 4.2 Hasil analisis file Brontok.exe
b. Menyiapkan Pattern dari kedua file virus / worm tersebut dalam
bentuk hexadecimal yang merupakan data AddressOfEntryPoint dan
SizeCode yang terdiri dari 16 digit pertama adalah pola virus, diikuti
oleh nama virus dan di simpan suatu text file terpisah (Pattern.dat)
c. Menjalankan virus / worm pada komputer yg terinstal Sistem operasi
Windows Xp
d. Menjalankan program anti virus yang telah dicompiler
e. Melakukan pengujian pada modul Scan, Scan Folder dan Modul
Stop dan Keluar.
4.2 Hasil Pengujian
Hasil Proses pengujian aplikasi sebagai berikut:
1. Setelah program anti virus dijalankan, program langsung dapat
menemukan virus / worm yang running pada proses memory sistem
komputer dan langsung menghentikan proses memory tersebut dan
menghapusnya, seperti terlihat Gambar 4.4
2. Pengujian modul Scan berfungsi, dapat melakukan proses scan virus /
worm pada semua drive yang ada pada sistem komputer, menemukan,
menghapus dan memperbaiki/menghapus registry. Pengujian dilakukan
sebanyak 5 kali. Tampilan modul Scan dapat dilihat pada Gambar 4.5
Gambar 4.5 Modul scan
3. Pengujian modul Scan Folder berfungsi, dapat melakukan proses scan
virus / worm pada folder yang dipilih pada sistem komputer,
menemukan, menghapus dan memperbaiki/menghapus registry.
Pengujian dilakukan sebanyak 5 kali. Tampilan modul Scan dapat
dilihat pada Gambar 4.6 dan Gambar 4.7
Gambar 4.6 Browse Folder
Gambar 4.7 Scan Folder
4. Pengujian modul Stop dan Keluar berfungsi, dapat menghentikan
proses scan virus/worm yang sedang berjalan dan langsung keluar dari
program. Pengujian dilakukan sebanyak 3 kali.
5. Dalam pengujian dilakukan, Program anti virus ini juga mampu
mendeteksi virus / worm yang telah mengimplementasikan teknik
Polymorph baik secara sederhana ataupun secara kompleks sesuai
dengan spesifikasi rancangan terlihat pada Gambar 4.8. seperti terlihat
pada Gambar 4.9 dimana Worm Klez membuat 2 replikasi dan
masing-masing signature diri nya berbeda satu sama lain, sehingga bila
di cek dengan CRC32 maka hasil pengecekannya juga berbeda seperti
tampak pada Gambar 4.10
Gambar 4.9 Window C:\New Folder
Gambar 4.10 Pengecekan CRC32 dengan Winrar
4.3 Pembahasan
Rancangan sistem ini terdiri hanya satu form saja yang sudah mencakup proses scan, scan folder, display proses scaning, display log hasil scaning, menghentikan proses scan, memperbaiki registry dan keluar dari program. Tampilan Form PE Engine Antivirus dapat dilihat pada Gambar 4.1.
Induk
File
File
Replika
Gambar 4.1 Form PE Engine AntiVirus Keterangan:
a. Menampilkan informasi nama drive, forder dan nama file yang di scan b. Menanpilan proses log hasil scan
c. Digunakan untuk memulai melakukan proses scan virus / worm pada semua Drive yang ada pada system komputer.
d. Digunakan untuk memulai melakukan proses scan virus/worm pada forder yang telah dipilih sebelumnya.
e. Digunakan untuk menghentikan proses scan virus/worm dan keluar dari program.
5. Kesimpulan
Dari hasil teknik uji coba dari sistem Antivirus ini dapat di ambil kesimpulan bahwa:
1. Teknik penggunaan Struktur File Portable Executeble(PE) yang berupa data optimal header dari virus yang berisi informasi SizeOfCode dan AddressOfEntry, Sangat akurat dalam mengenal virus walaupun virus telah mengunakan Teknik Polymorph.
c
d
e
a
2. Engine scanernya mampu menghapus Virus/Worm yang terdapat dalam Memory ang aktif dan juga pada media penyimpanan berupa Hardisk/Flash Disk.
Daftar Pustaka
Aat Shadewa, 2006, Rahasia Membuat Anti virus Menggunakan Visual Basic, Yogyakarta: Penerbit DSI Publishing
Gordon, A., Lawrence et. al., (2009), CSI/FBI Computer Crime and Security Survey 2008, CSI Publication, Washington DC, http://www.GoCSI.com/,
1 November 2008.
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
Szor, Peter (2005), The Art of Computer Virus Research and Defense, Addison Wesley Proffesional, New Jersey.
Yohanes Nugroho (2005), Analisis Lengkap Virus Brontok, http://www.compactbyte.com /brontok/Analisis Lengkap Virus Brontok.html, 11 September 2006