Darkside of Oktavianus

Making virus and all of them as our friends

Apa dan Bagaimana : Teknik Heuristik Pada Antivirus

Posted by oktavianus pada Januari 3, 2008

Teknik heuristik merupakan teknik yang dipakai antivirus untuk mendeteksi keberadaan virus2 baru atau yang belum terdapat di signature antivirus tersebut. Bagaimana caranya? Tentunya setiap antivirus memiliki cara sendiri2. Kita ambil contoh antivirus (yang lokal2 aja ya..) Ansav +E Advanced 1.7.8 (ga tau klo ada versi barunya) , av ini mengusung “Advanced Ansav Heuristic Engine”. Pada AAHE ini, Ansav akan mendeteksi suatu file sebagai ancaman dengan dengan membandingkan suatu signature dengan entrypoint/PE Header pada body file. Yah kurang lebih begitu. Sedangkan pada PCMAV rc23, heuristik andalannya yaitu dengan mengecek jika suatu file mempunyai signature suatu icon tertentu. Maksudnya jika kita membuat program yang mengandung icon folder (baik sebagai icon file atau resource) maka PCMAV akan menganggap file tersebut sebagai ancaman.

Namun teknik-teknik heuristik tersebut dapat dilewati/ heuristic bypassing dengan mudah, misalnya pada Ansav, kita dapat memakai program packer2 yang tidak terdapat di “database” heuristiknya Ansav. Sedangkan pada PCMAV, ya.. paling gampang tinggal ga pake icon2 yang dianggap ancaman (icon folder, word dsb) atau mengubah struktur body icon memakai program hex editor (namun hati2 biar icon ga berubah gambar)

Pada kesempatan ini saya akan membahas teknik heuristik untuk mendeteksi worm VBS. Ini karena penasaran sama PCMAV yang selau aja jitu menebak VBS worm. Ceritanya ketika teman saya minta bersihiin virus, truz ternyata terdeteksi sebagai worm oleh antivirus luar di pc saya, iseng pengen nyoba kehebatan antivirus saya tersebut, saya mencoba mengenkripsi worm tersebut, dimana tulisan “Scripting.FileSystemObject” saya enkripsi menjadi Chr(83) + Chr(99) + Chr(114) + Chr(105) + Chr(112) + Chr(116) + Chr(105) + Chr(110) + Chr(103) + Chr(46) + Chr(70) + Chr(105) + Chr(108) + Chr(101) + Chr(83) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Chr(79) + Chr(98) + Chr(106) + Chr(101) + Chr(99) + Chr(116)

Tadaaa… ternyata antivirus saya tidak mampu mendeteksinya… Kemudian teringat PCMAV (soalnya pernah baca diweb resminya klo PCMAV punya heuristik canggih buat mendeteksi file VBS). Pas discan pake PCMAV ternyata terdeteksi. Ya udah saya enkripsi semua string. Ehhh ternyata masih terdeteksi… hebat2… ini antivirus punya paranoid heuristik Setelah saya teliti2 hampir seribu detik, ternyata heuristiknya PCMAV yaitu dengan mendeteksi beberapa tulisan yang tidak mungkin tidak dipakai oleh suatu worm, yaitu salah satunya kombinasi command “CreateObject” dan “wscript.scriptfullname”. Tulisan ini gimana ya enkripsinya?? soalnya tipe tulisan ini bukanlah string, melainkan command internal pada VBS. Klo di Delphi command2 mungkin bisa dienkripsi,itu mungkin juga cuma command2 yang memakai API misalnya “UrlDownloadToFile” dimana memanggil dari file urlmon.dll. Yah main2in memory (GetProcAddress).

Tapi, saya ga akan membahas bagaimana caranya heuristic bypassing, malez bo klo banyak virus canggih, ntar klo ada cewek minta tolong saya bersiin pcnya dan saya ga bisa kan.. giiitu dech… Ok.. lanjut, kita kita akan bikin program dasar untuk mendeteksi worm VBS.

Yang kita perlukan adalah VB6 dan :
Komponen dan nama

TextBox : Text1

CommandButton : Command1
CommandButton : Command2
CommonDialog : CommonDialog1

Pada Command1 isikan :

CommonDialog1.Filter = “VBS File (*.vbs)|*.VBS”
CommonDialog1.ShowOpen
If CommonDialog1.FileName = “” Then Exit Sub
Text1.Text = CommonDialog1.FileName

Pada Command 2 isikan :

Vbs_Checker Text1.Text

Kemudian buat fungsi sebagai berikut :

Public Function Vbs_Checker(ByVal target As String)

If target = “” Then Exit Function
If Dir$(target) = “” Then Exit Function

On Error Resume Next

Open target For Input As #1
While EOF(1) = False
DoEvents

Line Input #1, maltext
maltext = ” ” & maltext
maltext = LCase(maltext)

If InStr(maltext, “createobject”) > 0 Then GoSub warning
If InStr(maltext, “regwrite”) > 0 Then GoSub warning
If InStr(maltext, “wscript.scriptfullname”) > 0 Then GoSub warning
If InStr(maltext, “ActiveDocument.Shapes.AddOLEObject”) > 0 Then GoSub warning

Wend

Exit Function

warning:
MsgBox “Suspected command : ” & maltext, vbExclamation, “Warning”
Return
End Function

Seharusnya kode2 di atas self explained, tapi saya jelasin lagi deh buat pemula kaya saya. Inti dari program tersebut yaitu membaca file VBS yang kita pilih dan membandingkan isi file VBS dengan tulisan tertentu, misalnya “createobject”. Jika ketemu tulisan tersebut maka keluar peringatan.

Sekali-lagi, kode2 di atas hanyalah konsep untuk mendeteksi worm VBS. Mungkin lebih baik dengan membandingkan lebih dari satu kata untuk mencegah indikasi false alarm.

Demikianlah (kaya nutup pidato aja), mudah2an ada manfaatnya buat yang baca.
Trims.

Fajar :: anggiawan.web.id
Love to :
– teman2 ku di eks unpad dan marnat
– para av maker lokal

Hate to :
– pengimpor kondom impor bekas
– penjual kondom impor bekas
– pemakai kondom impor bekas
– pkoknya yang nyalahgunain kondom bekas.

2 Tanggapan to “Apa dan Bagaimana : Teknik Heuristik Pada Antivirus”

  1. Adjiesoft said

    Seperti yang sudah diklaim pembuatnya, PCMAV dibuat oleh orang-orang yang sangat berpengalaman di bidang reverse-engineering.

    Salut bro sama PCMAV!

  2. Adjiesoft said

    Btw, cara PCMAV bedain virus VBS yang ini, sama yang itu gimana caranya ya? Koq pasti dengan tepat bisa dideteksi sebagai virus yang beda. Apa PCMAV menaruh seluruh isi virus VBS tsb di database-nya? Mungkin abang tau.

    ‘kan kalo langsung tanya ke pembuat-nya kan susah.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: