• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于圖神經(jīng)網(wǎng)絡(luò)的惡意軟件分類方法

      2023-09-16 03:33:00杜建斌陳傲晗
      互聯(lián)網(wǎng)周刊 2023年17期

      杜建斌 陳傲晗

      摘要:應(yīng)對惡意軟件帶來的威脅需要準(zhǔn)確的檢測和分類技術(shù)。傳統(tǒng)的檢測策略如簽名掃描,依賴于對惡意軟件進行手動分析以提取相關(guān)特征,這是一項工作繁重且需要專業(yè)知識的任務(wù)。函數(shù)調(diào)用圖包括一組程序函數(shù)及其過程間調(diào)用,提供了豐富的信息源,可以用于對惡意軟件進行分類,而無須進行繁重的特征提取步驟,這是傳統(tǒng)技術(shù)的一大優(yōu)勢。在這項研究中,我們將惡意軟件分類視為圖分類問題?;诰植慷攘刻卣?,我們訓(xùn)練了一系列圖神經(jīng)網(wǎng)絡(luò)架構(gòu)來生成嵌入向量,然后進行分類。我們發(fā)現(xiàn),我們的最佳GNN模型在分類上表現(xiàn)優(yōu)于以往類似研究。

      關(guān)鍵詞:圖神經(jīng)網(wǎng)絡(luò);函數(shù)調(diào)用圖;局部度量特征;最佳GNN模型;惡意軟件分類

      引言

      在移動設(shè)備領(lǐng)域,Android惡意軟件已逐漸成為一個廣泛的問題,對系統(tǒng)安全造成了嚴(yán)重威脅。根據(jù)2021年的數(shù)據(jù),每天都有近25000個新的惡意軟件樣本被發(fā)現(xiàn),其中大約350萬個是針對Android系統(tǒng)的。雖然Android作為一個開源平臺,為開發(fā)者提供了很大的應(yīng)用開發(fā)自由度,但這也為惡意開發(fā)者創(chuàng)造了便利,制作并分發(fā)有害應(yīng)用。因此,有效地檢測和分類惡意軟件對于確保Android用戶安全顯得尤為關(guān)鍵。先前的研究表明,很多新出現(xiàn)的惡意應(yīng)用實際上是已知惡意軟件的變種,因此它們在行為上有許多相似之處。例如,GinMaster和DroidKungFu兩款惡意軟件均可能盜取并傳輸用戶機密信息?;谶@些惡意軟件的特征,我們可以對它們進行分類。

      雖然基于簽名的惡意軟件檢測方法在某些場合中運行得相對迅速且有效,但它們在應(yīng)對0-day惡意軟件時可能會束手無策,相反,基于機器學(xué)習(xí)的技術(shù)有潛力更好地檢測和分類新型惡意軟件。從另一方面看,靜態(tài)惡意軟件分析可能受到代碼混淆技術(shù)的干擾,而動態(tài)分析在這方面表現(xiàn)得更為穩(wěn)健,盡管需要更多的資源和時間進行分析。

      與先前的研究相似,許多方法都使用了靜態(tài)分析來提取惡意軟件的特征,如用戶權(quán)限、API調(diào)用等,并采用機器學(xué)習(xí)對其進行分類,但這些機器學(xué)習(xí)算法在模擬函數(shù)之間的復(fù)雜交互上可能有所不足。與此相反,基于圖的方法能夠更自然地捕獲這些交互,并能學(xué)習(xí)特征之間的關(guān)系。此外,基于圖的方法無須深入代碼分析即可迅速提取特征,因此與傳統(tǒng)方法相比具有明顯優(yōu)勢。本研究的核心目標(biāo)是深入研究基于圖的惡意軟件分類方法,這些方法主要依賴從軟件源代碼中提取的圖結(jié)構(gòu)數(shù)據(jù)。

      1. 背景和相關(guān)工作

      1.1 傳統(tǒng)的基于學(xué)習(xí)的分類方法

      傳統(tǒng)的基于學(xué)習(xí)的分類方法主要是利用特征數(shù)來訓(xùn)練貝葉斯分類器,用以檢測惡意軟件[1]。另外,2014年提出Drebin數(shù)據(jù)集的論文同時也詳述了如何從Android的apk文件中提取特點,例如權(quán)限和API調(diào)用,并隨后采用支持向量機(SVM)對其分類。接下來,一種被稱為“顯著權(quán)限識別”(SIGPID)的方法被提出,該方法通過三層篩選過程對惡意應(yīng)用的權(quán)限數(shù)據(jù)進行深度挖掘,識別出22個關(guān)鍵權(quán)限,并以此為特征來訓(xùn)練SVM分類器。

      隨著深度學(xué)習(xí)的興起,有研究采用了將權(quán)限序列轉(zhuǎn)化為詞嵌入,并作為長短時記憶網(wǎng)絡(luò)(LSTM)模型的輸入特征。同樣地,基于API調(diào)用的特征是根據(jù)其出現(xiàn)頻率選取的,并將它們映射到一個圖像類結(jié)構(gòu),再采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行分類[2]。研究結(jié)果突顯API調(diào)用和權(quán)限作為Android惡意軟件檢測的有力特征,但如何選擇這些特征最好是基于具體的數(shù)據(jù)集來定。

      操作碼序列的n-gram特征在惡意軟件檢測方面也得到了有效應(yīng)用,有的研究則采用了將原始操作碼序列編碼為獨熱向量,并使用CNN模型對其分類。值得注意的是,依賴操作碼特征的技術(shù)可能受到某些基礎(chǔ)混淆技巧的干擾,因為操作碼序列可以直接被修改。另一種流行策略是將文件轉(zhuǎn)化為灰度圖形,利用CNN在惡意軟件檢測和分類上的能力。關(guān)于惡意軟件分類的其他探索還包括一系列創(chuàng)新方法,如有研究者從代碼中提取了基于組件間通信的模式。

      1.2 基于圖學(xué)習(xí)的分類方法

      傳統(tǒng)學(xué)習(xí)技術(shù)依賴于特征和分類器的種類,而基于圖的學(xué)習(xí)則重視圖結(jié)構(gòu)的種類以及節(jié)點特征的嵌入策略。例如,有的論文涉及API調(diào)用圖的應(yīng)用。具體地說,應(yīng)用程序和API之間的關(guān)系被以結(jié)構(gòu)化的異構(gòu)信息網(wǎng)絡(luò)(HIN)呈現(xiàn),API間的關(guān)系則通過元路徑來映射[3]。研究者進一步采用基于元路徑的方法來表述應(yīng)用程序和API的語義關(guān)聯(lián),并通過多核學(xué)習(xí)來匯集相似度。異構(gòu)圖使用多種類型的關(guān)系來連接不同的節(jié)點。

      對API調(diào)用序列圖進行了多重嵌入表示,這些表示被成功用于惡意軟件的檢測和分類。此研究采用遞歸神經(jīng)網(wǎng)絡(luò)來解碼深層次的語義信息,并通過一種圖卷積網(wǎng)絡(luò)(GCN)的變種來提取和建模高級的圖形語義信息[4]。研究者基于API序列使用skip-gram模型來提取圖的節(jié)點特征,這些特征構(gòu)成了一個異構(gòu)圖,這個圖基于應(yīng)用程序-API和API-API的關(guān)系。另一種在惡意軟件分析中常見的圖類型是基于操作碼的函數(shù)調(diào)用圖。操作碼序列被視作文本特征,并利用傳統(tǒng)機器學(xué)習(xí)方法(如隨機森林和SVM)進行分類。相對的,有的研究者選擇基于LSTM的神經(jīng)網(wǎng)絡(luò)進行分類,創(chuàng)建了被稱為co-opcode圖的創(chuàng)新圖結(jié)構(gòu),通過提取特定的操作碼模式構(gòu)建,并采用隱馬爾可夫模型(HMM)進行分類[5]。

      就像處理文本特征那樣,操作碼級的圖也可以被處理,而不僅是作為圖形數(shù)據(jù)。例如,有的研究者使用動態(tài)生成的網(wǎng)絡(luò)流圖創(chuàng)建了一個名為Network Flow Graph Neural Network(NF-GNN)的新模型。這個模型使用基于邊特征的圖神經(jīng)網(wǎng)絡(luò)(GNN)進行分類。上述圖的方法大都是靜態(tài)的,意味著它們可能并不適用于未見過的0-day惡意軟件的檢測。我們的研究目標(biāo)之一是分析基于圖的歸納性模型,即那些能夠預(yù)測0-day惡意軟件的模型。我們計劃構(gòu)建基于控制流圖(CFG)的模型。CFG中,節(jié)點代表程序語句,而邊則代表程序的流向?;贑FG的內(nèi)部映射流程極可能適合于0-day惡意軟件的分類,因為它僅僅依賴于APK代碼的特征。深度圖卷積神經(jīng)網(wǎng)絡(luò)(DGCNN)被用來嵌入CFG的結(jié)構(gòu)信息,從而實現(xiàn)惡意軟件的高效分類。

      與CFG相對應(yīng)的是函數(shù)調(diào)用圖(FCG),節(jié)點表示子程序,而邊表示子程序間的調(diào)用關(guān)系。研究者通過對惡意軟件進行靜態(tài)分析來獲取操作碼級別的函數(shù)調(diào)用圖。而使用自然語言處理(NLP)啟發(fā)的圖嵌入方法將Android應(yīng)用的圖結(jié)構(gòu)轉(zhuǎn)為向量。在另一篇相關(guān)論文中,研究者介紹了MalNet數(shù)據(jù)集一個從apk文件中提取了FCG數(shù)據(jù)的大型Android惡意軟件數(shù)據(jù)集。他們考慮了多種圖表示學(xué)習(xí)方法,如GraphSAGE和圖同構(gòu)網(wǎng)絡(luò)(GIN),并發(fā)現(xiàn)FEATHER和GIN提供了最好的分類性能。同樣使用MalNet數(shù)據(jù)集,作者利用節(jié)點特征,如頁面排名和度數(shù),使用Jumping Knowledge GNNs (JK-GNN),并發(fā)現(xiàn)JK-GraphSAGE表現(xiàn)最出色。

      2. 方法

      2.1 節(jié)點特征提取

      在本文的模型中,使用LocalDegree Profile方法來初始化圖中節(jié)點的特征。LDP的計算比較簡單,僅依賴某個節(jié)點及其一階鄰居。對于一個圖,令表示節(jié)點的度,那么的LDP計算為

      式中,表示均值,表示標(biāo)準(zhǔn)差。直觀上,LDP反映了G中某一節(jié)點和其一階鄰居的統(tǒng)計信息。對于本文的研究目標(biāo)來說,LDP所帶來的一個潛在優(yōu)勢是其他深度學(xué)習(xí)技術(shù)也能夠利用其特征進行訓(xùn)練。

      2.2 圖神經(jīng)網(wǎng)絡(luò)

      2.2.1 GraphConvolutionalNetwork

      GraphConvolutionalNetwork(GCN)通過不斷聚合多層鄰居信息來完成節(jié)點特征的更新。具體地,令為圖G的鄰接矩陣,其中且當(dāng)且僅當(dāng)存在邊,否則為圖G的增加了節(jié)點自環(huán)的鄰接矩陣。那么如果GCN有L層,那么從層到層的計算可以表示為

      式中,表示第層的輸入(即為模型原始輸入),每個節(jié)點使用D維向量表示特征。為圖G中節(jié)點的度矩陣。為可訓(xùn)練參數(shù),為非線性激活函數(shù),例如。

      2.2.2 GraphSage網(wǎng)絡(luò)

      GraphSage發(fā)表于[Inductive representation learning on large graphs]。與GCN不同,GraphSAGE隨機抽樣了一個固定大小的節(jié)點鄰居子集。這有助于限制算法的空間和時間復(fù)雜度,僅節(jié)點的局部鄰域相關(guān)的信息被收集并用于計算和更新節(jié)點嵌入。在每次迭代中,首先對節(jié)點的鄰域進行采樣,然后將來自采樣節(jié)點的信息,按照某種計算方法,聚合到該節(jié)點中。具體地,圖G中的節(jié)點的一階鄰居表示為。對于節(jié)點,第層到層(+1)的計算可以表示為

      式中,和分別表示節(jié)點和其一階鄰居的特征向量,Agg (·)即為某種聚合規(guī)則,比如,使用Agg (·)=MEAN (·)則表示對節(jié)點和其一階鄰居的特征向量做平均聚合。Comb (·)是表示將聚合出來的特征向量與進行組合,并通過非線性激活函數(shù)進行最終的計算。

      3. 實驗

      3.1 數(shù)據(jù)集

      本文使用MalNet-Tiny數(shù)據(jù)集,該數(shù)據(jù)集包含了5000個從Android APK文件中提取的函數(shù)調(diào)用圖。MalNet-Tiny數(shù)據(jù)集是類別平衡的,每個類別都有1000個樣本。我們在表1中顯示了這些圖的一些基本特征。

      3.2 基線模型與結(jié)果

      多層感知機器(multi-layer perceptron,MLP):本文使MLP作為基準(zhǔn),以便將其與深度學(xué)習(xí)模型進行比較。在這種情況下,我們使用了LDP特征進行分類。從表2中可以看出,我們在訓(xùn)練50個epochs、使用5層、且dropout率設(shè)置為0.5的情況下獲得了0.8054的最佳準(zhǔn)確率結(jié)果。

      WL-Kernel:本文使用WL-Kernel作為基線模型,以便將其與傳統(tǒng)機器學(xué)習(xí)模型進行比較。另外,我們額外使用節(jié)點度和PageRank值作為特征向量,以生成WL-Kernel方法所需的特征。然后,使用WL-Kernel方法計算一個核矩陣并應(yīng)用隨機森林進行分類。該模型使用表中提到的超參數(shù)進行調(diào)優(yōu),最終獲得的最佳準(zhǔn)確率為0.7053。

      3.3 GNN結(jié)果

      在本節(jié)中,我們對第3.2節(jié)中介紹的每個GNN模型(GCN與GraphSage)進行了實驗。每個模型的輸入圖形是由Pytorch中的GraphDataLoader生成的批次圖,且都進行了200個epoch的訓(xùn)練,每個卷積層都使用PyTorch Torch Geometric庫中的卷積算子計算新的節(jié)點表示,并且使用了Adam優(yōu)化器。每個模型都使用下表中列出的超參數(shù)進行調(diào)優(yōu)。

      從表3中可以看出,GCN在所有被比較的模型中表現(xiàn)最佳,準(zhǔn)確率達到了0.9582。相比之下,GraphSAGE的準(zhǔn)確率為0.8913,在分類準(zhǔn)確率上比GCN低4%左右。聯(lián)系4.2中的結(jié)果可以看到,GraphSage模型在惡意軟件分類問題上,仍強于MLP代表的非基于圖的深度學(xué)習(xí)模型和WL-Kernel代表的傳統(tǒng)的機器學(xué)習(xí)模型。

      結(jié)論

      在研究中,我們使用基于圖的學(xué)習(xí)方法對MalNet-Tiny數(shù)據(jù)集中的五種不同類型的Android惡意軟件進行了分類。使用局部度量特征(LDP)對節(jié)點特征進行編碼,并在這些特征上訓(xùn)練了多種基于GNN的模型。具體來說,我們嘗試了GCN、GraphSAGE。作為對比,在同樣的數(shù)據(jù)集上還進行了多層感知機和WL-Kernel方法的實驗,實驗結(jié)果顯示,基于圖的深度學(xué)習(xí)方法在惡意軟件分類準(zhǔn)確率上強于非基于圖的深度學(xué)習(xí)和傳統(tǒng)的機器學(xué)習(xí)算法。最后,本研究考慮的模型僅基于圖結(jié)構(gòu),如果將這些基于圖的模型與更傳統(tǒng)的特征相結(jié)合(人工定制的特征),可能會產(chǎn)生比這里考慮的模型或僅基于更傳統(tǒng)特征的學(xué)習(xí)模型更強大的模型。

      參考文獻:

      [1]郎大鵬,丁巍,姜昊辰,等.基于多特征融合的惡意代碼分類算法[J].計算機應(yīng)用,2019,39(8):2333-2338.

      [2]吳月明,齊蒙,鄒德清,等.圖卷積網(wǎng)絡(luò)的抗混淆安卓惡意軟件檢測[J].軟件學(xué)報,2023,34(6):2526-2542.

      [3]岳子巍,方勇,張磊.基于圖注意力網(wǎng)絡(luò)的安卓惡意軟件檢測[J].四川大學(xué)學(xué)報(自然科學(xué)版),2022,59(5):88-95.

      [4]鄒長寬,田小平,張曉燕等.基于GraphSage節(jié)點度重要性聚合的網(wǎng)絡(luò)節(jié)點分類研究[J].科學(xué)技術(shù)與工程,2022,22(32): 14306-14312.

      [5]徐立祥,葛偉,陳恩紅,等.基于圖核同構(gòu)網(wǎng)絡(luò)的圖分類方法[EB/OL].(2023-7-20)[2023-8-20].http://kns.cnki.net/kcms/detail/11.1777.TP.20230719.1829.006.html.

      作者簡介:杜建斌,本科,電子信息工程,研究方向:計算機網(wǎng)絡(luò)安全;陳傲晗,本科,研究方向:物聯(lián)網(wǎng)網(wǎng)絡(luò)安全。

      镇巴县| 吉隆县| 肇源县| 宁波市| 保山市| 溆浦县| 东平县| 花莲县| 内黄县| 景泰县| 蒙阴县| 乌鲁木齐县| 正定县| 特克斯县| 万全县| 广州市| 尉氏县| 句容市| 合川市| 绍兴县| 高雄县| 扎鲁特旗| 荣昌县| 敦化市| 饶阳县| 德兴市| 雅安市| 闽清县| 临邑县| 罗江县| 秀山| 海宁市| 临泉县| 巴林右旗| 策勒县| 宁陕县| 读书| 会宁县| 平阳县| 美姑县| 萨嘎县|