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

基于頻譜分析的PDF文件惡意代碼檢測方法

2016-11-21 05:44:15郝晨曦
信息安全研究 2016年2期
關(guān)鍵詞:分析檢測方法

郝晨曦 方 勇

(四川大學(xué)信息安全研究所 成都 610065)

?

基于頻譜分析的PDF文件惡意代碼檢測方法

郝晨曦 方 勇

(四川大學(xué)信息安全研究所 成都 610065)

(hcx3630@sina.com)

在對基于頻譜分析的復(fù)合文檔惡意代碼檢測方法研究的基礎(chǔ)上,提出了一種基于機(jī)器學(xué)習(xí)的頻譜分析PDF文件惡意代碼檢測方法,首先介紹了PDF文件惡意代碼檢測系統(tǒng).并且在原有基礎(chǔ)上進(jìn)一步優(yōu)化了改進(jìn)后的實(shí)數(shù)序列FFT算法;通過從PDF文件儲存結(jié)構(gòu)中提取出全部字段的內(nèi)容進(jìn)行頻譜變換,對變換后的頻譜圖進(jìn)行分析,通過使用機(jī)器學(xué)習(xí)中的算法提取頻譜圖的特征屬性,再根據(jù)機(jī)器學(xué)習(xí)后形成的算法對PDF文件是否感染惡意代碼進(jìn)行檢測,最后,通過實(shí)驗(yàn)分析,驗(yàn)證了所用方法的正確性和有效性,并給出了整個系統(tǒng)的實(shí)現(xiàn)方案與檢驗(yàn)結(jié)果數(shù)據(jù).

便攜式文檔格式;惡意代碼檢測;頻譜變換;機(jī)器學(xué)習(xí);特征提取

便攜式文檔格式(portable document format, PDF)是由Adobe Systems用于與應(yīng)用程序、操作系統(tǒng)、硬件無關(guān)的方式進(jìn)行文件交換所發(fā)展出的文件格式.PDF文件因其文件格式在各個操作系統(tǒng)上的通用性、便捷性而被用戶廣泛使用.隨著PDF文件的廣泛使用,PDF文件成為許多網(wǎng)絡(luò)攻擊者攻擊的目標(biāo),因此對PDF植入惡意代碼的攻擊技術(shù)和攻擊方法也越來越多.存在PDF中的惡意代碼多是跟隨用戶點(diǎn)擊打開PDF文件自行啟動,因此與其他類型惡意代碼相比,這種攻擊方式更加隱蔽,危害性更大.

縱觀國內(nèi)外有關(guān)PDF惡意代碼檢測的技術(shù)研究現(xiàn)狀,在當(dāng)前現(xiàn)狀下,各國研究者對PDF文件惡意代碼的檢測展開了很多深入細(xì)致的研究工作,已提出了一些富有創(chuàng)意的解決方案.

Vatamanu等人[1]提出了1種基于機(jī)器學(xué)習(xí)中聚類算法的PDF文件惡意代碼檢測方法,通過標(biāo)記PDF文件中的JavaScript代碼很好地解決了攻擊者通過混淆技術(shù)對檢測帶來的干擾.Huang等人[2]提出了基于樸素貝葉斯算法的PDF檢測模型,該模型能夠?qū)Ρ日DF文件和含有惡意樣本PDF之間的區(qū)別,并通過樸素貝葉斯算法進(jìn)行分類. Maiorca等人[3]提出1種較為高效的插件,很好地結(jié)合了針對PDF結(jié)構(gòu)的特征匹配模型和高效分類器.Lu等人[4]提出了MPScan系統(tǒng),該系統(tǒng)結(jié)合了JavaScript代碼動態(tài)和靜態(tài)2種檢測方式,具體通過Hook技術(shù)獲取本地Adobe Reader中的JavaScript引擎信息,從而獲取PDF中Java腳本的運(yùn)行情況,并對此進(jìn)行檢測.Smulz等人[5]提出了1種從文檔數(shù)據(jù)和結(jié)構(gòu)中提取特征的檢測方法,并通過對現(xiàn)有真實(shí)數(shù)據(jù)進(jìn)行檢測,驗(yàn)證了該系統(tǒng)的耐用性.Schmitt等人[6]提出了1種PDF檢測工具,該工具基于傳統(tǒng)檢測方式,在模擬環(huán)境中通過靜態(tài)和動態(tài)方式檢測惡意行為.Kang等人[7]提出了1種自動的惡意軟件分析系統(tǒng),自動執(zhí)行PDF格式的動態(tài)、靜態(tài)分析并提供結(jié)果.

