雷靖瑋,伊 鵬,陳 祥
(信息工程大學(xué) 信息技術(shù)研究所,河南 鄭州 450002)
2018年思科年度安全報(bào)告[1]指出,PDF文檔占同年電子郵件攻擊載體的14%。但這類安全問題并沒有引起人們足夠的重視。在人們的傳統(tǒng)觀念中,PDF文檔作為一種靜態(tài)文檔難于修改,因而在安全防護(hù)時(shí)往往忽視其存在。此外,PDF文檔規(guī)范的更新在豐富其功能性的同時(shí)也帶來了許多潛在風(fēng)險(xiǎn)。一方面,新的規(guī)范賦予PDF文檔更強(qiáng)的功能,包括進(jìn)行網(wǎng)絡(luò)行為交互、腳本執(zhí)行等,另一方面,新的規(guī)范也導(dǎo)致文檔閱讀器的設(shè)計(jì)愈發(fā)復(fù)雜,變相引入更多可利用漏洞。
目前針對惡意文檔的檢測手段主要可分為兩類,即靜態(tài)檢測和動(dòng)態(tài)檢測。靜態(tài)檢測主要通過靜態(tài)解析文檔,判斷文檔中是否含有惡意負(fù)載從而完成檢測。這種方式的局限性在于攻擊者可以通過混淆等方式規(guī)避檢測。與靜態(tài)檢測相反,動(dòng)態(tài)檢測主要通過執(zhí)行部分或整個(gè)文檔并跟蹤其行為從而做出判斷。但這類方法往往因系統(tǒng)開銷較大而難以大規(guī)模應(yīng)用。
本文提出了一個(gè)以系統(tǒng)調(diào)用為對象,結(jié)合圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)技術(shù)的PDF文檔檢測模型。與傳統(tǒng)檢測方法相比,該模型不依賴于文檔本身的元數(shù)據(jù)和結(jié)構(gòu)數(shù)據(jù),因而具有更強(qiáng)的魯棒性與適應(yīng)性。通過圖神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)技術(shù)對系統(tǒng)調(diào)用數(shù)據(jù)進(jìn)行處理,能夠更加深入發(fā)掘文檔行為中的潛在特征。在此基礎(chǔ)上進(jìn)一步設(shè)計(jì)了一種復(fù)合式的圖采樣技術(shù)有效降低模型的性能開銷??傊疚牡闹饕暙I(xiàn)在于:
(1)將圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)技術(shù)融合,應(yīng)用于惡意PDF文檔的檢測,通過圖卷積網(wǎng)絡(luò)學(xué)習(xí)系統(tǒng)調(diào)用間的潛在關(guān)聯(lián),同時(shí)使用深度學(xué)習(xí)提取系統(tǒng)調(diào)用對的特征信息作為補(bǔ)充,最終以較低的訓(xùn)練開銷取得了良好的檢測效果。
(2)提出了一種帶有匹配機(jī)制的有偏隨機(jī)游走方式,該采樣方法以H指數(shù)為基礎(chǔ),能夠較好地保留圖的關(guān)鍵部分,在降低系統(tǒng)開銷的同時(shí)有效提高模型的檢測效率。
(3)在所收集數(shù)據(jù)的基礎(chǔ)上進(jìn)行大量實(shí)驗(yàn),探究模型所選方法的有效性和可解釋性,同時(shí)對于模型部分參數(shù)的最佳設(shè)置進(jìn)行了實(shí)驗(yàn)研究。
目前常見的惡意文檔檢測方法主要是靜態(tài)分析檢測和動(dòng)態(tài)分析檢測,本節(jié)將圍繞這兩種檢測方案介紹目前主流檢測手段與不足之處,同時(shí)陳述本文的寫作動(dòng)機(jī)。
靜態(tài)檢測主要依賴于文檔的結(jié)構(gòu)和數(shù)據(jù)特征,大致上可以分為3類。第一類主要通過解析PDF文檔中嵌入的JavaScript代碼。Mao等[2]提出了一種基于主動(dòng)學(xué)習(xí)的代碼檢測方式,在分析系統(tǒng)對象的數(shù)據(jù)流依賴方式的基礎(chǔ)上,提出了一種將程序訪問行為的異常度與相似性相結(jié)合的檢測方式。Jia等[3]提出了一種面向云的可疑程序自動(dòng)監(jiān)測系統(tǒng)。這些方法的一個(gè)共同問題在于攻擊者能夠通過混淆及動(dòng)態(tài)代碼加載等方式逃避檢測。另外,由于文檔靜態(tài)解析器通常根據(jù)預(yù)定義的規(guī)則提取JavaScript腳本,因此攻擊者可以利用這些規(guī)則來確定隱藏惡意代碼的方式。
第二類則主要依賴于文檔的結(jié)構(gòu)數(shù)據(jù)與元數(shù)據(jù)。Cohen等[4]提出了一種基于XML的Office文檔結(jié)構(gòu)特征提取方式。Nissim等[5]在其基礎(chǔ)上特化了針對docx文檔格式的檢測能力。rndi等[6]將文檔的邏輯結(jié)構(gòu)與其內(nèi)容相結(jié)合,能同時(shí)適用于多種文檔類型的檢測。Azab等[7]則是將文件字節(jié)表示為音頻信號(hào)以完成檢測。以上方法在攻擊者可以隱藏攻擊模式或妨礙檢測器解析過程的情況下效果不夠理想。
第三類是基于簽名的檢測。YARA[8]幫助用戶為程序創(chuàng)建特定簽名與模式。OfficeCat[9]則通過掃描待檢測文檔與已有簽名的匹配情況進(jìn)行檢測。這類方法的不足之處在于其難以處理使用了未知手段的攻擊方式,例如零日攻擊等,并且要求動(dòng)態(tài)維護(hù)一個(gè)簽名數(shù)據(jù)庫。
動(dòng)態(tài)檢測主要通過在受監(jiān)視環(huán)境中動(dòng)態(tài)運(yùn)行文檔或其中嵌入的JavaScript代碼并跟蹤文檔行為進(jìn)行檢測。大致可分為以下兩類。
第一類方法主要通過跟蹤文檔解釋器行為。Scofield等[10]根據(jù)文檔運(yùn)行時(shí)解釋器行為訓(xùn)練其文檔分類器完成檢測。Xu等[11]利用平臺(tái)異構(gòu)性在不同平臺(tái)上執(zhí)行相同文檔并比較文檔運(yùn)行時(shí)解釋器行為的異同。這類方法面臨的主要困難在于檢測器分類規(guī)則的制定。
第二類方法是通過執(zhí)行文檔中嵌入的JavaScript代碼。Carmony等[12]在文檔解釋器執(zhí)行代碼的同時(shí),不斷掃描其內(nèi)存空間尋找已知形式的攻擊代碼與惡意的操作碼序列。Liu等[13]提出了兩層解混淆的方法,實(shí)現(xiàn)了對惡意Powershell更加準(zhǔn)確的檢測效果。Lux0r[14]通過檢查JavaScript代碼在運(yùn)行時(shí)產(chǎn)生的API調(diào)用,并利用機(jī)器學(xué)習(xí)進(jìn)行分類。而為應(yīng)對基于Javascript腳本的混淆攻擊,文獻(xiàn)[15,16]提出了相應(yīng)的反混淆檢測技術(shù)。總之,這類方法的主要問題在于難以識(shí)別未知的惡意行為,并且要求隨著新型攻擊方式的出現(xiàn)而動(dòng)態(tài)更新自身的檢測模式。
當(dāng)前基于圖的惡意軟件檢測和分類方法主要集中于靜態(tài)分析,主要方法包括利用函數(shù)調(diào)用圖[17-18]或控制流圖[19,20]來識(shí)別惡意軟件。此外,在惡意文檔檢測方向上基于機(jī)器學(xué)習(xí)的方法主要運(yùn)用于靜態(tài)檢測的研究當(dāng)中,多與文檔的結(jié)構(gòu)數(shù)據(jù)與元數(shù)據(jù)相結(jié)合,而在動(dòng)態(tài)檢測方面的應(yīng)用還存在較大空白。
本文模型借助動(dòng)態(tài)檢測方法,收集文檔運(yùn)行時(shí)產(chǎn)生的系統(tǒng)調(diào)用數(shù)據(jù),而后構(gòu)建基于圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的檢測模型。相比其它研究對象,系統(tǒng)調(diào)用的優(yōu)勢在于:首先,其作為操作系統(tǒng)內(nèi)核的活動(dòng)產(chǎn)物沒有經(jīng)過任何的過濾、解釋與處理。換言之,攻擊者沒有辦法通過修改或刪除等操作破壞系統(tǒng)調(diào)用數(shù)據(jù)的完整性。其次,系統(tǒng)調(diào)用作為操作系統(tǒng)內(nèi)核向上層程序提供服務(wù)的接口,其數(shù)據(jù)能夠間接反映程序的行為特征。與傳統(tǒng)的檢測方法相比,模型使用基于系統(tǒng)調(diào)用圖的動(dòng)態(tài)檢測方式,同時(shí)結(jié)合圖卷積神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)技術(shù)最終實(shí)現(xiàn)文檔的檢測。與傳統(tǒng)基于圖的模型相比,傳統(tǒng)模型更加關(guān)注節(jié)點(diǎn)的屬性特征,相比之下本模型在關(guān)注節(jié)點(diǎn)屬性的基礎(chǔ)上充分挖掘邊緣屬性特征,將圖中的節(jié)點(diǎn)表示與邊緣信息充分融合。
總的來說,本文旨在探究一種基于圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的PDF文檔檢測模型,通過圖卷積神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)技術(shù)對傳統(tǒng)動(dòng)態(tài)檢測方式進(jìn)行改進(jìn)。除了惡意文檔檢測的工作之外,本模型也可考慮用于其它領(lǐng)域如入侵檢測或惡意流量識(shí)別等相關(guān)研究當(dāng)中。
為避免引起不必要的爭議,實(shí)驗(yàn)中不考慮利用社會(huì)工程學(xué)手段引導(dǎo)用戶點(diǎn)擊文檔內(nèi)鏈接下載并運(yùn)行惡意負(fù)載等方式,即不考慮文檔本身未攜帶惡意負(fù)載的間接攻擊模式。這種攻擊方式不會(huì)導(dǎo)致PDF閱讀器產(chǎn)生惡意的系統(tǒng)調(diào)用數(shù)據(jù)。
另外,實(shí)驗(yàn)中不考慮使用的PDF閱讀器以及用于收集系統(tǒng)調(diào)用數(shù)據(jù)的工具本身的問題,即實(shí)驗(yàn)環(huán)境完全可信,同時(shí)也不考慮收集到的數(shù)據(jù)被惡意篡改的情況,保證數(shù)據(jù)的完整性。
本文模型架構(gòu)如圖1所示。
(1)預(yù)處理模塊:對收集到的系統(tǒng)調(diào)用數(shù)據(jù)按照線程進(jìn)行劃分,如執(zhí)行渲染功能、字體加載功能的線程所產(chǎn)生的系統(tǒng)調(diào)用數(shù)據(jù)應(yīng)當(dāng)分屬不同類別,線程劃分的目的在于保證劃分后的系統(tǒng)調(diào)用序列在功能邏輯上具有一致性與連貫性。而后將根據(jù)劃分后的系統(tǒng)調(diào)用序列生成對應(yīng)的系統(tǒng)調(diào)用圖。
(2)圖采樣模塊:根據(jù)所提出的基于H指數(shù)的圖采樣策略提取系統(tǒng)調(diào)用圖中的關(guān)鍵部分,縮減后續(xù)需處理的數(shù)據(jù)規(guī)模。
(3)圖嵌入模塊:將經(jīng)過圖采樣后的子圖中的節(jié)點(diǎn)號(hào)以及邊緣的特征信息映射為對應(yīng)的向量。
(4)前向傳播模塊:使用圖卷積網(wǎng)絡(luò)生成更新節(jié)點(diǎn)的向量表示,同時(shí)使用深度學(xué)習(xí)充分提取邊緣特征中的關(guān)鍵信息。
(5)信息融合模塊:將前向傳播模塊輸出邊緣特征向量與節(jié)點(diǎn)向量進(jìn)行拼接。
(6)預(yù)測模塊:綜合圖中全部的節(jié)點(diǎn)信息對系統(tǒng)調(diào)用子圖的性質(zhì)進(jìn)行預(yù)測,以完成文檔的檢測工作。
本模型將惡意PDF文檔的檢測問題轉(zhuǎn)換為圖的二分類問題。通過系統(tǒng)調(diào)用圖建立系統(tǒng)調(diào)用之間的聯(lián)系,并使用圖神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)技術(shù)學(xué)習(xí)其中的隱藏特征。最終文檔的性質(zhì)通過圖的性質(zhì)進(jìn)行判斷,而圖的性質(zhì)則由迭代后節(jié)點(diǎn)的向量表示所決定。模型的設(shè)計(jì)重點(diǎn)在于圖中邊緣特征向量的特征提取方式以及圖中節(jié)點(diǎn)向量的迭代更新機(jī)制,此外考慮到傳統(tǒng)的圖神經(jīng)網(wǎng)絡(luò)所引起的巨額系統(tǒng)負(fù)擔(dān),必須設(shè)計(jì)一種行之有效的優(yōu)化策略避免實(shí)際應(yīng)用中產(chǎn)生難以承受的性能開銷。
系統(tǒng)調(diào)用圖作為系統(tǒng)調(diào)用的符號(hào)表示,其邊緣屬性能夠有效反映特定時(shí)間范圍內(nèi)系統(tǒng)調(diào)用之間的上下文關(guān)聯(lián)。與線性結(jié)構(gòu)相比,圖結(jié)構(gòu)提供了更豐富的關(guān)系表示,能更加深入地學(xué)習(xí)數(shù)據(jù)間的隱藏聯(lián)系。因此,本文以系統(tǒng)調(diào)用圖為基礎(chǔ)進(jìn)行模型構(gòu)建,結(jié)合圖神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)領(lǐng)域的相關(guān)技術(shù),設(shè)計(jì)了一種較為完備的惡意文檔檢測模型。
模型的部分相關(guān)定義如下。
3.2.1 系統(tǒng)調(diào)用序列
文檔運(yùn)行時(shí)會(huì)產(chǎn)生多個(gè)線程,系統(tǒng)調(diào)用序列由三元組組成,同時(shí)記錄了系統(tǒng)調(diào)用的發(fā)生時(shí)刻以及相應(yīng)線程。seq={(thread1,syscall1,time1),…,(threadn,syscalln,timen)} 其中threadi表示系統(tǒng)調(diào)用所屬線程號(hào),timei表示系統(tǒng)調(diào)用產(chǎn)生的時(shí)間。
3.2.2 系統(tǒng)調(diào)用圖
根據(jù)系統(tǒng)調(diào)用序列可以構(gòu)建相應(yīng)的系統(tǒng)調(diào)用圖G=〈V,E〉, 其中V與E分別表示圖中節(jié)點(diǎn)與邊的集合。此外圖中單個(gè)節(jié)點(diǎn)表示某系統(tǒng)調(diào)用,而邊則用以表示相鄰兩次系統(tǒng)調(diào)用所組成的系統(tǒng)調(diào)用對,形式上記為e=(src,dst,time), 其中src,dst分別表示系統(tǒng)調(diào)用對中源系統(tǒng)調(diào)用和目的系統(tǒng)調(diào)用,time則表示此次切換發(fā)生的時(shí)刻,亦即目的系統(tǒng)調(diào)用的產(chǎn)生時(shí)間。需注意的是,在建立系統(tǒng)調(diào)用圖之前通常將系統(tǒng)調(diào)用序列按照線程劃分為短序列。
3.3.1 線程劃分
在構(gòu)造系統(tǒng)調(diào)用圖之前,從收集的數(shù)據(jù)中按照系統(tǒng)調(diào)用所屬線程對每一文檔產(chǎn)生的系統(tǒng)調(diào)用數(shù)據(jù)進(jìn)行劃分,其過程如圖2所示。此步驟的必要性在于操作系統(tǒng)的并行機(jī)制:文檔運(yùn)行時(shí)往往會(huì)產(chǎn)生多個(gè)線程,不同線程具有不同分工,包括文檔的渲染、字體加載、圖片載入等操作。如單純按照時(shí)間順序?qū)ο到y(tǒng)調(diào)用進(jìn)行排序,則序列中前后相鄰的系統(tǒng)調(diào)用可能分屬不同線程,由此導(dǎo)致邏輯層面的混亂。
圖2 系統(tǒng)調(diào)用數(shù)據(jù)按線程劃分
而線程級的數(shù)據(jù)預(yù)處理能夠在邏輯上對系統(tǒng)調(diào)用數(shù)據(jù)依據(jù)各線程的任務(wù)及功能進(jìn)行區(qū)分,保證相鄰系統(tǒng)調(diào)用的邏輯連貫性,防止模型捕捉錯(cuò)誤的數(shù)據(jù)特征,進(jìn)而提高后續(xù)模型的檢測效果。
3.3.2 系統(tǒng)調(diào)用圖構(gòu)建
對于不同線程的系統(tǒng)調(diào)用序列,以單個(gè)系統(tǒng)調(diào)用作為節(jié)點(diǎn),以系統(tǒng)調(diào)用對作為節(jié)點(diǎn)之間關(guān)聯(lián)邊,建立系統(tǒng)調(diào)用圖。需注意的是文檔在運(yùn)行時(shí)往往會(huì)產(chǎn)生多個(gè)線程,其性質(zhì)需各綜合線程的系統(tǒng)調(diào)用圖決定。線程劃分工作與系統(tǒng)調(diào)用圖構(gòu)建在預(yù)處理算法中同時(shí)完成。預(yù)處理步驟的算法如下:
算法:預(yù)處理算法
輸入:某文檔運(yùn)行時(shí)的系統(tǒng)調(diào)用序列seq
輸出:系統(tǒng)調(diào)用圖集合Gtotal
(1)Gtotal,Tdtotal←?
(2)for eachs=(thread,syscall,time) inseqdo
(3)ifthread?Tdtotalthen
(4)Tdtotal←Tdtotal∪{thread}
(5)Vthread,Ethread←?
(6)Vthread←Vthread∪{syscall}
(7) ifpre==Null then
(8)pre←syscall
(9)continue
(10)Ethread←Ethread∪{(pre,syscall,time)}
(11)pre←syscall
(12)for eachthreadinTdtotaldo
(13)Gthread←(Vthread,Ethread)
(14)Gtotal←Gtotal∪Gthread
算法的輸入部分是文檔運(yùn)行產(chǎn)生的系統(tǒng)調(diào)用序列,輸出是系統(tǒng)調(diào)用圖集合。通過線程號(hào)將系統(tǒng)調(diào)用作為節(jié)點(diǎn)加入到相應(yīng)的節(jié)點(diǎn)集,同時(shí)將系統(tǒng)調(diào)用對作為邊加入到相應(yīng)的邊集。文檔的性質(zhì)將綜合其所有線程的系統(tǒng)調(diào)用圖進(jìn)行判斷。
一直以來,如何篩選出可疑性較高的系統(tǒng)調(diào)用都是研究者重點(diǎn)關(guān)注的問題。在惡意文檔檢測的研究領(lǐng)域中,文檔的惡意行為通常隱藏在大量的良性行為當(dāng)中,即便是文檔運(yùn)行時(shí)產(chǎn)生的惡意線程也并非單純進(jìn)行惡意活動(dòng)。而系統(tǒng)調(diào)用作為用戶與內(nèi)核交互活動(dòng)的產(chǎn)物能夠有效反映出程序的行為特征,在惡意軟件的行為活動(dòng)中,這種特征通常表現(xiàn)為用以完成惡意活動(dòng)的系統(tǒng)調(diào)用出現(xiàn)頻率較低,傳統(tǒng)的基于系統(tǒng)調(diào)用頻率的檢測技術(shù)正是基于此特征而展開的。這種特征反映在圖上則表現(xiàn)為執(zhí)行惡意活動(dòng)的系統(tǒng)調(diào)用節(jié)點(diǎn)的中心性較低。
節(jié)點(diǎn)度是衡量一個(gè)節(jié)點(diǎn)中心性的最簡單方式且應(yīng)用最為廣泛。而核數(shù)作為衡量節(jié)點(diǎn)影響能力的評價(jià)指標(biāo)也已得到了廣泛認(rèn)可[21]。節(jié)點(diǎn)的核數(shù)通過k核分解進(jìn)行計(jì)算:首先從不包含孤立節(jié)點(diǎn)的圖中刪除度為1的節(jié)點(diǎn)及其相鄰邊,重復(fù)此過程直到?jīng)]有節(jié)點(diǎn)被刪除,則被刪除的部分組成1階殼。而后對剩余部分刪除度數(shù)為2的節(jié)點(diǎn)及其鄰邊,后續(xù)重復(fù)此類操作,直到刪除圖中所有節(jié)點(diǎn)。而節(jié)點(diǎn)的核數(shù)等于其所屬殼的階數(shù)。
H指數(shù)雖然因提出時(shí)間較晚在實(shí)際運(yùn)用中較前者而言更稀少,但節(jié)點(diǎn)中心性度量仍非常有效。在圖中某節(jié)點(diǎn)的H指數(shù)為p的實(shí)際含義為該節(jié)點(diǎn)最多有p個(gè)度數(shù)不小于p的鄰居節(jié)點(diǎn)。
顯然節(jié)點(diǎn)度、H指數(shù)、核數(shù)三者的計(jì)算開銷是依次遞增的,計(jì)算節(jié)點(diǎn)度只需要節(jié)點(diǎn)周圍非常局部的拓?fù)湫畔?、?jì)算核數(shù)則需要圖的全局拓?fù)湫畔?,H指數(shù)則介于二者之間。事實(shí)上三者間可通過H算子進(jìn)行互相轉(zhuǎn)換。
定義算子H,當(dāng)其作用在一組有限實(shí)數(shù) (x1,x2,…,xn) 上時(shí),其返回值y表示滿足條件y=H(x1,x2,…,xn)=max{k|xl1,xl2,…,xlm≥k,m≥k,k∈N} 時(shí)k的最大值。
對于圖G=〈V,E〉, 節(jié)點(diǎn)i的度數(shù)記為ki, 其鄰居的度數(shù)分別為dj1,dj2,…,djs, 則節(jié)點(diǎn)i的H指數(shù)為
hi=H(dj1,dj2,…,djs)
(1)
(2)
(3)
(4)
綜合以上因素,文中提出了一種基于H指數(shù)的圖采樣策略。采樣策略是一種基于H指數(shù)的有偏隨機(jī)游走方式,并且引入一種新的匹配機(jī)制。
(5)
(6)
(7)
(8)
為求解遞推關(guān)系式,定義向量Xn|t如式(9)所示
(9)
在游走的過程中額外進(jìn)行鄰域擴(kuò)展操作,此操作并不會(huì)影響有偏隨機(jī)游走過程,如圖3所示。
圖3 圖采樣過程
總的來說算法通過基于H指數(shù)的匹配機(jī)制進(jìn)行有偏隨機(jī)游走,同時(shí)將隨機(jī)游走過程中經(jīng)過的每一節(jié)點(diǎn)以及節(jié)點(diǎn)的N跳(示意圖中為1跳)鄰居節(jié)點(diǎn)加入到采樣子圖中,依此策略縮減數(shù)據(jù)規(guī)模,提高模型的檢測效率。
此步驟將系統(tǒng)調(diào)用圖的信息輸入模型。
3.5.1 節(jié)點(diǎn)嵌入
(10)
節(jié)點(diǎn)嵌入向量為初始狀態(tài),通過前向傳播進(jìn)行迭代更新以更好地表達(dá)其內(nèi)含的節(jié)點(diǎn)關(guān)聯(lián)關(guān)系。
3.5.2 邊緣嵌入
系統(tǒng)調(diào)用圖中的各邊均有唯一對應(yīng)的特征向量。對于邊緣e=(src,dst,time) 而言,典型的一些特征包括起點(diǎn)終點(diǎn)系統(tǒng)調(diào)用在圖中的度,同一系統(tǒng)調(diào)用相鄰兩次出現(xiàn)的最長以及最短間隔數(shù)與間隔時(shí)間,兩系統(tǒng)調(diào)用在序列中各自出現(xiàn)的次數(shù),以及系統(tǒng)調(diào)用對 (src,dst) 目前的重復(fù)次數(shù)等等。根據(jù)以上特征構(gòu)建的特征向量將作為邊緣信息的初步表征。受到自然語言處理方面的啟發(fā),實(shí)驗(yàn)中考慮將邊緣信息的各類特征視為單詞,將整條特征信息視為一個(gè)完整句子,并將其輸入BERT[22]模型之中進(jìn)行預(yù)訓(xùn)練,通過訓(xùn)練將特征信息進(jìn)行融合。假設(shè)圖中共有M條邊,各邊的典型特征信息有SN條,每條特征信息的長度為SL,BERT模型的輸出向量維度為c,則圖中節(jié)點(diǎn)i與節(jié)點(diǎn)j邊之間的嵌入向量si∈SN×SL×c, 類似的全部邊緣嵌入向量的集合為s∈M×SN×SL×c, 即
s=[s1,s2,…,sM]
(11)
前向傳播層分為兩個(gè)并行部分,通過圖卷積神經(jīng)網(wǎng)絡(luò)對節(jié)點(diǎn)間的關(guān)聯(lián)關(guān)系進(jìn)行學(xué)習(xí),以及通過深度學(xué)習(xí)對邊緣信息進(jìn)行學(xué)習(xí)。
3.6.1 節(jié)點(diǎn)關(guān)聯(lián)信息獲取
對于系統(tǒng)調(diào)用圖G,系統(tǒng)調(diào)用的關(guān)聯(lián)關(guān)系迭代更新參考了LightGCN的方式。對于節(jié)點(diǎn)i,其嵌入向量在圖卷積網(wǎng)絡(luò)中的1跳更新結(jié)果為
(12)
利用一階迭代的更新規(guī)則,可以在網(wǎng)絡(luò)中堆疊多層圖卷積以學(xué)習(xí)系統(tǒng)調(diào)用之間的高階關(guān)聯(lián)關(guān)系。對于系統(tǒng)調(diào)用i其第k+1跳的更新結(jié)果與第k跳的更新結(jié)果在前向傳播過程中有如下關(guān)系
(13)
(14)
vi∈h×d,h視為可以調(diào)整的超參數(shù),⊕表示拼接操作。為更好地學(xué)習(xí)系統(tǒng)調(diào)用之間的關(guān)聯(lián)關(guān)系,引入注意力機(jī)制對每一跳嵌入向量的重要程度進(jìn)行建模。對于系統(tǒng)調(diào)用i, 圖神經(jīng)網(wǎng)絡(luò)的注意力ami∈1×h的定義與計(jì)算方式如下
ami=[ami(0),ami(1),…,ami(h)]
(15)
ami=softmax(ω1tanh(ω2(vi)T))
(16)
其中,ω1∈1×t,ω2∈t×d且t視為可調(diào)整超參數(shù)。ami(0),…,ami(h)表示各層嵌入表達(dá)的權(quán)重。tanh引入非線性關(guān)聯(lián),而softmax函數(shù)用以將各權(quán)重進(jìn)行歸一化。
結(jié)合注意力機(jī)制,最終使用vi與ami進(jìn)行加權(quán)求和可得到最終系統(tǒng)調(diào)用i的關(guān)聯(lián)關(guān)系表達(dá)
(17)
3.6.2 邊緣特征信息提取
對于邊緣嵌入向量si∈SN×SL×c, 假定卷積核的數(shù)量為m, 每個(gè)卷積核Ki∈ks×ks, 其中ks視為可調(diào)整的卷積核寬度。對于邊緣嵌入向量經(jīng)過卷積操作
gi=ELU(reshape(si)*Ki+μi)
(18)
其中,reshape表示將嵌入向量si的維度轉(zhuǎn)換為二階張量使得reshape(si)∈(SN×SL)×c,*表示卷積操作,μi為誤差。激活函數(shù)ELU作為ReLU的改進(jìn)型其計(jì)算公式如下
(19)
由于存在m個(gè)卷積核,對于卷積層的輸出進(jìn)行最大池化操作,最終輸出W∈m
wi=max{gi1,gi2,…,gi(SN×SL)-ks+1}
(20)
W=[w1,w2,…,wm]
(21)
池化層輸出W輸入全連接層,同時(shí)引入隨機(jī)失活機(jī)制如式(23)以防過擬合。隨機(jī)失活向量ui∈m
ui~B(m,γ)
(22)
s′i=ELU(ω3?(uiW)+pi)
(23)
其中,ω3∈d×m,d與節(jié)點(diǎn)嵌入向量的維度相同。pi∈m為偏差值。
對于前向傳播層的輸出,使用平均池化操作對節(jié)點(diǎn)的相鄰邊緣嵌入向量進(jìn)行聚合,以節(jié)點(diǎn)i為例即
(24)
而后使用聚合向量在此更新節(jié)點(diǎn)向量,如式(25)所示
oi=v′i⊕bi
(25)
⊕表示拼接操,拼接后節(jié)點(diǎn)的嵌入向量oi∈2d。
為完成異常檢測,提出了一個(gè)基于潛在空間超球面的判斷方式,其核心思想是通過訓(xùn)練將大多數(shù)的正常實(shí)例投影到超球面內(nèi),并將異常實(shí)例投影到超球面之外。模型損失函數(shù)定義為
(26)
其中,ηi∈2d表示一個(gè)潛在的超球面中心。初始化方式為計(jì)算信息融合層輸出嵌入向量的平均池化結(jié)果,并且在之后的計(jì)算過程中保持不變。最終,文檔的性質(zhì)由其運(yùn)行時(shí)各線程產(chǎn)生的系統(tǒng)調(diào)用圖進(jìn)行綜合判斷。
實(shí)驗(yàn)機(jī)器使用英特爾酷睿i7-10875H CPU以及16 GB RAM存儲(chǔ)器,操作系統(tǒng)為Windows 7 SP1。所有PDF樣本在Adobe Acrobat DC上運(yùn)行2分鐘后關(guān)閉,運(yùn)行期間產(chǎn)生的系統(tǒng)調(diào)用數(shù)據(jù)使用NtTracer進(jìn)行收集。此外,為驗(yàn)證模型是否足以區(qū)分惡意文檔和良性文檔,選擇了4種具有不同歸納偏置的基線算法進(jìn)行比較,包括RBF核函數(shù)的支持向量機(jī)(support vector machine,SVM)、k-最近鄰分類器(k-nearest neighbor,KNN)、決策樹(decision tree,DT)、隨機(jī)森林(random forest,RF)。同時(shí)選擇部分現(xiàn)有的檢測方法[11,23]與檢測工具[24,25]進(jìn)行對比。
本節(jié)將說明實(shí)驗(yàn)使用的樣本來源。
4.2.1 良性樣本
良性樣本來源包含3部分:一部分通過編寫爬蟲程序指定Bing搜索引擎的搜索類型為PDF文件進(jìn)行批量下載,這部分包括357例PDF文檔。但由于這部分文檔可能缺少PDF高級規(guī)范中的特征比如嵌入JavaScript腳本、使用PDF增量更新功能等。因此從PDF學(xué)習(xí)網(wǎng)站[25]上額外下載了30例包含PDF高級功能的樣本。另從Contagio數(shù)據(jù)集[26]中隨機(jī)選取120例良性PDF文檔。所有文檔在使用前均已放入沙箱中進(jìn)行檢測,確認(rèn)無惡意行為產(chǎn)生。
4.2.2 惡意樣本
實(shí)驗(yàn)使用的惡意樣本包含兩部分:一部分為從VirusTotal收集的280例惡意PDF文檔,從中將部分有明顯錯(cuò)誤的17例剔除(明顯錯(cuò)誤例如含有CVE編號(hào)但上傳年份早于CVE中年份,類型為zip文件或圖像文件);另一部分來自Contagio數(shù)據(jù)集中隨機(jī)挑選的40例惡意PDF文檔。所有文檔在使用前放入沙箱監(jiān)視其執(zhí)行情況,確定均有惡意行為產(chǎn)生。
實(shí)驗(yàn)所使用的評價(jià)指標(biāo)包括真陽性率(true positive rate,TPR)、假陽性率(false positive rate,F(xiàn)PR)、真陰性率(true negative rate,TNR)、假陰性率(false negative rate,F(xiàn)NR)以及工作特征曲線下面積(area under the receiver operating characteristic,AUROC)。各評價(jià)指標(biāo)的定義如下
TPR=TP/(TP+FN)
FPR=FP/(TN+FP)
TNR=TN/(TN+FP)
FNR=FN/(TP+FN)
AUROC值等于分類器隨機(jī)選擇的陽性實(shí)例排序高于隨機(jī)選擇的陰性實(shí)例的概率。具體來說TP(true positives)表示樣本為陽性,模型預(yù)測也為陽性的樣本數(shù),即被模型正確識(shí)別為惡意的惡意樣本數(shù)量。FP(false positives)表示樣本為陰性,模型預(yù)測為陽性的樣本數(shù),即實(shí)際為良性卻被錯(cuò)誤識(shí)別為惡意的良性樣本數(shù)量。TN(true negetives)表示樣本為陰性,模型預(yù)測也為陰性的樣本數(shù),這里表示被正確識(shí)別的良性樣本數(shù)量。FN(false negetives)表示樣本為陽性,模型預(yù)測為陰性的樣本數(shù),即實(shí)際為惡意文檔卻被錯(cuò)誤識(shí)別為良性的樣本數(shù)量。表1為這4項(xiàng)指標(biāo)的具體含義。
表1 評價(jià)指標(biāo)具體含義
由于Adobe Acrobat DC閱讀器沒有定時(shí)打開與關(guān)閉多個(gè)PDF文檔的功能,但留有部分用于操作PDF文檔的cmd指令。因此編寫批處理程序循環(huán)執(zhí)行cmd命令以完成相關(guān)操作。在使用閱讀器依次打開PDF文檔的同時(shí),使用NtTracer追蹤產(chǎn)生的系統(tǒng)調(diào)用數(shù)據(jù),每個(gè)文檔在運(yùn)行2 min后關(guān)閉。收集到的系統(tǒng)調(diào)用數(shù)據(jù)存入MySQL數(shù)據(jù)庫中。之后編寫程序?qū)ο到y(tǒng)調(diào)用數(shù)據(jù)按照線程劃分,并構(gòu)造相應(yīng)的系統(tǒng)調(diào)用圖。進(jìn)一步地對各系統(tǒng)調(diào)用圖使用所提出圖采樣策略保留關(guān)鍵信息,而后借助pytorch框架編寫圖神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)相應(yīng)程序進(jìn)行模型的訓(xùn)練與檢測。實(shí)驗(yàn)中的爬蟲程序、系統(tǒng)調(diào)用圖構(gòu)建程序、圖采樣程序以及模型的訓(xùn)練與檢測程序均使用python編寫,代碼量約為15 K行。而批處理程序則使用DOS命令,系統(tǒng)調(diào)用數(shù)據(jù)存取以及按照線程進(jìn)行劃分時(shí)使用SQL語言完成相應(yīng)功能。在訓(xùn)練與檢測過程中,記錄了模型各階段的用時(shí)情況用于后續(xù)性能評估。
作為異常檢測模型,實(shí)驗(yàn)中的訓(xùn)練數(shù)據(jù)均為良性樣本,即僅使用正常PDF文檔進(jìn)行訓(xùn)練。模型的參數(shù)設(shè)置見表2。
表2 模型參數(shù)
最終根據(jù)測試結(jié)果對各方法進(jìn)行評估,結(jié)果見表3。實(shí)驗(yàn)中各方法均使用相應(yīng)庫中默認(rèn)參數(shù)。性能評估時(shí)使用TPR、FPR、TNR、FNR以及AUROC作為評價(jià)標(biāo)準(zhǔn),記錄不同方法的訓(xùn)練用時(shí),并對產(chǎn)生誤報(bào)的樣本進(jìn)行深入分析。
表3 不同方法的檢測結(jié)果與訓(xùn)練開銷
從表3中可以看出DGNN的訓(xùn)練時(shí)間略長于RF和RBF算法,但總體上相較于其它對比算法仍有明顯優(yōu)勢。此外模型在TPR、FPR以及AUROC等指標(biāo)上相較于其它算法有著更好的表現(xiàn),一方面這得益于圖神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)擬合和刻畫能力,另一方面也得益于深度學(xué)習(xí)模塊對于邊緣信息的特征提取能力。4種基線算法在訓(xùn)練用時(shí)上具有顯著優(yōu)勢,除RF算法之外其余基線算法的AUROC等指標(biāo)均不夠理想。SFEM[4]作為一種基于文檔結(jié)構(gòu)路徑特征的靜態(tài)檢測方法,通過深入分析PDF的結(jié)構(gòu)特征,豐富文檔的判別特征,最終取得較高的AUROC值,但目前存在較多的針對基于結(jié)構(gòu)特征檢測的繞過手段。PLATPAL[11]借助異構(gòu)冗余的思想設(shè)置多種系統(tǒng)環(huán)境并進(jìn)行文檔行為對比以完成檢測,取得0.9238的AUROC值,但這種方式也不可避免地造成較高的系統(tǒng)開銷。PJScan[23]與QuickSand[24]作為目前較為流行的文檔檢測工具雖然有著較小的訓(xùn)練開銷,但由于PJScan[23]主要檢測嵌入JavaScript的惡意PDF文檔,其檢測效果仍有待提升。而QuickSand[24]的訓(xùn)練用時(shí)為89.41 s,AUROC值為0.8983,相較于DGNN仍有明顯差距。
此外,為研究以H指數(shù)作為有偏游走轉(zhuǎn)移概率計(jì)算依據(jù)的有效性,使用節(jié)點(diǎn)度以及核數(shù)在原模型基礎(chǔ)上作為新的偏置計(jì)算依據(jù)展開對比實(shí)驗(yàn)。實(shí)驗(yàn)中同樣使用匹配機(jī)制,確保以更大概率優(yōu)先選擇節(jié)點(diǎn)度或核數(shù)較小的點(diǎn)作為游走的轉(zhuǎn)移節(jié)點(diǎn),這部分的原因和原策略中傾向于選擇H指數(shù)較小的節(jié)點(diǎn)轉(zhuǎn)移節(jié)點(diǎn)的原因一樣,符合惡意活動(dòng)中系統(tǒng)調(diào)用的頻率特性。實(shí)驗(yàn)中同樣測試了不同數(shù)量的訓(xùn)練樣本下模型的檢測效果結(jié)果如圖4所示。
圖4 3種采樣策略的AUROC值
從圖4中可以看出,當(dāng)選用核數(shù)作為偏置計(jì)算依據(jù)時(shí),模型的AUROC值與選擇H指數(shù)作為偏執(zhí)計(jì)算依據(jù)時(shí)的值差距很小,但當(dāng)使用節(jié)點(diǎn)度作為替換時(shí),模型的AUROC值均未超過80%,這與度的適應(yīng)性有關(guān),盡管度仍作為衡量節(jié)點(diǎn)中心性的重要估計(jì)指標(biāo),但實(shí)際上節(jié)點(diǎn)度在諸多場合下并非量化節(jié)點(diǎn)影響的精確中心性度量。
為進(jìn)一步衡量3種指標(biāo)分別作為有偏游走偏置計(jì)算依據(jù)時(shí)的系統(tǒng)開銷,記錄了3種方式下的模型的圖采樣時(shí)間見表4。
表4 不同檢測方式的檢測結(jié)果與訓(xùn)練開銷
結(jié)合圖4以及表4可以看出,盡管核數(shù)作為偏置依據(jù)時(shí)其檢測效果與H指數(shù)相近,甚至略優(yōu)于以H指數(shù)為依據(jù)的采樣方式。但相比于H指數(shù),核數(shù)由于在計(jì)算時(shí)需要全局拓?fù)湫畔?,其?jì)算開銷遠(yuǎn)遠(yuǎn)超過H指數(shù)的計(jì)算開銷。綜合以上討論,最終選擇H指數(shù)作為游走偏置的計(jì)算依據(jù)用以完成圖采樣工作。
本文根據(jù)模型的不同部分設(shè)置了3種變體以展開消融實(shí)驗(yàn),以驗(yàn)證模型的有效性。各變體的對比實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 消融實(shí)驗(yàn)對比分析
(1)DGNN-1:模型不使用邊緣特征信息,僅使用圖卷積神經(jīng)網(wǎng)絡(luò)中節(jié)點(diǎn)向量表示用以完成檢測工作。此情況下將式(25)改為oi=v′i, 其余部分保持不變。
(3)DGNN-3:模型僅使用邊緣特征信息完成檢測工作。此情況下將式(25)改為oi=bi, 其余部分保持不變。
實(shí)驗(yàn)使用TPR、FPR、TNR、FNR作為評價(jià)指標(biāo),同時(shí)對3種變體以及原模型的檢測結(jié)果進(jìn)行對比。從圖5中可以看出,DGNN-1相比DGNN-2加入了注意力機(jī)制,并且檢測結(jié)果優(yōu)于后者,這說明模型中引入的注意力機(jī)制對于文檔的檢測效果提升是有效的。DGNN-3僅使用深度學(xué)習(xí)技術(shù)利用邊緣特征信息完成檢測,未與圖卷積神經(jīng)網(wǎng)絡(luò)中的節(jié)點(diǎn)嵌入信息相結(jié)合,實(shí)驗(yàn)檢測效果相比于前兩者略低。而DGNN-1僅使用了圖卷積網(wǎng)絡(luò)的節(jié)點(diǎn)嵌入,沒有使用邊緣特征進(jìn)行深度學(xué)習(xí),效果與DGNN相比仍存在明顯差距。DGNN-1、DGNN-3與DGNN的實(shí)驗(yàn)結(jié)果共同說明了模型將圖卷積網(wǎng)絡(luò)與深度學(xué)習(xí)相結(jié)合策略的有效性。
在圖采樣過程中,鄰域擴(kuò)展距離的選擇對于后續(xù)模型訓(xùn)練與檢測效果影響巨大。適當(dāng)?shù)臄U(kuò)展距離能夠在有效控制采樣規(guī)模的基礎(chǔ)上盡量保留圖的關(guān)鍵信息。實(shí)驗(yàn)中同樣對于不同距離的鄰域擴(kuò)展策略進(jìn)行了比較,其中的距離均以跳數(shù)為單位,結(jié)果見表5。
表5 不同擴(kuò)展距離的檢測結(jié)果
當(dāng)擴(kuò)展距離為2時(shí),模型的AUROC達(dá)到0.9734,此后繼續(xù)增大距離AUROC值并無明顯提升,并且需要注意的是當(dāng)擴(kuò)展距離過大時(shí)會(huì)導(dǎo)致采樣圖過于龐大,訓(xùn)練效率低下,且由于引入大量冗余信息,干擾特征學(xué)習(xí)過程,影響最終的檢測效果。經(jīng)過實(shí)驗(yàn)分析,最終認(rèn)定將模型的鄰域擴(kuò)展距離設(shè)置為2時(shí)較為合適。
而在模型的訓(xùn)練與檢測過程中,圖卷積迭代次數(shù)是影響最終檢測效果的一個(gè)關(guān)鍵參數(shù)。如果模型訓(xùn)練時(shí)圖卷積的迭代次數(shù)過少,則可能無法學(xué)習(xí)到系統(tǒng)調(diào)用之間的潛在聯(lián)系,進(jìn)而導(dǎo)致檢測效果不理想。但如果層數(shù)過多,則可能產(chǎn)生難以負(fù)擔(dān)的系統(tǒng)開銷,所以必須選擇適當(dāng)?shù)膶訑?shù)以維持開銷與模型準(zhǔn)確率之間的平衡。在實(shí)驗(yàn)中選取了1次到7次的迭代次數(shù)展開測試。
另一個(gè)關(guān)系到模型性能的重要參數(shù)就是節(jié)點(diǎn)向量的維度選擇了。高維度的向量可能承載更多的信息,但是會(huì)嚴(yán)重影響訓(xùn)練和檢測效率,低維度向量雖然有更小的開銷,但可能在檢測準(zhǔn)確率上略有不足。實(shí)驗(yàn)中節(jié)點(diǎn)向量維度范圍為2維至128維。分別以圖卷積迭代次數(shù)與節(jié)點(diǎn)向量維度為軸,繪制出的結(jié)果如圖6所示。
圖6 節(jié)點(diǎn)向量維度與圖卷積迭代次數(shù)對檢測結(jié)果的影響
實(shí)驗(yàn)中以AUROC值作為依據(jù)衡量檢測效果,以訓(xùn)練時(shí)間衡量模型的開銷情況。圖6(a)中當(dāng)節(jié)點(diǎn)向量的維度設(shè)置為32維,圖卷積迭代次數(shù)設(shè)置為4次時(shí)模型的AUROC值有最大值0.9753。這可能是由于模型中絕大部分的節(jié)點(diǎn)存在3跳至4跳的路徑,因而AUROC值最高。但綜合考慮訓(xùn)練時(shí)間的影響,最終選擇節(jié)點(diǎn)向量的維度設(shè)置為16維,圖卷積迭代次數(shù)設(shè)置為2次,此時(shí)相較于AUROC值最大的參數(shù)設(shè)置而言模型的檢測效果并沒有明顯降低,并且結(jié)合圖6(b)中結(jié)果來看,選擇該參數(shù)設(shè)置能夠大幅節(jié)省模型的訓(xùn)練開銷。
在性能測試方面,分別測試了模型在訓(xùn)練和檢測兩種模式下的不同階段用時(shí)情況。
訓(xùn)練用時(shí)主要包括:系統(tǒng)調(diào)用序列按線程劃分的處理用時(shí)、構(gòu)建系統(tǒng)調(diào)用圖用時(shí)、圖采樣用時(shí)、迭代更新圖信息用時(shí)。而檢測用時(shí)除了包括以上部分還包括了綜合各系統(tǒng)調(diào)用圖完成文檔性質(zhì)的判斷的用時(shí)。兩階段下各部分的平均用時(shí)見表6。
表6 各階段時(shí)間開銷
文檔依據(jù)其運(yùn)行時(shí)產(chǎn)生線程數(shù)的不同則可能有不同數(shù)量的系統(tǒng)調(diào)用圖與之對應(yīng),但在檢測時(shí)認(rèn)定只要產(chǎn)生被判斷為惡意的系統(tǒng)調(diào)用圖的文檔即為惡意文檔。需注意的是,雖然訓(xùn)練和檢測時(shí)均有迭代更新圖中信息的需要,但是在訓(xùn)練階段需要額外對模型的參數(shù)進(jìn)行優(yōu)化,所以用時(shí)更長,但是這部分的系統(tǒng)開銷是一次性的,在后續(xù)的檢測時(shí)不需要額外花費(fèi)時(shí)間。此外,當(dāng)前模型的檢測為單線程任務(wù),后續(xù)可以考慮使用并行技術(shù)進(jìn)一步縮短模型的檢測用時(shí)。
雖然模型在惡意PDF文檔檢測方面取得了良好效果,但實(shí)際上該模型仍受以下幾方面因素的限制:
(1)間接攻擊手段。如攻擊者未使用包含惡意有效負(fù)載的文檔,而是借助社交工程學(xué)等手段來吸引用戶通過文檔內(nèi)的鏈接下載真正的惡意程序或僅使用PDF文檔完成攻擊鏈中的部分準(zhǔn)備工作,此類攻擊方式可能導(dǎo)致檢測失敗。
(2)交互式驅(qū)動(dòng)攻擊。模型僅收集文檔運(yùn)行時(shí)2 min以內(nèi)產(chǎn)生的系統(tǒng)調(diào)用數(shù)據(jù),若文檔在限定時(shí)間內(nèi)未接收攻擊指令并且沒有產(chǎn)生惡意行為一樣會(huì)使檢測失效。
(3)版本限制。不同的PDF閱讀器和版本也影響著檢測效果,尤其是利用特定版本PDF閱讀器漏洞的惡意文檔攻擊。若文檔所利用的漏洞與運(yùn)行的閱讀器不符,則會(huì)導(dǎo)致攻擊活動(dòng)失敗,因而不會(huì)產(chǎn)生用于執(zhí)行惡意行為的系統(tǒng)調(diào)用數(shù)據(jù)。
(4)離線檢測。作為一種離線檢測手段,雖然其訓(xùn)練開銷是一次性的,同樣不需要?jiǎng)討B(tài)更新或再次訓(xùn)練,但作為一種離線檢測方式也注定無法動(dòng)態(tài)地提升模型的檢測性能。
本文設(shè)計(jì)了一種以系統(tǒng)調(diào)用圖作為輸入,結(jié)合圖神經(jīng)網(wǎng)絡(luò)以及深度學(xué)習(xí)技術(shù)的PDF文檔檢測模型。該模型借助圖神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的強(qiáng)大表征能力和學(xué)習(xí)能力,以系統(tǒng)調(diào)用為研究對象,完成文檔檢測工作。同時(shí)提出了一種基于H指數(shù)及有偏游走策略的圖采樣方式對模型的性能開銷進(jìn)行優(yōu)化,將匹配機(jī)制引入隨機(jī)游走過程中。與傳統(tǒng)的惡意文檔檢測技術(shù)相比,本文使用的PDF文檔檢測模型能夠更好地捕捉文檔運(yùn)行時(shí)的特征,具有更高的綜合性能。
后續(xù)將針對各類型各版本PDF文檔閱讀器展開進(jìn)一步實(shí)驗(yàn),提升模型兼容性與穩(wěn)定性,進(jìn)一步降低檢測開銷,同時(shí)未來還將探究對模型進(jìn)行改進(jìn)以用于實(shí)時(shí)監(jiān)測的可能性。