Docstoc

pembuatan anti virus visual basic

Document Sample
pembuatan anti virus visual basic Powered By Docstoc
					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
                                                                                   Induk
                                                                                   File




                                                                                  File
                                                                                  Replika



                            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.
                                      a                                                   c


                                                                                          d
 b

                                                                                          e



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

				
DOCUMENT INFO
Shared By:
Stats:
views:57
posted:11/20/2012
language:Unknown
pages:19
Description: pembuatan anti virus visual basic