Berbagai Tehnik Deteksi Virus Pada AntiVirus

Waktu Membaca: 4 menit

 

Pada sebuah antivirus, terdapat scanner yang menggunakan beberapa tehnik untuk mendeteksi virus. Berikut akan dibahas 10  tehnik scanner antivirus dari yang paling dasar, khususnya berdasarkan AntiVirus Lokal (indonesia) atau antivirus luar lainnya.

Cheksuming atau Hashing

Pada awalnya, sebuah scanner antivirus dalam mendeteksi apakah suatu file tergolong virus adalah dengan cheksuming atau hashing. Cheksum biasanya menggunakan CRC32 atau dengan membuat kalkulasi cheksum sederhana seperti yang digunakan oleh AntiVirus CMC (Codenesia Malware Scanner ) dan Smadav.

Dahulu, CRC32 sangat di “kagumi” oleh pembuat antivirus karena sangat cepat dalam prosesnya, Namun karena keterbatasan CRC32 yang hanya sepanjang 8 bit hexa, maka scanner beralih ke hashing yaitu menggunakan MD5. MD5 sangat populer sampai saat ini, banyak antivirus yang mengimplementasikannya seperti Clamav, dan antivirus lokal seperti Jasakom antivirus, antv-md5-pattern dan sebagainya karena teruji cepat.

Namun, banyaknya malware yang dapat memodifikasi dirinya agar nilai hash atau cheksumnya dapat berubah-ubah, maka tehnik deteksi baru dibuat yaitu “string scanning”.

Checksum Icon

Checksum Icon ini dipopulerkan oleh antivirus smadav dan kendal AV (antivirus lokal). Tehnik ini meng-ekstrasi icon dari suatu file executable dan disimpan menjadi file temporary, kemudian file tersebut di kalkulasi dan dicocokan apakah sama dengan value pada database.

Sebagai contoh, sebuah file virus yang menggunakan icon folder atau microsoft office word akan langsung terdeteksi oleh scanner. Namun, banyak VX atau virus maker yang mengecoh tehnik ini dengan memodifikasi sedikit pixel pada icon, sehingga nilai ceksum atau kalkulasinya berubah dari semula atau virus dapat mengubah icon pada dirinya menyerupai program tertentu.

Pada beberapa antivirus lokal, tehnik ini disebut juga Heuristic Icon.

String Scanning

Tehnik ini juga digemari oleh antivirus lokal karena kemampuannya yang cukup baik dalam mendeteksi malware yang dapat berubah-ubah nilai hash-nya. Tehnik ini mencari suatu string spesifik pada body virus yang seharusnya tidak ada pada program lainnya atau program yang memang bukan virus.

String scanning juga digunakan dalam mendeteksi EICAR, dan dalam prakteknya, string scanning dapat berupa string murni atau berupa nilai hexa. Antivirus lokal yang mengimplementasikan tehnik ini seperti Navi, PCMAV, smadav, ansav dan lainnya. Beberapa antivirus menyebut string scanning dengan istilah pattern atau byte scanning, dan digabungkan dengan tehnik selanjutnya yaitu wildcards.

Sebagai catatan, semakin panjang suatu string yang digunakan, maka semakin aman dari terjadinya false positif. namun dalam memilih sebuah string pada body virus atau file yang terinfeksi virus, tidak bisa sembarangan.

Wildcards

Setelah string scanning, tehnik selanjutnya adalah wildcards. Dalam wildcards, scanner antivirus membolehkan wildcard atau karakter tertentu untuk melewati byte atau beberapa byte [byte range] dalam suatu string virus. Biasanya karakter yang diwakili oleh wildcard berupa tanda tanya [?]atau asterik [*]. contoh dalam hexa sebagai berikut :

1111 22?? 3333 4444 5555

11** 2222 **33 4444 5555

Beberapa virus polymorphic atau encrypted bisa dideteksi menggunakan wildcard ini, namun untuk virus saat ini nampaknya tidak akan mampu mengingat lebih kompleksnya virus tersebut, seperti Sality.

Mismatches

Mismatches mengabaikan beberapa byte dalam sebuah string virus, namun tergantung posisinya juga, Misalnya string 11 22 33 44 55 66 77 88 dengan mismatch,maka akan cocok dengan 3 string berikut ini:

A3 11 22 33 C9 44 55 66 0A 77 88

11 34 22 33 C4 44 55 66 67 77 88

11 22 33 44 D4 DD E5 55 66 77 88

Tehnik ini sangat berguna dalam membuat generic detection dari varian virus. walaupun menyebabkan proses scan yang relatif lambat.

Generic Detection

Generic detection digunakan ketika lebih dari 1 varian virus ditemukan, maka varian tersebut akan dibandingkan untuk menemukan string yang sama. tehnik ini menggunakan string yang harus sama persis untuk mendeteksi beberapa varian virus.

Sebagai contoh, pada suatu varian virus bernama A selalu mempunyai string “w0rm212”, maka scanner akan mengetahui bahwa virus tersebut berasal dari varian virus A. Hal yang sama juga berlaku untuk virus hasil generate oleh program virus maker atau virus generator seperti TeraBit.

Contoh lainnya disaat virus banyak dibuat dengan microsoft visual basic 6 dan di pack dengan UPX, maka scanner akan mencoba melihat apakah terdapat string “MSVBVM” dan “UPX” pada body file. Jika iya, maka scanner bisa mencurigainya sebagai virus. Tehnik generic detection Biasanya menggunakan kombinasi antara string,wildcard dan mistmatches.

Bookmarks

Bookmarks adalah tehnik khusus untuk menjamin hasil deteksi dan proses dis-infeksi menjadi lebih akurat dan aman. sebuah contoh bookmarks adalah sebagai berikut:

bookmarks : string

1220 : AIUEOVIRUS

Bookmarks disebut juga offset, hal ini tentu sangat berguna dalam proses pendeteksian virus berbasis string scanning, karena scanner akan memulai proses pencocokan suatu string virus langsung dari offset tertentu pada file virus sehingga proses scanning menjadi lebih cepat.

Top-and-Tail Scanning

Top-and-Tail Scanning ini biasanya sebuah scanner melakukan pemindaian hanya berada pada 2, 4, atau 8KB pertama atau terakhir pada file untuk mendapatkan hasil deteksi yang lebih cepat dan juga untuk mengurangi angka pembacaan disk.

Virus tertentu mempunyai ciri khusus pada header atau footer pada suatu file saat menginfeksi, sebagai contoh virus cacogen yang mempunyai string unik bernama Anti_Israel pada bagian akhir file yang di-infeksinya.

Entry-Point and Fixed-Point Scanning

Entry Point dan Fixed-point ini melakukan proses scanning berdasarkan entry-point dari suatu object, yang tersedia pada header seperti file

Executable [PE Files]. sehingga proses scan fokus pada posisi tertentu.sementara fixed-point digunakan jika entry-point tidak cukup bagus di suatu string virus. scanner akan mengatur posisi M dan melakukan pencocokan pada setiap string pada pososi M + r, bisanya nilai r adalah 0, jadi angka dari pembacaan disk atau disk I/O akan berkurang.

Tehnik ini hampir mirip dengan bookmarks, meskipun bookmarks bersifat universal sehingga tidak hanya file PE saja.

Lainnya

Selain itu ada juga beberapa antivirus lokal yang membuat tehnik khusus pada scannernya, seperti tehnik deteksi berdasarkan section name, berdasarkan string file name pada file autorun.inf (Kendal AV) dan lainnya.

Lalu apakah masih ada Tehnik yang lebih advanced lagi?

Ya tentu ada, generasi selanjutnya muncul ketika tehnik pada generasi awal scanner antivirus  tidak cukup lagi untuk mendeteksi virus yang lebih kompleks dan canggih saat ini. Pada generasi ini, sebuah scanner Juga lebih cerdik dan akurat dalam proses pendeteksian.

Sayangnya Antivirus lokal yang ada saat ini tidak ada yang “berani” dan “mampu” mengimplementasikannya, apalagi jika algoritma yang diterapkan tidak sesuai maka proses scanning bisa menjadi sangat lambat, sebagai contoh X-ray scanning, Code Emulation (yang sangat berguna untuk menghadapi virus metamorphic) dan sebagainya.

Semoga Bermanfaat
Referensi :

Practical Malware Analysis: A Hands-On Guide to Dissecting Malicious Software

Artikel ini dibuat oleh Yudha Tri Putra sebagai penulis artikel, diperbolehkan menyalin artikel ini secara utuh tanpa mengubah atau menambah isi artikel.

2 thoughts on “Berbagai Tehnik Deteksi Virus Pada AntiVirus

  1. Artikel yang sangat bagus …
    Ulasan informasi yang disampaikan sangat bermanfaat …
    Terimakasih informasinya min …
    Ditunggu artikel selanjutnya …
    Salam kenal …

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *