teknik pembuatan antivirus dengan metode...
TRANSCRIPT
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.
Keywords: Antivirus, Portable Executable, PE, Virus, CRC-32, Malcode.
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 organisasi di Amerika Serikat, tentang kejahatan 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
Gambar 4.3 Hasil analisis file I-Worm.Kleze.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
Gambar 4.4 Form program pertama kali dijalankan
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.8 Mendeteksi virus/worm yang dengan teknik Polymorph
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
b
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
_________(2006), PT Vaksincom, http://vaksin.com/, 9 Oktober 2006