?

基于異構圖嵌入的惡意軟件檢測

2024-04-13 06:54黃青
電子設計工程 2024年7期
關鍵詞:異構靜態準確率

黃青

(武漢郵電科學研究院,湖北 武漢 430000)

惡意程序猖獗已久,從國家互聯網應急中心(CNCERT)發布的數據[1]來看,僅2021 年上半年,機構就捕獲惡意程序樣本數量約2 307 萬個。傳統的基于簽名的檢測方法不足以應對瞬息萬變的惡意軟件,將人工智能技術應用于惡意軟件檢測一直是網絡安全研究中的熱點,有的研究使用了軟件的靜態特征[2],有的研究使用動態特征[3-4],也有的研究將動靜態特征結合分析[5]。

圖能表征很多內容,但其非歐式結構卻不適用于傳統的機器學習或者深度學習算法模型。近年來興起的圖神經網絡就致力于研究將圖結構向量化并用于算法模型,將稀疏高維的原始數據變得稠密低維以提高算法效率,也是圖算法研究中的重要一環。圖神經網絡已經廣泛用于社交網絡[6]、推薦系統[7]等場景,而對于網絡安全方面的應用相對較少[8]。

文中研究了圖嵌入在惡意軟件檢測工作上的應用,從樣本的掃描報告提取軟件的多種特征構建軟件的異構圖,通過改進的圖嵌入方法得到異構圖中節點的特征向量,然后利用嵌入向量完成后續檢測工作。

1 惡意軟件的異構圖嵌入方法

1.1 惡意軟件的網絡模式

定義1 圖定義為G=(V,E,φ,ψ),圖的每個對象(節點)v∈V屬于對象類型集合A:φ(v)∈A,每個關系(邊)e∈E屬于關系類型集合R:ψ(e)∈R。異構圖(heterogeneous graph)的對象類型數和關系類型數|A|+|R|>2,與之對應的同構圖(homogeneous graph)的類型集合 |A|=1 且 |R|=1。兩種圖示例如圖1所示。

圖1 兩種圖示例

定義2 網絡模式是一個定義在異構圖G=(V,E)的對象類型集合A和關系類型集合R上的元模板,記為TG=(A,R)。

惡意軟件檢測使用的特征一般根據提取方式分為靜態特征和動態特征,靜態特征不需要運行軟件就可獲得,但是容易受到混淆影響;動態特征從運行中獲得,其描述軟件行為的信息更準確,但是因為需要運行所以提取效率不如靜態特征[9]。文中構建的惡意軟件異構圖的網絡模式中綜合考慮了軟件的動靜態特征,根據數據源在靜態特征上選取了函數導入表,動態特征上選取了打開文件和注冊表行為。惡意軟件的網絡模式如圖2 所示。

圖2 惡意軟件的網絡模式

該網絡模式中的節點類型有可執行文件(PE,P)、導入函數(API,A)、動態鏈接庫(DLL,D)、打開文件(F)和打開注冊表項(R)。節點之間涉及了四種關系,分別是:

1)R1:PE 導入API;

2)R2:API 屬于DLL;

3)R3:PE 打開文件;

4)R4:PE 打開注冊表。

1.2 改進的異構圖嵌入方法

圖在計算機中用以表示圖的矩陣一般是稀疏高維的,對這些矩陣進行直接運算代價極大,而且包含了很多無效計算。為了讓運算更高效,需要對圖進行嵌入處理。對于圖G=(V,E),圖嵌入定義[10]為一種映射f:vi→yi∈Rd(?i∈n,d? ||V),其中,d為嵌入后的向量維度。

異構圖的嵌入方法一般是分解圖的矩陣(比如鄰接矩陣)生成節點的潛在維度表示[11],然而惡意軟件檢測對時間性能要求很高,文中選取了計算代價相對較小的基于隨機游走(random walk)的圖嵌入方法。

