Deteksi Malware dengan Metoda Data Mining

Saya lagi baca paper tentang deteksi malware dengan metoda data mining. Paper ini ditulis oleh Ms. Shital Balkrishna Kuber dari India. Judul lengkapnya A Survey on Data Mining Methods for Malware Detection. Di bagian awal , paper ini bercerita tentang berbagai metoda deteksi malware. Ada Signature Based, Heuristic Based dan Specification Based. Kemudian Kuber melakukan studi literatur tentang beberapa teknik deteksi malware dengan metoda data mining.

Paper pertama yang dibahas adalah dari D.Bilar dengan judul Opcodes as predictor for malware. Pada paper ini dipelajari tentang opcode frequency distributions untuk mengidentifikasi dan membedakan malware. Jadi diusulkan penggunaan analisa statistik dari distribusi opcode. Dari hasil pengujian ditemukan bahwa opcode berikut yang sering muncul seperti move, push, call dll tidak dapat dijadikan indikator keberadaan sebuah malware. Namun keberadaan opcode yang jarang muncul seperti add, sub, ja, adc dll justru dapat dijadikan indikator adanya malware pada sebuah sistem.

Paper kedua masih dari D. Bilar, Callgraph properties of executables and generative mechanisms,” . Kali ini dia melakukan analisa struktur call graph dari 120 malware dan 200 benign. Semua sampel dibikin graphnya. Source code disusun struktur fungsinya. Fungsi ini didapat dari proses disassembly sampel. Kemudian dibuat semacam flowchart, dan dibandingkan cabang dari instruksi. Cabang yang pendek digunakan untuk menyampaikan kontrol dari sebuah fungsi dari sampel, sementara cabang yang paanjang digunakan untuk memanggil fungsi lain. Cabang yang pendek tidak memberikan return adress dari memori.  Kemudian dibuat CFG (call function graph. CFG ini dibandingkan. Bilar menyimpulkan malware cenderung memiliki jumlah blok dasar yang rendeh. CFG malware memiliki interaksi yang lebih sedikit, cabang yang lebih sedikit dan fungsi yang terbatas. Sementara file benign cendering memiliki jumlah blok yang lebih banyak dengan interaksi yang lebih kompleks

Sekar menggunakan pendekatan Finite State Automaton (FSA) approach. FSA. Membangun FSA tanpa perlu aksesk ke source code program. Kemudian metode ini dibandingkan dengan analisa n-gram.

Wei-jen Li melakukan analisa pada file PDF malware. Kemudian melakukan analisa n-gram, dan membuat model malware.

Santos menggunakan signature n-gram untuk deteksi malware. Pada n=2, tingkat deteksi malware rendah, sementara pada  n=4, deteksi malware sangat baik.

Santos melakukan analisa juga sequence opcode.  Kemudian dibangun classifier machine learning, untuk membedakan malware dan benign.

Shabtai menggunakan analisa statik untuk menguji sistem deteksi malware. Pengujian dilakukan dengan analisa ngram dengan (N=1 to 6) pada berbagai classifiers. Hasilnya ditemukan bahwa N=2 menghasilkan performa terbaik. Untuk deteksi digunakan juga pola opcode n-gram untuk ekstraksi fitur. pemilihan feature dan algoritma deteksi.

Papernya bisa dilihat disini:

Klik untuk mengakses A-SURVEY-87.pdf

Semoga Bermanfaat!

CrashOverRide Malware yang melumpuhkan Power Grid

Saya lagi baca beberapa kasus malware unik yang menyerang infrastruktur atau kadang dibilang ICS (Industrial control system) malware. Salah satu yang cukup menghebohkan adalah malware Crashoverride yang menyerang power grid Ukraina pada bulan desember 2016. Serangan ini sempat melumpuhkan jaringan listrik di 1/5 bagian kota Kiev selama 1 jam. Malware crashoverride ini sering dinamakan juga Indistroyer. Insiden ini konon serangan yang kedua pada jaringan listrik di Ukraina. Yang pertama adalah malware Blackenergy pada tahun 23 Desember 2015.

Serangan ini juga serangan ICS keempat yang tercatat setelah Stuxnet, Havex dan Blackenergy. Menurut peneliti dari ESET, malware ini terdiri beberapa modul berikut:

  • Backdoor digunakan untuk mengendalikan komponen malware lainnya. Backdoor terhubung dengan server command & server
  • Backdoor tambahan, sebagai cadangan dan mekanisme persistence bila backdoor utama terdeteksi sistem pertahanan
  • Komponen launcher adalah file executable yang bertugas untuk menjalankan komponen payload dan komponen wiper. Bagian ini mengatur waktu dan tanggal aktivasi malware. Dari hasil analisa ditemukan 2 tanggal aktivasi yaitu 17 desember 2016 dan 20 desember 2016. Tanggal 17 desember adalah tanggal serangan terjadi
  • 4 komponen payload yang menargetkan protokol komunikasi khusus pada siste industri yaitu IEC 60870-5-101IEC 60870-5-104IEC 61850, dan OLE untuk Process Control Data Access (OPC Data Access) . Fungsi komponen payload ini diantaranya melakukan scanning dan mapping jaringan, dan memberikan perintah pada perangkat kontrol industri khusus.
  • Komponen data wiper dirancang untuk menghapus registry keys pada sistem target, dan menimpa file untuk membuat sistem tidak bisa direboot dan mempersulit proses recovery.

Wah makin canggih ya malwarenya, bisa nyerang listrik. Jangan2 PLN klo listriknya mati juga karena malware ini :)  Semoga bermanfaat!

