# Machine Learning Methods for Malware Detection And Classification
## Abstract
signature based method 簽名方法 無法在zero-day attacks 和 polymorphic viruses (多態病毒) 提供準確的偵測
這邊主要是提供一個最好的 "特徵萃取"、"特徵表示"、"分類方法"最高得準確率
Algorithm : k-Nearest-Neighbors, Decision Trees, Support Vector Machines,
Naive Bayes and Random Forest
Dataset : 1156 malware files of 9 families of different types and 984 benign files of various formats
Purpose : recommand methods for ML based classification & detection
## Introduction
-skip-
## Theoretical background
1. malware types
* Virus:用戶未允許情況下複製自己,或感染其他軟體
* Worm:和病毒相似,可透過網路散播或複製到其他機器上
* Trojan:This malware class is used to define the malware types that aim to appear as legitimate software. Because of this, the general spreading vector utilized in this class is social engineering, i.e. making people think that they are downloading the legitimate software
* Adware:目的是出現許多廣告,通常沒有明顯的危害
* Spyware:蒐集利歷史紀錄後會發送個人化廣告,跟蹤活動後再售給第三方
* Rootkit:攻擊者可以通過以下方式訪問數據。高於允許的權限它可以用來未經授權的用戶管理訪問權限。 Rootkit始終隱藏其的存在,並且在系統上通常是不明顯的,這使得檢測並因此很難去除
* Backdoor:它提供了額外的攻擊者對系統的秘密“進入”。 就其本身而言,它不會導致任何傷害,但為攻擊者提供了更廣闊的攻擊面。 因為,後門永遠不會獨立使用。 通常,他們是之前其他類型的惡意軟件攻擊
* Keylogger:紀錄鍵盤上的紀錄資料:密碼,銀行卡號等敏感資訊
* Ransomware:勒索軟體,加密機器上的資料
* Remote administration Tools:透過遠端工具進入系統並修改
2. Detection Methods
***主要分成 signature-based & behavior methods 兩種,要先認識靜態和動態分析。
靜態分析:不執行檔案。主要是看原始碼並推斷這支程式的行為,有幾種不同的技巧。***
* file format inspection(文件格式檢查):檔案的資訊可提供有用資訊 如:Wnidows PE
* string Extraction
* fingerprinting
* AV scanning
動態分析:在虛擬機器上執行檔案
###### tags: `thesis`