基于隨機游走的圖嵌入方法主要是將自然語言處理中的Word2Vec 思想延伸到圖上[12],經典的模型有DeepWalk[13]、metapath2vec[14]等,Deepwalk 通過等概率隨機游走策略將一個節點周圍的節點轉為該節點的“上下文”。metapath2vec 隨機游走時下一個節點的選擇取決于元路徑的限制,元路徑(meta path)是網絡模式TG=(A,R) 上由不同類型的對象和指定關系序列組成的一條路徑P,表現形式為

惡意軟件的異構圖嵌入方法主要借鑒了metagraph2vec,通過元路徑限制的隨機游走策略在獲取上下文的同時保持了不同類型節點之間的語義和結構關聯性,并針對惡意軟件檢測做了以下優化:

1)根據信息安全知識設計了可以描述軟件不同特征的元路徑,采用幾何角度加權的方式融合多條元路徑嵌入得到的向量。

2)針對惡意檢測時的節點分類任務場景采用了不同的嵌入模型。

1.2.1 隨機游走策略

metapath2vec 中的隨機游走策略是基于元路徑指導的,文中基于安全知識提出圖3 所示的四種元路徑,M1和M2刻畫了PE 文件的靜態特征函數導入,M3和M4刻畫了PE 文件的動態特征打開文件和打開注冊表項。

圖3 四種元路徑

下面以元路徑M1為例說明游走策略,M1描述了兩個PE 文件導入同一個API 的場景,步行者會遍歷異構圖中的每一個P節點,從其中一個可執行文件節點pi出發,pi的周圍可能各種節點,但異構圖的隨機游走只在A節點中做隨機選擇,選擇A節點aj后,又從aj的周圍選擇可執行文件節點pi+1。

1.2.2 嵌入方法

隨機游走后得到的節點路徑可以作為語料庫,然后使用自然語言處理的嵌入模型進行處理。metagragh2vec 方法使用的是skip-gram 模型,而針對惡意軟件的圖嵌入方法選擇了CBOW 模型。skipgram 和CBOW 是word2vec的兩種模型,skip-gram 是從中心詞對周圍的詞進行預測,而CBOW 模型則是通過周圍的詞預測中心詞。惡意軟件的圖嵌入目的是預測節點類型,屬于從上下文(周圍節點)預測中心詞(中心節點),因此選用CBOW 模型進行嵌入。

四種元路徑會獲得四種特征空間的向量,為了使最終獲得的向量可以更全面地描述軟件,文中方法將幾種特征向量進行主角度加權融合,從物理意義上看,特征融合讓惡意軟件之間通過多種角度聯系到一起提升了關聯性,從而可以提高分類檢測的準確率。

假設有特征空間Yi和Yj,它們之間的角度余弦值cosθ定義如式(1)所示:

設θ1,θ2,…,θd是空間Yi和Yj的主角度,則Yi和Yj的幾何距離d如式(2)所示:

根據兩個空間的幾何距離計算空間Yi的權重,如(3)所示:

2 實驗及分析

實驗運行在Intel Core i5 CPU@2.4 GHz 操作環境,Python 作為語言。利用DGL 庫構建異構網絡和隨機游走,gensim 庫完成嵌入,sklearn 實現分類。

2.1 實驗數據集及評估指標

實驗數據收集主要使用了威脅情報平臺VirusTotal 智能查詢接口和掃描報告接口。遵循諸多研究中的判定規則,實驗中把VirusTotal 掃描結果判定數少于3 的認為是良性樣本,而惡意樣本來源于Acronis2021 年上半年報告[15]中公布的十大惡意家族。經過篩選后有效樣本數據共4 902個,其中良性樣本2 284個,惡意樣本2 618 個。

實驗分類模型選取了內核為RFC 的支持向量機(SVC),結果評估以惡意為正例,選取了四個指標,分別為準確率、精確率、召回率和F1-Score。

2.2 異構圖嵌入方法的參數敏感性

實驗數據集中的4 902 個樣本共關聯了28 826個API、923 個DLL、205 803 個被操作文件和67 274個注冊表項,構成的異構圖節點向量初始維度高達30 萬維。實驗首先在其他參數不變的情況下,使用元路徑M3探討參數隨機游走的游走長度l和嵌入的維度d對結果的影響。