以上各項(xiàng)研究與實(shí)驗(yàn)展示了當(dāng)前針對PDF惡意代碼檢測研究情況,然而綜合來看以上研究均存在局限性和針對性不強(qiáng)的問題,如動態(tài)監(jiān)測和靜態(tài)檢測相結(jié)合的檢測方法僅是對傳統(tǒng)惡意代碼檢測思路進(jìn)行延續(xù),對現(xiàn)在新出現(xiàn)的PDF惡意代碼針對檢測性不強(qiáng).通過檢測是否掛載了JavaScript腳本的PDF惡意代碼檢測方法,雖然針對性強(qiáng)且準(zhǔn)確性高,但是其應(yīng)用范圍有限.

隨著針對PDF惡意代碼檢測方法的不斷研究, Han等人[8]提出了在進(jìn)行熵度量的基礎(chǔ)上進(jìn)行小波分析的方法,對PDF惡意代碼進(jìn)行檢測,然后對結(jié)果通過相似度算法進(jìn)行區(qū)分比較.劉林等人[9]在此基礎(chǔ)上提出的基于頻譜分析的復(fù)合文檔惡意代碼檢測方法,通過對復(fù)合文檔進(jìn)行FFT變換進(jìn)行惡意代碼檢測是對變換檢測方法的進(jìn)一步研究,同時也說明了對PDF文件進(jìn)行變換檢測惡意代碼的可行性.

在以上研究基礎(chǔ)上,本文提出了基于機(jī)器學(xué)習(xí)的頻譜分析PDF文件惡意代碼的檢測方法研究方式,將文件二進(jìn)制數(shù)據(jù)的順序看作時間軸,正常PDF文件與掛載了惡意代碼的PDF文件差異在時域上并不明顯,但是經(jīng)過FFT變換后,在相位、頻率分布和能量上就會表現(xiàn)出差異,對于存在差異的結(jié)果通過機(jī)器學(xué)習(xí)進(jìn)行分類就能相對精準(zhǔn)地找到正常PDF文件與加載了惡意代碼的PDF文件之間的差異點(diǎn),通過差異點(diǎn)便可對加載了惡意代碼的PDF文件進(jìn)行高效檢測.

本文以下部分將通過四大部分進(jìn)行詳盡說明:第1節(jié)介紹PDF文件進(jìn)行FFT 變換的原理;第2節(jié)介紹基于機(jī)器學(xué)習(xí)的頻譜分析系統(tǒng)的具體結(jié)構(gòu);第3節(jié)將展示實(shí)驗(yàn)驗(yàn)證思路,設(shè)計(jì)方法,展示實(shí)驗(yàn)結(jié)果;第4節(jié)對本文內(nèi)容進(jìn)行總結(jié).

1 PDF文件FFT變換原理

PDF文件結(jié)構(gòu)即物理結(jié)構(gòu)包括4個部分:頭文件(Header)、文件體(Body)、交叉引用表(cross-reference table)和文件尾(Trailer),具體結(jié)構(gòu)如圖1所示:

HeaderBodyxrefTableTrailer

圖1 PDF文件格式

其中Header指明了該文件所遵從PDF規(guī)范的版本號,它出現(xiàn)在PDF文件的第1行; Body由一系列的PDF間接對象組成,這些間接對象構(gòu)成了PDF文件的具體內(nèi)容如字體、頁面、圖像等等;xref Table則是為了能對間接對象進(jìn)行隨機(jī)存取而設(shè)立的一個間接對象地址索引表; Trailer聲明了交叉引用表的地址,指明文件體的根對象,還保存了加密等安全信息.

