Measuring malware label dynamic-Zhu-Review Paper


Paper Title: Measuring and modeling the label dynamics of online anti-malware engines

Authors: Shuofei Zhu, Jianjun Shi, Limin Yang, Boqin Qin, Ziyi Zhang, Linhai Song, Gang Wang

Venue: Usenix Security Symposium 2020

URL: https://www.usenix.org/conference/usenixsecurity20/presentation/zhu

Problem: Virustotal menyediakan platform scanning sampel malware dari 65 antivirus berbeda. Namun seringkali terdapat perbedaan hasil scan dari berbagai antivirus. Sampel X dapat dideteksi malware oleh sebagian antivirus, sementara dideteksi sebagai benign pada antivirus lainnya. Perbedaan hasil scan ini menyulitkan peneliti dalam melakukan labelilng malware. Penelitian ini mempelajari bagaimana cara peneliti malware mengatasi permasalahan anotasi malware ini.

Contribution: 

  1. Melakukan studi literatur 115 paper untuk melakukan kategorisasi metoda yang digunakan untuk melakukan labeling data dari Virus Total
  2. Mengumpulkan snapshot harian label dari 65 antivirus, sejumlah 14ribu file selama setahun. Dataset ini dianalisa kemudian digunakan untuk melakukan validasi metodologi dari agregasi label. 
  3. Mengukur akibat dari label malware yang tidak konsisten dan tidak stabil. Identifikasi metodologi yang meragukan dan memberi saran riset yang akan menggunakan virustotal.

Method/solution

  1. Mengumpulkan paper hasil penelitian yang menggunakan sampel virustotal dari google scholar. Kemudian difilter berdasarkan level conference nya, diperoleh 115 paper dengan rentang waktu 2008-2018. 
  2. Paper dikategorisasi berdasarkan tipe file yang diteliti: a) PE Files, Android APK, URL dan tipe lain (flash disk, PDF)
  3. Sampel yang diamati adalah sampel malware baru, yang belum pernah disubmit ke virustotal sebelumnya
  4. Menggunakan rescan API untuk men-trigger engine virustotal untuk menganalisa file sampel setiap hari, kemudian menggunakan report API untuk query hasil scanning terbaru setiap hari.
  5. Untuk mendapatkan sampel baru digunakan API distribute. API memberikan informasi tentang file tersebut, seperti hash, apakah sudah pernah disubmit sebelumnya, tipe file dll
  6. Diperoleh 14.423 file PE. 7.197 dilabeli malware oleh setidaknya 1 engine antivirus dan 7226 benign oleh semua engine pada 31 agustus 2018. Data kemudian dibandingkan statusnya setiap hari selama 396 hari.
  7. Semua file 32-bit, 5798 adalah file win32dll sisanya adalah file win32 exe.
  8. 95% file memiliki ukuran 4kb-4mb. 
  9. Melakukan obfuscation malware yang sudah dikenal untuk menjadi binary baru, menggunakan tools codevirtualizer dan themida pada 4 jenis ransomware yang dibagi menjadi 2 set
  10. Setiap set malware terdiri dari 60 sampel malware baru. setiap sampul diuji pada virtual mesin.
  11. Untuk ground-truth benign, dibuat 2 set, total 236 file. Dilakukan obfuscation menggunakan tools yang diatas. Sampel ini dibuat untuk menguji kemungkinan hasil false positive dari virustotal. Set sampel ini dibandingkan dengan  obfuscation malware, karena menggunakan tools yang sama. Scanning dilakukan selama 93 hari
  12. Membuat 156 program PE secara manual, 150 dengan sourcecode coreutils dan mono project. Sampel coreutils adalah unix based yang kemudian dijadikan file PE menggunakan cygwin. Sementara Mono adalah framework .net yang dibuat pada mesin ubuntu. 
  13. Sampel tambahan terdiri dari binutils, notepad++, dan project fleck, sampel diamati selama 70 hari
  14. Setelah preprocessing dari 5 dataset, diperoleh 375.520.749 measurement points. Masing-masing memiliki file-ID, timestamp, nama engine dan label. 
  15. Setelah dilakukan filtering diperoleh 343.585.060 measurement points. 341.668.521 dari dataset utama
  16. Melakukan pemodelan perubahan label malware, dengan signal logic 0 dan 1.

Main result

  1. 22 paper tidak menjelaskan proses agregasi. 93 paper menggunakan pendekatan labelung yang umum digunakan.
  2. Metode agregasi berbasis threshold-based. 82 dari 93 paper menggunakan threshold t untuk memberi label malware. t adalah jumlah engine yang memberi label malicious.
  3. 50 paper menggunakan t=1; maksudnya bila ada 1 antivirus yang memberi label malicious maka file diberi label malware
  4. 24 penelitian menggunakan t>1; 8 penelitian menggunakan t sebagai rasio. 2 paper menggunakan t=40 dan 4 paper menggunakan t=50%
  5. Metode hanya memilih engine antivirus tertentu. 10 penelitian menggunakan cara ini, namun tidak dijelaskan alasan pemilihannya, tanpai kriteria jelas.
  6. Metode tanpa agregasi. 10 penelitian menggunakan virustotal dengan tujuan lain, diantaranya untuk melakukan training sistem usulannya, sebagai pembanding, membuktikan kekurangan virustotal, maupun untuk pengujian obfuscation
  7. Mayoritas penelitian (104/115) hanya mengambil snapshot sekali dari hasil label virus total. Hanya sedikit yang membandingkan snapshot dari rentang waktu tertentu, mulai dari 10 hari sampai 2 tahun. Ada juga yang melakukan subit file berulang kali untuk membandingkan hasil scan
  8. Ditemukan fenomena hazard flip, yaitu label sebuah sampel berubah, kemudian kembali lagi ke label awal pada hari berikutnya. 010 atau 101.
  9. Diperoleh 1.760484 hazard flip serta 811.325 non hazard flip (hanya 01 atau 10)
  10. Lebih dari setengan flips pada virustotal adalah hazard flips.
  11. Flips dan hazard yang diamati tersebar pada berbagai macam files, tanggal dan engines.
  12. Update model Engine adalah penyebab utama flips. Namun inkonstitetnsi selama update engine dan engine non-determisitc menjadi penyebab dari berbagai flips
  13. Menunggu periode waktu tertentu tidak menjamin label pada mesin tertentu menjadi stabil
  14. Flips dapat mempengaruhi hasil agregasi secara signifikan pada saat threshold t terlalu kecil atau terlalu besar. Menggunakan threshold pada range 2-39 membuat agregasi label lebih stabil
  15. Ada kelompok engine yang keputusan labelingnya saling berhubungan.
  16. Terdapat mesin antivirus yang hasil scannya mendapat pengaruh dari engine lainnya (active influence), termasuk dalam flip
  17. Secara keseluruhan passive influence lemah. Passive influence menjadi kuat dalam kasus label benign berubah menjadi malicious
  18. Obfuscation pada sampel benign dapat dengan mudah menimpulkan false positive, termasuk pada engine dengan high reputation
  19. Nilai threshold kecil dapat menyeimbangkan nilai presisi dan recall, selama tidak ada obfuscation pada file benign (<15)
  20. Terdapat inkonsistensi antara versi desktop dan versi online pada semua engine. Pada hampir semua vendor, engine virustotalnya mampu mendeteksi lebih banyak malware dibandingkan versi desktopnya 
  21. Bila sampel malware menggunakan teknik obfuscation disarankan tidak menggunakan threshold tapi menggunakan engine yang memiliki performa baik pada file obfuscated
  22. Beberapa high-reputation engine yang digunakan pada beberapa penelitian: Kaspersky, symantec, avg, ikarus, mcafee, microsoft, eset-nod32, sophos. F-Secure menghasilkan akurasi yang rendah
  23. Beberapa high reputation engine memiliki performa yang tidak baik dalam menangani obfiscation benign file, banyak menghasilkan false positive diantaranya  AVG, Mcafee, Microsoft, Sophos, Symantec
  24. 3 Engine dengan angka flips terbanyak adalah Microsoft, Fortinet dan Tencent.
  25. Engine yang memili label correlations pada file APK yaitu GData, Bitdefener, ad-aware, Emsisoft dan MicroWorld-escan.

Limitation:

  1. sampel memiliki bias terhadap teknik obfuscation
  2. Sampel malicious hanya ransomware
  3. Jumlah sampel ground-truth relatif kecil
  4. Diversifikasi dataset

Peneliti menggunakan virustotal untuk melakukan labeling datasetnya atau, querying/scanning API virustotal untuk menguji sistemnya. 43 paper dipublish pada 4 besar conference security yaitu S&P, CCS, Usenix dan NDSS. PE adalah tipe yang paling populer.

Virus Total menyediakan fitur file scanning dan URL scanning. Interface scanningnya terhubung dengan lebih dari 70 vendor antivirus.  Vendor ini melakukan sharing enginnya dengan virus total atau dijalankan sebagai paket software atau menyediakan online API. 

Virustotal dan vendor selalu mengupdate engine anti malwarneya, sehingga label sebuah sampel dapat berubah. Selain itu juga bisa saja terjadi perbedaan hasil deteksi dari berbagai perusahaan antivirus. Untuk itu peneliti melakukan agregasi hasil deteksi.

Peng et.al menguji engine scanning url untuk deteksi phishing. Kantchelian et.al mengusulkan model machine learning untuk melakukan agregasi label virustotal. Penelitian ini mengambil asumsi label. Selain Malware scanning, Virustotal juga menyediakan informasi family dari sampel malware. Peneliti menemukan bahwa beberapa engine antivirus yang berbeda bisa memasukan sebuah sampel malware ke dalam family yang berbeda. 

Ransomware dipilih karena, sangat mudah untuk melakukan verifikasi maliciousnesnya secara manual, misalnya melakukan enkripsi, menampilkan pesan ransim. Selain itu sebagian besar engine 57/60 mampu mendeteksi malware.

Virusttotal menerima 1 juta submission sampel setiap hari. Data penelitian ini dishare pada link

 

 

 

,

Silahkan tuliskan tanggapan, kritik maupun saran