Laporal lengkap tentang malware ini bisa dilihat pada link berikut:

https://dragos.com/blog/crashoverride/

https://www.eset.com/int/industroyer/

https://www.wired.com/story/crash-override-malware/

Tools Digital Forensik

Hari ini saya lagi baca-baca tentang digital forensik. Digital forensik ini proses mempelajari artefak, biasanya untuk mencari barang bukti dalam sebuah penyidikan. Digital Forensik ini toolsnya banyak banget, berikut ini beberapa tools yang bisa dipake untuk digital forensik:

Free Hex Editor Neo: tools untuk binary file editor, biasanya dipake untuk mempelajari kode dari sebuah program 

Helix Forensichttp://www.e-fense.com  tools forensik bisa dipake untuk berbagai sistem operasi, bisa untuk mempelajari aktifitas internet, forensik jaringan, RAM, proses yang sedang berjalan dll. Tools ini keren, tapi berbayar. Ada versi trial 30 hari

COFEE: Computer Online Forensics Evidence Extractor : tools dari microsoft untuk membantu penyidik forensik mengekstrak evidence dari komputer windows. Tools ini dapat diinstal di flash drive USB untuk melakukan analisa forensik live. Khusus untuk polisi dan penegak hukum, microsoft memberikan tools ini gratis. Untuk rikues tools ini bisa dilihat di https://www.nw3c.org/investigative-resources

FieldSearch: tools forensik untuk mempelajari browser history, cari text, cari gambar, bikin report, chat history, registry, cari hash, recycle bin dll

Deftlinux : distro linux untuk forensik, ada banyak tools, tapi kayaknya udah discontinu

Registry viewer: tools untuk melihat isi register

FTK Imager

WinHex 

MobilEdit

Mobile Image Pro

Forensic Explorer 

Beberapa teknik forensik di Windows

  1. cek versi OS: SOFTWARE\Microsoft\Windows NT\CurrentVersion
  2. disana bisa dapet juga tanggal instalasi dalam bentuk hexa. Untuk decodenya bisa pake tools time Lord dari Paul Tew.
  3. cek Password:      

HKCU\Software\Microsoft\Internet Explorer\IntelliForms\SPW ; HKCU\Software\Microsoft\Protected Storage System Provider

4. terus pake tools Pass recovery dari Nirsoft

5. Untuk cek program yang berjalan pas Startup

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\ Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\Run HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce

6. Untuk melihat recent files, alias file yang baru dibuka

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32

MRU (Most recent Use)

CIDSizeMRU

(aplikasi-aplikasi terakhir/terkini yang digunakan),

FirstFolder (folder-folder terakhir/terkini yang dibuka)

LastVisitedPidMRU (file-file terakhir/terkini yang diakses oleh aplikasi tertentu)

OpenSavePidMRU (berisikan file-file terkahir/terkini yang dibuka dan disimpan/save)

7. Ngeliat Last shutdown (waktu terakhir kali komputer dimatikan) dan time zone Registry di registry keys: SYSTEM\ControlSet001\Control\Windows\ShutdownTime

8. Ngeliat USB yang baru terhubung

SYSTEM\ControlSet001\Enum\USBSTOR

9. Ngeliat User yang ada

SAM\SAM\Domains\Account\Users

SAM\SAM\Domains\Account\Users\{RID}

10. Ngeliat last login

setup*.log, setup*.old, setuplog.txt dan winnt32.log

SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\

 

Beberapa tools Forensik yang bisa dipake buat linux, ada yg opensource juga: 

Trojan TR/Crypt.ZPACK.Gen

Hari ini ada teman yang mintol, katanya malwarenya kena malware. Malwarenya bisa kedetek sama antivirus tapi gak bisa diremove. Setelah saya lihat ternyata malwarenya TR/Crypt.ZPACK.GEN. Ini sejenis trojan, maksudnya malware yang ngumpulin data2 di komputer korban terus dikirim ke pemilik malware. TR/Crypt.ZPACK.Gen ini nama yang digunakan oleh Avira. Biasanya nyebar lewat email, dan punya fungsi auto run.

Sayangnya avira gak bisa ngeremove trojan ini. Jadi pilihannya paling di karantina. Untuk ngeremove bisa menggunakan tools berikut:

  1.  Kaspersky tdss killer , 
  2. Malwarebytes chameleon
  3. RogueKiller
  4. Hitman Pro
  5. Emsisoft emergency kit

Semoga bermanfaat!

referensi:

Remove TR/Crypt.ZPACK.Gen trojan (Removal Instructions)

Malware Penambang – cryptomining malware

Nambang Bitcoin saat ini telah jadi tren baru, mengalahkan tren batu akik yang semakin meredup. Bahkan di kantin kampus seringkali saya dengar obrolan para penambang dan para pedagang cryptocurrency. Para penambang rela menghabiskan jutaan rupiah untuk membeli GPU paling canggih. Konon semakin canggih hardware yang digunakan maka semakin banyak keuntungan yang bisa diraih. Demi keuntungan besar, para penambang memanfaatkan malware untuk nambang di komputer orang lain. Malware jenis ini yang dinamakan cryptomining malware.

Contohnya malware Smominru botnet (Ismo). Malware ini digunakan untuk nambang Koin Monero di Windows Server. Malware ini menyebar ke komputer korban memanfaatkan eksploit EternalBlue (CVE-2017-0144).

Buat yang tertarik belajar tentang malware cryptomining ini, berikut ini ada beberapa link tentang malware cryptomining

The state of malicious cryptomining

Mining is the new black

https://www.eset.com/int/malicious-cryptominers/

https://www.darktrace.com/en/blog/crypto-mining-malware-uncovering-a-cryptocurrency-farm-in-a-warehouse/

https://www.trendmicro.com/vinfo/de/security/news/cybercrime-and-digital-threats/security-101-the-impact-of-cryptocurrency-mining-malware

Github

https://github.com/gsuareztangil/cryptomining-malware

https://github.com/topics/cryptomining

Paper:

https://arxiv.org/pdf/1808.00811.pdf%C2%A0

Klik untuk mengakses 1901.00846.pdf

Klik untuk mengakses JAKO201919761178776.pdf

Semoga Bermanfaat!

Decoding Komunikasi GSM

Beberapa waktu lalu saya menguji proyek akhir mahasiswa tentang decoding komunikasi GSM. Proyek akhir ini dikerjakan berdua oleh haryo novianto dan bryan rizky rivaldy dengan pembimbing pak rossi dan pak Fahru. Jadi ceritanya mereka mencoba menangkap komunikasi GSM dengan perangkat RTL-SDR. RTL-SDR ini semacam antena yang bisa digunakan untuk menangkap sinyal dari BTS. Kemudian sinyal yang ditangkap didecode dengan menggunakan aplikasi GR-GSM.

Proyek akhir mereka membuktikan bahwa penyadapan komunikasi GSM bisa dilakukan, memang tidak mudah untuk mendecode komunikasinya, tapi mereka berhasil mendecode menggunakan aplikasi kraken. Memang standar keamanan komunikasi GSM kita belum optimal, vendor telekomunikasi masih belum sepenuhnya aman. Algoritma enkripsi yang digunakan masih jadul yaitu A5/1 sudah harus diupdate. Semoga sisi keamanan ini lebih diperhatikan lagi. Paper proyek akhir brian bisa dilihat disini:

https://openlibrarypublications.telkomuniversity.ac.id/index.php/appliedscience/article/view/5178

Paper Proyek akhir haryo bisa dilihat disini:

https://openlibrarypublications.telkomuniversity.ac.id/index.php/appliedscience/article/view/5197

Selamat untuk haryo dan brian. Beberapa link tentang tema ini bisa dilihat pada link berikut:

tentang algoritma A5/1:

https://github.com/0xh4di/GSMDecryption

https://en.wikipedia.org/wiki/A5/1

tentang crackint A5/1

https://ptrkrysik.github.io/

https://www.crazydanishhacker.com/?s=gsm

Kumpulan video:

http://infocon.hackingand.coffee/

Klik untuk mengakses ptrkrysik_camppp.pdf

https://domonkos.tomcsanyi.net/?p=428

Kape – tools forensik

Untuk para penggemar Forensik, ada tools baru namanya KAPE. Program ini digunakan untuk menemukan artifak forensik dan melakukan parsing. Dengan KAPE ini penyelidik bisa menemukan artifak dengan cepat dan menentukan prioritas artifak tersebut.

Tools ini dapat penghargaan DFIR non-commercial tool of the year. Tools ini gak perlu diinstal, bekerja dalam command line. Tentang KAPE bisa dilihat pada web ini:

https://ericzimmerman.github.io/KapeDocs/#!index.md

Bisa dilihat juga di github berikut ini:

https://github.com/EricZimmerman/KapeFiles

Untuk mahasiswa yang sedang cari topik Proyek Akhir mungkin bisa dieksplorasi tools KAPE ini, dan dikembangkan jadi tools PA.

Semoga Bermanfaat!

Tanda tangan digital

Jaman pandemi karena wfh semuanya jadi serba digital. Termasuk salah satunya tanda tangan. Di kampus biasanya ada beberapa dokumen yang harus ditandatangan, contohnya untuk sidang tugas akhir, perlu tandatangan dosen pembimbing, dosen wali dll. Nah semenjak wfh jadinya semua dokumen harus ditandatangan secara digital.

Sayangnya orang masih banyak yang salah kaprah tentang tanda tangan digital. Yang dimaksud tanda tangan digital itu bukan tanda tangan di kertas yang kemudian discan. Bisa juga sih, cuman dari sisi security tandatangan seperti ini rentan untuk disalahgunakan. Misalnya tandatangan itu di gandakan tanpa seijin orangnya. Sudah ada beberapa kejadian misalnya mahasiswa meng-kopi tanda tangan dosen, kemudian ditempelkan di dokumen lain tanpa seijin dosennya. Nah ini kan tidak sesuai dengan etika.

Padahal buat orang security yang dimaksud tanda tangan digital yang menggunakan publik key. Jadi kita harus generate dulu kunci dengan sebuah algoritma kriptografi (biasanya pake RSA). Kunci yang digenerate ini sepasang, ada public key dan private key. Kunci publik itu untuk dibagikan ke umum, sementara kunci private disimpan sendiri. Kunci private ini yang digunakan untuk melakukan tanda tangan sebuah dokumen. Dokumen yang telah ditandatangani ini nantinya akan diverifikasi oleh penerima menggunakan kunci publik.

Gimana caranya untuk membuat kunci dan melakukan tanda tangan digital? ada beberapa cara, kalo males nginstall aplikasi bisa langsung di terminal. Caranya pernah saya tulis disini https://julismail.staff.telkomuniversity.ac.id/pgp-signing-party/

Kalo mau yang lebih gampang bisa pake aplikasi acrobat reader. Caranya bisa dilihat di youtube berikut ini:

Semoga Bermanfaat!

Belajar analisa malware

Saya baru baca tulisan Zeltser tentang analisa malware. Zeltser ini instruktur analisa malware di SANS. Analisa malware membutuhkan banyak skill, diantaranya insiden respon, forensik, administrasi sistem, admin jaringan, keamanan dan programming. Memang cukup banyak pengetahuan yang diperlukan. Zeltser mengelompokan skil analis malware ini jadi 4 kelompok berikut dari yang paling mudah sampe paling susah:

  1. Analisa otomatis: menjalankan sampel di sandbox, membaca laporan interaksi sampel dengan sistem dan jaringan
  2. Analisa statik: mempelajari metadata dan info lainnya di file, seperti string, tanpa menjalankan sampel.
  3. Analisa behavior: menjalankan file di lab, dipelajari perilakunya
  4. Reverse kode malware: melakukan reverse malware dengan disassembler dan debugger untuk dipelajari apa saja fungsi malware

untuk mulai belajar, bisa dimulai dengan mempelajari hasil analisa malware yang dilakukan analis berpengalaman, atau dari sandbox. Beberapa contoh report analisa malware bisa dilihat di postingan zeltser di laman facebook ini https://web.facebook.com/LearnREM

Selain itu report analisa malware bisa diliat juga dari analisa sandbox gratis. Berikut ini list sandbox yang dikumpulkan zeltser pada blog dia https://zeltser.com/automated-malware-analysis/

Setup lab analisa malware

Untuk mulai belajar analisa malware, idealnya dilakukan di lab khusus. Bisa juga menggunakan virtual mesin yang dikonfigurasi khusus. Zeltser menjelaskan cara setting lab di blog dia https://zeltser.com/build-malware-analysis-toolkit/

Selain itu bisa juga nonton youtube berikut:

Pelajari juga slide berikut ini:

https://published-prd.lanyonevents.com/published/rsaus19/sessionsFiles/13567/HT-T09_Practical%20Malware%20Analysis%20Essentials%20for%20Incident%20Responders.pdf

Cara lain bisa juga pake distro Remnux, ini distro khusus yang dirancang om zeltser untuk analisa malware. Bisa diunduh disini : https://remnux.org

Dia juga nyediain video tentang remnux:

Nah langkah berikutnya belajar assembler, bisa pake ollydbg atau x64dbg . Zeltser nyedian video untuk tentang belajar assembly disini:

Kita bisa melajar analisa dinamis dengan menggunakan breakpoints pada API call di sampel. Tools yang bisa digunakan adalah FLOSS https://github.com/fireeye/flare-floss . Contoh cara pake floss bisa dilihat disini: https://isc.sans.edu/diary/Malware+Triage+with+FLOSS%3A+API+Calls+Based+Behavior/26156?_ga=2.12270132.1431902920.1621807715-1728014147.1621807715

Panduan untuk belajar reverse bisa dilihat disini: https://zeltser.com/reverse-engineering-malicious-code-tips/

Malware banyak yang menggunakan teknik evasion untuk mempersulit proses analisa. Tentang teknik evasion bisa liat video zeltser berikut:

sama slidenya ada disini: https://zeltser.com/media/docs/malware-analysis-lab.pdf

Selanjutnya unutuk anaisa statik bisa pake Ghidra https://ghidra-sre.org. Tentang ghidra bisa dilihat video Anuj Soni berikut:

dan baca juga blognya disini: https://blogs.blackberry.com/en/2019/07/an-introduction-to-code-analysis-with-ghidra

Nah selain berbentuk binary, malware ada juga yang berbentuk skript, biasanya pake javascript. Tentang malicious script ini bisa tonton video Evan Dygert berikut:

Dan pelajari juga slidenya disini: https://www.dropbox.com/sh/34zvd5ww6nminid/AAAfKexd3nyoW96OkMuYrklQa?dl=0

Khusus tentang malware yang pake Powershell bisa liat video Mari DeGrazia berikut:

Kalo mau belajar tentang malware yang sembunyi di dokumen office bisa nanton video Didier Steven berikut:

Selain itu bisa ikutin workshop Ryan chapman di github ini: https://github.com/rj-chap/CFWorkshop . Om zeltser juga nyediain link tentang malware di dokumen office pada link ini: https://zeltser.com/analyzing-malicious-documents/

Untuk belajar tentang shellcode bisa nonton video ini:

Selanjutnya kalo butuh sampel malware untuk latihan bisa dilihat pada link berikut:

Semoga bermanfaat!

diterjemahkan dari: https://www.sans.org/blog/how-you-can-start-learning-malware-analysis/

Machine Learning Static Malware Analysis-Shalaginov-Paper Review

Paper Title:Machine Learning Aided Static Malware Analysis: A Survey and Tutorial

Authors: Andrii Shalaginov, Sergii Banin, Ali Dehghantanha, Katrin Franke

Venue: Springer, Advances in Information Security , vol 70, p7-45

URL: https://arxiv.org/abs/1808.01201

Problem:Malware masih menjadi ancaman nomer satu bagi pengguna Windows. Jumlah malware juga terus bertambah. Analisa malware terdiri dari 2 cara static dan dinamis. Analisa dinamis membutuhkan resource yang besar. Sementara static membutuhkan skill yang baik dan waktu yang cukup. Perlu ada pendekatan baru untuk deteksi malware

Contribution

  1. Melakukan review komprehensif teknik machine learning untuk analisa static malware
  2. Menyusun taxonomy konstruksi feature static untuk klasifikasi ML
  3. Memberikan tutorial teknik ML dan membandingkan performanya

