File Entropy Wavelet Malware-Guo-ReviewPaper

Paper TitleFile Entropy signal analysis combined with wavelet decomposition for malware classification

Authors: Hui Guo, Shuguang huang, Cheng huang, Zulie pan, Min zhang, fan shi

Venue: IEEE access vol 8 – 158961 – 158971

URL: https://doi.org/10.1109/ACCESS.2020.3020330

Problem: Penulis malware banyak menggunakan (reuse) source code malware yang sudah ada untuk membuat malware baru. Malware ini biasanya memiliki kemiripan dan dapat digolongkan ke dalam variant malware atau family malware yang sama. Melakukan klasifikasi variant malware ini membutuhkan waktu dan resource computing yang besar. Untuk itu diperlukan pendekatan baru untuk melakukan klasifikasi varian malware.

Contribution

  1. Mengajukan metoda klasifikasi baru menggunakan feature entropy biner. Metode ini melakukan konversi raw bytes malware menjadi sequence entropy dan melakukan ekstraksi feature struktural berbasis pada teknik sinyal prosesing
  2. Implementasi MESRF, sebuah framework untuk mengekstrak feature dari malware dan mengkombinasi mereka dengan sebuah classifier untuk melakukan klasifikasi variant malware. Framework ini dapat meningkatkan kemampuan untuk melakukan klasifikasi variant malware pada family yang sama
  3. Hasil pengujian menunjukan MESRF dapat menyelesaikan permasalahan kesalahan klasifikasi family malware yang sama dibandingkan metode yang sudah ada

Method/solution

  1. Ekstrak sequence entropy dary raw bytes ke malware
  2. Mining feature di entropy, dan menampilkan sequence entropy menjadi sinyal
  3. Menggunakan 2 feature global dan local. 
  4. Global feature diekstrak dari karakteristik statik seperti length, nilai mean, maximum, standard deviation dan rasio minimum. 
  5. Untuk karakteristik lokal (struktural) sinyal entropy diperoleh dengan algoritma Discrete wavelet decomposition dan vektorisasi feature lokal berbasis model bag-of-words.
  6. Kemudian ditrain dengan machine learning dan malware diklasifikasikan untuk menentukan family dari sampel malware baru
  7. Raw byte malware dibagi menjadi blok 256, agar bisa mendapatkan value 00-FFh
  8. Bila ukuran blok tidak 256 dan bisa mencapai 128 maka byte ditambah dengan zero, bila kurang maka byte akan dibuang
  9. Nilai entropy dihitung menggunakan rumus:  ; xi nilai raw byte dan pProbability (frekuensi blok)
  10. Global feature yang digunakan: length (Panjang sequence entropy); square root; mean; standev; max; max_7, min_0
  11. Malware diekstraksi menjadi 2 fungsi pada saat decopmposisi yaitu father wavelet (scaling function) dan mother wavelet (fungsi wavelet)
  12. Fungsi Wavelett dan fungsi scaling dengan  Haar Wavelett transform menggunakan rumus:

    ;  

  1. Sebelum dekomposisi sinyal serangkaian transformasi fungsi pada mother wavelett dan father wavelett dilakukan.
  2. Pemilihan wavelet dibandingkan fourier karena detail sinyal bisa didapatkan dari berbagai skala prosesing. Hasilnya adalah power dari sebuah sinyal pada beberapa frequency berbeda.
  3. Haar wavelet memproyeksikan sinyal menjadi sebuah set gelombang kotak dengan tinggi, widt dan struktur berbeda.
  4. Menggunakan enropy sequence sebagai sebuah sinyal dan Transformasi Haar Wavelett untuk mengekstrak structure feature
  5. Fungsi transforming dijelaskan pada persamaan berikut:   
  6. Feature dikonversi ke vectore menggunakan model bag-of-words; tahapannya terdiri dari : a) codebook generation dan b) komputasi histogram
  7. Algoritma K-means diimplementasikan untuk menghasilkan cluster center
  8. Kemudian sampel malware dikonvert ke vector dengan codebook
  9. Histogram dari code words digunakan untuk representasi feature lokal dari sequence entropy
  10. Sistem MESRF (malware entropy sequences reflect the family) dikembangkan dengan python 2.7 dengan pywt library dan sklearn library.
  11. Prototipe sistem dijalankan pada sebuah PC dengan Intel ® Core ™ i7-4790 CPU (3,6 GHz) dan 20 GB RAM
  12. Dataset I didapat dari malware research lab yang terdiri 9339 sampel malware dari 25 family, yang diperoleh dari real environment dan diklasifikasikan dengan platform Microsoft security
  13. Dataset II didapat dari Microsoft Malware Classification Challenge (BIG 2015) terdiri dari 10.868 sampel terdiri dari 9 family (Ramnit, Lollopop, Kelihos_ver3, Vundo, Simda, Tracur, Kelihos_ver1, Obfuscator.ACY, GATAK)
  14. Pengukuran menggunakan akurasi, presisi, recall, ROC Curve (Receiver Operating Characteristic Curve) dan AUC (Area Under ROC Curve), F1
  15. Klassifier ditraining menggunakan Random Forest (RF), Multi-layer Perceptron (MLP), k-Nearest Neighbor (KNN), SVM dan DT
  16. Setiap sampel memiliki 263 feature (7 dari global dan 256 feature local)
  17. nilai K dari KNN diset 2, SVM menggunakan linear kernel function, classifier lainnya menggunakan parameter konfigurasi default dari sklearn
  18. Hasil pengujian dibandingkan dengan 4 model yaitu: GIST+KNN, LBP+KNN, GIST+DSIFT+KNN dan VGG16

Main result

  1. KNN memiliki performa terburuk, dengan akurasi 98,5%, sementara akurasi classifier lainnya diatas 99%, SVM menghasilkan performa terbaik 99,82%
  2. SVM mendapatkan nilai F1-score dan AUC terbaik pada saat eksperimen, namun waktu training membutuhkan 7 detik dengan 9000 sampel
  3. RF menghasilkan efisiensi terbaik
  4. Akurasi klasifer yang menggunakan local feature yang diekstrak dengan DWT dan BOW mencapai 99,75%
  5. Penggunaan feature global dan local secara bersamaan menghasilkan akurasi terbaik 99,83%
  6. MESRF menghasilkan performa terbaik daripada 4 model pembanding, dengan waktu yang lebih pendek
  7. Dari sisi akurasi dan efisiensi MESRF juga lebih baik dibandingkan 4 sistem pembanding yaitu 97,88

