Teknik Deteksi Malware & algoritma – Aslan


Saya lanjutkan pembahasan tentang paper Aslan et.al dengan judul A Comprehensive Review on Malware Detection Approach. Bagian berikutnya adalah tentang teknik deteksi malware & algoritma. Datamining dan algoritma Machine Learning saat ini banyak digunakan untuk deteksi malware. Menurut Aslan deteksi malware dilakukan dalam 3 tahap: 

  • Analisa Malware
  • Ekstraksi Feature
  • Klasifikasi

Analisa Malware

Analisa malware dilakukan mengetahui fungsi dari malware dan menjawab beberapa pertanyaan berikut:

  • Bagaimana malware bekerja
  • Mesin dan program apa yang menjadi target
  • Data apa yang dirusak dan dicuri

Ada 2 teknik analisa malware:

  • Statik
  • Dinamik

Analisa statik adalah mempelajari malware tanpa menjalankan malware. Sementara itu analisa dinamis dilakukan dengan mempelajari behaviour (perilaku) malware dengan menjalankan malware. Analis malware biasnaya memulai dengan analisa statik dasar, dan diakhiri dengan analisa dinamis tingkat lanjut. Analisa malware dilakukan dengan melakukan reverse engineering dan berbagai tools lainnya.

Malware Feature Extraction

Feature malware diekstrak dengan menggunakan teknik data mining. Data Mining adalah proses meelakukan ekstraksi informasi dari dataset besar atau database. Beberapa model yang digunakan diantaranya n-gram dan graph.

  1. Model N-gram

Model n-gram dapat menggunakan feature statik dan dynamik. Untuk mendapatkan feature dari behaviour, n-gram mengelompokan system calls atau API secara berurutan pada nilai n tertentu (= 2,= 3,= 4, = 6, dll.)

Walaupun model n-gram banyak digunakan pada deteksi malware, tapi teknik ini memiliki kekurangan. Karena setiap urutan atribut statik dan dinamik tidak berhubungan satu sama lain. Hal ini membuat klasifikasi dan clustering lebih rumit. Selain itu n-gram membutuhkan feature space yang besar, yang menyebabkan waktu analisa meningkat dan menurunkan performa model.

2) Model Graph based

Model ini banyak digunakan juga untuk menggenerate feature. Dengan model ini System Calls digambarkan dalam bentuk graph G (V, E) . Dengan (node) adalah system calls dan (edges) menggambarkan hubungan antara sytem calls. Karena ukuran graph akan terus meningkat, sub-diagram dapat digunakan untuk menjelaskan graph. Pada berbagai studi sub- diagram dinyatakan NP-Complete. Artinya diperlukan banyak waktu untuk mendefinisikan setiap sub-diagram. Setelah seluruh diagram digambarkan dengan nodes dan edges yang lebih sedikit, program dapat dikategorikan sebagai malicious atau benign.

3. Malware Dataset

Tidak banyak dataset malware yang tersedia. Sebagian dataset tidak dapat diakses, ada juga dataset yang tidak memiliki format yang sesuai untuk proses data mining dan algoritma ML. Beberapa dataset malware yang tersedia:

NSL-KDD dataset (2009)Perbaikan dari dataset KDD’99 dataset, terdiri dari 125,000 sampel dan 41 features. Dataset ini adalah data serangan pada IDS.

Drebin dataset (2014)Dataset dibuat untuk smartphone. Terdiri dari 5560 malware dalam 20 family dan 123,453 sampel benign .

Microsoft malware classification challenge dataset (2015): Terdiri dari 20,000 malware. Malware telah dianalisa IDA packet disassembler. Output dataset haris diproses dengan data mining sebelum digunakan pada machine learning

ClaMP (Classification of Malware with PE headers) dataset (2016): Terdiri dari 5184 sampel dengan 55 properties. Dataset ini menggunakan array API, yang terdiri dari sampel malicious dan benign dengan featuresnya

AAGM dataset (2017): Sebuah dataset berbasis network untuk malware android. Terdiri dari 400 malware dan 1500 benign dari 12 families

EMBER dataset (2018): Terdiri dari 1 sampel malware dan benign

Sampai disini dulu, insyaallah akan saya lanjutkan besok. Semoga Bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran