?

基于機器學習算法的主機惡意代碼檢測技術研究

2017-07-31 23:47張東張堯劉剛宋桂香
網絡與信息安全學報 2017年7期
關鍵詞:機器分類樣本

張東,張堯,劉剛,宋桂香

?

基于機器學習算法的主機惡意代碼檢測技術研究

張東,張堯,劉剛,宋桂香

(浪潮電子信息產業股份有限公司,北京100085)

對機器學習算法下主機惡意代碼檢測的主流技術途徑進行了研究,分別針對靜態、動態這2種分析模式下的檢測方案進行了討論,涵蓋了惡意代碼樣本采集、特征提取與選擇、機器學習算法分類模型的建立等要點。對機器學習算法下惡意代碼檢測的未來工作與挑戰進行了梳理。為下一代惡意代碼檢測技術的設計和優化提供了重要的參考。

惡意代碼檢測;機器學習;靜態分析;動態分析;分類模型

1 引言

隨著互聯網的繁榮和發展,包括虛擬化、軟件定義網絡、物聯網在內的新興技術逐步得到應用,進一步加速了萬物互聯的步伐。同時,海量的核心數據和網絡應用也不斷向云端、數據中心等關鍵信基礎設施整合和遷移,主機安全也因此成為網絡攻防戰的焦點。惡意代碼是指運行在目標主機中,按照攻擊者所規定邏輯執行的指令,其類別包括計算機病毒、蠕蟲、木馬、僵尸網絡、勒索軟件等。惡意代碼攻擊可以竊取核心數據和敏感信息,甚至對計算機系統和網絡造成破壞,是當今網絡安全的最大威脅之一[1,2]。

現階段,惡意代碼呈現變種數量多、傳播速度快、影響范圍廣的特點。尤其需要注意的是,惡意代碼常針對新型漏洞(如零日漏洞)進行設計,是敵手發動高級持續性威脅(APT,advanced persistent threat)[3]的主要技術手段。而傳統的惡意代碼檢測方法,如基于簽名特征碼(signature)的檢測和基于啟發式規則(heuristic)的檢測,在應對數量繁多的未知惡意代碼時,正面臨越來越大的挑戰:簽名特征碼檢測方法通過維護一個已知的惡意代碼庫,將待檢測代碼樣本的特征碼與惡意代碼庫中的特征碼進行比對,如果特征碼出現匹配,則樣本為惡意代碼。該方法需要耗費大量的人力、物力對惡意代碼進行研究并要求用戶及時更新惡意代碼庫,檢測效率和效果越來越力不從心,并且很難有效抵御未知惡意代碼;另外,啟發式規則檢測方法通過專業的分析人員對現有的惡意代碼進行規則提取,并依照提取出的規則對代碼樣本進行檢測。但面對現階段惡意代碼爆炸式的增長趨勢,僅依賴人工進行惡意代碼分析,在實施上變得愈發困難。

為了應對上述挑戰,機器學習算法下的惡意代碼檢測思想被提出?;跈C器學習算法的防護技術為實現高準確率、自動化的未知惡意代碼檢測提供了行之有效的技術途徑,已逐漸成為業內研究的熱點。本文圍繞機器學習算法下的主機惡意代碼檢測,系統地梳理和探討該方向的主流技術途徑與解決方案。

根據Cohen[4]對惡意代碼的研究結果,可知惡意代碼檢測的本質是一個分類問題,即把待檢測樣本區分成惡意或合法的程序。因此機器學習算法驅動下的主機惡意代碼檢測技術,其核心步驟為:1) 采集數量充分的惡意代碼樣本;2) 對樣本進行有效的數據處理,提取特征;3) 進一步選取用于分類的主要數據特征;4) 結合機器學習算法的訓練,建立分類模型;5) 通過訓練后的分類模型對未知樣本進行檢測。如圖1所示,根據檢測過程中樣本數據采集角度的不同,可以將檢測分為靜態分析與動態分析:靜態分析不運行待檢測程序,而是通過程序(如反匯編后的代碼)進行分析得到數據特征,而動態分析在虛擬機或仿真器中執行程序,并獲取程序執行過程中所產生的數據(如行為特征),進行檢測和判斷。

2 惡意代碼的樣本采集

惡意代碼樣本的有效采集是進行代碼分析工作的基礎。當結合機器學習算法進行檢測時,只有通過充分的樣本數據訓練,分類模型才能更準確地實現檢測功能。一般來講,惡意代碼樣本的獲取途徑有如下幾種。

1) 用戶端采樣:這是大多數殺毒軟件廠商的主要獲取方法,使用殺毒軟件的終端用戶將惡意代碼樣本上傳至廠商,該方法具有較好的實時性,但安全廠商的樣本數據往往選擇不對外開放,很難直接獲取。

2) 公開的網絡數據庫:如VirusBulletin[5]、Open Malware[6]、VX Heavens[7]等,但相比惡意代碼的更新速度,現階段公開在線樣本系統較有限,且站點存在隱蔽性不足、易遭到攻擊的問題。因此,建立威脅情報的共享機制,日益突顯出其重要性。

3) 其他技術途徑:通過蜜罐(如Nepenthes蜜罐[8])等捕獲工具進行搜集,即設計一個專門的具有脆弱性的系統,誘導攻擊者進行攻擊進而得到惡意代碼樣本。一些木馬和網絡后門等也可以通過垃圾郵件陷阱或安全論壇(如卡飯論壇[9])的方式得到。不過,上述技術途徑的捕獲樣本規模較有限。

3 基于機器學習的靜態分析方法

為了提取惡意代碼的靜態特征,往往需要先對程序代碼進行逆向分析。常用的工具包括IDA Pro[10]、Hopper、OllyDbg等,其中,IDA Pro是交互式的反匯編器,它不僅可以產生惡意程序的匯編代碼,也具有識別函數塊、獲取輸入函數、描述函數流程圖等功能。

3.1 樣本特征的提取

1) 基于序列的特征類型

基于序列的特征類型在樣本特征的提取上應用最為廣泛,其代表技術為元語法模型(-gram)。-gram假定個出現的詞只與之前出現的?1個詞相關,其中,代表一個特征序列的長度。如果考慮一個長為的詞組集合,則元語法模型會通過滑動窗口的形式,將詞組劃分為?+1個特征序列。例如,當3-gram被應用在詞集{PUSH, SUB, SAL, AND, DIV, LDS, POP}上(此時=7)時,如圖2所示,會得到5個特征序列,每個序列包含3個詞元。

在詞元的選擇上,Abou-Assaleh等[11]首先提出了基于字節(Byte)序列的特征提取框架,并使用近鄰分類方法實現了惡意代碼的有效檢測。此外,Kolter[12]和Moskovitch[13]等也分別對基于字節的-gram方法進行了測試和評估。另一類詞元選擇方式是基于操作碼(Opcode)的,Opcode是描述程序執行操作的機器語言指令,相對于字節序列來講,具有更強的實際意義和可靠性,結合Opcode的特征提取可以更好地表征惡意代碼。文獻[14]基于Opcode序列完成了對惡意代碼進化的追蹤。Siddiqui等[15]結合操作碼序列的方式,通過神經網絡、決策樹等分類算法,實現了98.4%的檢測準確率。Moskovitch等[16]進一步使用超過3×104個文件的測試集,對基于Opcode序列的5種不同分類器進行評估,對惡意代碼的檢測準確率高達99%。

2) 基于字符串的特征類型

另一種特征類型的提取方式是基于程序代碼中的可輸出字符串[17,18],因為可輸出字符串在某種程度上反映了待測程序的意圖。例如,從代碼中的“https://..”字符串可以推測程序的網絡連接意圖;而包含目錄路徑的字符串則說明程序可能嘗試讀取用戶文檔或注冊表信息等。文獻[18]選取了可執行文件中100個可輸出字符串,以此為特征訓練基于支持向量機的分類器,實現了99.38%的準確率。與基于序列的特征類型相比,代碼中的字符串數量有限,因此提取的特征集具有較少的維度,在計算成本上可以實現有效的控制。

3) 基于API調用的特征類型

程序對應用程序編程接口(API,application programming interface)調用也可以作為特征類型。文獻[19]對API調用進行了討論,指出程序PE(portable executable)文件頭中的API信息不具有準確性,因為惡意代碼會在PE文件頭中夾雜錯誤的API信息。Ding等[19]對反匯編后的代碼進行API調用分析,利用惡意代碼和合法代碼應用程序編程接口分布的差異性提取了基于API調用的程序特征。文獻[20]將代碼中的API調用序列轉化為對應的馬爾可夫(Markov)鏈,有向圖中邊的權重表示調用API的狀態轉移概率。通過基于Markov鏈的特征提取,實現了對未知惡意軟件的有效分類。

3.2 樣本特征的選取

由于提取的數據特征常包含冗余信息,容易引起過度擬合問題,本節對數據特征選取的主要方法進行介紹,其種類主要包括信息增益(IG,information gain)、增益率(GR,gainratio)、文檔頻率(DF,document frequency)、主成分分析(PCA,principal component analysis)等。

信息增益使用信息熵度量特征使用與否而導致的信息量差異。式(1)給出了樣本集合信息熵(基于子集合,如對集合的一個分類)的計算方式。

式(2)為信息增益的計算方法。

(2)

()度量了在特征的基礎上對樣本進行劃分后,樣本信息熵的減少量,其中,()是特征的值域,S是中特征上值等于的樣本集合。對于計算結果,信息增益越顯著的特征屬性越重要,在選擇時具有更強的傾向性。

然而,信息增益方法會讓取值過多的特征擁有過大優勢。增益率方法結合了特征在樣本數據分類中的影響,起到了降低上述偏差的作用。如式(3)和式(4)所示,S是包含個值的特征分割樣本而形成的子集,(,)是關于特征各值的熵。因此,對于信息增益相近的特征1和2,分組能力顯著(即較?。┑奶卣鲿粌炏冗x擇。

(4)

文檔頻率方法統計某特征項在樣本集中的出現頻率,并設定一個門限值,選取在文本中出現頻率超過門限值的特征項。且與IG和GR不同,DF不需要大量的先驗信息,且原理簡單,計算效率高,因此在實現上常與其他方法(如IG方法)一起使用,以提升特征選取的準確度[19]。

主成分分析也是一類常見的特征選取方法,在靜態、動態分析中常被用于實現對樣本數據的降維[20]。PCA通過線性變換,將原始數據投射到新的坐標系下,并通過新空間中最大線性無關組對數據樣本進行表達,該線性無關組特征值的空間坐標即PCA方法所選取的特征。與IG、DF等方法不同,PCA使用變換后的特征,而非原始特征的子集。

4 基于機器學習算法的動態分析技術

惡意代碼的靜態分析技術,在應對代碼混淆或加殼等情形時,具有一定的局限性。為了保證代碼評估的準確性,動態分析技術利用虛擬機或仿真器執行待測程序,監控并收集程序運行時顯現的行為特征,并根據特征數據實現惡意代碼的分類。

4.1 行為特征的提取

沙箱技術是收集行為特征的重要技術途徑,許多安全公司提供了Web版的沙箱接口,用以對上傳的程序樣本進行動態分析,生成行為分析報告。目前常見的沙箱工具有Anubis、Joe Sandbox、Cuckoo Sandbox、CWSandbox等。

動態分析的重點是對監控行為的類型進行合理選擇。一般來講,基于行為分析的方案主要考察程序運行過程中所涉及的以下方面:1) 系統文件的改變,如創建或修改文件;2) 注冊表鍵值的操作行為;3) 動態鏈接庫(DLL,dynamic link library)的加載情況;4) 進程訪問的情況;5) 系統服務行為,如開啟、創建或刪除服務;6) 網絡訪問情況;7) 應用程序編程接口(API)的調用。此外,一些解決方案[21]還對程序調用函數的數據信息進行分析,這時污點標簽設置方法常被結合使用。

文獻[22,23]結合行為報告的分析結果,對惡意代碼的行為特征進行識別,借助機器學習算法對可執行文件進行分類。楊軼等[24]通過分析污點傳播的過程,識別不同的惡意代碼行為間控制指令和數據的依賴關系,從而比較惡意代碼的相似性。Imran等[25]通過隱馬爾可夫模型對待測樣本的動態行為特征進行描述,并借助機器學習算法實現分類。Anderson等[26]則通過動態方式搜集程序指令序列,進而生成基于馬爾可夫鏈的有向圖。根據組合圖核方法,得到指令序列圖的相似性矩陣,最終使用支持向量機對惡意代碼進行判定,檢測準確率達到96.41%。

4.2 行為特征的選取

許多沙箱工具,如Anubis和CWSandbox的輸出格式為文本或可擴展標記語言(XML,extensible markup language),這兩類格式更適用于小規模樣本的人工分析。具體來說,文本格式報告對行為特征的刻畫過于簡單,粒度較粗,一些重要的行為不再可見;而XML格式下的分析報告表述又過于繁冗,不便于開展自動化分析。為了高效處理行為分析數據,Trinius等[27]提出基于惡意軟件指令集(MIST,malware instruction set)的行為數據描述方法,常被用來對其他格式(如XML格式)的行為報告進行轉換,從而達到在行為數據中選取主要特征的目的。

MIST將程序行為的監控結果描述為一系列指令,其中每個線程和進程的執行流被分組在一個連續的報告中。每條指令都對應監控到的一個系統調用(system call)及其調用到的參數(argument),指令以短數值的方式予以標識。此外,系統調用的具體參數被分隔在不同等級的塊中,反映不同程度的行為粒度。

如圖3所示,CATEGORY表示系統調用的類別,而OPERATION對應某個特定的系統調用。如‘12 0a’代表類別Winsock(12)和對應的系統調用connect_socket(0a)。ARGBLOCK1~ ARGBLOCK代表各個參數,在參數塊的編排上,低級別參數塊編碼相對穩定的、具備高區分度的屬性(如產生新文件的目錄),而高級別參數塊包含更易變化的“噪聲”屬性(如生成的文件名稱)。MIST指令序列結構確保在少數指令不同的情況下,不同的惡意代碼變種可以被迅速識別。

MIST報告可以進一步通過向量空間模型(VSM,vector space model)進行向量化,生成可用于機器學習算法分類的數據。在特征項和特征項權重的計算上,可運用詞袋模型(BOW,bag of words)。詞袋模型的示例如下,假設有下述2個文件。

1) Samuel detected a malware. I detected the malware too.

2) The malware was detected by us.

基于上述2個文件,可以構建一個詞匯表。

詞匯表={1.“Samuel”,2.“detected”,3.“a”,4.“malware”,5.“I”,6.“the”,7.“too”,8.“was”,9.“by”,10.“us”}。這個詞匯表一共包含10個不同的單詞,利用索引號,上面2個文件可分別用10維向量表示(向量中元素為詞表單詞在文件中出現的頻率)。

1) [1,2,1,2,1,1,1,0,0,0]

2) [0,l,0,1,0,1,0,1,1,1]

利用詞袋模型,經過MIST處理后的指令語句將作為VSM模型中的特征項,指令的出現頻率即為特征項的權重,以建立惡意代碼的向量空間數據,這樣就可以利用機器學習算法(如支持向量機)進行惡意代碼的分類。

5 惡意代碼分類算法

惡意代碼進行靜態、動態分析后得到的特征數據,可以作為機器學習算法訓練的輸入,產生相應的惡意代碼分類器。本節對常見的算法,如近鄰(KNN,nearest neighbor)[11]、支持向量機(SVM,support vector machine)[26]、樸素貝葉斯(Na?ve Bayes)[16]、決策樹(DT,decision tree)[15]、隨機森林(RF,randomforest)[20],以及深度學習算法(如卷積神經網絡(CNN,convolutional neural network))[28,29]進行介紹。

KNN算法是最直觀的機器學習算法之一,樣本的分類由距樣本點最近的個鄰居決定,個鄰居中大多數節點所在的類別即為分類結果。惡意代碼檢測常用到二分分類,這時一個有效方式是將設置為奇數,有利于避免出現距離相同的兩類節點。距離計算上,習慣使用的方式包括Euclidean距離和Manhattan距離。KNN的一大優勢是支持“增進式學習”,即訓練集的新增樣本可以作為增量進行訓練,不需要重新對模型進行重訓練。

SVM算法嘗試找尋一個線性超平面進行二分分類,如圖4所示,該平面距離兩類樣本(兩條虛線)的距離相同,通過超平面可以將樣本進行劃分。其中,虛線是通過支持向量的方式構建的。SVM和KNN算法在處理規模較小的樣本時較為有效,但隨著數據集的增加,SVM和KNN的計算成本均較大。

樸素貝葉斯是計算復雜度較低的分類方法,該方法基于貝葉斯定理,并默認特征之間相互獨立。當某樣本具有個特征,總共類別數量為時,樸素貝葉斯分類器分別計算每個分類的后驗概率,如式(5)所示,算法根據計算結果選擇概率最大的分類。

決策樹算法是另一類重要的機器學習算法,分類器以樹結構的形式表達,樹的中間節點(包括根節點)是不同的特征,從根節點往下逐一匹配,判斷得到的葉子節點即為分類結果。一般可以通過啟發式貪心搜索獲得最小的決策樹,其實現方式之一是利用信息增益方法對數據集進行劃分。

隨機森林算法是由一系列決策樹構成的分類器,森林中每棵樹都由一部分獨立取樣的數據樣本進行訓練,待測樣本在每棵樹中進行判斷,所有輸出中頻次最高的分類即為RF算法的判斷結果。DT和RF分類算法的優勢在于特征的類型可以不一致,因此能夠結合多類特征(字符串特征、序列特征等)進行判斷。

深度學習框架下包含多類算法,其中卷積神經網絡是一個多層的神經網絡結構,由卷積層、次抽樣層和全連接層組成,卷積層和次抽樣層在中間層重復出現,全連接層在底層用于輸出分類結果。CNN的訓練一般借助反向傳播BP算法,BP算法通過正向數據流和反向誤差信號這2個傳播過程,逐步調整各層的函數參數。雖然可以提供不錯的分類效果,但CNN訓練過程相對比較復雜[28]。此外,深度學習算法也可用于惡意代碼的特征提取。在文獻[29]中,Huang等使用微軟提供的目前為止最大的樣本集(4.5×106個文件),利用深度學習框架構造惡意軟件的有效分類工具MtNet。此外,由文獻[29]可知,就惡意代碼檢測的效果來說,訓練層數的增加并不能顯著提升檢測率和誤判率(1~2層時,即可實現較優檢測)。

6 結束語

在網絡攻擊日益復雜、惡意代碼層出不窮的今天,機器學習算法在惡意代碼檢測中的應用逐漸受到學術界和眾多安全廠商的重視。本文對基于機器學習算法惡意代碼檢測的技術方法和主流方案進行了梳理和討論,這一工作將為新型主機惡意代碼檢測技術的設計和實現提供重要參考。但該領域仍屬于發展階段,還存在著許多未來工作和挑戰,對其歸納如下。

1) 靜態分析檢測速度快、系統資源占用少,但隨著代碼混淆、加殼等反檢測技術的發展,靜態分析的準確性受到一定程度的限制。動態分析技術需要運行被測代碼,在效率上存在局限性。一個主流的發展方向是將靜態、動態分析技術進行有效結合,全方位地對待測代碼進行評估。