Limitation:

1.Jumlah family yang diuji terbatas

2. Analisa attribute dari feature penting belum dilakukan

SourceFinder: finding malware sourcecode-Rokon-PaperReview

Paper TitleSourceFinder: Finding malware source-code from ublicly available repositories in Github

Authors: Md Omar Faruk Rokon, Risul Islam, Ahmad Darki, Evangelos E.Papalexakis

Venue: Usenix 23rd International Symposium on Research in attacks, intrusions and defences

URL: https://www.usenix.org/conference/raid2020/presentation/omar

Problem: Untuk memahami malware, peneliti perlu mempelajari source code malware. Bagaimana mencari source code malware dari repositories di internet seperti Github?

Contribution

  1. Mengajukan sistem SourceFinder, sistem untuk mengidentifikasi repository source code malware menggunakan machine learning
  2. Mengumpulkan 97ribu repository terkait malware dari Github, 
  3. Mempelajari pola dan tren repository malware, termasuk property, behaviour temporal dan author centric
  4. Membuat arhive source malware dengan 7504 repository

Method/solution

  1. Repository dikumpulkan melalui API Github dengan keyword malware
  2. Keyword dibagi 3 tipe: a) keyword terkait malware dan security, seperti malware dan virus; b) time malware, seperti ransomware dan keylogger; c) nama popular malware: seperti mirai
  3. Membuat groundtruth dengan 2013 repository
  4. Membuat 3 set keywords: a) Q1 set, hanya mengandung keyword malware; b) Q50 set yang memiliki 50 keywords; c) Q137 set yg memiliki 137 keywords; Q137 adalah superset dari Q50; dan Q50 adalah superset dari Q1
  5. Query dilakukan menggunakan PyGithub, kemudian dilakukan cleaning
  6. Ground truth dilakukan dengan 3 komputer scientist melakukan label 1000 repository secara manual (malicious atau benign). Hasil labelin diberi nama LD137, LD50 dan LD1
  7. Pada tahapan preprocessing dilakukan: a) character level preprocessing; b) word level preprocessing; c) entity level filtering
  8. Setelah preprocessing dilakukan pelabelan repository fields.
  9. Untuk text field representation digunakan Bag of Words dan word embedding
  10. Tahap ketiga adalah selecting the fields
  11. Tahap keempat adalah pemilihan engine ML
  12. Tahap kelima detecting source code repository
  13. Pengujian dilakukan untuk mengetahui tentang: a) repository fields selection; b) field representation; c) feature selection; d) ML algoritma selection; e) efektifitas klasifikasi; f) Identifikasi repo malware; g) identifikasi repo source code malware
  14. Field yang dipilih adalah title, description, topics, readme file, nama file dan nama folder
  15. Field representation menggunakan bag of words mencapai akurasi 86%, sementara word embedding 85%
  16. Pemilihan jumlah kata per field didapatkan top 550 kata

Main result

  1. Pengujian klasifikasi repository malware menghasilkan akurasi 89%, recall 86% dan F1 score 87% dengan 5 field dari repository
  2. Jumlah malware baru pada repository meningkat 3x lipat setiap 4 tahun
  3. Membuat ranking repository yang paling popular berdasarkan jumlah watcher, forks dan stars
  4. 3% penulis malware memiliki follower > 300 
  5. 0,2% penulis malware memiliki lebih dari 7 repository malware
  6. Ada penulis malware yang membuat 336 repository malwre
  7. Berhasil mengidentifikasi 18 penulis malware professional, contohnya 3vilp4wn penulis keylogger
  8. Q1 diperoleh 2775 repositry, Q50 14332 dan Q137 97375
  9. Multinomial Naïve Bayes memperoleh nilai F1-score 87%; dengan presisi 89% dan recal 86%
  10. Deteksi benign class diperoleh presisi 92%, 94% recall dan 93% F1-score.
  11. F1 score pada algoritma lain (Logistic regression, decision tree, random forest, KNN, Linear discriminant analysis dan SVM) dibawah 79%
  12. KNN, LR, dan LDA memperoleh presisi lebih tinggi dengan recall lebih rendah
  13. Setelah dilakukan 10-fold cross validation diperoleh presisi diatas 89% dan recall diatas 77% untuk ketiga dataset
  14. 2% repository memiliki pengaruh kuat denan minimum 100 forks; 78% repository hanya memiliki forks < 2
  15. 2% repository memiliki stars > 250; 75% repository memiliki stars <3
  16. 8 repository memiliki pengaruh tertinggi adalah: ytisf (thezoo), n1nj4sec, Screetsec, malwaredllc, RoganDawes, Visgean, Ramadhan, dana-at-cp
  17. Kategori terbanyak malware adalah keylogger (679 repo)
  18. Windows dan Linux adalah target paling popular (1592 – windows; 1365 – linux)
  19. Hanya ada sedikit MacOs repo (380)
  20. Aktifitas malware sedikit menurun pada tahun 2018
  21. Malware IoT dan iphone mulai muncul tahun 2014
  22. Malware windows dan linux masih dominan, tapi ada tren penurunan. Sementara IoT dan android meningkat
  23. Username unik muncul pada berbagai platform online seperti Offensive community, ethical hacker dan hackthissite
  24. Username penulis malware tercatat memiliki aktifitas hacking 
  25. Repository digunakan penulis malware untuk meningkatkan reputasinya

Limitation:

  1. Hanya melakukan analisa pada github yang diset public, dan memiliki keyword tertebtu
  2. Hanya melakukan analisa pada Github, masih ada platform sharing malware lainnya seperti darkweb

Do & Dont’s of Machine Learning in Computer security-Arp-Paper Review

Paper TitleDo and Don’ts of machine learning in computer security

Authors: Daniel Arp, Erwin Quiring, Feargus Pendlebury, Alexander Warnecke, Fabio Pierazzi, Christian Wressnegger, Lorenzo Cavallaro, Konrad Rieck

Venue: underreviewed; Technical Report: Arxiv:2010.09470, October 2020

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

Problem: Machine learning mulai banyak digunakan di bidang security. Namun ada beberapa pitfall yang dapat menurunkan performa dan menyebabkan implementasinya tidak sesuai dengan standar task security di mesin learing

