999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于行為路徑樹的惡意軟件分類方法

2020-06-09 07:20:52金炳初石志強張智淵陳俊杰
計算機工程與應用 2020年11期
關鍵詞:分類深度特征

金炳初,文 輝,石志強,張智淵,陳俊杰

1.太原理工大學 信息與計算機學院,太原030024

2.中國科學院 信息工程研究所 物聯網信息安全技術北京市重點實驗室,北京100195

3.中國科學院大學 網絡空間安全學院,北京100195

1 引言

惡意軟件是一種用來實現攻擊者有害意圖的軟件[1],旨在獲取對計算機系統和網絡資源的訪問,干擾計算機操作,并在未經系統所有者同意的情況下收集個人信息,對互聯網的可用性、主機的完整性和用戶的隱私構成嚴重威脅[2]。在互聯網飛速發展的今天,網絡安全形勢不容樂觀。2016 年,賽門鐵克公司共監測到超過35億個惡意軟件的新型變種,100多個新型惡意軟件家族,數量是過去的3倍[3]。2017年,騰訊電腦管家統計數據顯示,PC端總計已攔截病毒近30億次,平均每月攔截木馬病毒近2.45 億次,全年共發現6.3 億臺用戶機器中病毒或木馬[4]。2018 年上半年瑞星“云安全”系統共截獲病毒樣本總量2 587萬個,病毒感染次數7.82億次,其中新增木馬病毒占總體數量的62.83%[5]。綜上所述,惡意軟件數量迅速增加的同時,呈現出多樣化、多態化的趨勢。傳統的基于病毒特征碼的檢測技術無法檢測新增惡意軟件,雖然部分惡意軟件檢測技術采用啟發式的檢測方法,使用API 序列、系統全局鉤子等方式監測軟件行為,但這樣的方式速度慢、效率低且存在安全隱患,不適合大規模的惡意樣本檢測[6]。因此,如何快速進行惡意軟件的檢測,已成為網絡安全界關注的焦點,其中惡意軟件分類是檢測新型惡意軟件的第一步[7],在對抗惡意軟件多態與多樣性具有重要意義。

目前用于分類惡意軟件的技術可分為兩大類:基于靜態特征的方法和基于動態特征的方法。靜態特征指的是在惡意樣本不運行的情況下通過分析程序指令與結構提取的特征[8],常用的靜態特征包括字符串、指令序列以及字節序列等,這些靜態特征粒度雖細,但不能反應樣本真實的惡意行為。動態特征則是在惡意樣本運行后,與系統進行交互所產生的狀態變化,如注冊表、文件系統、網絡活動。常用的動態特征包括系統調用及參數、網絡活動等,從動態特征中可以觀察到惡意樣本的真實活動。

根據目前的研究現狀,本文提出了一種基于行為路徑樹的惡意軟件分類方法,首先在虛擬環境中捕捉惡意樣本與系統交互的行為路徑,然后將其轉化為樹型結構并提取特征向量。最后構建了基于自適應隨機森林的惡意軟件分類模型對樣本進行分類。本文的貢獻主要包含以下3部分:

(1)本文設計了一種基于行為路徑的惡意樣本特征提取方法,與基于系統調用的特征提取相比,能以更小的代價生成特征間的依賴關系。

(2)本文從多個公開數據集收集并構建了一個惡意樣本數據庫,包含102 個惡意軟件家族,共計37 000 個惡意樣本。

(3)本文構建了一個基于自適應隨機森林的惡意軟件分類模型,該模型能夠通過隨機逼近的方式完成行為路徑樹深度尋優,且惡意軟件分類效果優于其他常見的分類器算法。

2 相關工作

傳統基于動態特征的惡意軟件分類方法中,主要使用系統調用及參數作為樣本動態特征。文獻[7]提出了一種基于最大分量子圖檢測的惡意軟件分類方法。在沙箱環境中運行惡意樣本后,捕獲系統調用以及這些調用的參數值,并從這些系統調用中生成有向圖,通過計算最大公共子圖來比較兩個樣本的相似度。文獻[9]使用動態分析工具從運行在虛擬環境中的可執行文件中提取系統調用序列,并使用隨機森林分類器對惡意軟件進行分類,在其使用的數據集中達到97%的準確率。文獻[10]提出了一種基于網絡行為的惡意軟件分類框架,網絡行為以pcap文件的形式輸入到框架中,提取包含IP地址、端口號和協議信息的網絡流作為惡意軟件動態特征,將網絡流及其依賴關系抽象成行為圖來表示惡意軟件的網絡活動。文獻[11]提出了一種利用機器學習對惡意樣本進行聚類的方法。數據集中所有樣本都在虛擬環境中運行,并監視系統調用及其參數。創建包含注冊表鍵、寫入文件和網絡活動的行為概要文件。通過計算兩個概要文件之間的相似性,利用聚類算法將惡意樣本分組到不同的集群中。文獻[12]提出了一種降低沙箱分析結果復雜性的惡意軟件指令集(MIST),將沙箱分析結果轉化為指令的形式,輸入惡意軟件分類模型中,取得了較好的實驗結果。

以上基于動態特征的惡意軟件分類方法中,系統調用序列與沙箱分析結果指令化忽略了系統調用間的依賴關系;網絡行為圖的方法缺少注冊表、文件系統等基于主機的特征,這種特征提取的片面性導致分類結果不可信;系統調用圖中通過結點間的有向邊體現系統調用之間的依賴關系,但圖中過多的回路增加了圖結構的復雜度,加大分類模型的性能開銷。

針對以上方法中出現的問題,本文提出了基于行為路徑樹的惡意軟件分類方法,該方法選擇惡意樣本細粒度行為路徑作為樣本動態特征,行為路徑中包含基于主機和網絡的特征,涵蓋了惡意樣本對注冊表、文件系統以及網絡的操作。此外,本文將行為路徑轉化為樹型結構,稱作行為路徑樹。樹型結構中相同路徑的行為都歸為樹型結構的一個結點,有相同路徑前綴的行為則有相同的父結點,降低結構復雜度的同時,又保留了行為之間的依賴關系(父結點與子結點)。

3 基于自適應隨機森林的分類方法

本章主要描述了基于自適應隨機森林的惡意軟件分類方法,整體流程如圖1所示。首先在虛擬環境中通過監控惡意樣本運行捕獲惡意操作,包括惡意樣本對注冊表、文件系統及網絡的相關操作;然后將其按照操作目標的不同劃分多個細粒度行為,并獲取相應的行為路徑;再次,將捕獲到的行為路徑轉化成樹型結構,按照一定規則從樹型結構中進行特征提取并進行特征離散化;最后采用集成學習構建基于自適應隨機森林的惡意軟件分類模型,分類結果通過Bagging 策略來決定。本文在下面的部分中將更詳細地描述各個步驟。

圖1 整體流程

3.1 動態行為獲取

惡意樣本動態行為獲取是通過對樣本進行監控,捕獲樣本細粒度行為路徑。獲取過程如下:首先配置虛擬環境,并設置網絡連接方式為host-only,防止惡意樣本對真實的操作系統造成影響;其次,對惡意樣本進行動態行為監控與捕獲,包括被監控惡意樣本對注冊表、文件系統以及網絡活動的操作;再次,根據操作對象的不同,將同一操作劃分為細粒度行為;最后捕獲樣本細粒度行為路徑。圖2 為惡意樣本locky.exe 的部分監控結果,惡意樣本的運行代表程序中API序列的執行,API與行為路徑之間存在一對多的關系,例如函數RegQuery-ValueEx 對應圖中查詢注冊表鍵值的操作RegQuery-Value,該操作根據查詢對象不同可分為多個細粒度查詢行為RegQueryValue(reg1),RegQueryValue(reg2),…,RegQueryValue(regN),每種查詢行為都對應一條行為路徑。

圖2 監控結果

3.2 動態特征提取

動態特征提取是將行為路徑轉化為樹型結構,再從樹型結構生成特征向量的過程,本文中將該樹型結構稱作行為路徑樹。惡意樣本的行為路徑樹是動態生成的,其生成方式按照路徑一致性原則將路徑序列合并到已有行為樹中。路徑一致性原則如下,每獲取樣本的一條行為路徑,都會遍歷當前已存在的行為路徑樹,若路徑樹中存在完全相同的路徑,則將該路徑中所有目錄結點間的邊權值加1;若樹中存在不完全相同(擁有相同路徑前綴)的路徑,則將該路徑前綴中目錄結點間的邊權值加1,并從前綴中最后一個結點處生成新的分支,新分支中邊權值初始化為1;若樹中不存在相同的路徑或路徑前綴,則從行為樹的根結點處生成新的分支,邊權值初始化為1。

綜上所述,行為路徑樹有3個重要組成部分。(1)結點:合并相同的行為路徑作為路徑樹中的結點。(2)依賴關系:擁有相同路徑前綴的行為構成路徑樹中的父與子結點。(3)邊權值:從上層目錄到下層目錄的訪問次數。

行為路徑樹構建完成后,按照結點與邊權值交錯的方式進行動態特征提取,最大限度保留樹型結構的完整性。動態特征提取過程如圖3所示,其中樹型結構的第一層為根結點,即惡意樣本自身,Ci為行為路徑樹中第i 層結點個數之和,Wj為第j 到第j+1 層的邊權值之和,特征向量T=(C1,W1,C2,W2,C3,W3,C4,W4,C5,W5,C6,W6,C7)=(1,26,1,26,1,26,1,26,2,24,3,18,2)。

圖3 (a) 惡意代碼路徑

圖3 (b)惡意代碼路徑轉化為樹型結構

從行為路徑樹中提取的特征向量需要進行最大最小值規一化,將各屬性值按比例映射到[0,1]區間,平衡各個屬性對距離的影響。映射公式如下,其中max(aj)和min(aj)表示所有元素項中第j 個屬性的最大值和最小值。

3.3 依賴生成算法對比

本節對行為路徑樹以及系統調用圖的依賴關系生成算法進行對比,證明構造行為路徑樹的復雜度更低。系統調用之間的依賴關系定義為參數之間的依賴關系[13],動態分析中常用于構造系統調用依賴關系的方法是動態污點分析[14]。該技術首先使用污染標簽對系統調用的輸入(_In_)、輸出(_Out_)參數進行標記,并生成記錄文件;然后檢查系統調用A 的輸入參數是否被污染,通過跟蹤被污染的輸入參數,定位另一個系統調用B 的輸出參數,創建從B 到A 的有向邊;最后遍歷所有的系統調用,生成系統調用圖。調用圖生成過程如圖4。

圖4 系統調用圖生成過程

系統調用圖的生成過程中,每生成圖中的一個結點,都要遍歷所有的系統調用序列,算法復雜度為平方階?;谛袨槁窂綐涞膼阂廛浖诸惙椒ㄖ?,行為之間的依賴關系通過樹型結構來體現,樹型結構中每一個結點的生成,只需要遍歷與該結點擁有相同路徑前綴的子樹即可,與系統調用圖的生成算法相比,構造行為路徑樹的復雜度更低。

3.4 自適應隨機森林的惡意軟件分類模型

傳統隨機森林分類模型的分類精度會受到行為路徑樹深度的影響,樹深度過低會降低模型的分類精度,樹深度過高則會產生大量冗余信息。傳統隨機森林分類模型的評分函數如下:

其中,k 為行為路徑樹深度,m 為惡意樣本總量,bi為其中任意一個樣本,xk定義為行為路徑樹深度域R 中的前k 層,Y 是分類模型的最高分類精度,f(xk,bi)定義為行為路徑樹深度為k 時模型的分類精度。||Yf(xk,bi)||2的值越接近0,評分函數φ(xk,bi)的值越小,模型的分類效果越好。

為解決傳統方法的弊端,本文構建了基于自適應隨機森林的惡意軟件分類模型,該模型通過隨機逼近的方式完成行為路徑樹深度尋優,模型評分函數如下:

本節主要描述了基于自適應隨機森林的惡意軟件分類模型構建過程,整體流程如圖5所示。首先進行離散化特征的生成;然后構建隨機森林并對模型誤差進行優化;最后通過隨機逼近的方式對行為路徑樹深度進行迭代尋優,得到最優路徑樹深度。

圖5 基于自適應隨機森林的惡意軟件分類模型

3.4.1 離散化特征生成

惡意樣本的特征向量中,結點數Ci與邊權值Wj均為連續的數值,不利于分類模型的快速迭代,需要對連續屬性進行離散化,即將連續區間劃分為小區間,并將連續的小區間與離散的值關聯起來。本文使用基于熵的離散化方法將連續屬性離散化,離散化過程如下:

步驟1 將連續屬性按照數值大小排序形成有序區間。

步驟2 把有序區間劃分成為兩部分并計算熵值,當總熵值最小時,第一次劃分完成。計算公式如下,其中ei為第i 個區間的熵值,e 為總熵值。 y 為惡意軟件類別數,pij為第i 個區間中屬于j 類的概率。Wi為第i個區間的數值個數占總區間的比例,n 為區間個數。

步驟3 選擇熵值最大的區間重復步驟2過程,直到滿足指定的區間個數。

3.4.2 隨機森林優化

隨機森林優化指的是在行為路徑樹深度k 為定值的情況下,對分類模型誤差||Y-f(xk,bi)||2進行優化,具體方法是通過限制決策樹個數以及結點數來實現。隨機森林分類模型利用多棵決策樹對惡意樣本進行訓練和預測,每一棵決策樹都是惡意軟件檢測的弱分類器,隨機森林則為結合多個弱分類器的強分類器[15]。分類模型的構建包含兩部分,生成決策樹、構建隨機森林。

(1)生成決策樹

決策樹的生成分為選擇訓練集、選擇特征以及生成決策樹3部分。首先從N 個惡意樣本中有放回地抽取N 次作為訓練集S;然后從惡意樣本的M 個屬性中,隨機選擇sqrt(M)個屬性作為決策樹的結點數;最后根據信息增益最大原則選擇決策樹結點,生成決策樹。以行為路徑樹每一層結點數、邊權值作為分類屬性的信息增益算法如下:

S 為訓練集,樣本家族分類結果為r1,r2,…,rn,惡意樣本家族的信息熵記為Entropy(S),信息熵計算公式如下:

在樣本集S 中,設分類屬性第i 層結點數Ci在離散化之后有n 種屬性,分別為a1,a2,…,an,值為ai的所有樣本構成的數據集記為Ai,則分類屬性Ci的信息增益記為Gain(Ci),計算公式如下:

分類屬性的總量為M ,隨機選擇并計算sqrt(M)個分類屬性的信息增益,信息增益最高的屬性為決策樹的根結點,其他結點按照信息增益最大原則來選擇。

(2)構建隨機森林

首先從惡意樣本集中隨機進行n 次采樣得到n 個訓練集,每個訓練集的樣本容量都與原始樣本集相同;其次,按照決策樹的生成方式,對n 個訓練集建立n 個決策樹模型;最終組合n 棵決策樹構成隨機森林。隨機森林的分類結果通過集成學習方法Bagging 策略來確定,Bagging策略的公式如下。

其中,xi為用于訓練第i 棵決策樹的樣本集,通過n 輪訓練,得到n 棵決策樹的分類模型序列{f1(x1),f2(x2),…,fn(xn)},F(x)表示隨機森林分類模型,fi是單棵決策樹,Z 表示決策樹預測的惡意樣本家族,I 為示性函數。

3.4.3 最優樹深度迭代(對xk進行優化)

基于自適應隨機森林的惡意軟件分類模型采用隨機逼近的方式完成行為路徑樹深度尋優,通過重復“產生新的樹深度-計算評分函數差-接受或丟棄”的迭代過程,最終得到最優路徑樹深度。該過程可描述為對一個自變量為k 目標函數為φ1(xk,bi)的極小化問題,若φ1(xk,bi)>φ1(xk+1,bi),則接受k+1,并作為下一次迭代的初始值,直到滿足結束條件;若φ1(xk,bi)<φ1(xk+1,bi),則以概率p接受k+1。其中c 為迭代次數,在迭代尋優過程中,c 必須緩慢降低,否則會使優化過程陷入局部極值點。

