?

基于多階融合訓練的惡意程序檢測

2022-04-22 11:19王叢雙
現代計算機 2022年3期
關鍵詞:分類器靜態機器

王叢雙,方 勇

(四川大學網絡空間安全學院,成都 610207)

0 引言

計算機互聯網技術的發展,使得人們越來越離不開網絡,而聯網設備數量也在近20年里快速增加,與此同時,針對計算機系統的攻擊活動也更加頻繁,各種類型的惡意程序充斥著互聯網。因此,研究檢測惡意程序的是網絡安全研究工作者的重要課題之一。

惡意軟件是一種旨在對目標計算機造成破壞或竊取目標計算機數據的計算機程序。傳統的惡意軟件包括病毒、木馬等,這些惡意軟件不僅嚴重影響了用戶對計算機的正常使用,甚至給用戶和企業帶來了巨額的經濟損失。近年來,隨著區塊鏈技術進入大眾視野,數字貨幣挖礦程序也開始大量涌現,黑客通過植入惡意挖礦程序利用計算機的計算資源獲得收益。而以WannaCry為代表的勒索軟件是另一類惡意軟件,一旦被感染,會加密計算機中的所有文件,只有受害者支付贖金后才會解密,該軟件具有自動傳播能力,在全球范圍內感染了超過10萬計算機,包括著名的芯片制造廠商臺積電。

當前的惡意軟件檢測技術多種多樣,不同的方法各有優缺點,而傳統的方法由于性能提升空間越來越小,研究者開始利用機器學習進行進一步研究。研究結果表明機器學習可以在一定程度上能提高模型的泛化能力,進而提高惡意樣本的識別率。機器學習模型建立流程一般是數據清洗、提取特征、訓練模型三個步驟,前期大量的研究者研究的重點是選用能夠表達惡意軟件的特征,然后輸入進機器學習算法進行檢測,經過近些年的研究,多種多樣的特征都被研究者們研究過。因此本文研究的重點不再是提取新的特征,而是在算法和模型訓練上深入研究,引入多階融合訓練技術,從特征融合和模型融合兩個層面,來提高對惡意程序的檢測效果。

1 相關工作

目前,針對惡意軟件檢測主要有三種方式:基于靜態特征、基于動態行為特征和混合檢測法?;陟o態特征包括了傳統的基于簽名的檢測方式,這種方式利用了惡意軟件中固定不變的代碼片段或其他具有強標志性的靜態字符串特征,檢測準確率高,誤報率低。但是一般需要具有惡意軟件分析能力的安全專家手工分析,以提取此類靜態特征。在應用機器學習的方法中,靜態特征是在不運行惡意軟件的情況下,使用自動化分析工具,結合逆向、統計學等技術,提取人工設定的一系列靜態特征。比如針對Windows PE類型的惡意軟件,可以提取惡意樣本中的文件頭、導出表、節等特征,然后使用機器學習算法訓練檢測模型。機器學習算法能夠通過這些靜態特征,捕獲惡意軟件與正常軟件的異同。Aslan?A等綜述近些年惡意軟件檢測技術發展,其中概括了大量被研究者使用的靜態特征。

靜態特征是在不運行的狀態下提取特征,主要的問題是不能獲取惡意軟件運行過程中的行為特征,優點是模型復雜度低,不需要使用模擬器、虛擬機等來獲取特征信息。在基于靜態特征的方法效果提升到達瓶頸后,研究者開始研究提取惡意程序的動態行為特征,以更加準確的判斷程序是否是惡意的。在沙箱中運行惡意程序,進行動態監控,可以獲取到惡意程序運行過程中的網絡行為、內存訪問行為、注冊表操作等。行為也更能反映一個程序是否是惡意的。獲取到這些行為特征后的操作與基于靜態特征相似,可以基于規則或使用機器學習算法進行建模。Kakisim等對基于動態特征的惡意軟件檢測進行了綜述,總結了大量動態特征在檢測中的效果對比。

混合方法是結合了靜態和動態兩種特征,這樣在特征上面可以兼顧兩方面的優勢。除了特征選擇外,基于機器學習的惡意軟件檢測的關鍵還在于算法的選擇。Rathore等綜述了使用機器學習以及深度學習進行惡意軟件檢測的成果。以CNN為代表的深度學習算法被證明相對于傳統機器學習算法有更好的效果,Vinaya?kumar使用CNN算法進行分類,準確率高達98.8%,其他指標也都高于傳統機器學習算法。

綜上所述,結合統計學、沙箱等技術對惡意程序進行特征獲取,并使用機器學習或深度學習算法進行建模,能夠對惡意軟件進行識別,但是研究者在針對模型訓練上缺乏考量。本文將引入多階訓練技術,結合機器學習和深度學習算法,改善惡意軟件檢測模型效果。與惡意軟件的對抗是一個持續的過程,惡意軟行業是一個龐大的市場,每年都有大量的資金投入以開發出能夠對抗檢測的惡意軟件,這也要求研究者們不斷更新檢測技術以應對這些反制機制。

2 模型設計

2.1 特征工程

為了讓算法能夠學習到惡意軟件與正常軟件的異同,本文除了選擇常見的靜態特征外,還選擇使用沙盒模擬執行程序后獲得的API調用指令序列作為數據源,結合統計學構建特征集。我們將特征分為三類,即靜態文件特征、API統計特征、API調用關聯特征。這些特征提取簡單,能有效反映一個程序的靜態、動態行為特點。

靜態特征包括文件頭部分信息、文件節部分信息、文件屬性信息等,這些信息通過直接解析程序文件或者簡單的計算即可獲得。表1概括了選用的靜態特征信息,靜態特征集記為F。

表1 靜態特征信息

任何程序都是會調用大量的系統接口,這些接口為程序提供了多種多樣的功能,比如一個程序需要使用網絡功能,那其一定會調用網絡相關的接口,因此我們可以通過程序調用的API序列反向推測程序具有的功能,而API調用的順序也能反映程序的行為特點,為此我們設計了兩類API特征集,一類是程序調用的API統計特征,記為F,表2概括了這些特征;一類是API序列中API之間的關聯特征,記為F,表3概括了這些特征。

表2 API調用序列統計特征

表3 API調用序列關聯特征

2.2 模型訓練

本文提出應用多階訓練的模型融合技術,將不同模型在不同特征集上的作用效果進行融合,以獲得更高的惡意軟件檢測效果,與傳統集成算法不同,本文提出的模型不僅僅是不同算法的融合,還體現在不同特征集上的融合。本文通過設計多個階段的模型訓練過程,并使用多種機器學習算法進行訓練,根據不同模型的訓練效果,使用交叉驗證的方式,為不同的模型賦予權重。最后再使用一個集成訓練算法,融合各個模型的效果。圖1展示了模型的整體框架圖。

圖1 整體架構

首先,對于本文提出的三種特征集,我們設計了基于多個機器學習算法的特征權重評估方法。作為第一階段訓練過程,將三種特征集分別用多個算法進行訓練檢測模型,并使用準確率、召回率、精確率指標評估模型效果,根據最終的效果,選擇TOP-N算法,根據算法的效果F1-Score指標,為特征集賦予不同的權重,形成新 的訓 練 集={θF,σF,μF},權 重++=1。

在第一階段訓練獲得特征權重后,進行第二階段模型融合訓練。模型融合的效果是通過訓練多個子分類器以獲得一個最終分類器,使用子分類器的分類錯誤率計算得出這個分類器的可信權重。分類器訓練的過程需要從原始數據中進行采樣,對于被錯誤分類的樣本通過增大被采樣的概率來提高在后續訓練過程中被正確分類的概率。而子分類器的權重,則根據分類錯誤率計算得到,權重越高,意味著這個分類器在最終分類器中的影響力越大。整體模型可以表達為公式(1),其中h()為子分類器,α為權重,α由分類誤差

e計算而來,即公式(2)。

3 實驗評估

為了全面的評估模型的效果,本文選用了準確率、誤報率、召回率和F1-Score為模型評估指標。數據集選用了微軟惡意軟件分類挑戰賽公開數據集(BIG2015),該數據集包含了9個不同家族的惡意軟件,每個軟件包含其唯一標識符以及所屬分類標簽。每個惡意軟件文件,包含了文件的二進制表示和十六進制表示,除此之外還提供了一個處理后的元數據信息,包含了從二進制文件中反匯編提取的各種元數據,如函數調用、字符串等。

按照模型設計,按照特征集的提取方式從數據集中提取了全量特征信息,并按照模型訓練設計的多階訓練思想,在第一階段特征集權重訓練階段,選用了SVM/Decision Tree/Random Forest/Logistic Regression/KNN五種經典機器學習算法,根據模型效果選擇效果最佳的前三個模型,根據這些模型在三種特征集上的效果,為特征集賦予權重,=0.1,=0.5,=0.4,組成新的數據集。第二階段,在新生成的數據集上,選用SVM/Logistic Regression/CNN/DNN等算法作為子分類器,構建不同組合對比試驗,根據模型在測試數據集上的訓練效果,選擇子分類器共同構成最終的分類模型,對比試驗的結果見表4??梢钥吹皆赟VM-LR-CNN組合的分類器效果最好,在各個指標上均超過他模型。

表4 模型效果

4 結語

惡意軟件的發展與現有的檢測手段形成了對抗的關系,不斷有開發者應用多樣的繞過技術從靜態以及行為特征上規避檢測模型的檢測,對眾多現有的檢測模型形成了挑戰。本文提出了一種基于靜態特征和行為特征的檢測模型,通過統計方法定義了多種行為特征關系,并提出了一種新穎的特征模型融合訓練方法,該方法能更好的評估特征集的重要性,并兼顧多種機器學習算法的優點,通過這種模型訓練方式,獲得了一個在各項指標上均有明顯提高的檢測模型。在公開數據集上的評估結果表明,本文提出的方法能有效的提高對惡意軟件的檢測能力,有助于解決當前惡意軟件檢測的瓶頸問題。

猜你喜歡
分類器靜態機器
分類器集成綜述
汽車擺臂襯套的靜態特性
少樣本條件下基于K-最近鄰及多分類器協同的樣本擴增分類
機器狗
學貫中西(6):闡述ML分類器的工作流程
機器狗
猜猜他是誰
基于HTML5靜態網頁設計
基于AdaBoost算法的在線連續極限學習機集成算法
分布式系統負載均衡關鍵技術及其發展脈絡
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合