Contribution:

  1. Identifikasi 10 pitfall machine learning di security yang mempengaruhi workflow sistem, serta melakukan analisa longitudinal pada 30 paper security yang telah dipublikasikan pada 30 top-tier conference pada 10 tahun terakhir
  2. Melakukan eksperimen analisa impact pitfall tersebut pada 4 domain security berbeda, apakah menimbulkan bias eksperimen, hasil yang membesar, dan menimbulkan misinterpretasi
  3. Memberi rekomendasi dos and don’t bagi peneliti dan praktisi keamanan dalam pengembangan dan penggunaan machine learning di bidang security

Method/solution

  1. Melakukan studi longitudinal, dengan focus pada 6 tahun terakhir, 30 paper yang dipublikasikan pada 4 conference terbaik dibidang security yaitu ACM CCS, IEEE S&P, USENIX Security dan NDSS. 
  2. 6 paper tentang deteksi malware, 4 paper tentang deteksi serangan pada jaringan, 4 paper tentang vulnerability discovery (mencari celah keamanan sistem), 4 paper tentang serangan website pingerprinting, 3 paper tentang abuse social media, 3 paper tentang analisa kode binary, 2 paper tentang atribusi kode, 1 paper masing-masing tentang steganography, online scam, game bots dan ad blocking
  3. Setiap paper di review oleh 2 orang reviewer yang menguji artikel apakah mengandung 10 pitfall machine learning
  4. Reviewer terdiri dari 6 peneliti yang telah memiliki publikasi pada tema machine learning dan security pada minimal 1 conference diatas.
  5. Setelah 2 reviewer selesai mereview 1 paper, mereka mendiskusikan hasil temuannya dengan reviewer ketiga
  6. Pada setiap paper pitfall dikategorikan sebagai, present (ada), not present (tidak ada), unclear from text (tidak jelas), atau does not apply (tidak berlaku)
  7. Pengujian dilakukan pada 4 domain; mobile malware detection (P1,P4,P7), vulnerability discovery (P2,P4,P6); source code authorship attribution (P1,P4) dan network intrusion detection (P6, P9)

Main result

10 pittfall machine learning:

  1. Sampling bias: dataset yang dikumpulkan tidak merepresentasikan distribusi data pada permasalahan security yang sesungguhnya (60%)
  2. Label Inaccuracy: label ground truth pada klasifikasi tidak akurat, tidak stabil, mengandung eror, dan mempengaruhi performansi sistem secara keseluruhan (10%)
  3. Data Snooping: Model melakukan training pada data yang umumnya tidak ada di dunia nyata. (57%)
  4. False Causality: Artifak yang tidak berhubungan dengan permasalahan yang dihadapi, menyebabkan shortcut pattern pada kelas yang berbeda. Sehingga model tidak menyelesaikan task yang diberikan tapi beradaptasi terhadap artifak tersebut (57%)
  5. Bias pemilihan parameter: Parameter akhir dari metode yang digunakan tidak fix pada saat training. Sehingga parameter ini tergantung pada set test (20%)
  6. Inappropriate baseline: Pengujian dilakukan tanpa baseline atau, dengan baseline yang terbatas. Sehingga sulit untuk mengetahui peningkatan dari state-of-the-art (23%)
  7. Inappropriate performance measures: Pengukuran performa yang digunakan tidak memperhatikan Batasan aplikasi, seperti imbalanced data atau kebutuhan untuk tingkat false-positive yang rendah (40%)
  8. Base Rate Fallacy: Imbalance kelas besar diabaikan Ketika melakukan interpretasi pengukuran performa, sehingga menyebabkan overestimasi dari performa (13%)
  9. Lab-only evaluation: Sistem hanya diuji pada laboratorium tanpa memperhatikan Batasan implementasinya di dunia nyata (43%)
  10. Inappropriate threat model: Keamanan machine learning yang dibangun tidak dipertimbangkan, misalnya dengan serangan poisoning dan evasion attack (17%)
    • Inter-rater reliability review berdasarkan Krippendorff’s alpha adalah α = 0.832 dimana α > 0.800 adalah reliably
    • Pitfall yang paling banyak ditemukan adalah Sampling bias (P1) dan data snooping (P3) yang ditemukan pada lebih dari 73% paper
    • Lebih dari 50% paper memiliki pitfall inappropriate threat model (P10), lab-only evaluations (p9) dan inappropriate baselines (p6)
    • Setiap paper setidaknya memiliki 3 pittfalls
    • Pengumpulan dataset masih menjadi masalah
    • Beberapa dataset yang tersedia masih belum sempurna
    • Keberadaan beberapa pitfall masih belum jelas dari paper yang ada dibandingkan pitfall lain. Contohnya biased parameter selection (p5) pada saat tidak ada deskripsi dari hyperparameter atau prosedur tuning diberikan; false causality (p4) ketika tidak ada percobaan untuk menjelaskan pemilihan model dan data snooping (P3) ketika pembagian dataset atau prosedur normalisasi tidak secara eksplisit dijelaskan.
    • Semua pitfall ditemukan pada penelitian, dengan range 23%-90%
    • Hanya 20% paper memiliki bagian discussion
    • Rekomendasi: Mengumpulkan data yang berhubungan tentang security, handling noisy label, explainable learning, calibrating security systems, performance metrics, security baselines, deployment for security, security of deployment.

Limitation:

  1. Hasil review bisa bias, tergantung dari perspektif reviewer
  2. Jumlah paper yang direview terlalu sedikit

Malware trends in Enterprise-Acar-PaperReview

Paper Title: An Analysis of Malware Trends in Enterprise Networks

Authors: Abbas Acar, Long Lu, A.Selcuk Uluagac, Engin Kirda

Venue: International Conference on Information Security -2019

URL: https://link.springer.com/chapter/10.1007/978-3-030-30215-3_18

Problem:

Serangan malware masih menjadi ancaman di internet. Perusahaan dan pengguna internet rumah seringkali mengalami jenis serangan malware yang berberad. Namun belum ada yang melakukan studi tentang bagaimana pola serangan malware pada perusahaan, seperti apa infection vectornya dan bagaimana tren serangannya.