本文將使用1種經(jīng)過改進(jìn)的實(shí)數(shù)序列FFT算法,該改進(jìn)算法是通過實(shí)驗(yàn)優(yōu)化得來,利用FFT的頻域變換性質(zhì)將實(shí)數(shù)序列轉(zhuǎn)化為復(fù)數(shù)序列.將N點(diǎn)的實(shí)數(shù)序列按照式(1)分解:

(1)

在式(1)中:

將N個實(shí)數(shù)序列分解重構(gòu)為N2個復(fù)數(shù)序列,運(yùn)算量沒有增加,得到的表達(dá)式如下:

(2)

對z(n′)進(jìn)行N2個序列的復(fù)數(shù)傅里葉變換:

Z(k)=FFTN2(k,z),k=0,1,…,N2-1,

(3)

之后通過fe(n′)和fo(n′)的傅里葉變換將z(n′)的FFT還原,這樣就可以獲得原始序列即N個點(diǎn)實(shí)數(shù)序列的FFT.推導(dǎo)過程如下:

(4)

由表達(dá)式F(k)=Fe(k)+e-j2πkNFo(k)可以推導(dǎo)出下面的結(jié)果:

je-j2πkN((Z(k)-Z(N2-k)*)},

N=0,1,…,N2-1,

(5)

關(guān)于序列的第N2項(xiàng),其計(jì)算方法如式(6):

F(N

j(Z(0)-Z(0)*)},

(6)

關(guān)于序列中后N2項(xiàng),可通過FFT變換的頻率對稱性F(k)=F(N-k)*求解,這樣就將N個實(shí)數(shù)序列轉(zhuǎn)換為N2個復(fù)序列運(yùn)算,達(dá)到優(yōu)化算法的目的.

在針對PDF文件結(jié)構(gòu)研究的基礎(chǔ)上,通過對全文件二進(jìn)制數(shù)據(jù)進(jìn)行提取,將其轉(zhuǎn)換為相應(yīng)實(shí)數(shù)序列,然后利用Python(x,y)中的NumPy和SciPy庫實(shí)現(xiàn)上述改進(jìn)的FFT算法,具體核心代碼如下所示:

fh=open(filename, "rb")

raw=fh.read()

x=[]

for ch in raw:

x.append(ord(ch))

fft_size=len(x)

fh.close()

sampling_rate=131072

xs=x[:fft_size]