游走長度l對檢測準確率的影響如圖4 所示。從結果可以看出,l從40提升至100的過程中,準確率也在逐步提高,而當其超過100 后對準確率的提升就沒有明顯效果,甚至有下降趨勢。游走長度過短時無法很好地捕獲異構圖的結構信息,過長時生成的節點路徑可能會趨于相近造成混淆,游走長度變長還會導致計算量的增加。綜合來看,游走長度l設置為100 是可以兼顧準確率和計算代價的性價比選擇。

圖4 游走長度l和準確率

嵌入維度d的設置對檢測準確率的影響如圖5所示。從結果可知,d從32 增長至128 的過程中,準確率逐步升高,而超過128 之后,準確率有了下降的趨勢。這是因為當嵌入維度過小時,會有很多信息被舍棄,得到的特征向量難以準確表達圖的內容,而維度過高時,得到的特征向量信息密度比較稀疏,也難以取得較好的效果,綜合來看嵌入維度d設置為128 可以獲得較好效果。

圖5 嵌入維度d對結果的影響

除了以上討論的兩個參數,其他比較重要的參數還有每個節點的游走次數n、嵌入時的滑動窗口大小w等,文中方法使用了研究中常使用的經典值。

2.3 分類檢測結果及分析

為了檢測改進的圖嵌入方法在惡意軟件檢測上的有效性,實驗選取了兩種經典的圖嵌入方法與改進方法進行對比。

方法一是文獻[13]使用的DeepWalk,該模型不區分節點類型進行等概率隨機游走。

方法二是文獻[14]使用的metapath2vec,該模型在游走時根據設置的元路徑在指定類型的節點中進行隨機游走。

三種方法的參數設置都為每個節點游走次數10,游走長度100,嵌入維度128,滑動窗口大小5。metapath2vec 和改進方法得到的向量都進行了融合處理。對比結果如表1 所示。

表1 模型性能評估結果

從結果可以看出,改進方法在各項性能上都有最佳表現,準確率最高相差2.8%。DeepWalk 方法明顯遜于后兩種方法,原始的metapath2vec 方法在惡意軟件檢測的應用上也不如改進方法。

文獻[16]在metapath2vec 的基礎上提出了更復雜的metagraph2vec,但由于在此次研究中難以獲取文獻[16]中軟件提交來源這種企業級別的內容,因此只對比部分元路徑,該文獻設計的MID1、MID5使用的特征與M1、M2相似,單條元路徑上的分類檢測結果對比如表2 所示。

表2 與文獻[16]單條元路徑對比

從單條元路徑檢測結果來看,文中改進的方法依然優于文獻[16],準確率相差近10%。融合特征上由于兩個方法使用的特征存在較大差異,故沒有進行對比。

3 結論

針對圖智能算法在惡意軟件檢測上的應用,文中提出了一種基于異構圖嵌入的檢測方法。該方法提取了靜態特征和動態特征一起構建惡意軟件的異構圖,然后采用改進的基于元路徑的嵌入方法對異構圖進行學習,最后將融合的特征向量送入SVM 分類器完成檢測。通過實驗獲得了嵌入方法的最佳參數,并與其他方法對比證明了提出改進方法的有效性。

在下一步的研究中,將嘗試找到更符合真實情況中惡意軟件分布的數據集,同時提取更多的惡意軟件特征將方法進行擴展;另一方面,提出方法目前只適用于不變化的圖,圖動態變化時要如何高效學習和檢測也是待解決問題。

猜你喜歡
異構靜態準確率
試論同課異構之“同”與“異”
最新進展!中老鐵路開始靜態驗收
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
猜猜他是誰
高速公路車牌識別標識站準確率驗證法
異構醇醚在超濃縮洗衣液中的應用探索
overlay SDN實現異構兼容的關鍵技術
LTE異構網技術與組網研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合