Contribution

  1. Melakukan studi dan analisa serangan malware yang ditujukan pada perusahaan
  2. Sampel dikumpulkan on-site pada dua perusahaan berbeda, tidak hanya attachment email, namun juga file downliat
  3. Mempelajari jenis malware apa saja yang ditujukan pada perusahaan, bagaimana infection vectornya dan apa saja tren serangannya

Method/solution

  1. Mengumpulkan dataset 3,6 juta sampel pada dua perusahaan dari tahun 2017-2018
  2. Memasang sensor pada jaringan di 2 perusahaan
  3. Sampel dianalisa dengan modul analisa behavioural
  4. Mengumpulkan laporan analisa behavioral dan virus total
  5. Analisa yang dilakukan terdiri dari: analisa statistik, analisa threat vector, analisa social engineering, vulnerability analysis, time-series analysis
  6. Sensor dipasang pada computer end-user, memiliki akses pada payload yang tidak dienkripsi. Sensor menangkap trafik yang masuk dan keluar jaringan, trafik didalam jaringan serta aktivitas pengguna di jaringan.
  7. Samples dikirim ke back-end dan dianalisa pada sebuah sandbox yang terisolasi
  8. Persentase malware pada perusahaan A adalah 0,582 yaitu setiap 6 dari seribu file adalah malicious. Pada perusahaan B 1 dari seribu file
  9. Sampel malware dikategorikan menjadi 35 subjenis (contohnya packer, macro, evasion dll)
  10. Dari hasil report sampel diberi nilai seberapa bahayanya sampel tsb. Nilai <30 diberi label benign. Nilai >70 adalah malicious. Nilai antara 30-70 diberi label suspicious
  11. Threshold deteksi pada Virustotal yang digunakan adalah bila 3 antivirus mendeteksi malware maka sampel diberi label malware.

Main result

  1. Dari dataset yang dikumpulkan hanya 2942 file terdeteksi malware
  2. 122 sampel baru, belum pernah dikenal sebelumnya di VirusTotal
  3. 1 dari 2 sampel pada dataset tidak dapat dideteksi oleh antivirus pada virus total
  4. 1 dari 5 sampel malicious adalah baru, tidak ada di virustotal;
  5. Antivirus saja tidak efektif dalam mendeteksi malware baru
  6. Dokumen adalah tipe file yang paling banyak ditemukan pada sampel. Sementara executable dan jar adalah 2 tipe file yang paling banyak ditemukan pada perusahaan
  7. 34% sampel malware diterima dalam format jar dan diberi label sebagai bagian dari kampanye email phising oleh antivirus dan modul dynamic analysis
  8. Hasil analisa social engineering menunjukan 51% dari malicious document adalah terkait data keuangan seperti (purchase order, invoice dll), 23% dokumen bertema organisasional  atau bisnis seperti CV attachment.
  9. Hasil analisa vulnerability menemukan bahwa 80% sampel yang melakukan eksploitasi CVE menggunakan CVE yang baru dirilis pada tahun 2017. Hal ini menunjukan bahwa penyerang mengikuti perkembangan exploit dan lebih banyak menggunakannya daripada exploit lama.
  10. Hasil analisa time-series menunjukan jumlah malware yang diterima pada jam kerja jauh lebih banyak dibandingkan di luar jam kerja, dengan asumsi jam kerja adalah jam 8-17 pada senin – jumat.
  11. Trojan adalah tipe maware yang paling banyak ditemukan, diikuti dengan downloader
  12. Eksploit hanya sedikit ditemukan pada sampel
  13. Penyerang lebih banyak menempelkan malware pada dokumen makro
  14. Perusahaan A secara rata-rata menerima 0,6 sampel malware dan 8ribu sampel benign perhari, Perusahaan B secara rata-rata menerima 7,7 sampel malware dan 1300 sampel benign perhari.
  15. Resiko serangan malware berbeda-beda pada tiap perusahaan.
  16. Keyword yang banyak ditemukan pada malware dokumen adalah resume, PO, order, INV, invoice, payment, document, copu new dan RFQ (request of Quotatio)
  17. Sampel yang melakukan eksploitasi pada sebuah celah keamanan ditemukan pada waktu  2 hari – beberapa bulan setelah celah keamanan tersebut diumumkan, dengan  rata-rata 3 bulan

Limitation:

  1. Dataset tidak memiliki akses terkait infection vector, karena peneliti tidak mendapat informasi email header dan security logs
  2. Data yang diperoleh terbatas hanya pada 2 perusahaan
  3. Hanya focus pada 2 infection vector yaitu email dan file yang diunduh

LSTM malware classification – Kang – Paper Review

Paper Title : Long short-term memory-based Malware classification Method for information Security

Authors: Jungho Kang, Sejun Jang, Shuyu Li, Young-Sik Jeong, Yunsick Sung

Venue: Elsevier Computers & electrical engineering, Vol 77, July 2019, pages 366-375

URLhttps://doi.org/10.1016/j.compeleceng.2019.06.014

Problem: 

Deteksi malware signature based yang banyak digunakan saat ini tidak mampu mendeteksi berbagai macam teknik obfuscation malware. Diperlukan pendekatan deteksi malware baru.

Contribution:

  1. Mengajukan metoda deteksi malware menggunakan Word2vec untuk klasifikasi malware. Word2vec dan one-hot encoding telah banyak diimplementasikan pada NLP
  2. Metoda klasifikasi malware baru menggunakan LSTM
  3. Mengajukan metode klasifikasi menggunakan API function dan opcode. Klasifikasi malware tradisional banyak menggunakan opcode atau API function name. Namun memiliki batasan dalam akurasi