Method/solution

  1. Menggunakan 1 dataset benign dan 2 dataset malware untuk studi
  2. Training menggunakan AdaBoost dan Random Forest untuk 500 best selected n-grams pada range 1-8 n
  3. Function call membentuk graph untuk menampilkan PE32 header fitur seperti nodes, edges dan subgraph
  4. Jumlah besar fitur yang diekstrak dapat digunakan untuk membangun model menggunakan SVM atau single-layer Neural Netowrk
  5. Array of API calls dari IAT diproses dengan Fisher score 
  6. Fitur dasar dari PE32 header adalah Ukuran header, Ukuran Uninitialized Data, Ukuran Stack Reverse
  7. Menggunakan Decision Tree untuk analisa PE Header
  8. Menggunakan F-score sebagai performance metrik untuk analisa PE32 header
  9. MEnggunakan control flow change dari 256 alamat pertama untuk membangun fitur n-gramm
  10. Naïve Bayes digunakan untuk klasifikasi binary (benign atau malicious); Input harus symbolical, contohnya string, opcode, instruction n-gramm
  11. Bayesian Network digunakan pada klasifikasi dan information retrieval seperti semantic search
  12. Algoritma rule based C4.5 digunakan untuk membangun decision tree
  13. Neuro-Fuzzy digunakan untuk membedakan malware dan benign, tapi juga untuk mendeteksi tipe malware
  14. Teknik distance based diantaranya k-NN tidak memerlukan training. Diperlukan pemilihan fitur yang temat serta metode untuk membedakan data yang mixed
  15. Fungsi kernel dipilih antara polynomial, GAussian, hyperbolic dll
  16. Neural network terdiri dari input layer, hidden layer dan output layer. Input menerima normalized data, hidden layer menhasilkan output aktivasi menggunakan weighted input dan fungsi aktivasi. ANN dugunakan pada model kompleks dengan high-dimensional spaces
  17. Tools yang digunakan Weka, untuk split dataset; Python weka wrapper, LibSVM, RapidMiner dan Dlib
  18. Metode pemilihan fitur menggunakan Information Gain dan CFS (Correlation-base Feature subset selection)
  19. Metode information gain digunakan untuk menentukan atribut malware
  20. Menggunakan sequence opcode dengan length 1-4 dengan Random forest, J48, kNN, bayesian networks dan SVM
  21. Pengujian dilakukan pada VM Ubuntu 14.04 dengan server Xen4.4. Intel Core i7 2,6Ghz denan 4 core (8 thread, 2 core untuk VM; Harddisk SSD RAID, Ram 8GB 
  22. Pre-processing dengan scrit bash; database mySql 5.5; python 2.7.6 dan PhP 5.5.8
  23. Membangun benign file dari windows XP,7, 8.1 dan windwos 10
  24. Dataset malware menggunakan VX Heaven dan Virusshare
  25. Benign sampel 16.632 dengan ukuran 7,4GB; malware0 58.023 ; 14 GB dan malware 2 41.899 sampel; 16 GB
  26. Konstruksi fitur dengan PEFrame, Hexdump, dan objdump
  27. Fitur PE32 dipilih dengan metode Cfs dan InfoGain dengan 5-fold cross validation

Main result

  1. N-gram byte sequence adalah salah satu fitur dari sequence byte binary
  2. Akurasi deteksi malware menggunakan fitur n-gram byte mencapai 97%
  3. Algoritma yang digunakan diantaranya Naive Bayes, C4.5 dan k-NN digunakan untuk deteksi n-gramm
  4. N-gram 4-5 menghasilkan akurasi tinggi. 
  5. Opcode banyak digunakan untuk klasifikasi
  6. Beberapa API calls hanya ditemukan di malware 
  7. Belum ada penelitian yang mencapai akurasi 100%, karena malware menggunakan obfuscation dan enkripsi untuk menghindari deteksi
  8. Pendeketan dengan n-grams membutuhkan resource besar
  9. SVM menghasilkan akurasi yang tinggi
  10. Banyak peneliti menggunakan fitur byte n-gram, opcde n-gramm dan PE32 header, dan algoritma C4.5, SVM dan k-NN
  11. Peneliti memilih antara ekstrak fitur yang menghasilkan akurasi klasifikasi tinggi, atau menggunakan metoda konvensional seperti information gain
  12. N-gram based membutuhkan FS lainnya untuk menghilangkan feature yang tidak diperlukan
  13. Rule based ML adalah metode klasifikasi yang banyak digunakan, diikuti SVM
  14. Metode Forest-based lebih mudah diterapkan untuk fitur PE32 header based
  15. ANN tidak banyak digunakan
  16. Metode Bayes-based menghasilkan akurasi rendah 50%, metoda lain 80-100%
  17. Fitur dari shortinfo dari PE32 header dapat dijadikan indikator malware
  18. ANN dan C4.5 menghasilkan performa yang lebih baik

Limitation:

  1. Tidak melakukan review pada Deep Lerning
  2. Tidak melakukan review pada image representation

Note:

  1. N-gram byte sequence adalah salah satu fitur dari sequence byte binary
  2. Malware PE32 paling banyak ditemukan karena bisa menginfeksi windows 64 bit dan 32 bit
  3. PE32 dimulai dari windows 3.1 dan kemudian berkembang jd format PE32+ untuk OS windows 64 bit
  4. PE file mengandung header COFF (Common Object File Format). Standar COFF field adalah header, section table, data directories dan Import Address Table (IAT)
  5. Selain PE Header fitur static lainnya diekstrak dari eksekutable binary seperti strings, entropy dan size of various sections
  6. Feature static ada yang numerik dan nominal
  7. Numerk contohnya integer, real atau binary
  8. Nominal contohnya finite set dari kategori atau label
  9. Contoh fitur numerik adalah CPU (%) usage, RAM dalam Megabyte) usage
  10. Contoh nominal bisa sebuah tipe file seperti *.dll atau *.exe atau API function call seperti write() atau read()
  11. N-gramm didapate menggunakan hexdump; membuat 4gram dari byte sequence dari PE32
  12. Fitur dikumpulkan dengan sliding window of n bytes, yang menghasilkan 200 juta fitur dengan 10-gramm pada 2 ribu files
  13. Feature selection digunakan untuk memilih 500 feature paling penting berdasarkan information Gain Metric
  14. Ada penelitian yang menggunakan 100-500 selected n-grams pada set 250 malicious dan 250 sampel benign
  15. Opcode sequence atau operation code adalah set of low level machine abstraksi  berurutan yang digunakan untuk berbagai macam operasi CPU. Banyak digunakan untuk fitur pada klasifikasi malware
  16. Namun perlu ada balance antara ukuran feature set dan Panjang n-gram opcode sequence.
  17. Bragen menguji kehandalan analisa malware menggunakan sequence opcode dari 992 PE malware dan benign.50 juta opcode diekstrak. 1gram dan 2 gram menghasilkan akurasi baik dan komputasi yang sedang
  18. Wang menggunakan 2-tuple opcode sequence digunakan pada kombinasi density clustering
  19. API call adalah fungsi yang dipanggil sebuah program untuk menjalannkan fungsi tertenti
  20. Perlu dibedakan System API dan User API. System API call disediakan oleh dll sistem
  21. User API disediakan oleh software yang diinstal pengguna
  22. API call berbahaya, Anti-VM dan anti-debugger hook dan calls bisa diekstrak menggunakan tools analisa PE seperti PEframe
  23. API calls bisa juga diekstrak dengan PE parser
  24. PE Header adalah koleksi dari metadata terkait PE file
  25. Belum ada penelitian yang menjamin akurasi 100% pada deteksi malware. 
  26. Metode menggunakan n-gram cenderung menggunakan set pemilihan fitur seperti tf-idf dan symetric uncertainty yang lebih cocok untuk similar sequence dalam jumlah besar
  27. Fitur berbasis PE32 cenderung menghasilkan entropy tinggi untuk klasifikasi; sehingga control-flow graph based dan gain ratio lebih cocok untuk task ini
  28. 4 fitur disarankan untuk klasifikasi; PE32 header, Byte n-gram, opcode n-gram dan API calls
  29. PE32 header diperoleh dari tools PE-Frame; Berikut beberapa fitur numerical dari pe32 header
  30. ShortInfo_Directories menjelaskan 16 data directory yang tersedia di PE; yang paling banyak digunakan adalah import, export, resource, debug, relocation
  31. ShortInfo_Xor menunjukan deteksi XOR obfuscation
  32. ShortInfo_DLL adalah sebuah flag binary atau apakah sebuah file executable atau dll
  33. shortInfo_fileSize adalah ukuran binary dalam bytes
  34. ShortInfo_Detected menampilkan teknik evading deteksi seperti hooks untuk disable execution in virtualized environment atau API calls mencurigakan
  35. ShortInfo_Sections adalah jumlah subsection pada header
  36. DigitalSignature berisi informasi tentang digital signature 
  37. Packer  mengnjukkan deteksi packer
  38. AntiDebug memberikan gambaran teknik untuk mencegah debugging process
  39. AntiVM digunakan untuk mencegak eksekusi pada VM
  40. SuspiciousAPI api mencurigakan
  41. SuspiciousSections seperti .rsrc \u0000 \u0000\u0000
  42. Url adalah beberapa alamat url  pada binary
  43. Byte n-gram adalah sequence dari some items (dengan minimum length adalah 1
  44. Opcode-ngram: set instruksi yang dilakukan CPU bila binary dijalankan; pop, push, mov, add, sub