俞遠(yuǎn)哲,王金雙,鄒 霞
(陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京210007)
PDF (Portable Document Format) 文檔的使用非常廣泛。隨著版本的更新?lián)Q代,PDF 文檔包含的功能也變得多種多樣,但其中一些鮮為人知的功能(如文件嵌入、JavaScript 代碼執(zhí)行、動(dòng)態(tài)表單等) 越來(lái)越多地被不法分子利用,來(lái)實(shí)施惡意網(wǎng)絡(luò)攻擊行為[1]。APT(Advanced Persistent Threat) 攻擊[2]常常構(gòu)造巧妙偽裝的惡意PDF 文檔,通過(guò)釣魚郵件攻擊等手段誘騙受害者下載,從而侵入或破壞計(jì)算機(jī)系統(tǒng)。相比傳統(tǒng)的惡意可執(zhí)行程序,惡意文檔具有更強(qiáng)的迷惑性。
基于機(jī)器學(xué)習(xí)的檢測(cè)方法被研究人員廣為使用,主要可以分為靜態(tài)檢測(cè)、動(dòng)態(tài)檢測(cè)和動(dòng)靜結(jié)合檢測(cè)方法[3]。而現(xiàn)有的惡意文檔特征選擇方法大多依賴于專家的知識(shí)驅(qū)動(dòng),在惡意文檔的手動(dòng)分析期間進(jìn)行觀察來(lái)選擇特征集(如調(diào)用類對(duì)象的數(shù)量、文檔頁(yè)數(shù)或版本號(hào)等),或是通過(guò)數(shù)學(xué)統(tǒng)計(jì)分析將特征細(xì)化(如某類對(duì)象在所有對(duì)象中的占比)。由于特征可選取的范圍很大,如果僅僅根據(jù)經(jīng)驗(yàn)選取了一部分作為特征集,就會(huì)喪失文檔的部分信息,無(wú)法全面地表達(dá)文檔特性。
由于PDF 文檔格式的復(fù)雜性,其邏輯結(jié)構(gòu)包含了大量的文檔語(yǔ)義。文獻(xiàn)[4]認(rèn)為通過(guò)對(duì)結(jié)構(gòu)屬性的綜合分析能夠解釋惡意和良性PDF 文檔之間的顯著結(jié)構(gòu)差異。因此本文設(shè)計(jì)通過(guò)綜合分析文檔的邏輯結(jié)構(gòu),以文檔的結(jié)構(gòu)圖為特征進(jìn)行檢測(cè),而不是獨(dú)立的結(jié)構(gòu)路徑。即使攻擊者知道哪些對(duì)象是成功檢測(cè)的關(guān)鍵,并可能針對(duì)性地修改某一特定路徑,但這樣就會(huì)破壞文檔的整體結(jié)構(gòu),因此逃避檢測(cè)的成本很高。
本文的主要工作和創(chuàng)新點(diǎn)如下:
(1) 以靜態(tài)檢測(cè)技術(shù)和圖論為基礎(chǔ),根據(jù)文檔的邏輯結(jié)構(gòu)構(gòu)造出文檔結(jié)構(gòu)圖,得到包含圖信息的鄰接矩陣和度矩陣,并計(jì)算得到拉普拉斯矩陣作為特征。這種特征表達(dá)的優(yōu)點(diǎn)在于不僅包含了相鄰節(jié)點(diǎn)的鄰接關(guān)系,還包含了節(jié)點(diǎn)本身的出入度,包含圖的信息更多,對(duì)文檔的表征能力更強(qiáng)。
(2) 在構(gòu)造文檔的圖結(jié)構(gòu)時(shí),通過(guò)TF -IDF 算法對(duì)節(jié)點(diǎn)進(jìn)行精簡(jiǎn)合并: 統(tǒng)計(jì)了PDF 文檔中的對(duì)象對(duì)于分類的貢獻(xiàn)度排名,前73 類對(duì)象的總貢獻(xiàn)度達(dá)到了99%,將剩下的140 類對(duì)象合并為一類。通過(guò)圖精簡(jiǎn)生成了74 類對(duì)象,實(shí)現(xiàn)了特征降維,在提升模型效率的同時(shí),緩解了特征維度過(guò)高導(dǎo)致可能出現(xiàn)的過(guò)擬合問(wèn)題。
(3) 基于特征加法攻擊生成訓(xùn)練樣本,對(duì)模型進(jìn)行對(duì)抗訓(xùn)練。使用Metasploit 工具生成了2000個(gè)惡意對(duì)抗樣本,與VirusTotal 的檢測(cè)結(jié)果對(duì)比分析表明,本模型的檢測(cè)性能高于VirusTotal 的檢測(cè)引擎。
前期研究所選定的特征主要依賴專家知識(shí)驅(qū)動(dòng)[5],部分選定特征不是惡意文檔所特有的,而且無(wú)論是單一特征還是混合特征,均是從龐大的特征集中選取的一小部分特征,以特征在樣本中的頻數(shù)作為特征值。這類選取的特征容易被攻擊者篡改。攻擊者只需要找到影響模型判定的關(guān)鍵特征,增大其他特征的頻數(shù),便能稀釋文檔中的關(guān)鍵特征,從而使分類器產(chǎn)生錯(cuò)誤的判定。已有基于機(jī)器學(xué)習(xí)算法的惡意PDF 文檔檢測(cè)器之間的比較如表1 所示。
表1 惡意PDF 機(jī)器學(xué)習(xí)檢測(cè)器對(duì)比分析
逃避攻擊是指攻擊者試圖修改惡意樣本的特征,在不影響惡意行為的前提下來(lái)逃避模型檢測(cè)。逃避攻擊生成對(duì)抗樣本的方式主要有梯度下降攻擊和特征加法攻擊[15]。梯度下降攻擊通過(guò)修改惡意樣本的特征,使得惡意樣本無(wú)法被正確分類。它最早是在圖像識(shí)別領(lǐng)域提出的,其原理是在圖像上通過(guò)修改像素點(diǎn)生成微小的擾動(dòng),但并不會(huì)影響圖像自身的格式。但是由于PDF 文檔自身格式的規(guī)范性,隨意地修改某一特征可能會(huì)使得文檔格式無(wú)法正常解析以致?lián)p壞。因此基于梯度下降攻擊生成可執(zhí)行的對(duì)抗文檔更難。
特征加法攻擊通過(guò)將惡意負(fù)載附加到正常文檔之中,或是向惡意文檔中添加正常的內(nèi)容來(lái)規(guī)避檢測(cè)。由于PDF 文檔自身格式和內(nèi)容易于增添而難于刪除[17],特征加法攻擊更易于生成可執(zhí)行的對(duì)抗文檔。
已有研究的檢測(cè)模型絕大部分性能指標(biāo)關(guān)注于檢測(cè)率、準(zhǔn)確率和誤報(bào)率,而對(duì)于模型的魯棒性考慮較少,模型對(duì)于對(duì)抗樣本檢測(cè)的效果也較差。高度健壯的模型[13]對(duì)于一個(gè)已知惡意文檔,在不影響其惡意行為的前提下,無(wú)論對(duì)其增添或是刪除其中一個(gè)或多個(gè)元素,都不會(huì)影響分類器的判定結(jié)論。
圖1 展示了使用VirusTotal 病毒檢測(cè)引擎檢測(cè)一組惡意樣本和對(duì)抗樣本的結(jié)果。VirusTotal 系統(tǒng)中有39個(gè)殺毒引擎檢測(cè)出了惡意樣本,而只有8個(gè)殺毒引擎檢測(cè)出了對(duì)抗樣本。說(shuō)明即使是目前先進(jìn)的在線檢測(cè)系統(tǒng),也易遭受對(duì)抗樣本的影響。
圖1 惡意樣本和對(duì)抗樣本VirusTotal 檢測(cè)結(jié)果
提升模型魯棒性的方法主要有: 一是利用特征工程[2,16],通過(guò)數(shù)學(xué)變換對(duì)特征進(jìn)行組合,以增加各特征之間的相關(guān)性,使得即使攻擊者對(duì)樣本中的某一特征進(jìn)行了修改,模型仍然可以通過(guò)相關(guān)特征檢測(cè)到惡意文檔;二是利用對(duì)抗訓(xùn)練[18-19],生成對(duì)抗樣本對(duì)模型進(jìn)行預(yù)訓(xùn)練,降低模型對(duì)未知對(duì)抗樣本的誤報(bào)率;三是利用集成學(xué)習(xí)[15],通過(guò)多個(gè)分類器進(jìn)行決策,來(lái)減少對(duì)抗樣本對(duì)單個(gè)模型產(chǎn)生的影響。
構(gòu)成PDF 格式的語(yǔ)法主要包括四個(gè)元素[20]:
(1) 對(duì) 象: 構(gòu)成PDF 的 基本元 素,如/ Catalog,/Page 等。
(2) 文件結(jié)構(gòu)(也稱物理結(jié)構(gòu)): 指定了對(duì)象在PDF 文檔中的布局和修改方式。
(3) 文檔結(jié)構(gòu)(也稱邏輯結(jié)構(gòu)): 決定了對(duì)象在邏輯上是如何組織起來(lái),以呈現(xiàn)文檔的內(nèi)容。
(4) 內(nèi)容流: 提供了一種高效存儲(chǔ)文件內(nèi)容各部分的方法。
PDF 文檔的部分原始內(nèi)容如圖2 所示。
圖2 PDF 文檔的原始內(nèi)容
PDF 文檔結(jié)構(gòu)常以/Catalog標(biāo)簽為根節(jié)點(diǎn),根據(jù)引用對(duì)象號(hào)指向子對(duì)象節(jié)點(diǎn),以此層層遞進(jìn)直到?jīng)]有引用對(duì)象號(hào),即到達(dá)葉子節(jié)點(diǎn),最后形成的樹或森林結(jié)構(gòu)如圖3 所示。PDF各對(duì)象之間通過(guò)引用關(guān)系相互聯(lián)系,因此其邏輯結(jié)構(gòu)較文檔的原始內(nèi)容更為復(fù)雜,但同時(shí)也表達(dá)了大量的文檔語(yǔ)義,如是否存在某些對(duì)象,以及對(duì)象間的引用關(guān)系等。這些語(yǔ)義信息對(duì)于綜合判斷文檔的行為具有重要的作用。
圖3 PDF 結(jié)構(gòu)樹
文檔的圖結(jié)構(gòu)特征包含了大量的文檔語(yǔ)義,通過(guò)結(jié)構(gòu)路徑能反映出該部分的功能。相比起孤立的詞袋模型特征,作為特征輸入的圖的拉普拉斯矩陣,每個(gè)元素之間都是相互聯(lián)系的,不容易被篡改?;谏鲜鏊枷?,本文提出一種基于文檔圖結(jié)構(gòu)的惡意PDF 文檔檢測(cè)方法,解決了特征間孤立的問(wèn)題,提高了攻擊者的成本,提升了檢測(cè)模型的魯棒性。
CNN-FGS 檢測(cè)方法的整體框架如圖4 所示。
圖4 CNN-FGS 檢測(cè)方法的整體框架
結(jié)構(gòu)路徑生成模塊使用PeePDF[21]對(duì)PDF 文件進(jìn)行結(jié)構(gòu)解析得到各對(duì)象的調(diào)用關(guān)系。PDF 文檔的數(shù)據(jù)集可以表示為F={(f1,l1),(f2,l2),…,(fN,lN)};fi表示單個(gè)文件的拉普拉斯矩陣;li∈{0,1} 表示樣本標(biāo)簽,0 表示良性文件,1 表示惡意文件。根據(jù)各對(duì)象的調(diào)用關(guān)系,通過(guò)深度優(yōu)先搜索(Depth First Search,DFS) 算法得到文檔的所有結(jié)構(gòu)路徑,并得到圖的多條邊。
圖精簡(jiǎn)模塊使用TF-IDF 算法對(duì)所有節(jié)點(diǎn)進(jìn)行分類重要性排序,保留總重要性影響超過(guò)99% 的節(jié)點(diǎn),對(duì)剩下1% 的節(jié)點(diǎn)進(jìn)行合并,以實(shí)現(xiàn)圖精簡(jiǎn)。
特征提取模塊使用Python 的networkx 庫(kù)構(gòu)造文檔的圖結(jié)構(gòu),計(jì)算圖的鄰接矩陣和度矩陣,并求得拉普拉斯矩陣作為訓(xùn)練特征。
學(xué)習(xí)檢測(cè)模塊基于CNN 模型對(duì)特征學(xué)習(xí)檢測(cè),并進(jìn)行模型評(píng)價(jià)。
對(duì)抗訓(xùn)練模塊采用基于特征加法的攻擊方式生成對(duì)抗樣本,對(duì)模型效果進(jìn)行檢驗(yàn),并對(duì)模型進(jìn)行再訓(xùn)練,提升模型的魯棒性。
2.2.1 結(jié)構(gòu)路徑生成模塊
本方法通過(guò)PeePDF 工具分析提取文檔對(duì)象的引用關(guān)系,如圖5 所示。它的每一行按照引用的先后順序排列,不同的縮進(jìn)表示不同的父子關(guān)系。
圖5 PDF 文檔對(duì)象的引用關(guān)系
為了更好地分析對(duì)象間引用關(guān)系來(lái)得到文檔的邏輯結(jié)構(gòu),本文作如下規(guī)定: 以縮進(jìn)數(shù)判斷父子關(guān)系,相鄰兩行節(jié)點(diǎn)的縮進(jìn)差為上一行縮進(jìn)數(shù)減去下一行的縮進(jìn)數(shù);將第一行縮進(jìn)數(shù)小的對(duì)象視作父節(jié)點(diǎn),將縮進(jìn)數(shù)大的節(jié)點(diǎn)視作子節(jié)點(diǎn)。即縮進(jìn)數(shù)最小的對(duì)象為根節(jié)點(diǎn),縮進(jìn)數(shù)最大的對(duì)象為葉節(jié)點(diǎn);若相鄰兩行縮進(jìn)差為-1,則兩節(jié)點(diǎn)存在父子關(guān)系,上一行的節(jié)點(diǎn)是下一行節(jié)點(diǎn)的父親。若相鄰兩行縮進(jìn)差為0,則兩節(jié)點(diǎn)共享父節(jié)點(diǎn);若相鄰兩行縮進(jìn)差為1,則上一行節(jié)點(diǎn)的父親節(jié)點(diǎn)是下一行的兄弟節(jié)點(diǎn),即上一行節(jié)點(diǎn)的父節(jié)點(diǎn)的父節(jié)點(diǎn)是下一行節(jié)點(diǎn)的父節(jié)點(diǎn)。根據(jù)以上規(guī)則,使用DFS 算法遍歷得到文檔的結(jié)構(gòu)路徑的集合,如圖6 所示。
圖6 PDF 文檔的結(jié)構(gòu)路徑
2.2.2 圖精簡(jiǎn)模塊
在結(jié)構(gòu)路徑生成模塊已得到各文檔的結(jié)構(gòu)路徑集合,首先對(duì)所有文檔中出現(xiàn)的對(duì)象進(jìn)行統(tǒng)計(jì),使用十六進(jìn)制編號(hào)表示,并對(duì)冗余對(duì)象合并以精簡(jiǎn)圖。例如/Bullet 元對(duì)象在文檔中出現(xiàn)了9 種不同的近似對(duì)象(如/Bullet_1,/Bullet_2,/Bullet_Last,/Bullet v2等),這些近似對(duì)象都起到了與元對(duì)象相同的功能,對(duì)這些對(duì)象進(jìn)行冗余合并,不會(huì)對(duì)分析文檔結(jié)構(gòu)具有太大的影響。經(jīng)遍歷統(tǒng)計(jì)數(shù)據(jù)集中所有文檔中的結(jié)構(gòu)路徑共提取得到672個(gè)對(duì)象,冗余合并后得到213個(gè)元對(duì)象。
使用TF-IDF 算法計(jì)算213個(gè)元對(duì)象對(duì)分類的貢獻(xiàn)度。計(jì)算公式如下:
其中ni,j表示對(duì)象oi在PDF 文檔fj中出現(xiàn)的次數(shù),表示所有對(duì)象出現(xiàn)的總次數(shù),|D |表示樣本集的數(shù)量,|j:oi∈fj| 表示包含對(duì)象oi的文檔數(shù)量。
計(jì)算各對(duì)象的貢獻(xiàn)度并作圖7 如下,可以看出有超過(guò)一半的對(duì)象對(duì)分類的貢獻(xiàn)度不足0.01 。經(jīng)統(tǒng)計(jì)如圖8 所示,貢獻(xiàn)度排名前73 類對(duì)象的總貢獻(xiàn)占比達(dá)到了99%,說(shuō)明前73 類對(duì)象對(duì)分類判定的重要性更大。雖然剩下的140 類對(duì)象只占了1%,但是對(duì)分類還是有一定的影響,因此不能直接將其拋棄,考慮將剩下140 類對(duì)象合并為一類。圖精簡(jiǎn)模塊最后生成了74 類對(duì)象,實(shí)現(xiàn)了特征降維,有助于提升模型效率,并緩解特征維度過(guò)高導(dǎo)致可能出現(xiàn)的過(guò)擬合問(wèn)題。
圖7 各對(duì)象的TF-IDF 貢獻(xiàn)度
圖8 對(duì)象貢獻(xiàn)度占比變化曲線圖
2.2.3 特征提取模塊
以精簡(jiǎn)后的74 類對(duì)象為字典,將先前得到的結(jié)構(gòu)路徑集合一一對(duì)應(yīng)得到文檔圖結(jié)構(gòu)的邊集。然后,利用networkx 模塊生成文檔的圖結(jié)構(gòu),如圖9所示。
圖9 文檔圖結(jié)構(gòu)
將圖轉(zhuǎn)化為鄰接矩陣的形式,鄰接矩陣反映了圖中各節(jié)點(diǎn)之間的相鄰關(guān)系,記作A 。
將圖轉(zhuǎn)化為度矩陣的形式,度矩陣對(duì)角線上的元素是各個(gè)頂點(diǎn)的度,表示和該頂點(diǎn)相關(guān)聯(lián)的邊的數(shù)量。度矩陣記作D :
拉普拉斯矩陣L 定義為:
拉普拉斯矩陣中的第i 行反映了第i個(gè)節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)的累積影響,相比圖的鄰接矩陣包含了更多的信息,也更能表征文檔的特征。
2.2.4 學(xué)習(xí)檢測(cè)模塊
本文提取的圖的拉普拉斯矩陣特征與傳統(tǒng)的PDF 檢測(cè)模型提取的詞袋特征有很大的不同。詞袋模型的每個(gè)特征都是經(jīng)過(guò)人工挑選且相對(duì)獨(dú)立,而作為描述圖的信息的拉普拉斯矩陣,其每一個(gè)元素都是相關(guān)聯(lián)的,每一部分都影響了圖的信息表達(dá),特征的表征能力更強(qiáng)。將圖像分類的深度學(xué)習(xí)方法遷移到PDF 文檔分類中,通過(guò)CNN 模型能夠更好地捕捉PDF 文檔的圖結(jié)構(gòu)中相鄰特征之間的局部關(guān)系。
本文使用的CNN 模型結(jié)構(gòu): 輸入層是樣本中提取得到的74×74 的拉普拉斯矩陣,然后使用1個(gè)二維卷積層對(duì)特征向量矩陣進(jìn)行卷積操作。卷積層由8 ×4 的卷積核組成來(lái)挖掘特征空間里不同范圍的特征向量所包含的隱藏信息,并選擇最大值池化的方法將特征值整合,最后通過(guò)三層神經(jīng)元分別為256 、64 、2 的全連接層輸出得到結(jié)果。選取效果更好的ReLU 作為激活函數(shù),減輕了參數(shù)之間的相互依賴關(guān)系。同時(shí)在池化層與全連接層之間加入了Dropout 層,起到減少特征冗余避免過(guò)擬合的發(fā)生。
2.2.5 對(duì)抗訓(xùn)練模塊
本文通過(guò)比較嵌入正常文檔后的惡意文檔特征值發(fā)生的改變,發(fā)現(xiàn)所選取的第74 類特征在數(shù)值上發(fā)生了顯著的變化。分析其中的原因,主要是因?yàn)閳D精簡(jiǎn)時(shí),第74 類特征合并了其余大量TFIDF值較低的特征,這些特征在正常文檔中大量存在。
針對(duì)模型的此類特點(diǎn),定義本文中的特征加法攻擊的攻擊強(qiáng)度S 為: 在原有惡意文檔的特征基礎(chǔ)上,對(duì)抗樣本的第74 類特征值與之前樣本的倍數(shù)。本模塊按照不同的特征強(qiáng)度S 參數(shù),生成多組對(duì)抗樣本特征以對(duì)模型進(jìn)行對(duì)抗訓(xùn)練。
本文實(shí)驗(yàn)環(huán)境為CPU Intel ? i7 - 9750H,32 GB內(nèi) 存,GPU 為GTX2060,硬 盤 為120 GB SSD,使用Ubuntu16.04 操作系統(tǒng)。實(shí)驗(yàn)數(shù)據(jù)集中惡意PDF 文檔來(lái)自于VirusTotal 病毒數(shù)據(jù)庫(kù)以及Contagio 數(shù)據(jù)集[22],良性樣本來(lái)源于Contagio 數(shù)據(jù)集。使用的良性樣本數(shù)為9093個(gè),惡意樣本數(shù)為14570個(gè),特征加法攻擊樣本2000個(gè),統(tǒng)計(jì)樣本數(shù)為25663個(gè)。
本文的分類模型使用了準(zhǔn)確率Precision 、召回率Recall 和F - score 三個(gè)指標(biāo)進(jìn)行綜合衡量,其計(jì)算方法如下:
式中TP 為真正例,F(xiàn)P 為假正例,TN 為真反例,F(xiàn)N為假反例。
本文以9:1 的比例隨機(jī)地將樣本集劃分為訓(xùn)練樣本和測(cè)試樣本。其中,良性樣本的標(biāo)簽記為0,惡意樣本的標(biāo)簽記為1 。
為測(cè)試CNN 分類模型的性能,選擇了適用于圖分類的機(jī)器學(xué)習(xí)分類方法KNN 、SVM 與CNN 進(jìn)行比較,并作表2 如下,可以觀察到CNN 分類模型在各指標(biāo)上都較其他兩類方法更好。
表2 三類分類器性能指標(biāo)比較
為進(jìn)一步評(píng)估本模型的性能,將結(jié)果與近年來(lái)所提出的其他模型進(jìn)行對(duì)比,結(jié)果如表3 所示。因?yàn)镻DFRate 和PJScan 作為在線訓(xùn)練模型已停止服務(wù),所以只引用其結(jié)果作為參考。對(duì)比分析表明,本文提出的分類模型較其他方法在準(zhǔn)確率和召回率等指標(biāo)上都有所提升。
表3 各研究性能指標(biāo)比較
為了研究本文分類模型的魯棒性,實(shí)驗(yàn)選取基于特征加法攻擊的對(duì)抗樣本進(jìn)行對(duì)抗訓(xùn)練及性能評(píng)估。
首先,本文按照特征強(qiáng)度參數(shù)S=2,3,4,5,10,15,20,30 分別生成了250個(gè)對(duì)抗樣本特征,將其送入模型對(duì)抗訓(xùn)練,訓(xùn)練前后的檢測(cè)結(jié)果如表4 所示。
表4 對(duì)抗訓(xùn)練前后性能指標(biāo)比較
訓(xùn)練前的模型對(duì)對(duì)抗樣本的召回率較低,說(shuō)明模型對(duì)惡意文檔的識(shí)別能力不夠,誤將其分類為良性樣本。對(duì)抗訓(xùn)練后,模型的召回率有了顯著的提高。說(shuō)明模型經(jīng)過(guò)再訓(xùn)練,具備了一定的識(shí)別惡意對(duì)抗樣本的能力,模型的F-score 指標(biāo)也有所提高。
為了進(jìn)一步研究對(duì)抗樣本對(duì)模型性能的影響,本文通過(guò)Metasploit 制作了2000個(gè)嵌入正常文檔的惡意對(duì)抗樣本作為測(cè)試集來(lái)評(píng)估模型對(duì)抗訓(xùn)練后的性能(其攻擊強(qiáng)度參數(shù)S 均大于20,文檔的md5已上傳github,可直接從VirusTotal 上檢索到)。同時(shí),將這批惡意對(duì)抗樣本上傳至VirusTotal 進(jìn)行檢測(cè),統(tǒng)計(jì)所有殺毒引擎的檢測(cè)結(jié)果及本文模型的檢測(cè)率,如圖10 所示。實(shí)驗(yàn)結(jié)果表明,對(duì)抗樣本對(duì)VirusTotal 中的殺毒引擎影響較大,大部分殺毒引擎無(wú)法成功檢測(cè)。而本文提出的模型對(duì)這批惡意對(duì)抗樣本達(dá)到了98.86% 的檢測(cè)率。
圖10 本文模型與各殺毒引擎檢測(cè)率比較
針對(duì)基于機(jī)器學(xué)習(xí)的PDF 惡意文檔檢測(cè)方法存在依賴專家經(jīng)驗(yàn)遴選特征、表征能力差等問(wèn)題,本文提出了一種基于文檔圖結(jié)構(gòu)和CNN 的惡意PDF文檔檢測(cè)方法,通過(guò)分析文檔的邏輯結(jié)構(gòu),生成文檔的圖結(jié)構(gòu),以圖結(jié)構(gòu)的拉普拉斯矩陣作為特征送入分類器進(jìn)行訓(xùn)練。圖結(jié)構(gòu)特征較前人研究特征表征能力更強(qiáng),經(jīng)過(guò)對(duì)抗訓(xùn)練后,模型的魯棒性更強(qiáng)。生成基于特征加法攻擊的對(duì)抗樣本,通過(guò)比較本模型和VirusTotal 對(duì)該樣本集的檢測(cè)性能,結(jié)果表明本模型性能超過(guò)了VirusTotal 上的67 款殺毒引擎。