汪應(yīng)龍++黃祖源++劉愛蓮++李川
【摘 要】為了有效避免惡意代碼給網(wǎng)絡(luò)信息安全帶來的破壞,對(duì)惡意代碼檢測(cè)方法進(jìn)行研究。在惡意代碼可視化的理論基礎(chǔ)上提出一種基于紋理特征的惡意代碼檢測(cè)方法,通過可視化算法實(shí)現(xiàn)對(duì)惡意代碼二進(jìn)制程序的可視化顯示,即映射為灰度圖像,再提取圖像的紋理特征,并在惡意代碼語料庫中進(jìn)行特征匹配,輸出檢測(cè)結(jié)果。最后利用在某公司安全部門捕獲到的5種出現(xiàn)次數(shù)最多的惡意代碼種類進(jìn)行實(shí)際檢測(cè)實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,基于紋理特征的惡意代碼檢測(cè)方法實(shí)用性強(qiáng),對(duì)惡意代碼的分類較精確。
【關(guān)鍵詞】惡意代碼檢測(cè) 可視化算法 紋理特征 特征匹配
1 引言
惡意代碼是指沒有作用但卻會(huì)帶來危險(xiǎn)的代碼,它與正常代碼的主要區(qū)別在于,惡意代碼是完全為了實(shí)現(xiàn)某種惡意功能而故意編制出來的一段計(jì)算機(jī)程序,通常融合在其它正常程序中,然后在特定的環(huán)境下被執(zhí)行。惡意代碼有三個(gè)主要特征:以實(shí)現(xiàn)某種惡意功能為目的;本身仍是計(jì)算機(jī)程序;要先被執(zhí)行操作才能實(shí)現(xiàn)目的,造成的后果包括破壞計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)功能,毀壞數(shù)據(jù)的保密性等。惡意代碼經(jīng)過近幾年的快速發(fā)展,已經(jīng)對(duì)我國(guó)乃至全世界的網(wǎng)絡(luò)安全產(chǎn)生了嚴(yán)重影響,他不僅會(huì)令用戶蒙受巨大的經(jīng)濟(jì)損失,甚至可能威脅到國(guó)家安全。靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)方法是當(dāng)前最常采用的惡意代碼檢測(cè)方法,但都已經(jīng)被證實(shí)在檢測(cè)過程中存在有檢測(cè)結(jié)果的重復(fù)性和滯后性等缺陷,且誤報(bào)率和漏報(bào)率較高。雖然現(xiàn)在也有很多專家為了解決這些問題提出了改進(jìn)方法,但實(shí)驗(yàn)結(jié)果顯示改進(jìn)效果仍然不太理想。比如Christodorescu等人針對(duì)靜態(tài)檢測(cè)方法中代碼加殼等三種惡意代碼保護(hù)技術(shù)提出惡意代碼標(biāo)準(zhǔn)化算法,但該方法對(duì)其它保護(hù)技術(shù)仍無能為力[1];C Willems等人在動(dòng)態(tài)檢測(cè)方法中使用虛擬機(jī)作為輔助分析工具用以加強(qiáng)分析,但同時(shí)也增強(qiáng)了算法復(fù)雜度,導(dǎo)致檢測(cè)時(shí)間更長(zhǎng)[2]。
目前針對(duì)惡意代碼的基于某種特征值的檢測(cè)方法主要是依據(jù)行為特征和語義特征,這兩者分別是從代碼的行為角度和語義角度提取特征值[3]。2005年Christodorescu等人提取惡意代碼指令中的語義特征進(jìn)行特征提取檢測(cè)[4],2006年Krida等人還有王蕊團(tuán)隊(duì)根據(jù)惡意代碼映射出的行為特征進(jìn)行檢測(cè)[5-6],但這兩種方法都由于在檢測(cè)過程中抗干擾能力不足,匹配過程復(fù)雜而不能應(yīng)用于實(shí)際。同時(shí),還有學(xué)者提出利用惡意代碼的其他特征進(jìn)行檢測(cè)識(shí)別。文獻(xiàn)[7]中提出的惡意代碼可視化的理論基礎(chǔ)使得基于圖像紋理特征的惡意代碼檢測(cè)方法得到進(jìn)一步發(fā)展,在檢測(cè)過程中將惡意代碼的二進(jìn)制可執(zhí)行文件轉(zhuǎn)化為灰度圖像實(shí)現(xiàn)代碼的可視化,然后提取圖像的紋理特征,同時(shí)對(duì)用作匹配的惡意代碼語料庫進(jìn)行同樣的轉(zhuǎn)換提取操作以獲取各種紋理特征,最后對(duì)所有提取到的紋理特征進(jìn)行匹配,這樣就可以根據(jù)匹配結(jié)果完成惡意代碼檢測(cè)。本文將對(duì)基于紋理特征的惡意代碼檢測(cè)方式進(jìn)行測(cè)試分析。
2 代碼特征提取原理
通過可視化算法將惡意代碼轉(zhuǎn)換為一幅灰度圖像,然后對(duì)圖像的紋理特征進(jìn)行提取和分析[8]。首先對(duì)提取到的圖像紋理特征通過頻移、濾波等信號(hào)處理方式進(jìn)行信號(hào)變換,再提取出變換后仍相對(duì)穩(wěn)定的特征值進(jìn)行特征分析,這種基于信號(hào)處理的分析方法在最終可得到相對(duì)穩(wěn)定的特征值,從而使得對(duì)紋理特征周期性和方向性的描述更準(zhǔn)確[9]。其中,基于Gabor濾波器法的應(yīng)用廣泛且具有良好的提取效果,原理如下:
Gabor濾波器的應(yīng)用可以看作是對(duì)處理對(duì)象進(jìn)行小波變換[10],對(duì)于某一圖像f(x,y),對(duì)其進(jìn)行二維小波變換后得到公式(1):
(1)
其中,p和q為采樣像素的位置,?x和?y為采樣的空間間隔,m、l分別表示變換的尺度和方向[11]。φml(x,y)由該二維小波變換的母小波φ(x,y)變換而得,如公式(2)所示:
(2)
其中,,,
a-m、θ分別表示母小波φ(x,y)變化的尺度和方向[12]。Gabor濾波器母小波的函數(shù)表達(dá)式如公式(3)所示,即為Gabor函數(shù):
(3)
其中,u、v為Gabor濾波器的表示頻率的空間坐標(biāo)軸。對(duì)Gabor函數(shù)進(jìn)行頻譜平移得到其頻域特征,頻移如公式(4)所示:
(4)
其中,W表示函數(shù)復(fù)調(diào)制頻率,σx表示函數(shù)在空間域中橫軸方向上的窗口半徑,σy則表示縱軸方向上的窗口半徑,σu和σv表示的是在頻域中橫縱軸方向上的窗口半徑,且σu=1/2πσx,σv=1/2πσy[12-13]。
通過對(duì)Gabor函數(shù)進(jìn)行適當(dāng)?shù)某叨群徒嵌茸兓纯?/p>
得到Gabor小波變換濾波器組[14]。Gabor濾波器組對(duì)預(yù)處理圖像的各像素點(diǎn)(p, q)進(jìn)行濾波處理,并輸出處理后的圖像信息Fmlpq=|Imlpq|,這些信息值都只保留了像素的灰度信息,能更準(zhǔn)確地映射出該圖像具有的紋理特征。對(duì)于一幅圖像,其紋理特征可由公式(5)計(jì)算:
(5)
其中,分母的作用是對(duì)圖像進(jìn)行簡(jiǎn)單的校正,增加圖像的灰度內(nèi)容,忽略拍攝時(shí)對(duì)比度或亮度對(duì)紋理特征造成的影響[15]。
3 算法驗(yàn)證試驗(yàn)結(jié)果分析
3.1 驗(yàn)證實(shí)驗(yàn)方法設(shè)計(jì)
基于圖像紋理特征的的惡意代碼檢測(cè)算法是先將惡意代碼轉(zhuǎn)換為灰度圖像,然后提取出圖像紋理特征,并與匹配語料庫中的代碼特征值進(jìn)行特征匹配,過程如圖1所示。在建立索引結(jié)構(gòu)時(shí),根據(jù)文獻(xiàn)[7]的實(shí)驗(yàn)結(jié)果,選擇總體效率最優(yōu)的B-樹索引結(jié)構(gòu)算法作為本實(shí)驗(yàn)的索引算法建立索引結(jié)構(gòu)。
3.2 驗(yàn)證試驗(yàn)結(jié)果分析
驗(yàn)證實(shí)驗(yàn)中選用6種測(cè)試樣本集,分別為:Hacktool、
Packed、Worm、Bagle、Eviljs、Backdoor,他們的基本信息如表1所示:
根據(jù)圖1所示流程對(duì)惡意代碼測(cè)試集進(jìn)行檢測(cè)。與此同時(shí),對(duì)相同的測(cè)試樣本集分別進(jìn)行惡意代碼靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè),最后得到三種關(guān)于準(zhǔn)確率的檢測(cè)結(jié)果,如表2所示。endprint
根據(jù)表2中的準(zhǔn)確率對(duì)比,在這6類惡意代碼中,基于圖像紋理特征的惡意代碼檢測(cè)法對(duì)Bagle類惡意代碼的檢測(cè)準(zhǔn)確率最高,達(dá)到90.0%;檢測(cè)Worm類的準(zhǔn)確率最低,為80.4%,準(zhǔn)確率普遍比另外兩種檢測(cè)方法高出大約10%。驗(yàn)證結(jié)果表明,基于圖像紋理特征的算法對(duì)惡意代碼檢測(cè)的準(zhǔn)確率較高。檢測(cè)效率方面,圖2為三種檢測(cè)算法所消耗的檢測(cè)時(shí)間對(duì)比:
由圖2可知,對(duì)于不同的惡意代碼種類,基于紋理特征的檢測(cè)方法所用的時(shí)間各不一樣,但基本都要比靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)所用的時(shí)間少。檢測(cè)時(shí)間變化趨勢(shì)與惡意代碼數(shù)據(jù)集的大小變化趨勢(shì)一樣,即惡意代碼數(shù)據(jù)集越大,檢測(cè)時(shí)間就越長(zhǎng)。
4 算法檢測(cè)實(shí)驗(yàn)結(jié)果分析
某公司安全部門在2016年12月至2017年4月期間多次檢測(cè)到公司網(wǎng)站遭惡意代碼攻擊。在這期間捕獲到的所有惡意代碼種類中選取出數(shù)量排在前5位的種類(A~E),分別通過基于紋理特征的檢測(cè)算法進(jìn)行檢測(cè),檢測(cè)匹配結(jié)果如表3所示。
從表3中可以看出,惡意代碼種類A與Appaple和Backdoor兩類惡意代碼出現(xiàn)匹配相似度,而與其他三種惡意代碼的相似度為0。以此類推,可以從實(shí)驗(yàn)中看出,惡意代碼A類和C類的匹配效果是最好的,只與兩類代碼匹配;種類B最差,與所有的五類代碼都有匹配相似度。根據(jù)匹配相似度的大小可以推出A類惡意代碼為Appaple,B類惡意代碼為L(zhǎng)ooper,C類惡意代碼為Backdoor,D類惡意代碼為Swizzor,E類惡意代碼為Bancos,但是該結(jié)果也同時(shí)說明了某幾類惡意代碼的紋理特征存在一定的相似度,會(huì)導(dǎo)致匹配結(jié)果有一定的誤差。
5 結(jié)論
提出一種基于映射圖像紋理特征的惡意代碼檢測(cè)算法,并進(jìn)行了驗(yàn)證實(shí)驗(yàn),結(jié)果表明該算法相比于靜態(tài)和動(dòng)態(tài)檢測(cè)方法,在檢測(cè)準(zhǔn)確率和檢測(cè)效率方面有明顯的改進(jìn),但依然還有較大的提升空間。下一步而惡意代碼檢測(cè)算法的改進(jìn)方向主要如下:
(1)在實(shí)驗(yàn)過程中所采用的惡意代碼語料庫容量可能偏小,惡意代碼樣本不足。計(jì)劃綜合venus-2M惡意代碼語料庫、Symantec惡意代碼語料庫等主流的語料庫,將云電惡意代碼語料庫擴(kuò)容。
(2)實(shí)驗(yàn)時(shí)是直接采用的他人之前驗(yàn)證有效的索引算法,但在之后的算法改進(jìn)中將計(jì)劃自主尋求效率更優(yōu)的索引算法,對(duì)采用加殼加密等惡意代碼生存技術(shù)的代碼紋理特征進(jìn)行更好地分析和處理。
參考文獻(xiàn):
[1] M Christodorescu, J Kinder, S Jha, et al. Malware Normalization[D]. Madison: University of Wisconsin, 2005.
[2] C Willems, T Holz, F Freiling. Toward Automated Dynamic Malware Analysis Using CW Sandbox[J]. IEEE Security and Privacy, 2007,5(2): 32-39.
[3] 韓曉光,曲武,姚宣霞,等. 基于紋理指紋的惡意代碼變種檢測(cè)方法研究[J]. 通信學(xué)報(bào), 2014,35(8): 125-136.
[4] M Christodorescu, S Jha, S A Seshia, et al. Semantics-Aware Malware Detection[C]//The 2005 IEEE Symposium on Security and Privacy. California, USA, 2005: 32-46.
[5] E Kirda, C Kruegel, G Banks, et al. Behavior-based spyware detection[C]//Conference on 15th Usenix Security Symposium. Canada, 2006: 273-288.
[6] 王蕊,馮登國(guó),楊軼,等. 基于語義的惡意代碼行為特征提取及檢測(cè)方法[J]. 軟件學(xué)報(bào), 2012,23(2): 378-393.
[7] 王博. 基于行為分析的惡意代碼分類與可視化[D]. 北京: 北京交通大學(xué), 2015.
[8] L Nataraj, S Karthikeyan, G Jacob, et al. Malware images visualization and automation classification[J]. International Symposium on Visualization for Cyber Security, 2011,56(56): 1-7.
[9] A K Jain, F Farrokhnia. Unsupervised texture segmentation using Gabor filters[C]//IEEE International Conference on Systems. 1990: 14-19.
[10] 蒲鑫. 基于Gabor濾波器的掌紋紋理特征的提取[J]. 科技創(chuàng)新導(dǎo)報(bào), 2011(3): 24-25.
[11] 李鈺,孟祥萍. 基于Gabor濾波器的圖像紋理特征提取[J]. 長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào): 自然科學(xué)版, 2008,29(1): 78-81.
[12] 趙英男,楊靜宇. 基于Gabor 濾波器的特征抽取技術(shù)[J].吉首大學(xué)學(xué)報(bào): 自然科學(xué)版, 2006,27(5): 59-62.
[13] 許宗敬,胡平. 顯微圖像紋理特征提取方法綜述[J]. 微計(jì)算機(jī)應(yīng)用, 2009,30(6): 6-13.
[14] M R Turner. Texture discrimination by Gabor functions [J]. Biological Cybernetics, 1986,55(2-3): 71.
[15] 韓曉光. 惡意代碼檢測(cè)關(guān)鍵技術(shù)研究[D]. 北京: 北京科技大學(xué), 2015.★endprint