freqs=np.linspace(0, sampling_rate2,

set_printoptions(threshold="nan")

xfp=20*np.log10(np.clip(np.abs(xf),

1e-20, 1e100))

將實(shí)數(shù)序列變換成復(fù)序列,最后利用matplotlib庫繪制頻譜圖如圖2、圖3所示:

圖2 正常PDF文件頻譜圖

圖3 綁定了惡意代碼后的PDF文件頻譜圖

2 基于頻譜分析的檢測系統(tǒng)

圖4為本文提出的檢測方法的原理圖,首先需要整理收集大量的惡意PDF樣本及非惡意的PDF樣本.之后對這兩大樣本集分別進(jìn)行頻譜變換,頻譜變換的部分根據(jù)本文第1節(jié)介紹的改進(jìn)后的FFT算法進(jìn)行,并生成相應(yīng)頻譜圖集.通過人為對比生成的2個頻譜圖集,分析出惡意PDF樣本集和非惡意PDF樣本集的特征屬性.最后通過機(jī)器學(xué)習(xí)中監(jiān)督學(xué)習(xí)的JRip算法提取數(shù)據(jù)規(guī)則對2組特征點(diǎn)進(jìn)行分類,并從中提取出相應(yīng)判斷規(guī)則,根據(jù)提取規(guī)則書寫判斷代碼.在檢測階段,我們運(yùn)用相同的方法,先對未知PDF文件進(jìn)行頻譜變換,之后提取變換后的相應(yīng)特征點(diǎn),對特征點(diǎn)進(jìn)行判斷后分析其是否為含有惡意代碼的PDF文件.

圖4 檢測方法原理圖

為了更好地闡述本文所提出的基于機(jī)器學(xué)習(xí)的頻譜分析PDF文件惡意代碼檢測方法,下面將介紹基于本文思路所研發(fā)的基于機(jī)器學(xué)習(xí)的頻譜分析PDF文件惡意代碼檢測系統(tǒng).整個系統(tǒng)共包括四大模塊,分別為管理模塊、PDF文件數(shù)據(jù)讀取模塊、數(shù)據(jù)處理計(jì)算模塊、分析模塊,系統(tǒng)架構(gòu)如圖5所示:

圖5 檢測系統(tǒng)框架圖

其中,管理模塊主要是面向用戶使用,用戶可已通過管理模塊輸入需要檢測的未知PDF文件,并通過管理模塊獲得最終檢測結(jié)果,同時也要求管理模塊具備較好的用戶界面設(shè)計(jì).PDF文件讀取模塊細(xì)分為3個部分:讀入待檢測PDF文件部分,用于讀取用戶輸入的PDF文件;提取有效二進(jìn)制數(shù)據(jù)部分,負(fù)責(zé)將讀入的PDF文件轉(zhuǎn)換為二進(jìn)制序列,并將無用字段剔除;最后一部分將提取出的二進(jìn)制文件轉(zhuǎn)換為有效的實(shí)數(shù)數(shù)列并傳送至數(shù)據(jù)處理計(jì)算模塊.數(shù)據(jù)處理計(jì)算模塊主要負(fù)責(zé)進(jìn)行數(shù)據(jù)的FFT變換,將數(shù)據(jù)以改進(jìn)過的FFT運(yùn)算法則進(jìn)行轉(zhuǎn)換得到我們需要的數(shù)據(jù)形式,最終以頻譜圖的方式展示給用戶.分析模塊的功能是對進(jìn)行轉(zhuǎn)換后的文件數(shù)據(jù)結(jié)果進(jìn)行分析,通過使用機(jī)器學(xué)習(xí)后的判斷算法對提取出的數(shù)據(jù)特征值進(jìn)行分析,判斷其是否為惡意PDF文件,并將結(jié)果反饋給用戶.同時隨著惡意PDF樣本文件的不斷擴(kuò)充,技術(shù)人員可以通過進(jìn)一步機(jī)器學(xué)習(xí)分類判斷的方式提高判斷算法的準(zhǔn)確性.

3 實(shí)驗(yàn)驗(yàn)證

本節(jié)將對本文提出的檢測方法進(jìn)行驗(yàn)證,檢測樣本均是通過綁定工具對正常PDF文件進(jìn)行惡意工具綁定,從而作為檢測樣本.

圖6 正常PDF文件檢測結(jié)果

本次檢測樣本選取了大量不同內(nèi)容不同大小的PDF文件,之后通過對這些正常PDF文件進(jìn)行惡意代碼綁定,從而得到待檢測的惡意PDF文件樣本,惡意代碼綁定是通過綁定工具將諸如下載器等的惡意代碼進(jìn)行綁定到正常PDF樣本中.

圖6是對正常PDF文件檢測所得到的圖譜.

圖7是對圖5所示正常PDF文件進(jìn)行惡意帶綁定之后的檢測結(jié)果.

圖7 惡意PDF文檔檢測結(jié)果

從圖6、圖7不難看出,本檢測方法針對正常PDF文件和惡意PDF文件的檢測結(jié)果具有顯著差別,也證明了基于機(jī)器學(xué)習(xí)的頻譜分析PDF惡意代碼檢測技術(shù)具有研究價值.

本次驗(yàn)證實(shí)驗(yàn)共選取40個樣本進(jìn)行判斷統(tǒng)計(jì),其統(tǒng)計(jì)結(jié)果如表1所示:

表1 實(shí)驗(yàn)驗(yàn)證結(jié)果表

表1中數(shù)據(jù)充分說明了本檢測方法對于檢測PDF惡意代碼的有效性,同時也不可否認(rèn),隨著今后惡意代碼的推陳出新,檢測能力必須緊隨其變,這也要求我們收集更多更新的含有惡意代碼的PDF樣本.

4 總結(jié)與展望

本文立足于基于頻譜分析的惡意代碼檢測技術(shù),針對PDF文件提出了相應(yīng)可行的檢測方法,并對相關(guān)理論進(jìn)行了具體實(shí)現(xiàn).

本文所提出的基于頻譜分析的PDF文件惡意代碼檢測技術(shù)不僅可針對PDF文件進(jìn)行檢測,從理論上判斷,同時也可以針對大部分二進(jìn)制復(fù)合文檔進(jìn)行檢測.

在具有廣闊應(yīng)用前景的同時,本文所闡述的PDF文檔檢測技術(shù)也具有一定的檢測局限性:1)本文針對惡意代碼特殊屬性判斷的機(jī)制,是依據(jù)對大量含有惡意代碼的PDF文件進(jìn)行分析統(tǒng)計(jì)得來,可能存在因樣本數(shù)量不足的原因所造成的判斷不準(zhǔn)問題;2)現(xiàn)階段惡意代碼更新頻率過快,造成檢測過程中會出現(xiàn)誤報(bào)或者漏報(bào)的可能;3)本系統(tǒng)只考慮了針對含有惡意代碼的PDF文件檢測功能,并不具有對惡意文件進(jìn)行攔截的能力.