行為路徑樹深度尋優過程的偽代碼如下:

輸入:外層迭代次數c、初始路徑樹深度k。輸出:最優路徑樹深度k′。

1. Initizlize h,j,p

2. for t=c to t=0

3. for i=1 to i=h

4. k'=k+j

5. Δφ1=φ1(xk',bi)-φ1(xk,bi)

6. if (Δφ1<0)

7. k=k'

8. else

9. 以概率p 接受k=k'

10.end for

11.output φ1(xk',bi)

12.end for

13.output k'

其中,h 為內層迭代次數,對應行為路徑樹的最大樹深度,j 為步長。每一次迭代的結果都是找到當前狀態的極小值點(k',φ1(xk',bi)),由此得到關于行為路徑樹深度的序列集,序列集中min φ1(xk',bi)對應的k′值即為最優路徑樹深度。

3.4.4 小結

基于自適應隨機森林的分類模型包含兩層迭代,其中內層迭代是對路徑樹深度進行迭代尋優,外層迭代則是對分類模型誤差的迭代。該模型以隨機逼近的方式完成行為路徑樹深度尋優,克服了傳統隨機森林受制于路徑樹深度這一缺點,同時減少了冗余信息的產生,提高分類模型的運行效率。

4 實驗

本章包含3 部分,首先構建惡意樣本數據庫,并從中隨機選取惡意樣本進行實驗;再次,設計實驗對特征的性能進行驗證;最后,設計實驗對基于自適應隨機森林的惡意軟件分類模型進行驗證。

4.1 樣本集

本文構建了一個惡意樣本數據庫,樣本來源于VirusSign[16]、MalShare[17]等多個網站,從數據庫中隨機選擇了8 個惡意軟件家族,并加入良性樣本集Benign,該良性集合的樣本全部為系統盤下的可執行文件。樣本信息如表1所示。

表1 惡意樣本集

4.2 實驗結果及分析

4.2.1 特征性能驗證

本文從行為路徑樹中按照不同的規則提取3 種特征(見表2)進行對比。此外,由于模型分類效果與路徑樹深度(路徑層數)直接相關,本節對樣本家族與路徑樹深度及權值的關系進行挖掘,如圖6 所示,橫軸為樣本家族,縱軸為行為路徑樹深度,豎軸為規一化后的權值。由圖可知,用于實驗的樣本家族中,行為路徑樹深度最大為17層,最小為12層,各家族權值均逐層遞減。

表2 3種動態特征

圖6 樣本家族與路徑樹深度及權值的關系

本部分對3種特征的分類效果進行對比,將特征A、B、C 作為基于自適應隨機森林(Self-adaptation RF)分類模型的輸入。為驗證分類模型的性能,實驗采用十折交叉驗證,將惡意樣本集分為10 份,取其中1 份作為測試集,其他9份作為訓練集,結果取10 次平均值,結果如圖7所示。

圖7 特征A、B、C在隨機森林分類器中的分類精度

由圖可知,特征A 的精度曲線在3 條曲線中波動程度最小,且具有較高的分類精度,所以特征A 具有較好的健壯性。經自適應隨機森林分類模型對行為路徑樹深度的迭代尋優,最終確定當路徑樹深度為12時,達到最高分類精度91.11%。樣本家族的分類精度(Precision)及召回率(Recall Rate)見表3,由此可見,使用行為路徑樹作為樣本動態特征在各家族中均有較好的分類結果。

表3 樣本家族分類精度及召回率

4.2.2 分類模型性能驗證

本節將基于自適應隨機森林的分類模型與其他4種常見的分類器算法進行了比較,結果證明本文提出的分類模型擁有更好的分類效果。

基于自適應隨機森林(RF)的惡意軟件分類模型由100 棵決策樹組成,與k 近鄰(kNN)、J48 決策樹、多層感知機(SMO)以及樸素貝葉斯(NB)分類器算法進行比較,同樣采取十折交叉驗證,并從分類精度(Precision)、F 值(F-Measure)、MCC 系數以及ROC Area(ROC 曲線下的面積)進行對比,實驗結果見圖8。從分類器的性能結果對比中可以得出,基于自適應隨機森林的惡意軟件分類模型在4 種評判標準上均優于其他分類器算法。

圖8 分類模型對比

4.3 實驗結論

實驗結果證明,基于結點與邊權值相結合的特征擁有更好的分類效果。該特征在基于自適應隨機森林的惡意軟件分類模型中達到91.11%的分類精度,且優于k近鄰(kNN)、J48決策樹等分類器算法。

5 結束語

本文提出了一種基于行為路徑樹的惡意軟件分類方法。首先對惡意樣本進行動態分析,監控并捕捉樣本細粒度的行為路徑;然后將路徑之間的依賴關系轉化為樹型結構并進行特征提取;最后構建了基于自適應隨機森林的惡意軟件分類模型,分類精度達到91.11%,優于其他常見的分類器算法。

本文詳細介紹了特征提取與分類模型構建部分,對分類算法優化尚不完善。實驗所用的惡意樣本家族和數量有待進一步擴充,用以進一步驗證行為路徑作為惡意軟件動態特征的有效性。此外,本文提取行為路徑樹作為樣本動態特征,該特征雖然能最大限度地獲取樣本動態行為(樣本對文件系統、注冊表、網絡的操作),但并未考慮惡意樣本規避機制(反沙箱、反蜜罐、反虛擬機技術)帶來的影響,這是惡意軟件動態分析技術的弊端,也是下一步工作中有待解決的問題。

猜你喜歡
分類深度特征
分類算一算
深度理解一元一次方程
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
深度觀察
深度觀察
深度觀察
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 国产精品一区在线麻豆| 亚洲 日韩 激情 无码 中出| 99精品欧美一区| 国产精品无码一二三视频| www.国产福利| 综合网天天| 久久9966精品国产免费| 中文字幕无线码一区| 日韩资源站| 国产在线视频导航| 国产丝袜91| 丁香六月激情综合| 夜夜操天天摸| 亚洲最黄视频| Jizz国产色系免费| 青青草综合网| 丰满人妻中出白浆| 亚洲日韩Av中文字幕无码| 九九热免费在线视频| 国产视频入口| 久精品色妇丰满人妻| 国产精品无码一区二区桃花视频| 97视频在线精品国自产拍| 欧美成人在线免费| 一区二区三区成人| 日韩在线观看网站| a在线观看免费| 五月天婷婷网亚洲综合在线| 精品久久久无码专区中文字幕| 男女性午夜福利网站| 日韩 欧美 国产 精品 综合| 波多野结衣在线一区二区| 亚洲综合精品第一页| 国产91小视频在线观看| 欧美成人一级| 国产人人干| 免费xxxxx在线观看网站| 国产毛片高清一级国语 | 国产欧美精品午夜在线播放| a级毛片免费在线观看| 成年女人a毛片免费视频| 精品一区二区无码av| 欧美中文字幕在线视频 | 国产va在线观看| 亚洲一级毛片| 内射人妻无码色AV天堂| 国产美女精品人人做人人爽| 欧美精品v欧洲精品| 国产精品自在在线午夜| 国产av剧情无码精品色午夜| 亚洲A∨无码精品午夜在线观看| 国产视频久久久久| 男女男精品视频| 久久综合国产乱子免费| 亚洲成av人无码综合在线观看| 无码内射在线| 天堂成人在线| 天天激情综合| 久久精品国产亚洲麻豆| 一区二区无码在线视频| 欧美激情视频一区二区三区免费| 欧美区在线播放| 国产网友愉拍精品视频| 日韩第八页| 国产草草影院18成年视频| 亚洲成a人片| 久久综合干| 国产日韩欧美中文| 国产男女XX00免费观看| 国产精品lululu在线观看| 欧美综合激情| 成人国产精品2021| 无码精品国产dvd在线观看9久| 欧美区国产区| 67194亚洲无码| 色综合日本| 亚洲视频免| 日本AⅤ精品一区二区三区日| 国产福利在线免费| 欧洲极品无码一区二区三区| 国产欧美精品一区二区| 欧美日韩久久综合|