Feature Extraction – Raff


Saya lanjutkan review paper Raff tentang klasifikasi malware windows dengan machine learning

3. Fitur Binary

Ekstraksi Fitur adalah langkah awal pada setiap metode ML. Pada domain analisa malware PA, ada 2 pendekatan statik dan dinamik. Fitur Dinamik diekstrak dengan menjalankan binary dan mengekstrak fitur yang menarik pada saat sampel dijalankan. Faktanya eksekusi program bisa berbeda2 pada eksekusi yang berbeda, maupun pada lingkungan yang berbeda. Amalisa dinamik seringkali dilakukan pada virtual mesin. sementara fitur sttik didapatkan dari binari, tanpa menjalankan binary tersebut.

3.1. Fitur analisa dinamik

Ada beberapa fitur umum yang diperoleh dari analisa dinamik. Contohnya tipe analisa dinamik yang awal adalah modifikasi linker pada sistem operasi untuk membungkus setiap function call pada OS atau pada library lain dengan prolog dan epilog khusus (Willems et.al, 2007). Dengan cara ini funsi yang dipanggil dapat dilacak pada urutan kemunculannya dan dapat didapatkan juga urutan API atau function call nya. Pelacakan API Call dapat digunakan pada berbagai cara dan seringkali diartikan sebagai sebuah urutan sequensial atau sebagai sebuah directed graph (elhadi et.al 2014; Frederikson et.al, 2010) 

Tracking khusus ini dapat ditambahkan untuk task umum seperti regeistry edit, file yang dibuat atau dihapus, operasi mutex dan TCP/IP calls (Rieck et al, 2008). Ini adalah tindakan yang umum dilakukan malware, merekam informasi tambahan seperti argumen method bisa juga menguntungkan. Ada banyak cara untuk mengkombinasikan API functions yang dipanggel dengan operasi yang dijalankan, dengan banyak, banyak pekerjaan yang menggunakan satu atau keduanya, dan melakukan tracking terhadap subset action yang berbeda. Pendekatan ini disebut juga behavior based.

Fitur Statik yang umum dicari adalah: Bytes,  nilai header, entropy, assembly, API/function calls dan contextual

Fitur dynamic yang umum adalah: assembly, API/function calls, system calls, trafik jaringan, performance counter, perubahan sistem, kontekstual

Representasi fitur dengan fixed-length adalah: bytes, nilai header, assembly, API/function calls, System calls, performance counter, system changes

Representasi fitur dengan sequence adalah: bytes, entropy, assembly, api/function calls, system calls, network traffic, performance counter, system changes

Representasi fitur dengan graph adalah: assembly, API/function calls, system calls, network trafik dan contextual

Yang langsung berhubungan dengan pelacakan API calls adalah tracking system calls. Pada PE system call yang dimaksud adalah layanan yang disediakan oleh kernel windows, dan biasanya diakses melalui entry poin Ntdll.dll (Russinovich et.al, 2012 a,b) . Ada ratusan jenis function ini, dan mereka umumnya dipanggil dengan API yang disediakan microsoft, sangat jaringa digunakan oleh kode user. Bahkan penggunan fungsi ntdll.dll oleh kode user adalah sebuah indikator malware (sikorski dan honig, 2012). Satu keuntungan dari pelacakan system calls dibandingkan pelacakan semua calls ke API windows, adalah set system calls, cenderung stabil dari satu versi windows ke versi lainnya, demi compatibilitas

Teknik sama yang digunakan untuk melacak API call dapat juga digunakan untuk melacak perubahan kondisi sistem. Perubahan sistem seperti registry edit dan file created, process started/ended dan berbagai setting dan konfigurasi lainnya pada OS (Bailey et.al 2007b; Kirat et al., 2014). Perubahan sistem dapat juga kita ketahui dari system logs (Berlin et al., 2015), yang dapat digunakan sebagai sumber fitur yang nyaman dengan biaya yang rendah. Karena sistem pasti akan mencatat log, atau untuk mendeteksi malware pada saat lampau, maupun menentukan waktu infeksi.

Walaupun tidak sepopular fitur sebelumnya, informasi lannya yang bisa diekstrak diantaranya sequence instruksi asembler (Dai et al., 2009). Pendekan ini membutuhkan fitur selection tambahan dan processing, ukuran data juga akan meningkat dengan cepat dan lama eksekusi program menjadi tidak terbatas. PIlihan lainnya dengan melacak hasil dari beberapa performansi dan hardware counter yang tersedia pada CPU modern maupun proses lainnya yang terkait dengan counter yang dilacak oleh OS (Tang et al., 2014).  Diantarnya jumlah page memori yang dialokasikan atau swapped, voluntary dan forced context switches, cache hits dan misses, dan other  fields lainnya. Alasannya adalah performan sistem ketika terinfeksi malware akan berbeda dengan ketika menjalankan aplikasi benign.

Pendekatan lainnya yang jarang digunakan adalah monitoring network traffic dan konten yang dihasilkan binary (Stakhanova et al., 2011; Nari dan Ghorbani, 2013; Wehner, 2007; Perdisci et al., 2010; Mohaisen and Alrawi, 2013). Banyak malware menggunakan command-and- control servers (lokasinya bisa disamarkan) atau melaporkan actions yang dilakukan oleh komputer korban. Penggunaan jaringan lokal juga sebuah indikasi aktifitas penyebaran malware. Namun ada sejumlah kecil malware yang tidak menggunakan internet maupun jaringan lokal.

Utntuk mengetahui cara menangkap fitur dinamis dapat dipelajari penelitian (Egele et al., 2008) yang melakukan survey tentang teknologi tersebut. 

Reference:

Raff, E., & Nicholas, C. (2020). A Survey of Machine Learning Methods and Challenges for Windows Malware Classification. arXiv preprint arXiv:2006.09271.

 

,

Silahkan tuliskan tanggapan, kritik maupun saran