在未來的研究工作中,將從以下幾個方面解決上述問題:通過增加樣本數(shù)量與新出現(xiàn)的惡意代碼樣本種類,增強(qiáng)本系統(tǒng)的檢測能力,減少誤報(bào)和漏報(bào)概率;通過擴(kuò)展檢測文件類型增大本系統(tǒng)的檢測范圍;通過增加針對惡意文件進(jìn)行處理的功能模塊,提高本系統(tǒng)的實(shí)用性.

[1]Vatamanu C, Dragos G, Benchea R. A practical approach on clustering malicious PDF documents[J]. Journal in Computer Virology, 2012, 8(4): 151-163

[2]Huang Cheng, Fang Yong, Liu Liang, et al. A static detection model of malicious PDF documents based on Na?ve Bayesian classifier technology[OL]. [2015-12-12]. http:ieeexplore.ieee.orgxpllogin.jsp?tp=&arnumber=6413432&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6413432

[3]Maiorca D, Giacinto G, Corona I. A pattern recognition system for malicious PDF files detection[OL]. [2015-12-12]. http:link.springer.comchapter10.1007%2F978-3-642-31537-4_40

[4]Lu Xun, Zhuge Jianwei, Wang Ruoyu, et al. De-obfuscation and detection of malicious PDF files with high accuracy[OL].[2015-12-12]. http:ieeexplore.ieee.orgxpllogin.jsp?tp=&arnumber=6480434&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6480434

[5]Smutz C, Stavrou A. Malicious PDF detection using metadata and structural features[C]Proc of Computer Security Applications Conf. New York: ACM, 2012

[6]Schmitt F, Gassen J, Gerhards-Padilla E. PDF scrutinizer: Detecting javascript-based attacks in PDF documents[OL]. [2015-12-12]. http:ieeexplore.ieee.orgxplarticleDetails.jsp?tp=&arnumber=6297926

[7]Kang H, Kim J, Kim B, et al. Development of an automatic document malware analysis system[OL]. [2015-12-12]. http:link.springer.comchapter10.1007%2F978-94-007-5860-5_1

[8]Han S, Lee K, Lee S. Packed PE file detection for malware forensics[OL]. [2015-12-12]. http:ieeexplore.ieee.orgxpllogin.jsp?tp=&arnumber=5404211&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5403362%2F5404169%2F05404211.pdf%3Farnumber%3D5404211

[9]劉林, 趙向輝, 姚原崗, 等. 基于頻譜分析的復(fù)合文檔惡意代碼檢測[J]. 清華大學(xué)學(xué)報(bào): 自然科學(xué)版, 2013, 53(12): 1713-1718

郝晨曦

碩士,主要研究方向?yàn)樾畔踩?

hcx3630@sina.com

方 勇

博士,教授,主要研究方向?yàn)樾畔踩⒕W(wǎng)絡(luò)信息對抗.

yfang@scu.edu.cn

PDF File Malicious Code Detection Method Based on Spectrum Analysis

Hao Chenxi and Fang Yong

(InstituteofInformationSecurity,SichuanUniversity,Chengdu610065)

In basic research based on compound documents malicious code detection method of spectrum analysis, a spectrum analysis method based on machine learning is proposed to detect the malicious code in PDF file, firstly, we introduced the PDF file malicious code detection system and make a further optimization of the improved real sequence FFT algorithm based on the original ; we made the spectrum transformation of all the field contents extracted from the PDF file storage structure, and analyzed the transformed spectrum map, extracted feature attributes of those spectrum maps by using machine learning algorithms, then formed whether PDF files infected with malicious code is detected according to the machine learning algorithm ,and finally, through experimental analysis , to verify the correctness and validity of the method used , and gives the implementation of the whole system and test result data.

portable document format (PDF); malicious code detection; spectrum transform; machine learning; feature extraction

2016-01-03

TP399

猜你喜歡
分析檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
隱蔽失效適航要求符合性驗(yàn)證分析
電力系統(tǒng)不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統(tǒng)及其自動化發(fā)展趨勢分析
小波變換在PCB缺陷檢測中的應(yīng)用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 在线欧美一区| 欧美一级夜夜爽| 亚洲综合片| 在线国产欧美| 国产精品大白天新婚身材| 激情五月婷婷综合网| 欧美在线国产| 亚洲精品欧美重口| 亚洲第一黄色网址| 玖玖精品视频在线观看| 日韩国产黄色网站| 国产精品无码一区二区桃花视频| 高清欧美性猛交XXXX黑人猛交| 亚洲香蕉在线| 午夜天堂视频| 日韩经典精品无码一区二区| 欧美精品1区| 日韩123欧美字幕| 女人天堂av免费| 国产小视频a在线观看| 欧美一区日韩一区中文字幕页| 亚洲国产精品日韩av专区| 在线国产91| 亚洲一区二区三区在线视频| 在线高清亚洲精品二区| 日韩黄色在线| 精品伊人久久久久7777人| 国产91导航| 久久精品一卡日本电影| 久久这里只精品热免费99| 国产本道久久一区二区三区| 国产成人三级| 思思热精品在线8| 亚亚洲乱码一二三四区| 最新精品国偷自产在线| 日韩专区欧美| 8090午夜无码专区| 久久黄色小视频| 中文字幕av一区二区三区欲色| 亚洲无码高清免费视频亚洲| 久99久热只有精品国产15| 四虎综合网| 一级毛片无毒不卡直接观看| 尤物精品视频一区二区三区| 一区二区日韩国产精久久| 激情综合五月网| 亚洲精品国产首次亮相| 午夜不卡福利| 久久国产成人精品国产成人亚洲| 中文字幕av无码不卡免费| 午夜精品久久久久久久无码软件| 爱色欧美亚洲综合图区| 日韩黄色精品| 亚洲综合天堂网| 热久久综合这里只有精品电影| 精品国产香蕉在线播出| 狠狠色婷婷丁香综合久久韩国 | a级毛片在线免费观看| 国产中文一区a级毛片视频| 人人91人人澡人人妻人人爽| 国产丝袜啪啪| 国内精品小视频福利网址| 亚洲av成人无码网站在线观看| 欧美a在线视频| 亚洲中文精品久久久久久不卡| 人妻中文久热无码丝袜| 亚洲欧美成人综合| 国产精品欧美在线观看| 免费无码一区二区| 日本成人在线不卡视频| 日韩精品亚洲人旧成在线| 亚洲第一极品精品无码| 不卡午夜视频| 国产在线观看人成激情视频| 久久综合一个色综合网| 男人天堂伊人网| 毛片a级毛片免费观看免下载| 亚洲男人的天堂在线| 精品国产网站| 国产真实乱子伦精品视手机观看| 中文字幕欧美成人免费| 91成人在线观看视频|