Method/solution:

  1. Source assembly degenerate dari malicious file kemudian diekstrak opcode dan nama API function.
  2. Pada fase training, word2vec dan LSTM dilatih untuk melakukan klasifikasi malware ke dalam family
  3. Tahapan training adalah: input, preprocessing dan learning
  4. Pada tahap input, tool disassembly digunakan untuk mengekstrak label source assembly dari label file malicious.
  5. Pada tahap preprocessing, opcode dan nama API function diekstrak dari label source assembly
  6. Model Word2vec mempelajari opcode dan nama API function dengan network word2vec dan terdiri dari sebuah kamus dan matrix embedding.
  7. Opcode dan nama API function yang diekstrak diindeks dengan kamu berbasis vocabulary
  8. Embedding dilakukan dengan melakukan embedding matrix word2vec menggunakan index2vec
  9. Pada tahapan learning, network LSTM dilatih dengan vektor dari opcode dan nama function API dan label2nya
  10. Pada tahapan eksekusi, family dari sebuah malicious file ditentukan dengan mempelajari model word2vec dan network LSTM
  11. Proses preprocessing terdiri dari 8 tahap: 1) ekstrak opcode dan nama API function; 2) model word2vec belajar dari opcode dan api; 3) matrix embedding dan vocabulary degenerated; 4) Vocabulary-based dictionary degenerated dengan sorting; 5) index opcode dan api function dibuat dari dictionary berbasis word2index; 6) Jika opcode dan index function API lebih pendek dari maximum sequence length, ukurannya disamakan dengan zero-padding
  12. Label vector dibuat dengan one-hot encoding
  13. Vektor berbasis index degenerate dengan matrix embedding melalui fungsi index2vec
  14. Panjang vector opcode dan function API adalah 300, weight setiap cell pada hidden layer diinisialisasi dengan 1.
  15. Hidden layer memiliki 128 cell
  16. Output vector dikirim ke layer softmax
  17. Dataset menggunakan Microsoft malware classification challenge berukuran 500GB dan 10,868 malware pada 9 family
  18. Pada setiap malware setiap source assemblu degenerate dengan idapro
  19. 90% dataset digunakan pada training, 10% pada testing

Main result:

  1. Akurasi akhir yang dihasilkan adalah 97,59%
  2. Akurasi awal pada proses training adalah 77,11% dan secara bertahap meningkat menjadi 97,59%
  3. Akurasi sistem 0,5% lebih tinggi dibandingkan sistem pembanding one-hot encoding
  4. Proses konvergen juga lebih cepat 10 menit dibandingkan sistem pembanding
  5. Loss pada metode yang diusulkan adalah 0,73 dan menuru secara gradual menjadi 0,05. Sementara pada sistem pembanding lossnya adalah 1,21 dan konvergen menjadi 0,09. Loss yang didapat 0,04 lebih rendah dibandingkan metode one-hot encoding

Limitation:

  1. Komputasi besar karena menggunakan 2 fitur opcode dan function API
  2. Belum dilakukan klasifikasi malware berdasarkan family
  3. Pengujian hanya dilakukan pada malware Windows (PE)

Neurlux: Dynamic Malware Analysis – Jindal – PaperReview

Paper Title: Neurlux: Dynamic Malware Analysis Without Feature Engineering

Authors: Chani Jindal, Christopher Salls, Hojjat Aghakhani, Keith Long, Christopher Kruegel, Giovanni Vigna

Venue: ACM Annual Computer Security Applications Conference-2019

URL : https://dl.acm.org/doi/abs/10.1145/3359789.3359835

Problem: Pendekatan deteksi malware dengan machine learning masih mengalami kendala pada proses feature extraction. Proses ekstraksi feature membutuhkan waktu yang lama dan sulit untuk mengidentifikasi feature terbaik, karena berbagai macam jenis malware

Contribution

  1. Mengusulkan Neurlux, klasifikasi malware berbasis behavioural report yang dihasilkan oleh sandbox. Dengan cara ini maka tidak diperlukan proses feature engineering. Preprocessing dilaporkan dengan cleaning report menjadi kata-kata tertentu. Model kemudian mempelajari sequence dari kata-kata tersebut untuk membuat prediksi
  2. Membuat dan melakukan pengujian klasifikasi malware pada report analisa dinamis, termasuk metoda baru seperti stacking ensemble pada integrated feature dan model feature count.
  3. Menguji kemampuan generalisasi Neurlux dengan melakukan pengujian terhadap dataset baru dan format laporan baru, contohnya yang dibuat oleh sandbox baru
  4. Melakukan share source dan dataset di github

Method/solution

  1. Mengimplementasikan teknik klasifikasi document dengan word sequence dari NLP
  2. Memanfaatkan hasil report analisa dinamis cuckoo sandbox dengan neural network.
  3. Hasil report termasuk aktifitas network, perubahan registry, file actions dll
  4. Sebagai pembanding digunakan juga hasil report dari sandbox dari perusahaan antivirus, pada penelitian ini dinamakan VendorSandbox
  5. Menggunakan 2 dataset, dari antivirus (VendorDataset) dan EmberDataset
  6. VendorDataset terdiri dari 27.540 sampel windows x86 binary dengan 50% benign dan 50% malware. Sampel teridiri dari 1000 family malware
  7. DatasetEmber merupakan potongan dari dataset standar Ember, terdiri dari 42ribu bniaru windowsx86 dengan 50% benign dan 50% malware
  8. Membandingkan dengan MalDy dari Karbab et.al
  9. Data cleaning dilakukan untuk mengubah format report dalam bentuk dokumen JSON menjadi sequence word. Karekater seperti bracket dihilangkan. Kemudian dokumen diberi token untuk sejumlah kata tertentu, sehingga 10ribu kata yang paling banyak muncul dikonversi menjadi sequence numerik
  10. Data formatting dilakukan dengan konversi kata ke vektor, dengan representasi kata dalam continuous vector space.
  11. Menggunakan word embedding yang bisa ditraining, sehingga kata-kata yang mirip memiliki vektor yang sesuai.
  12. Model menggunakan kombinasi CNN, BiLSTM network dan Attention network. Model diharapkan dapat memahami pattern lexical tersembunyi pada malicious dan benign.
  13. Model terdiri dari sebuah layer CNN dan 2 pasang layer BiLSTM dan attention. Dua pasang BiLSTM dan Attention adalah implementasi dari metode hierarchical attention network
  14. CNN melakukan ekstrak feature local dan deep feature dari text input
  15. LSTM menghasilkan representasi high-level dari bidirectional LSTM menggunakan hidden unit dari forward dan backward LSTM. LSTM dapat menemukan temporal relationship dari feature
  16. Input adalah trainable word embedding dengan dimensi 256
  17. Bagian berbeda dari report memiliki importance yang berbeda dalam menentukan malicious behavior dari sampel
  18. Output Neurlux adalah skor 0-1 dimana 0 benign dan 1 adalah malicious
  19. 6 Feature utama adalah: API sequence calls, Mutexes, File system change, Registry changes dan loaded DLL
  20. Proses input generation terdiri dari: Feature selection, data cleaning, data formatting dan model training

