摘 要: 針對絕大多數(shù)的木馬都經(jīng)過了PE文件加殼處理的情況,對PE文件的加殼檢測進行了研究。對基于歐幾里得距離的加殼PE文件識別方法進行改進,在此基礎(chǔ)上提出了基于明可夫斯基距離對PE文件進行分類,檢測PE文件是否加殼。實驗表明,相對于流行的PEid工具,該法具有較高的檢測率、誤報率和漏報率也在可接受的范圍內(nèi)。
關(guān)鍵詞: 木馬識別; PE文件; 加殼檢測; PEid
中圖分類號: TN915.08?34 文獻標識碼: A 文章編號: 1004?373X(2016)19?0080?02
Abstract: Since the vast majority of Trojan Houses have been disposed by means of packed PE files, detection for the packed PE files is studied. The Euclidean distance based method to identify packed PE files was improved. And on this basis, the method based on Minkowski distance is put forward to the classify PE files, and detect whether PE files are packed. The experimental results show that, in comparison with the popular PEid tool, the method has higher detection rate, and its 1 alarm rate and 1 negative rate are also within the acceptable range.
Keywords: Trojan Horse detection; PE file; packing detection; PEid
0 引 言
作為特殊的計算機病毒 ,木馬攻擊已成為威脅網(wǎng)絡(luò)安全的主要因素之一[1]。在Windows系統(tǒng)下,絕大多數(shù)的木馬都經(jīng)過了PE文件加殼處理。所以在木馬識別和檢測的過程中,判斷和識別文件是否加殼非常重要。
文獻[2]提出了一種基于信息熵分析的PE文件加殼檢測方法,該方法通過分析加殼PE文件的比特分布、計算信息熵的方法區(qū)分加殼和非加殼的PE文件。PEid[3]是目前最流行的去殼和加殼識別工具,Choi等人提出基于PE屬性間歐幾里得距離的加殼檢測技術(shù)[4],取得了比PEiD更高的識別率。文獻[5]提出引入主成分分析的方法,該方法將多個屬性進行線性變換從而得到少數(shù)重要屬性,針對這些屬性將它們帶入C4.5,SVM,MLP,Naive Bayes等分類器能很好地對加殼和非加殼PE文件進行分類和檢測。文獻[6]提出一種專門針對UPX加殼軟件的加殼監(jiān)測技術(shù)。
本文主要對PE文件的加殼檢測技術(shù)進行研究,提出一種基于明可夫斯基距離的加殼PE文件識別方法。
1 基本概念
1.1 PE文件加殼分類
對PE文件進行加殼,一般有兩個目的:一是對原PE文件進行壓縮,從而減小PE文件的體積;二是對PE文件進行加密,防止原PE文件被破解。根據(jù)不同目的,加殼軟件可分為兩種:壓縮加殼軟件,如ASPack,UPX等都屬于這一類;加密加殼軟件,如ASProtect,tElock等都屬于這一類。
1.2 明可夫斯基距離
2.3 實驗結(jié)果與分析
通過選取不同的[x]參數(shù)值,進行多次實驗,對這些實驗的結(jié)果進行比較,可以獲得理想的[x]值。
2.3.1 實驗數(shù)據(jù)與環(huán)境
實驗樣本:用100個加殼PE文件,用于獲得特征向量的明可夫斯基距離從而選取閾值。測試數(shù)據(jù)采用1 027個PE文件,包括437個加殼的PE文件和590個非加殼的PE文件,文件主要來自于系統(tǒng)“Program Files”和”system32”文件夾,以及因特網(wǎng)和反病毒商。其中加殼和非加殼文件都各自含有安全的文件和病毒文件。
實驗環(huán)境:操作系統(tǒng):Windows 7 旗艦版 Service Pack 1 32位;內(nèi)存:4 GB;CPU:Inter?CoreTMi7?3630QM CPU@2.40 GHz。
2.3.2 實驗結(jié)果
依次將[x]參數(shù)設(shè)定為1~4進行4次實驗,并用誤報數(shù)(非加殼的PE文件被判定為加殼PE文件的數(shù)目)、漏報數(shù)(加殼的PE文件被判定為非加殼PE文件的數(shù)目)、檢測率(被正確檢測出來的加殼PE文件與進行測試的加殼PE文件總數(shù)的比值)、誤報率(非加殼的PE文件被判定為加殼PE文件的數(shù)目與被判定為加殼PE文件的數(shù)目的比值)和漏報率(加殼的PE文件被判定為非加殼PE文件的數(shù)目與加殼PE文件總數(shù)的比值)5個指標標識實驗結(jié)果。表2中列出了不同[x]參數(shù)下的閾值和相應(yīng)實驗結(jié)果。
從表2中可以看出,當參數(shù)[x=1]時有最高的檢測率(94.05%)和最低的漏報率(4.58%),但是此時的誤報率也相對較高為6.37%;當參數(shù)[x=2]時,檢測率最低只有93.59%,漏報率為6.41%居中,此時的誤報率為3.99%相對[x=]1時較低,但依然比[x]為3,4時高;當參數(shù)[x]為3或者4時,檢測率為93.82%,誤報率為最低的2.38%,而漏報率最高為7.32%。
3 結(jié) 語
本文提出了一種基于明可夫斯基距離的PE文件查殼方法。實驗表明,相對于流行的PEid工具,該方法具有較高的檢測率,誤報率和漏報率也在可接受的范圍內(nèi)。
參考文獻
[1] 國家互聯(lián)網(wǎng)應(yīng)急中心.CNCERT互聯(lián)網(wǎng)安全威脅報告[R/OL].[[2012?07?23].]http://www.cert.org.cn/publish/main/45/2015/2015 0728093145715904130/20150728093145715904130_.html.
[2] LYDA R, HAMROCK J. Using entropy analysis to find encryp?ted and packed malware [J]. IEEE security privacy, 2007, 5(2): 40?45.
[3] ALDERD. PEiD [DB/OL]. [2013?12?29]. http://www.aldeid.com/wiki/PEiD.
[4] Wikipedia. Euclidean distance [DB/OL]. [2015?07?03]. http://en.wikipedia.org/wiki/Euclidean_distance.
[5] 趙躍華,張翼,言洪萍.基于數(shù)據(jù)挖掘技術(shù)的加殼PE程序識別方法[J].計算機應(yīng)用,2011,31(7):1901?1903.
[6] DEVI D, NANDI S. PE file features in detection of packed executables [J]. International journal of computer theory and engineering, 2012, 4(3): 476?478.