2) 機器學習算法可以提供高準確率的惡意代碼分類,但分類器一般作為黑盒機制被加以使用,安全人員缺乏對結果的理解。結果往往在不質疑分類器性質的情況下直接被使用,因此分類結果受經驗閾值和數據特征的影響,出現一定傾向性。研究傳統量化分析(如準確率、誤報率)之外的統計學方法,如可信度(credibility),科學地評價和比較底層的機器學習算法,是未來一項重要的研究工作。

3) 在考慮敵手視角時,如果攻擊者也通過機器學習技術優化惡意代碼的設計,對攻擊目標畫像并實現精準攻擊,該如何應對?同時,又該如何保證機器學習引擎不被攻擊者“投毒”,防止出現干擾項致使訓練出錯產生誤判,這些都是需要進一步研究和思考的問題。

[1] 國家互聯網應急中心. 2015年中國互聯網網絡安全報告[EB/OL]. http://www.cert.org.cn/publish/main/upload/File/2015annualreport.pdf.

CNCERT/CC. 2015 China cyber security report[EB/OL]. http:// www.cert.org.cn/publish/main/upload/File/2015annualreport.pdf.

[2] ZHANG Y, WANG X, PERRIG A, et al. Tumbler: adaptable link access in the bots-infested Internet[J].Computer Networks, 2016, 105: 180-193.

[3] 360威脅情報中心. 2016中國高級持續性威脅(APT)研究報告[EB/OL].http://zt.#/1101061855.php?dtid=1101062514&did= 490274251.

360 Threat Intelligence Center. 2016 China APT research report[EB/OL]. http://zt.#/1101061855.php?dtid=1101062514&did= 490274251.

[4] COHEN P. Models of practical defenses against computer viruses[J]. Computers & Security,1989, 8(2):149-160.

[5] VirusBulletin[EB/OL]. https://www.virusbulletin.com/resources/ wildlists/.

[6] Open Malware[EB/OL]. http://www.offensivecomputing.net/.

[7] VX Heavens[EB/OL]. http://vxheaven.org/.

[8] BAECHER P, KOETTER M, HOLZ T, et al. The nepenthes platform: an efficient approach to collect malware[C]//The International Symposium on Recent Advances in Intrusion Detection (RAID). 2006:165-184.

[9] 卡飯論壇[EB/OL]. http://bbs.kafan.cn.

Kaspersky Forum [EB/OL]. http://bbs.kafan.cn.

[10] HEX-RAYS SA. IDA pro introduction[EB/OL]. http://www. hex-rays. com/products.shtml/.

[11] ABOU-ASSALEH T, CERCONE N, KESELJ V, et al. N-gram-based detection of new malicious code[C]//The 28th Annual International Computer Software and Applications Conference (COMPSAC). 2004:41-42.

[12] KOLTER J Z, MALOOF M A. Learning to detect and classify malicious executables in the wild[J]. The Journal of Machine Learning Research, 2006(7):2721-2744.

[13] MOSKOVITCH R, STOPEL D, FEHER C, et al. Unknown malcode detection via text categorization and the imbalance problem[C]//IEEE International Conference on Intelligence and Security Informatics (ISI). 2008:156-161.

[14] KARIM M E, WALENSTEIN A, LAKHOTIA A, et al. Malware phylogeny generation using permutations of code[J]. Journal in Computer Virology, 2005,1(1/2):13-23.

[15] SIDDIQUI M, WANG M C, LEE J. Data mining methods for malware detection using instruction sequences[C]//The Artificial Intelligence and Applications (AIA). 2008.

[16] MOSKOVITCH R, FEHER C, TZACHAR N, et al. Unknown malcode detection using opcode representation[C]//European Conference on Intelligence and Security Informatics(EuroISI). 2008: 204-215.

[17] SCHULTZ M G, ESKIN E, ZADOK F, et al. Data mining methods for detection of new malicious executables[C]//IEEE Symposium on Security and Privacy (S&P). 2001:38-49.

[18] LAI Y. A feature selection for malicious detection[C]//The 9th International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing. 2008: 365-370.