Main result

  1. Menghasilkan akurasi 96,8% pada validasi K-fold
  2. Neurlux menghasilkan performa yang lebih baik dibandingkan pendekatan klasifikasi malware yang menggunakan feature engineering
  3. Menghasilkan generalisasi yang lebih baik dibanding metode pembanding
  4. Terdapat perbedaan report dari sampel yang sama dari sandbox yang berbeda. Namun perbedaan hanya pada penamaan feature
  5. Performa pada validation accuracy lebih baik daripada metode pembanding
  6. Teknik NLP pada klasifikasi dokumen berhasil diimplementasikan dengan baik, dan memiliki performa yang lebih baik daripada Neural network raw model
  7. Model dapat mempelajari kombinasi terbaik dari features. Model dapat mengenali operasi file yang dilakukan oleh malware dan API Calls
  8. Neurlux lebih kuat dibandingkan model yang diuji, dengan akurasi yang lebih tinggi pada pengujian dengan dataset dan format report yang berbeda. Sementara model raw bytes memiliki performa tidak baik pada klasifikasi di dataset dan format report berbeda.

Limitation:

  1. Hanya melakukan klasifikasi setelah proses analisa dinamis
  2. Membutuhkan data training besar dan akurat.
  3. Hanya diuji pada malware windows

Note

Model pembanding MalDY menggunakan NLP untuk memproses report sanbdbox. Teknik ini menggunakan model BOW (Bag of words) dan Common N-grams (CNG).

Janji – Tere Liye

Saya baru beres baca novel Janji karya Tere liye, bentuknya masih ebook. Ceritanya tentang tiga sekawan, Hasan, Baso dan Kaharudin. Tiga anak ini lagi belajar di sebuah sekolah agama yang dipimpin oleh Buya, seorang ulama terkemuka. Tiga sekawan ini terkenal sering membuat onar di sekolah itu. Bahkan ketika sekolah itu kedatangan seorang tamu agung (sepertinya presiden), tiga anak ini nekat memasukan garam ke teh yang diminum tamu agung tersebut.

Akibatnya Buya marah dan memberikan hukuman ke tiga sekawan ini. Namun hukumannya unik, mereka diminta menemukan jejak seorang alumni spesial dari sekolah agama itu. Kalo mereka bisa menemukan Bahar (alumni spesial itu), maka mereka bisa pergi dari sekolah agama itu dan mendapatkan ijazah.

Bahar ini 30 tahun lalu juga membuat masalah besar di sekolah agama itu, dan dikeluarkan oleh Ayahnya sang Buya yang dulu memimpin sekolah itu. Namun kemudian ayahnya buya menyesal telah mengusir Bahar, karena dia bermimpi 3 hari berturut-turut bahwa Bahar masuk surga dengan mengendarai kendaraan sementara Ayahnya buya berjalan kaki di padang mahsyar. Tak terbayangkan oleh Ayahnya Buya, bahwa Bahar yang gagal dia didik bisa masuk surga lebih dahulu dibandingkan dia.

Ayahnya buya dulu mencoba mencari jejak Bahar, namun tidak berhasil. Sehingga Ayahnya buya mewasiatkan anaknya agar menemukan Bahar dan menyampaikan permintaan maaf. Namun Buya juga tidak berhasil menemukan Bahar.

Disinilah petualangan tiga sekawan ini dimulai, mereka berusaha mencari Bahar. Dimulai dari Ibukota propinsi mereka berupaya menyelesaikan misi rahasia dari Buya. Namun ternyata tidak mudah menemukan jejak Bahar.

Seru banget petualangan tiga sekawan ini, dan banyak pesan-pesan yang disisipkan Tere Liye dalam buku ini. Keren banget bang Tere bukunya. Cocok banget dengan timing menjelang ramadhan ini. Kalo menurut saya buku ini temanya petualangan, hampir seperti seri negeri para bedebah. Selamat membaca!!

Pengalaman Vaksin Covid-19

Minggu lalu saya alhamdulillah dapat kesempatan vaksin. Prosesnya lumayan panjang. Jadi ceritanya dari kampus ada pendataan untuk vaksin sekitar bulan Februari. Terus akhir Februari keluar jadwal vaksin di aplikasi peduli lindungi. Cuman karena jarang buka aplikasi tersebut, saya baru tau 2 hari kemudian dari Grup WA.

Karena penasaran, awal maret saya coba liat di web peduli lindungi, cari info dimana tempat vaksin terdekat. Menurut web, yang terdekat dengan saya ada kantor kesehatan pelabuhan. Meluncur lah saya kesana untuk cari info. Setelah menunjukan tiket, petugas terlihat bingung, namun petugasnya ramah. Dia minta waktu bentar untuk nelpon2 cari info. Hasilnya menurut petugas disana, memang tiket saya valid, cuman karena mereka cuman dapat jatah 30 vaksin perhari, jadi hanya diprioritaskan untuk yang sudah mendaftar disana. Kemudian saya diminta menanyakan ke puskesmas terdekat dengan domisili.

Pergilah saya ke puskesmas terdekat untuk bertanya, menurut dokter disana saat ini prioritas adalah vaksin untuk lansia. Untuk petugas publik belum, saya diarahkan untuk bertanya ke hotline vaksin puskesmas tersebut dan bertanya ke dinkes kota.

Selanjutnya saya coba bertanya ke hotline vaksin puskesmas, saya ditanya identitas dan usia, namun akhirnya jawabannya sama, bahwa saat ini masih prioritas vaksin untuk lansia. Kemudian saya coba tanya ke hotline dinkes kota, jawabannya kurang lebih sama, saat ini masih tahap 2 dan masyarakat umum belum bisa divaksin (padahal belum nanya pekerjaan saya). Selain itu dari hotline tersebut minta untuk tidak menggunakan website peduli lindungi, karena mereka tidak menggunakan data dari web tersebut.

Alhamdulillah kemudian ada info dari teman untuk mencoba bertanya ke puskesmas yang terdekat dengan kampus, karena dia sudah bertanya ke sana dan bisa divaksin. Meluncurlah saya kesana hari Sabtu, sampe disana jam 8.30 ternyata sudah rame banget. Saya tanya ke petugas di gerbang, ternyata disana saya bisa vaksin, Alhamdulillah.

Pertama saya dicek suhu terlebih dahulu, dan mendapat nomer antrian. Nomernya sudah 125, wah lumayan pesimis juga tadinya. Waktu itu yang dilayani baru nomer 70an. Untungnya ketemu teman yang baru selesai vaksin, menurut dia cepet kok vaksinnya, dia sarankan tunggu aja. Baiklah untungnya dapat teman ngobrol disana, jadi gak kerasa sekitar 45 menit kemudian saya dipanggil masuk.

Pertama dipanggil ke meja 1 – pendaftaran, diminta menunjukan nomer antrian dan KTP. Kemudian petugasnya memasukan data-data saya ke laptop, dan saya ditanya data identitas untuk konfirmasi. Setelah itu diminta menunggu ke meja 2.

Di meja 2 saya di cek tekanan darah dan tes gula. Ternyata tekanan darah saya cukup tinggi. Dan sempat mendapat kuliah dulu bentar dari petugasnya tentang penyakit darah tinggi, intinya diminta kontrol ke puskesmas sebulan sekali. Maafkan ya bu petugas, soalnya tadi malam sempat begadang. Sebenarnya sempat khawatir juga. Karena sebelum saya ada bapak-bapak yang gak diijinkan vaksin karena darah tinggi. Dia dikasih resep (mungkin untuk penurun tekanan darah) dan disuruh kembali lagi 1 minggu lagi.

Kadar gula saya malah bagus. Ternyata saya gak semanis yang saya kira. Oiya, meja 2 ini ada 2 petugasnya. Petugas pertama yang bagian tes-tes. Selanjutnya saya diminta geser ke petugas sebelahnya. Disana saya dikasi formulir, diminta isi-isi nama, alamat, no hp dst…

Selanjutnya diminta nunggu lagi untuk suntik. Gak lama kemudian saya dipanggil vaksin. Ada bilik khusus, diminta menyingsingkan lengan baju sambil diajak ngobrol. Kayaknya biar gak sutris. Setelah itu saya dikasi 2 kertas, dan diminta menyerahkan kertas itu ke meja 4.

Di meja 4 saya diminta nulis nama, telepon, alamat, instansi dan tanda tangan di daftar absen (kayaknya) dan menyerahkan 2 kertas tadi. Kemudian dikasi sticker yang ada tulisan jamnya. Jadi saya diminta menunggu 30 menit setelah vaksin. Mungkin untuk melihat apakah ada efek samping atau gak, siapa tau saya berubah jadi titan. Setelah 30 menit saya dipanggil lagi kemudian diserahkan lagi 2 kertas tadi dan diminta kembali lagi 2 minggu lagi untuk suntik ke 2. Diingatkan juga nanti jangan lupa untuk menunjukan kertas tadi. O,iya ternyata ada juga yang diminta kembali setelah 4 minggu, ternyata beda-beda. Mungkin tergantung usia.

Alhamdulillah lancar, gak lama setelah itu saya dapat sms, yang isinya link sertifikasi vaksin. Dan status saya di apps peduli lindungi juga sudah diupdate. Kalo gak sekitar jam 10 semua prosesnya beres.

Alhamdulillah saya gak merasakan ada efek samping apapun, tidur bisa nyenyak, paling agak laper aja (modus ya). Baiklah terima kasih untuk ibu dan bapak petugas kesehatan di puskesmas, semoga kita semua sehat selalu. Oiya kalo boleh saran dikit, baiknya selama waktu nunggu 30 menit menurut saya ada semacam edukasi tentang vaksin. Biar tetep pada patuh dengan prokes, gak langsung pada jalan2. Semoga bermanfaat!

Bootsrap your own latent-Grill-PaperReview

Paper Title:Bootstrap Your Own Latent; A new approach to self-supervised learning

Authors: Jean Bastian Grill, Florian Strub, Florent Altche, Corentin Tallec, Pierre H.Richemond, Elena Buchatskaya, Carl Doersch, Bernardo Avila Pires, Zhaohan Daniel Guo, Mohammed Gheshlaghi Azar, Bilal Piot, Koray Kavukcuoglu, Remi Munos, Michal Valko

Venue: Advances in Neural Information Processing Systems 33 (NeurIPS 2020)

URL: https://arxiv.org/pdf/2006.07733

Problem:

Mendapatkan image representasi yang baik adalah sebuah tantangan dalam computer vision. Banyak pendekatan training telah diajukan untuk mengatasi tantangan ini diantaranya mengandalkan pada visual pretext task, seperti metoda contrastive dengan melakukan traning dengan mengurangi distance antara representasi dari augmented views yang berbeda dari gambar yang sama (positive pair) dan meningkatkan distance antara representasi dari augmented view dari gambar berbeda (negative pair).

Namun metode ini membutuhkan treatment khusus untuk negative pairs dan performansinya tergantung pada pemilihan image augmentation

Contribution:

  1. Mengenalkan BYOL, metode SSL (self-supervised Learning) baru
  2. BYOL menghasilkan performa lebih baik dibandingkan state-of-the-art semi-supervised dan transfer benchmarks
  3. BYOL lebih kuat terhadap perubahan batch size pada set augmentasi gambar dibandingkan pendekatan contrastive

Method/solution

  1. BYOL menggunakan 2 neural network: online dan target
  2. Online network ditentukan dengan sebuah set weight θ dan dibagi menjadi tiga tahapan: sebuah encoder fθ , projector g0 dan predictor q0
  3. Target network memiliki arsitektur yang sama dengan online network, tapi memiliki weight yang berbeda
  4. Target network menyediakan target regresi untuk train online network, dan parameternya secara exponensial mengubah rata-rata dari parameter 0
  5. Dari sebuah set image D, image x->D disampling dari D, dan 2 distribusi dari augmentasi image T dan T‘
  6. BYOL menghasilkan dua augmented view v dan v’
  7. Dari augmented view pertama v, online network menghasilkan representasi y0 dan proyeksi z0
  8. Target network menghasilkan y’ dan target proyeksi z’ dari augmented view v’
  9. Kemudian dihasilkan output prediksi q0 dari z’ dan l2 normalisasi q0 dan z’
  10. Prediktor ini hanya diterapkan pada online branch, sehingga arsitektur asimetrik antara online dan target
  11. Pada setiap training step, dilakukan optimasi stokastik untuk minimasi L0
  12. Pada setiap akhir training kita hanya menyimpan f0
  13. Dibandingkan metode lain, diperhitungkan juga jumlah inference time weight hanya pada representasi akhir f0
  14. Pengujian dilakukan dengan dataset ILSVRC-2012
  15. Benchmark adalah semi-supervised pada ImageNet
  16. Diukur transfer capability dari dataset dan task lain, termasuk klasifikasi, segmentasi, deteksi objek dan estimasi depth

Main result

  1. BYOL mencapai performansi lebih baik dibandingkan metode state-of-the-art contrastive method tanpa negative pairs
  2. Pada pengujian linear evaluasi pada ImageNet BYOL mencapai akurasi top-1 74,3%
  3. Mengurangi gap dengan supervised baseline 78,9%
  4. Pada arsitektur yang lebih dalam dan lebih lebar, menghasilkan performa 79,6% (top-1) akurasi. Lebih baik dibandingkan state-of-the-art self-supervised
  5. Pada ResNet-50 BYOL mencapai akurasi 78,5% hamper menyerupai supervised baseline 78,9% pada arsitektur yang sama
  6. Mengginakan protocol semi-supervised dengan 1% dan 10% dataset ImageNet dihasilkan akurasi top-1 77,5% setelah fine-tuning diperoleh 100%
  7. Pengujian transfer ke task classification lain, BYOL menghasilkan performa lebih baik dibandingkan SimCLR pada semua benchmark dan Supervised-IN pada 7 dari 12 benchmark
  8. Representasi BYOL bisa ditransfer ke small images seperti COFAR, landscape (SUN397) , VOC 2007 dan teksture (DTD)
  9. Transfer ke task lain pada vision seperti semantic segmentasi, object detection dan depth estimasi, BYOL lebih baik dibandingkan baseline

Limitation:

  1. Fokus pada vision, belum diuji pada audio, video, text dl
  2. membutuhkan kemampuan dan resource besar untuk proses augmentasi untuk implementasi pada modal lainnya

Multiclass malware classification via texture statistics-Verma

Paper Title: Multiclass malware classification via first- and second-order texture statistics

Authors: Vinita Verma, Sunil K.Muttoo, V.B.Singh

Venue: Journal Computers & security Elsevier vol 97, oct 2020, 101895

URL: https://doi.org/10.1016/j.cose.2020.101895

Problem: Klasifikasi malware saat ini tidak efisien, terutama menghadapi imbalanced class. Perlu pendekatan baru

Contribution:

  1. Mengajukan sistem klasifikasi dengan analisa tekstur binary pada grayscale dengan kombinasi first-order dan grey-level co-occurrence matrix (GLCM) based second-order statistical textyre feature dari representasi visual malware

 

Method/solution

  1. Menggunakan esemble learning
  2. Pengujian menggunakan dataset Malimg
  3. Kode biner malware dibaca menjadi 8 bit integer disusun menjadi matrix dan diubah menjadi greyscale
  4. Lebar gambar fixed dan tingginya berbeda tergantung ukuran file
  5. Analisa texture biner menggunakan histogram equalization untuk mendapatkan distribusi level grey yang seragam, kemudian diubah menjadi 64×64 pixel
  6. Dilakukan penghitungan statistik first-order dan pembuatan GLCM dari gambar untuk menurunkan second-order texture statistik
  7. Feature statistik yang digunakan untuk mendapatkan teksture first-order adalah: mean, median, standar deviation, skewness, kurtosis, minimum, 10th percentile, maximum, 90th percentile, interquartile range (IQR), Mean Absolute Deviation (MAD), first-order entropy, first-order energy, coefficient of variation (CV), Range, Quartile coefficient of Dispersion (QCD), Variance, Median Absolute Deviation (MedAD) dan Root Mean Square (RMS)
  8. Feature texture menggunakan GLCM (Grey level spatial dependence matrix)
  9. GLCM dihitung dengan 3 parameter (jumlah grey level L dari gambar, distance d dan angular relationship θ antara grey level
  10. GLCM adalah matrix LxL G(i,j)
  11. Binary ditransformasi menjadi greyscale direduksi menjadi 32 level . Kemudian 4 matrix GLC< 32×32 pixel dihitung dengan θ= 0 °, 45 °, 90 °, and 135 °and d = 1
  12. Feature GLCM second order diturunkan dengan menghitung parameter berikut: contrast, Angular second moment (ASM), normalized Inverse Difference Moment (normalized IDM), joint average, sum of squares atau joint variance, joint entropy, joint maximum dan correlation
  13. Dataset 1vmenggunakan Malimg; terdiri dari 9339 sampel malware dari 25 family dengan 80-2949 sampel per family
  14. Label disediakan oleh Microsoft Security essentials
  15. Family malware dibagi menjadi kategori: worm, PWS, Dialer, Rogue, Backdoor, Trojan, dan TDownloader
  16. Parameter yang dihiting adalah precision, recall dan F1 Measure
  17. Dataset terdiri dari sampel malware yang unpacked dan packed
  18. Dataset 2 menggunakan sampel dari 2916 sampel windows virusshare, yang terdiri dari 19 family
  19. Melakukan ekstraksi 35 feature pada dataset 2

Main result

  1. Menghasilkan F1 score dan akurasi lebih tinggi dibandingkan sistem state-of-the art
  2. Menghasilkan efisiensi dan reliability yang lebih baik
  3. Robust terhadap serangan obfuscation (packing, code relocation dan encryption)
  4. Menggunakan ekstraksi feature lebih sedikit,
  5. Tidak memerlukan disassembly maupun code execution, sehingga waktu klasifikasi lebih cepat6%
  6. Precission 98,04%, recall 98,0 dan F1 98,05%
  7. Hasil klasifikasi pada dataset 2, presisi 97,44%, recall 98,12 dan F1 measure 97,75%
  8. Waktu yang dibutuhkan untuk merubah binary malware menjadi image adalah 37 mili detik
  9. Rata-rata waktu klasifikasi adalah 0,01 detik

Limitation:

  1. Terdapat kesalahan klasifikasi pada ransomware
  2. Rentan terhadap serangan evasion dengan embed malware pada binary benign dengan ukuran besar.
  3. Tidak efektif untuk mendeteksi malware baru