[19] DING Y, YUAN X, TANG K, et al. A fast malware detection algo-rithm based on objective-oriented association mining[J]. Computers &Security, 2013, 39:315-324.

[20] MARICONTI E, ONWUZURIKE L, ANDRIOTIS P, et al. MA-MADROID: detecting android malware by building Markov chains of behavioral models[C]//The Symposium on Network and Distributed System Security (NDSS). 2017.

[21] SCHWARTZ E J, AVGERINOS T, BRUMLEY D. All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask)[C]//IEEE Symposium on Security and Privacy (S&P). 2010:317-331.

[22] CHRISTODORESCU M, JHA S, KRUEGEL C. Mining specifications of malicious behavior[C]//The 1st India Software Engineering Conference. 2008:5-14.

[23] RIECK K, HOLZ T, WILLEMS C, et al. Learning and classification of malware behavior[C]//The International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA). 2008:108-125.

[24] 楊軼, 蘇璞睿, 應凌云, 等. 基于行為依賴特征的惡意代碼相似性比較方法[J]. 軟件學報, 2011, 22(10): 2438-2453.

YANG Y, SU P, YING L, et al. Dependency-based malware similarity comparison method[J]. Journal of Software, 2011, 22(10): 2438-2453.

[25] IMRAN M, AFZAL M T, QADIR M A. Malware classification using dynamic features and hidden markov model[J]. Journal of Intelligent & Fuzzy Systems, 2016, 31(2):837-847.

[26] ANDERSON B, QUIST D, NEIL J, et al. Graph-based malware detection using dynamic analysis[J]. Journal in Computer Virolo-gy, 2011, 7(4): 247-258.

[27] TRINIUS P, WILLEMS C, HOLZ T, et al. A malware instruction set for behavior-based analysis[C]//The 5th GI Conference on Sicherheit, Schutz und Zuverl assigkeit. 2010:205-216.

[28] 楊曄. 基于行為的惡意代碼檢測方法研究[D]. 西安: 西安電子科技大學, 2015.

YANG Y. Research on detection method of malware based on behavior[D]. Xi’an: Xidian University, 2015.

[29] HUANG W, STOKES J W. MtNet: a multi-task neural network for dynamic malware classification[C]//The International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment(DIMVA). 2016: 399-418.

Research on host malcode detection using machine learning

ZHANG Dong, ZHANG Yao, LIU Gang, SONG Gui-xiang

(Inspur Electronic Information Industry Co.,Ltd, Beijing 100085, China)

Main trends of host malcode detection using machine learning were focused on, and two categories of detection models(namely static analysis and dynamic analysis) were well discussed. Moreover, the critical stages such as malcode samples collection, feature extraction and selection, the construction of machine learning classifiers were considered fully. At last, some future work and challenges in this field were listed. The work can serve as a practical reference for establishing next-generation malcode detection techniques.

malcode detection, machine learning, static analysis, dynamic analysis, classification model

TP309

A

10.11959/j.issn.2096-109x.2017.00179

張東(1974-),男,山東威海人,浪潮電子信息產業股份有限公司高級工程師,主要研究方向為系統軟件安全。

張堯(1988-),男,湖北襄陽人,博士,浪潮電子信息產業股份有限公司研究員,主要研究方向為網絡安全、主機系統安全與應用密碼學。

劉剛(1979-),男,四川德陽人,碩士,浪潮電子信息產業股份有限公司工程師,主要研究方向為操作系統安全、可信計算與云安全。

宋桂香(1978-),女,山東鄆城人,浪潮電子信息產業股份有限公司工程師,主要研究方向為安全測評。

2017-06-12;

2017-07-02。

張堯,zhangyaobj@inspur.com

猜你喜歡
機器分類樣本
機器狗
機器狗
分類算一算
用樣本估計總體復習點撥
分類討論求坐標
未來機器城
推動醫改的“直銷樣本”
數據分析中的分類討論
教你一招:數的分類
隨機微分方程的樣本Lyapunov二次型估計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合