国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

惡意軟件檢測(cè)和分類(lèi)可視化技術(shù)綜述

2023-11-28 02:27:40王金偉陳正嘉謝雪羅向陽(yáng)馬賓
關(guān)鍵詞:靜態(tài)灰度可視化

王金偉,陳正嘉,謝雪,羅向陽(yáng),馬賓

惡意軟件檢測(cè)和分類(lèi)可視化技術(shù)綜述

王金偉1,2,3,陳正嘉1,2,謝雪4,5,羅向陽(yáng)6,馬賓7

(1. 南京信息工程大學(xué)數(shù)字取證教育部工程研究中心,江蘇 南京 210044;2. 南京信息工程大學(xué)計(jì)算機(jī)學(xué)院,江蘇 南京 210044;3. 數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001;4. 中國(guó)科學(xué)技術(shù)大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,安徽 合肥 230031;5. 中國(guó)航天系統(tǒng)科學(xué)與工程研究院,北京 100048;6. 信息工程大學(xué),河南 鄭州 450001;7. 齊魯工業(yè)大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,山東 濟(jì)南 250353)

隨著科技的不斷發(fā)展,惡意軟件及其變種的種類(lèi)不斷增多,已經(jīng)成為網(wǎng)絡(luò)安全的一個(gè)巨大挑戰(zhàn)。這些惡意軟件采用了多樣的技術(shù)手段,以欺騙或規(guī)避傳統(tǒng)檢測(cè)方法,從而使得傳統(tǒng)非可視化檢測(cè)技術(shù)不再適用。近年來(lái),數(shù)據(jù)可視化作為一種強(qiáng)有力的惡意軟件檢測(cè)和分類(lèi)手段引起了學(xué)術(shù)界的廣泛關(guān)注。通過(guò)以圖像的方式呈現(xiàn)惡意軟件的核心特征,這類(lèi)方法能夠顯著提高惡意軟件的檢測(cè)和分類(lèi)準(zhǔn)確率,從而在網(wǎng)絡(luò)安全領(lǐng)域具有廣闊的研究前景。綜述惡意軟件檢測(cè)領(lǐng)域的傳統(tǒng)非可視化檢測(cè)技術(shù)與可視化檢測(cè)技術(shù)。介紹了惡意軟件檢測(cè)的傳統(tǒng)非可視化方式,包括靜態(tài)檢測(cè)、動(dòng)態(tài)檢測(cè)、混合檢測(cè);重點(diǎn)對(duì)一些常見(jiàn)的惡意軟件可視化方法進(jìn)行了調(diào)研和綜合評(píng)述,主要包括可視化結(jié)合機(jī)器學(xué)習(xí)與可視化結(jié)合深度學(xué)習(xí)兩大方向,這兩種方法在惡意軟件檢測(cè)和分類(lèi)中各有優(yōu)勢(shì)和特點(diǎn),因此在選擇檢測(cè)和分類(lèi)方法時(shí),需要綜合考慮多個(gè)因素,包括數(shù)據(jù)集大小、計(jì)算資源和時(shí)間限制、模型準(zhǔn)確度以及實(shí)現(xiàn)復(fù)雜度等;對(duì)目前檢測(cè)技術(shù)所面臨的問(wèn)題進(jìn)行了總結(jié),并對(duì)未來(lái)的發(fā)展方向進(jìn)一步展望。

機(jī)器學(xué)習(xí);深度學(xué)習(xí);數(shù)據(jù)可視化;惡意軟件檢測(cè)和分類(lèi)

0 引言

惡意軟件是指以某種方式對(duì)用戶或計(jì)算機(jī)造成破壞的任何軟件,又被稱(chēng)為惡意代碼。作為一種有害的可執(zhí)行程序,它們嚴(yán)重影響著網(wǎng)絡(luò)系統(tǒng)的安全,并引起了廣泛關(guān)注。根據(jù)功能,惡意軟件可以分為木馬、病毒、蠕蟲(chóng)、間諜軟件以及廣告軟件等多種類(lèi)型;根據(jù)平臺(tái),惡意軟件可以分為Windows、Linux或安卓(Android)系統(tǒng)軟件,本文主要介紹Windows惡意軟件。除了功能和平臺(tái)之外,惡意軟件及其變體還可以根據(jù)家族進(jìn)行分類(lèi)。同一家族的惡意軟件及其變體必須具有類(lèi)似的二進(jìn)制模式,這些模式在檢測(cè)惡意軟件變體和分類(lèi)家族方面具有非常大的幫助。

隨著自動(dòng)化生成工具和惡意軟件混淆技術(shù)的廣泛使用,惡意軟件及其變體的數(shù)量與種類(lèi)不斷增加。惡意軟件混淆技術(shù)主要包括包裝、變形和虛擬技術(shù),被廣泛用于逃避殺毒軟件的檢測(cè)。由此大量新的惡意代碼生成,它們的入侵方式以及傳播方式不斷變化,對(duì)網(wǎng)絡(luò)環(huán)境產(chǎn)生了巨大威脅,受影響的用戶數(shù)量和檢測(cè)到的惡意軟件的數(shù)量都呈指數(shù)級(jí)增長(zhǎng),惡意軟件分析師面臨巨大挑戰(zhàn)。根據(jù)2020年國(guó)家互聯(lián)網(wǎng)應(yīng)急中心《網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào)》第16期,一周內(nèi)我國(guó)境內(nèi)感染網(wǎng)絡(luò)病毒的主機(jī)數(shù)量約為54.8萬(wàn)臺(tái)[1]。

因此,如何從惡意代碼中提取更加有效且穩(wěn)定的特征,從而提高惡意代碼檢測(cè)和分類(lèi)準(zhǔn)確率與效率引起了人們深入的思考和研究。為應(yīng)對(duì)不斷增長(zhǎng)的惡意代碼數(shù)據(jù)集,越來(lái)越多的自動(dòng)檢測(cè)和分類(lèi)方法被應(yīng)用,包括隨機(jī)森林、決策樹(shù)、支持向量機(jī)等機(jī)器學(xué)習(xí)方法以及卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,recurrent neural network)等深度學(xué)習(xí)方法。這些方法的應(yīng)用大大提高了惡意代碼的檢測(cè)效率和準(zhǔn)確率,成為惡意軟件分析師的重要工具。

傳統(tǒng)非可視化惡意軟件檢測(cè)和分類(lèi)方法主要可以分為靜態(tài)代碼分析和動(dòng)態(tài)代碼分析兩種技術(shù)。靜態(tài)代碼分析技術(shù)不需要執(zhí)行代碼,能夠快速獲取惡意軟件的語(yǔ)法和語(yǔ)義信息。通常使用專(zhuān)業(yè)交互式反匯編器(IDA Pro, interactive disassember professional)等反匯編工具進(jìn)行逆向分析,提取的靜態(tài)特征包括字節(jié)序列、控制流圖和字符串簽名等。相比之下,動(dòng)態(tài)代碼分析技術(shù)通過(guò)在虛擬環(huán)境中執(zhí)行代碼來(lái)獲取惡意軟件的行為報(bào)告,包括函數(shù)調(diào)用監(jiān)測(cè)、功能參數(shù)分析、信息流跟蹤、指令跟蹤和動(dòng)態(tài)可視化分析等,需要使用自動(dòng)化工具如CW沙箱(cyber warfare sandbox)、Anubis、TTAnalyzer、Ether和ThreatExpert等來(lái)實(shí)現(xiàn)。兩種技術(shù)都有其優(yōu)缺點(diǎn)。靜態(tài)代碼分析技術(shù)覆蓋范圍較大,但在面對(duì)混淆和加殼代碼時(shí)可能會(huì)漏檢。相比之下,動(dòng)態(tài)代碼分析技術(shù)更加有效且準(zhǔn)確,但需要付出時(shí)間和空間成本。

近年來(lái),可視化方法(將惡意代碼轉(zhuǎn)化為圖像形式展示),作為一種新興的惡意軟件檢測(cè)和分類(lèi)技術(shù)備受關(guān)注。通過(guò)可視化方法,可以發(fā)現(xiàn)惡意軟件圖像中包含著豐富的信息。同一類(lèi)別的惡意家族的可視化圖像通常具有相似性,而不同家族的可視化圖像之間則有較大的差異。此外,大多數(shù)惡意代碼變體是使用自動(dòng)化技術(shù)或重用一些重要的模塊來(lái)生成的,因此它們?cè)诙M(jìn)制代碼中具有一些相似之處。相對(duì)于傳統(tǒng)的惡意軟件分類(lèi)方法,可視化方法可以加速惡意軟件分類(lèi)的過(guò)程,滿足大數(shù)據(jù)計(jì)算、專(zhuān)家系統(tǒng)反饋和認(rèn)知復(fù)雜性等方面的需求,從而能夠更加有效地檢測(cè)和分類(lèi)惡意軟件。

本文對(duì)惡意軟件檢測(cè)和分類(lèi)可視化技術(shù)進(jìn)行全方面的綜述,簡(jiǎn)述了傳統(tǒng)非可視化惡意軟件檢測(cè)技術(shù),包括靜態(tài)檢測(cè)、動(dòng)態(tài)檢測(cè)和混合檢測(cè)3個(gè)方面;介紹了可視化技術(shù)在惡意軟件檢測(cè)與分類(lèi)領(lǐng)域的應(yīng)用,主要從機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和其他可視化方法3個(gè)角度進(jìn)行闡述,這一新興領(lǐng)域的研究為惡意軟件的檢測(cè)和分類(lèi)提供了新的思路和方法,有望成為未來(lái)惡意軟件檢測(cè)技術(shù)中不可或缺的一部分;對(duì)當(dāng)前檢測(cè)技術(shù)問(wèn)題進(jìn)行了總結(jié)與展望。

1 傳統(tǒng)非可視化惡意軟件檢測(cè)技術(shù)

本節(jié)將對(duì)傳統(tǒng)非可視化惡意軟件檢測(cè)技術(shù)進(jìn)行綜述。針對(duì)惡意軟件程序?qū)嶋H運(yùn)行,本文將傳統(tǒng)惡意軟件檢測(cè)技術(shù)分為靜態(tài)檢測(cè)技術(shù)、動(dòng)態(tài)檢測(cè)技術(shù)和混合檢測(cè)技術(shù)3類(lèi)。

1.1 靜態(tài)檢測(cè)技術(shù)

靜態(tài)檢測(cè)技術(shù)是在對(duì)二進(jìn)制代碼不運(yùn)行的情況下對(duì)其分析,從而檢測(cè)出代碼特性進(jìn)行分類(lèi)的方法,如何提取準(zhǔn)確有效的靜態(tài)特征是這種檢測(cè)技術(shù)的重點(diǎn)。該技術(shù)不需要對(duì)代碼運(yùn)行,因此靜態(tài)檢測(cè)時(shí)間和空間成本較小,效率較高,可以對(duì)代碼特性進(jìn)行全面的分析。

常用的靜態(tài)特征包括API調(diào)用序列、N-Gram提取字節(jié)序列特征、文件結(jié)構(gòu)信息、操作碼頻率分布、調(diào)用函數(shù)、字符串簽名和控制流圖等。此外,靜態(tài)檢測(cè)技術(shù)可以使用許多工具,如IDA Pro等反匯編工具可用于逆向分析惡意可執(zhí)行文件,提供更有效的信息;而LordPE內(nèi)存轉(zhuǎn)儲(chǔ)工具可以在系統(tǒng)內(nèi)存中獲取受保護(hù)的代碼,對(duì)于分析有更大的幫助。

(1)基于API調(diào)用序列進(jìn)行靜態(tài)分析

在惡意軟件檢測(cè)和分類(lèi)中,API調(diào)用序列常作為一個(gè)重要的靜態(tài)特征被使用,它能夠反映出軟件特定的行為順序。通過(guò)分析程序所有的系統(tǒng)API調(diào)用,能夠初步了解程序的作用,或者至少能夠判斷程序是否為惡意軟件。

Iwamoto等[2]在其研究中提取了API序列,并使用基于特征提取的層次聚類(lèi)分析方法對(duì)其處理。作者將API序列轉(zhuǎn)化為函數(shù)調(diào)用圖,并對(duì)其進(jìn)行縮放。該方法考慮了API之間的調(diào)用關(guān)系,使得它們更具有區(qū)別性。

Imran等[3]提出了一種基于相似度的分類(lèi)方法。作者提取API序列來(lái)訓(xùn)練隱馬爾可夫模型(HMM, hidden Markov model),進(jìn)而評(píng)估訓(xùn)練序列和測(cè)試序列之間的相似性,并通過(guò)計(jì)算相關(guān)性得分對(duì)惡意軟件進(jìn)行分類(lèi)。該方法可以有效地利用API序列信息,但訓(xùn)練HMM模型需要大量的計(jì)算開(kāi)銷(xiāo)。

Hardy等[4]則從可執(zhí)行文件中提取API調(diào)用序列,并將其加入堆疊式自動(dòng)編碼器(SAE, stacked auto encoder)深度學(xué)習(xí)架構(gòu)模型中,該模型采用了無(wú)監(jiān)督預(yù)訓(xùn)練和監(jiān)督反向傳播算法進(jìn)行惡意軟件檢測(cè)和分類(lèi)。

(2)基于N-Gram提取字節(jié)序列特征進(jìn)行靜態(tài)分析

除了API調(diào)用序列,使用N-Gram方法提取惡意代碼的字節(jié)序列特征也是一種重要的靜態(tài)分析,該方法的具體步驟為將原始字節(jié)序列使用一個(gè)長(zhǎng)度為的滑動(dòng)窗口提取子序列的特征。需要注意的是,如果值過(guò)小,可能會(huì)影響惡意軟件的全局性;如果值過(guò)大,可能會(huì)影響特征之間的相關(guān)性。因此,在選擇值時(shí)需要進(jìn)行權(quán)衡和調(diào)整,以獲得最佳的檢測(cè)效果。

Schultz等[5]提出了一種在Windows平臺(tái)下使用N-Gram算法提取靜態(tài)特征的方法,并選取了3種不同類(lèi)型的特征進(jìn)行分析。第一種是從PE文件的動(dòng)態(tài)鏈接庫(kù)中提取的特征,第二種是提取可執(zhí)行文件中的可打印文本字符串,第三種是從可執(zhí)行文件中提取的N-Gram字節(jié)序列。這些特征可以通過(guò)機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練和分類(lèi)。該方法是一種有效的惡意軟件檢測(cè)方法。

2004年,Kolter等[6]使用N-Gram算法提取收集到的惡意軟件特征,并評(píng)估了樸素貝葉斯、決策樹(shù)、支持向量機(jī)等歸納方法。結(jié)果顯示,增強(qiáng)決策樹(shù)的表現(xiàn)優(yōu)于其他方法。在此基礎(chǔ)上,Kolter等[7]在2006年進(jìn)行了進(jìn)一步實(shí)驗(yàn),通過(guò)選取不同N-Gram中的值來(lái)確定最佳值以實(shí)現(xiàn)最高的檢測(cè)率,從而對(duì)收集到的惡意軟件進(jìn)行檢測(cè)和分類(lèi)。

Kang等[8]從分解的文件中提取了操作碼,并利用N-gram方法將其組織為特征向量,以此來(lái)進(jìn)行惡意軟件分類(lèi)。此外,他們比較了不同操作碼長(zhǎng)度對(duì)分類(lèi)精度的影響。實(shí)驗(yàn)結(jié)果表明,操作碼是惡意軟件分類(lèi)的有效特征,并且短操作碼長(zhǎng)度具有更好的分類(lèi)性能。

在某些情況下,N-Gram提取的特征過(guò)于單一,可能會(huì)導(dǎo)致檢測(cè)效率較低。為了提高檢測(cè)精度,考慮將N-Gram特征與其他特征進(jìn)行結(jié)合,或使用不同的值提取特征來(lái)進(jìn)行學(xué)習(xí)。之后,使用一種集成學(xué)習(xí)將多個(gè)分類(lèi)器的結(jié)果進(jìn)行組合,從而獲得更準(zhǔn)確的最終結(jié)果。這種方法可以在惡意軟件檢測(cè)任務(wù)中獲得更高的精度和更好的性能。

(3)其他靜態(tài)分析方法

除此之外,動(dòng)態(tài)鏈接庫(kù)、函數(shù)長(zhǎng)度、PE文件頭、可變長(zhǎng)指令序列、函數(shù)調(diào)用圖細(xì)粒度分類(lèi)、可閱讀字符串和熵等信息都能夠當(dāng)作靜態(tài)特征進(jìn)行使用。

Tian等[9]使用函數(shù)長(zhǎng)度作為靜態(tài)特征,通過(guò)測(cè)量代碼中函數(shù)的字節(jié)數(shù)來(lái)衡量。作者基于此提出了一種用于木馬分類(lèi)的方法。實(shí)驗(yàn)結(jié)果表明,在識(shí)別惡意軟件家族的靜態(tài)特征方面,函數(shù)長(zhǎng)度及其頻率具有重要作用。如果與其他特征相結(jié)合,可以更有利于惡意軟件的分類(lèi)。

Siddiqui等[10]選取可變長(zhǎng)度指令序列作為特征,通過(guò)可變長(zhǎng)度指令序列中包含的信息進(jìn)行分析,使用機(jī)器學(xué)習(xí)中的決策樹(shù)和隨機(jī)森林機(jī)器來(lái)檢測(cè)蠕蟲(chóng)并且進(jìn)行分類(lèi),其中數(shù)據(jù)預(yù)處理過(guò)程如圖1所示。

圖1 數(shù)據(jù)預(yù)處理過(guò)程

Figure 1 Data preprocessing process

Kong等[11]提出了一個(gè)用于自動(dòng)分類(lèi)惡意軟件的通用框架,該框架基于惡意軟件的豐富結(jié)構(gòu)信息。該框架分為3個(gè)步驟:第一步,利用函數(shù)調(diào)用圖的細(xì)粒度特征提取惡意軟件樣本的特征;第二步,基于距離度量評(píng)估樣本之間的相似度;第三步,對(duì)樣本進(jìn)行聚類(lèi)。在完成這3個(gè)步驟之后,利用分類(lèi)器從樣本之間的距離中進(jìn)行訓(xùn)練和分類(lèi)。

Baysa等[12]采用二維矩陣進(jìn)行惡意軟件比較,但該方法的計(jì)算成本較高。該方法將結(jié)構(gòu)熵技術(shù)應(yīng)用于變異檢測(cè)問(wèn)題,即通過(guò)分析文件的結(jié)構(gòu)熵來(lái)實(shí)現(xiàn)相似性比較。該方法包括文件分割和序列比較兩個(gè)階段。在文件分割階段,作者使用熵測(cè)量和小波分析對(duì)文件進(jìn)行分割;在序列比較階段,作者通過(guò)計(jì)算在第一階段獲得的片段序列之間的距離來(lái)衡量文件對(duì)的相似性。

Li等[13]提出了一個(gè)純粹基于靜態(tài)特征的分類(lèi)器,選取的樣本特征為文件頭、熵、動(dòng)態(tài)鏈接庫(kù)(DLL, dynamic link library)等信息,經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),針對(duì)自動(dòng)規(guī)避攻擊,該分類(lèi)器具有很好的魯棒性。

Kumar等[14]對(duì)PE頭的原始值與派生值進(jìn)行了組合,還比較了所提出的集成特征集與原始特征集,通過(guò)實(shí)驗(yàn)證明了基于前者訓(xùn)練出的分類(lèi)器能夠憑借較高的準(zhǔn)確度與較少的成本對(duì)惡意軟件進(jìn)行檢測(cè)和分類(lèi)。

在惡意代碼檢測(cè)領(lǐng)域,靜態(tài)分析已經(jīng)得到廣泛的應(yīng)用和發(fā)展。它可以全面地對(duì)惡意代碼進(jìn)行分析,捕獲語(yǔ)法和語(yǔ)義信息。相對(duì)于動(dòng)態(tài)分析,靜態(tài)分析的時(shí)間復(fù)雜度和空間復(fù)雜度較低,速度快,效率高,適用于大規(guī)模數(shù)據(jù)集。然而,隨著惡意代碼混淆技術(shù)和反檢測(cè)技術(shù)的不斷發(fā)展,基于靜態(tài)分析的檢測(cè)方法已經(jīng)不能完全檢測(cè)出惡意代碼,易受到加密技術(shù)的干擾。因此,動(dòng)態(tài)檢測(cè)和混合檢測(cè)方法逐漸受到重視和研究。

1.2 動(dòng)態(tài)檢測(cè)技術(shù)

惡意軟件動(dòng)態(tài)分析是指讓惡意軟件樣本在受控環(huán)境(如模擬器、仿真器、虛擬機(jī)和沙箱)中執(zhí)行,并對(duì)其運(yùn)行時(shí)的行為進(jìn)行監(jiān)控和分析。目前,自動(dòng)化工具如Norman Sandbox、CWSandbox、Anubis、TTAnalyzer、Ether和ThreatExpert等已經(jīng)在動(dòng)態(tài)分析領(lǐng)域廣泛使用。通過(guò)使用這些工具進(jìn)行分析,可以獲得惡意代碼樣本的分析報(bào)告,并提供更有效的特征以用于惡意代碼分類(lèi)。

Firdausi等[15]首先使用了Anubis自動(dòng)化工具在沙箱中對(duì)惡意代碼進(jìn)行動(dòng)態(tài)行為分析,并將得到的分析報(bào)告轉(zhuǎn)化為稀疏向量模型;然后選用了近鄰、樸素貝葉斯、決策樹(shù)和支持向量機(jī)這4種分類(lèi)器算法對(duì)惡意樣本進(jìn)行分類(lèi)。實(shí)驗(yàn)結(jié)果表明,J48決策樹(shù)算法的分類(lèi)效果優(yōu)于其他分類(lèi)器算法。

Zolkipli等[16]提出了一種基于動(dòng)態(tài)方法的惡意軟件分類(lèi)框架,該框架包括行為識(shí)別和惡意軟件分類(lèi)兩個(gè)階段,作者在CWSandbox和Anubis自動(dòng)化工具上運(yùn)行每個(gè)惡意軟件樣本,并收集與行為相關(guān)的報(bào)告。該方法的缺點(diǎn)在于需要人工參與動(dòng)態(tài)分析惡意軟件的行為,導(dǎo)致效率低。

Rieck等[17]提出了一個(gè)用于惡意軟件行為監(jiān)控的框架,在沙箱環(huán)境中監(jiān)控每個(gè)惡意軟件樣本的行為,并將這些行為映射到向量空間中,然后對(duì)具有相似行為的新型惡意樣本進(jìn)行了聚類(lèi)。

Anderson等[18]提出了一種基于指令執(zhí)行軌跡的惡意軟件檢測(cè)方法,該方法使用動(dòng)態(tài)分析技術(shù)收集目標(biāo)可執(zhí)行文件的指令軌跡,并將其構(gòu)建為圖;利用圖核機(jī)制構(gòu)造計(jì)算跟蹤圖之間的相似性,再使用支持向量機(jī)進(jìn)行分類(lèi)。然而,該方法在實(shí)際應(yīng)用中的計(jì)算復(fù)雜度較高。

Kim等[19]提出了一種快速識(shí)別和檢測(cè)惡意代碼的算法,同時(shí)能夠快速響應(yīng)網(wǎng)絡(luò)入侵。該算法的核心思想是采用序列對(duì)比算法對(duì)API調(diào)用序列進(jìn)行動(dòng)態(tài)分析。

陳佳捷等[20]提出了一種結(jié)合惡意代碼動(dòng)態(tài)行為和雙向門(mén)循環(huán)單元的惡意軟件檢測(cè)方法。該方法使用Cuckoo沙箱對(duì)惡意代碼進(jìn)行行為分析,從API調(diào)用序列和行為信息兩個(gè)角度提取和融合特征,并將雙向門(mén)循環(huán)單元應(yīng)用于惡意軟件檢測(cè)。實(shí)驗(yàn)結(jié)果表明,該方法能夠獲取更加豐富的行為信息,且相比雙向長(zhǎng)短時(shí)記憶(BiLSTM, bidirectional long short-term memory)網(wǎng)絡(luò)等,性能更為優(yōu)越。

相比靜態(tài)分析,動(dòng)態(tài)分析在惡意代碼檢測(cè)中更加有效,擁有更高的準(zhǔn)確率,而且無(wú)須對(duì)惡意代碼進(jìn)行解包和反匯編操作。對(duì)于加殼以及混淆的惡意代碼樣本漏檢率會(huì)進(jìn)一步降低。然而,動(dòng)態(tài)分析的時(shí)間和空間成本會(huì)增加。此外,動(dòng)態(tài)分析無(wú)法對(duì)惡意代碼進(jìn)行全面的監(jiān)控和分析,缺乏全局認(rèn)識(shí),只能監(jiān)控和分析惡意代碼程序的一條執(zhí)行路徑,需要一定的跟蹤時(shí)長(zhǎng)才能取得有效結(jié)果。

1.3 混合檢測(cè)技術(shù)

針對(duì)進(jìn)行了加殼操作的惡意代碼,直接對(duì)其應(yīng)用靜態(tài)特征檢測(cè)不太適用,因?yàn)殡y以對(duì)其進(jìn)行反匯編操作。雖然將這些加殼的惡意代碼放在虛擬環(huán)境中檢測(cè)可以一定程度上觀察到它們的隱藏行為,但是這種動(dòng)態(tài)檢測(cè)方式實(shí)用性不高,耗時(shí)長(zhǎng)。因此,針對(duì)加殼的惡意軟件,可以結(jié)合動(dòng)態(tài)分析和靜態(tài)分析兩種方式進(jìn)行檢測(cè)。首先,使用動(dòng)態(tài)分析對(duì)加殼的惡意軟件進(jìn)行去殼操作,然后通過(guò)靜態(tài)分析檢測(cè)去殼后的惡意軟件,從而可以獲得更加豐富的惡意代碼特性。這種方式不僅可以提高檢測(cè)的效率,還可以提高檢測(cè)的準(zhǔn)確率。

Islam等[21]在惡意代碼分類(lèi)中,將3個(gè)特征向量進(jìn)行了集成。這3個(gè)特征向量分別為函數(shù)長(zhǎng)度頻率、可打印字符串信息矢量化和從日志文件中提取的API特性。其中,前兩個(gè)為靜態(tài)特征,后一個(gè)為動(dòng)態(tài)特征。將這3個(gè)特征向量進(jìn)行組合后,使用分類(lèi)器進(jìn)行訓(xùn)練,以實(shí)現(xiàn)惡意代碼的分類(lèi)。

Santos等[22]提出了一種結(jié)合靜態(tài)特征和動(dòng)態(tài)特征的惡意代碼檢測(cè)器。該檢測(cè)器使用操作碼頻率作為靜態(tài)特征,并選擇執(zhí)行程序的軌跡信息作為動(dòng)態(tài)特征,通過(guò)將這兩種特征進(jìn)行結(jié)合,提高了惡意代碼檢測(cè)器的性能。

金炳初等[23]提出了一種惡意軟件檢測(cè)和分類(lèi)方法,該方法包含靜態(tài)簽名、樣本灰度圖等靜態(tài)特征以及行為路徑樹(shù)動(dòng)態(tài)特征。該方法首先通過(guò)爬蟲(chóng)抓取大量惡意樣本的簽名,并使用ClamAV進(jìn)行檢測(cè);其次,對(duì)于未檢測(cè)出的惡意樣本,將其轉(zhuǎn)化為灰度圖進(jìn)行分類(lèi);最后,利用行為路徑樹(shù)動(dòng)態(tài)特征對(duì)于之前仍檢測(cè)失敗的樣本進(jìn)行惡意軟件分類(lèi)。

陳志鋒等[24]提出了一種內(nèi)核惡意代碼檢測(cè)方法,該方法基于數(shù)據(jù)特征創(chuàng)建了內(nèi)核數(shù)據(jù)對(duì)象訪問(wèn)模型,并采用靜態(tài)分析和動(dòng)態(tài)分析相結(jié)合的方法對(duì)惡意代碼進(jìn)行識(shí)別。在靜態(tài)分析階段,該方法通過(guò)對(duì)惡意代碼進(jìn)行反匯編獲取代碼特征,以構(gòu)建內(nèi)核數(shù)據(jù)對(duì)象訪問(wèn)模型。在動(dòng)態(tài)分析階段,該方法運(yùn)行惡意代碼并監(jiān)測(cè)其內(nèi)核數(shù)據(jù)對(duì)象的訪問(wèn)行為,與模型進(jìn)行匹配以實(shí)現(xiàn)內(nèi)核惡意代碼的檢測(cè)。該方法可以有效地識(shí)別和阻止內(nèi)核惡意代碼的攻擊行為。

表1 傳統(tǒng)惡意軟件檢測(cè)的相關(guān)文獻(xiàn)

混合檢測(cè)作為一種惡意軟件檢測(cè)方法,結(jié)合了靜態(tài)檢測(cè)的快速和高效以及動(dòng)態(tài)檢測(cè)的準(zhǔn)確性,但其需要大量的資源,對(duì)于規(guī)模較大的數(shù)據(jù)集,其復(fù)雜度和工作量會(huì)相應(yīng)增加。對(duì)于混合檢測(cè)方法而言,何時(shí)對(duì)加殼的惡意軟件進(jìn)行去殼操作是一個(gè)關(guān)鍵問(wèn)題,值得進(jìn)一步深入研究。

傳統(tǒng)惡意軟件檢測(cè)的相關(guān)文獻(xiàn)如表1所示,其中“—”表示文獻(xiàn)中沒(méi)有明確提及??紤]到本文的研究重點(diǎn)以及非可視化相關(guān)文獻(xiàn)的發(fā)表時(shí)間較早,很多文獻(xiàn)使用的數(shù)據(jù)集已經(jīng)過(guò)時(shí)并已被市面上新的數(shù)據(jù)集所取代,表1中未呈現(xiàn)非可視化相關(guān)文獻(xiàn)的分類(lèi)準(zhǔn)確率。后文會(huì)展示可視化相關(guān)文獻(xiàn)的分類(lèi)準(zhǔn)確率,這樣做的目的是聚焦于介紹新的數(shù)據(jù)集和研究成果,為讀者提供更加實(shí)用和現(xiàn)代化的信息。

在現(xiàn)有的分析方法中,仍以靜態(tài)分析和動(dòng)態(tài)分析使用居多。如上所述,靜態(tài)分析是指對(duì)程序可執(zhí)行文件進(jìn)行分析而不執(zhí)行程序。在靜態(tài)分析中,通常使用的特征包括操作碼頻率分布、字節(jié)序列N-Gram、控制流程圖等。靜態(tài)分析比動(dòng)態(tài)分析更快、更高效,因?yàn)樗哂薪Y(jié)構(gòu)屬性相關(guān)的信息優(yōu)勢(shì),如字節(jié)簽名序列和文件內(nèi)容中的異常。而動(dòng)態(tài)分析是指在一個(gè)安全和受控的環(huán)境中觀察程序的運(yùn)行狀態(tài),通常是分析行為信息,如網(wǎng)絡(luò)活動(dòng)、系統(tǒng)調(diào)用、文件操作和注冊(cè)表修改記錄。這種方法能夠準(zhǔn)確反映程序的行為特征,不受加密、壓縮、變形等方面的影響。但是,這種方法需要花費(fèi)時(shí)間調(diào)試程序和跟蹤與記錄程序的運(yùn)行過(guò)程。因此,動(dòng)態(tài)分析通常比靜態(tài)分析效率低得多。此外,動(dòng)態(tài)分析在運(yùn)行環(huán)境中也受到一些限制。靜態(tài)分析和動(dòng)態(tài)分析有各自的優(yōu)缺點(diǎn),但考慮到動(dòng)態(tài)分析所需的時(shí)間和資源,靜態(tài)分析更適合于分析大量的惡意軟件。

為了方便讀者理解,對(duì)傳統(tǒng)非可視化惡意軟件檢測(cè)進(jìn)行文獻(xiàn)邏輯圖整理,如圖2所示。

圖2 對(duì)傳統(tǒng)非可視化惡意軟件檢測(cè)進(jìn)行文獻(xiàn)邏輯圖整理

Figure 2 Traditional non-visual malware detection for literature logic diagram arrangement

2 惡意軟件可視化技術(shù)研究

盡管惡意軟件不斷演變和變化,但是將其轉(zhuǎn)化為可視化圖像后,相較于傳統(tǒng)非可視化方法,具有更優(yōu)越的檢測(cè)和分類(lèi)效果。惡意軟件圖像中蘊(yùn)含了豐富的信息,同類(lèi)惡意家族的可視化圖像具有相似性,而不同類(lèi)家族的可視化圖像之間則有明顯差異。此外,大部分惡意代碼變體是使用自動(dòng)化技術(shù)或重用重要模塊生成的,因此它們?cè)诙M(jìn)制代碼中存在一些相似之處?;谝陨咸攸c(diǎn),研究學(xué)者采用兩種主流方式開(kāi)展惡意軟件可視化研究:一種主流方式是從圖像的紋理或結(jié)構(gòu)等方面入手,提取特征并結(jié)合機(jī)器學(xué)習(xí)進(jìn)行惡意軟件的檢測(cè)和分類(lèi);另一種主流方式是使用深度學(xué)習(xí)自動(dòng)提取特征進(jìn)行學(xué)習(xí),可以有效對(duì)抗混淆技術(shù)。除了常見(jiàn)的灰度圖像,為了獲取更加豐富的特征,許多學(xué)者將惡意軟件可視化為彩色圖像。此外,還有一些基于可視化的方法,雖未使用機(jī)器學(xué)習(xí)或深度學(xué)習(xí),但同樣可對(duì)惡意軟件進(jìn)行有效檢測(cè)。

2.1 基于機(jī)器學(xué)習(xí)的惡意軟件可視化檢測(cè)

當(dāng)前,針對(duì)基于機(jī)器學(xué)習(xí)的惡意軟件可視化檢測(cè)方法展開(kāi)了廣泛而深入的研究,該研究方向的重心在于提取出具有良好分類(lèi)效果且不易受到干擾的可視化特征。在特征提取的基礎(chǔ)上,利用多種分類(lèi)器進(jìn)行圖像分類(lèi),進(jìn)而實(shí)現(xiàn)惡意軟件的分類(lèi)。通常采用的方法是利用機(jī)器學(xué)習(xí)方法對(duì)提取出的圖片全局圖像結(jié)構(gòu)張量(GIST, gobal image structure tensor)特征進(jìn)行學(xué)習(xí)和分類(lèi),或者將GIST特征作為全局特征與LBP、SIFT或者DSIFT等局部特征相結(jié)合,再運(yùn)用機(jī)器學(xué)習(xí)方法進(jìn)行分類(lèi)。通過(guò)將分類(lèi)效果最好的特征與分類(lèi)器結(jié)合,可以實(shí)現(xiàn)對(duì)惡意軟件更為準(zhǔn)確和高效的分類(lèi)。

Nataraj等[25]的研究開(kāi)啟了結(jié)合可視化技術(shù)的惡意軟件檢測(cè)和分類(lèi)的新興領(lǐng)域。該研究首先將惡意軟件.text區(qū)塊的二進(jìn)制數(shù)據(jù)通過(guò)Nataraj矢量化技術(shù)轉(zhuǎn)化為灰度圖像,并基于GIST[26-28]對(duì)轉(zhuǎn)化后的灰度圖特征進(jìn)行提取,然后運(yùn)用KNN(-nearest neighbor)算法對(duì)提取的特征進(jìn)行分類(lèi)。此外,在文獻(xiàn)[29]中,研究者表明使用圖像處理的二進(jìn)制紋理分析技術(shù)可以更快速地對(duì)惡意軟件進(jìn)行分類(lèi)。然而,紋理分析方法具有較大的計(jì)算開(kāi)銷(xiāo),因此在處理大量的惡意軟件時(shí)存在問(wèn)題。

Nataraj提出了一種針對(duì)惡意代碼的矢量化方法,該方法選取的編碼量一般為全部PE文件或其中包含可執(zhí)行代碼的.text節(jié)。具體而言,對(duì)于給定的二進(jìn)制文件,可以將其切割成長(zhǎng)度為8 bit的子序列,每個(gè)子序列可以通過(guò)二進(jìn)制轉(zhuǎn)換為[0,255]范圍內(nèi)的數(shù)值?;谶@種思想,惡意代碼文件可以被視為在[0,255]范圍內(nèi)的灰度圖像。為了處理不同大小的惡意代碼文件,研究人員提出將圖像的寬度設(shè)置為固定值,高度根據(jù)文件大小進(jìn)行調(diào)整,從而將惡意代碼轉(zhuǎn)換為長(zhǎng)條狀的灰度圖像,Nataraj的矢量化如圖3所示。

圖3 Nataraj的矢量化

Figure 3 Vectorization of Nataraj

圖4 3層多分類(lèi)器聯(lián)合框架示意

Figure 4 Three-layer multi-classifier joint framework

劉亞姝等[30]解決了文獻(xiàn)[25]在某些相似度比較高的惡意代碼家族上分類(lèi)精確度不高的問(wèn)題。作者首先將惡意代碼根據(jù)文獻(xiàn)[25]中Nataraj矢量化方法轉(zhuǎn)化為灰度圖,之后選取GIST作為全局特征,LBP或者DSIFT作為局部特征進(jìn)行融合。實(shí)驗(yàn)結(jié)果表明,該方法更具穩(wěn)定性和適用性,并且分類(lèi)準(zhǔn)確率得到了顯著提高。

劉亮等[31]針對(duì)現(xiàn)有技術(shù)提取特征單一的缺點(diǎn),提出了一種基于多特征的惡意軟件分類(lèi)方法。該方法首先對(duì)字節(jié)碼圖像進(jìn)行處理,提取GIST作為全局特征和SIFT作為局部特征,再將這兩種特征融合并使用隨機(jī)森林進(jìn)行訓(xùn)練;其次,對(duì)操作碼圖像提取像素特征和文本特征進(jìn)行融合,并使用XGBoost進(jìn)行訓(xùn)練,此外,還提取了灰度共生矩陣并使用支持向量機(jī)進(jìn)行訓(xùn)練;最后,將這3部分分類(lèi)器的輸出通過(guò)聯(lián)合層進(jìn)行加權(quán)投票得出聯(lián)合輸出。3層多分類(lèi)器聯(lián)合框架示意如圖4所示。實(shí)驗(yàn)結(jié)果表明,該方法的分類(lèi)準(zhǔn)確率明顯優(yōu)于單一特征提取的方法。

Naeem等[32]提出了一種名為L(zhǎng)GMP的特征提取方法,該方法包括3個(gè)步驟:首先,采用DSIFT方法提取局部特征并進(jìn)行選擇;其次,提取GIST作為全局特征;最后,通過(guò)高斯權(quán)重集成局部和全局特征得到LGMP特征。

除了GIST特征之外,基于紋理以及操作碼N-Gram提取特征等,也是惡意軟件分類(lèi)中常用的特征提取方法。這些特征可以結(jié)合多種其他特征進(jìn)行組合,以進(jìn)一步提高檢測(cè)和分類(lèi)的準(zhǔn)確性。

Liu等[33]研發(fā)了一種基于機(jī)器學(xué)習(xí)的惡意軟件分析系統(tǒng),該系統(tǒng)由3個(gè)主要組成部分構(gòu)成:首先是數(shù)據(jù)處理模塊,該模塊利用操作碼N-Gram和導(dǎo)入函數(shù)對(duì)灰度圖像進(jìn)行特征提??;其次是決策模塊,負(fù)責(zé)對(duì)惡意軟件進(jìn)行分類(lèi)和識(shí)別可疑惡意軟件;最后是檢測(cè)模塊,該模塊使用SNN聚類(lèi)算法來(lái)發(fā)現(xiàn)新的惡意軟件家族。

Fu等[34]提出了一種將惡意軟件可視化為RGB彩色圖像的方法,并利用熵、字節(jié)值和相對(duì)大小來(lái)表征惡意軟件。作者將這3個(gè)特征分別轉(zhuǎn)化為RGB三通道表示,基于熵、字節(jié)值和相對(duì)大小的彩色圖片可視化方法如圖5所示。在特征提取方面,作者選擇了GLCM和顏色矩作為全局特征,同時(shí)為了增強(qiáng)模型的魯棒性,提取了部分字節(jié)碼序列作為局部特征,并使用隨機(jī)森林、近鄰和支持向量機(jī)對(duì)惡意軟件進(jìn)行分類(lèi)。

圖5 基于熵、字節(jié)值和相對(duì)大小的彩色圖片可視化方法

Figure 5 Color image visualization method based on entropy, byte value and relative size

郎大鵬等[35]提出了一種融合三組特征的惡意軟件檢測(cè)和分類(lèi)算法。該算法首先將惡意代碼源文件和反匯編文件使用文獻(xiàn)[25]中Nataraj矢量化方法轉(zhuǎn)化為灰度圖;然后提取灰度圖的GIST特征和GLCM特征,此外,使用3-Gram算法提取操作碼序列,并采用改進(jìn)型增益算法提取操作碼特征;最后,將這3組特征進(jìn)行不同的組合與分類(lèi),并利用隨機(jī)森林算法進(jìn)行學(xué)習(xí)。多特征融合的惡意代碼分類(lèi)算法如圖6所示。

李劭杰等[36]提出了一種基于多特征并結(jié)合隨機(jī)森林的惡意代碼檢測(cè)方法。該方法選取的特征包括N-Gram算法提取的文本特征、從灰度圖中提取的紋理特征GLCM以及灰度直方圖提取的顏色特征作為全局特征。3種特征相結(jié)合后,利用隨機(jī)森林算法對(duì)代碼進(jìn)行檢測(cè)。

Figure 6 Malicious code classification algorithm based on multi-feature fusion

除了前文提到的方法,結(jié)合機(jī)器學(xué)習(xí)進(jìn)行惡意代碼檢測(cè)的可視化技術(shù)還可以應(yīng)用其他的特征提取方法,如熱圖、小波、Gabor特征、方向梯度直方圖HOG特征以及區(qū)段特征等。

Anderson等[37]提出了一種利用熱圖展示惡意軟件內(nèi)核使用情況的方法。該方法在每個(gè)不同視圖上使用相似性度量來(lái)表示內(nèi)核,然后使用多個(gè)內(nèi)核進(jìn)行學(xué)習(xí),找到數(shù)據(jù)源的加權(quán)組合,從而在支持向量機(jī)分類(lèi)器中實(shí)現(xiàn)最佳的分類(lèi)精度。

盧喜東等[38]提出了一種基于方向梯度直方圖的惡意代碼分類(lèi)方法:首先,將惡意代碼轉(zhuǎn)化為灰度圖并對(duì)其進(jìn)行大小歸一化處理;然后,使用方向梯度直方圖提取灰度圖的特征,這些特征被認(rèn)為是惡意代碼的本質(zhì)特征;最后,使用深度森林算法對(duì)惡意代碼進(jìn)行分類(lèi)。

Kancherla等[39]提出了基于可視化的方法進(jìn)行惡意軟件檢測(cè)。該方法首先將可執(zhí)行文件轉(zhuǎn)化為灰度圖像,將其命名為"字節(jié)圖";隨后,從這一圖像中提取低層次的特征,包括基于強(qiáng)度和紋理的特征;最后,采用支持向量機(jī)作為惡意軟件檢測(cè)的工具,并利用上一步提取的特征進(jìn)行分類(lèi)和檢測(cè)。

惡意軟件可視化結(jié)合機(jī)器學(xué)習(xí)的相關(guān)文獻(xiàn)如表2所示,其中“?”表示文獻(xiàn)中沒(méi)有明確提及。

表2 惡意軟件可視化結(jié)合機(jī)器學(xué)習(xí)的相關(guān)文獻(xiàn)

根據(jù)表2的結(jié)果,可以探究不同特征和模型對(duì)機(jī)器學(xué)習(xí)方法分類(lèi)準(zhǔn)確率的影響。從表2可以看出,在特征選擇方面,操作碼和GIST相關(guān)的特征顯示出相對(duì)較高的分類(lèi)準(zhǔn)確率;在模型選擇方面,隨機(jī)森林和支持向量機(jī)是在惡意軟件檢測(cè)和分類(lèi)問(wèn)題中較為高效的機(jī)器學(xué)習(xí)模型;此外,多方面多角度的特征合理結(jié)合比單一特征產(chǎn)生更好的分類(lèi)效果。這進(jìn)一步強(qiáng)調(diào)了特征和模型的選擇對(duì)于分類(lèi)準(zhǔn)確率的重要性。在惡意軟件檢測(cè)領(lǐng)域,研究人員通常會(huì)測(cè)試多種特征提取方法,包括基于靜態(tài)分析和動(dòng)態(tài)分析的特征提取方法,并測(cè)試不同的機(jī)器學(xué)習(xí)模型,以獲得更高的分類(lèi)準(zhǔn)確率。在進(jìn)行特征和模型的選擇時(shí),必須考慮數(shù)據(jù)集大小、特征質(zhì)量和可解釋性、模型準(zhǔn)確率和計(jì)算效率等多個(gè)因素。因此,在選擇特征和模型時(shí),需要進(jìn)行全面的分析和評(píng)估,以獲得最佳的惡意軟件檢測(cè)和分類(lèi)方法。

近年來(lái),機(jī)器學(xué)習(xí)結(jié)合可視化的方法在惡意軟件檢測(cè)領(lǐng)域得到了快速發(fā)展,但仍有多個(gè)方面可以進(jìn)一步完善。第一,目前的方法通常將整個(gè)惡意代碼圖像作為處理對(duì)象,而未來(lái)可以考慮將惡意代碼圖像分成多個(gè)區(qū)段進(jìn)行處理。第二,在提取多特征時(shí),應(yīng)確保特征相互獨(dú)立,盡量消除重疊的部分。第三,目前在特征融合方面,靜態(tài)特征融合居多,未來(lái)可探索融合行為特征等動(dòng)態(tài)特征。第四,對(duì)于加密或打包的惡意軟件,需要開(kāi)發(fā)有效的解壓和解密方法以進(jìn)行可視化研究。第五,可視化技術(shù)用于PE文件的研究更為廣泛,因?yàn)镻E文件結(jié)構(gòu)清晰統(tǒng)一、含有豐富信息,而一些非PE文件結(jié)構(gòu)較為復(fù)雜,無(wú)法有效提取本地特征,因此未來(lái)對(duì)于非PE文件的可視化研究需要更多探索。第六,目前的方法在提取復(fù)雜的惡意軟件圖像特征時(shí)需要高計(jì)算成本,如GIST、SURF、DSIFT、LBP和GLCM等,而且這些特征提取技術(shù)在處理大規(guī)模數(shù)據(jù)集時(shí)效率較低。因此,未來(lái)需要研究如何降低特征提取成本,從原始二進(jìn)制數(shù)據(jù)中提取適當(dāng)?shù)男畔?,提高惡意軟件檢測(cè)的準(zhǔn)確率。

2.2 基于深度學(xué)習(xí)的惡意軟件可視化檢測(cè)

將惡意軟件可視化與深度學(xué)習(xí)相結(jié)合,以實(shí)現(xiàn)對(duì)惡意軟件的分類(lèi)和檢測(cè),是一種主流方法。

目前,深度學(xué)習(xí)技術(shù),如卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)等,已經(jīng)成為廣泛研究的熱點(diǎn)。這些技術(shù)能夠自動(dòng)學(xué)習(xí)數(shù)據(jù)集中的特征,并實(shí)現(xiàn)高效的分類(lèi)和檢測(cè)。因此,基于深度學(xué)習(xí)的惡意代碼檢測(cè)得到了較快發(fā)展。其中,常用的方法是將惡意代碼轉(zhuǎn)換為灰度圖或彩色圖,并將其輸入深度學(xué)習(xí)模型中進(jìn)行學(xué)習(xí)和分類(lèi)。

2015年,Davis等[40]提出了一種基于反匯編的惡意代碼矢量化方法。該方法使用反匯編的十六進(jìn)制機(jī)器碼作為編碼源,將每個(gè)十六進(jìn)制數(shù)字轉(zhuǎn)換為4 bit的二進(jìn)制數(shù)字,并將其填充到64 bit中。由于二進(jìn)制數(shù)字只有0或1,因此將每個(gè)二進(jìn)制位乘以255后,可以得到像素灰度值0或255。使用該方法轉(zhuǎn)換后的灰度圖中,每行都對(duì)應(yīng)著一條機(jī)器碼,具有很好的可視化解釋性。

軒勃娜等[41]提出了一種基于改進(jìn)CNN的惡意軟件RGB可視化分類(lèi)方法,可抵御惡意軟件變種和混淆,首先,通過(guò)基于RGB圖像的特征表示方法,強(qiáng)化了惡意軟件的語(yǔ)義關(guān)系,生成更富紋理信息的圖像,深挖了惡意代碼原始與變種的關(guān)系;其次,利用坐標(biāo)注意力模塊擴(kuò)展空間信息,應(yīng)對(duì)惡意軟件的加密和混淆問(wèn)題;最后,借助空洞空間金字塔池化改進(jìn)CNN模型,克服圖像尺寸歸一化引起的信息損失和冗余。

Cui等[42]在文獻(xiàn)[25]的基礎(chǔ)上進(jìn)行了改進(jìn),使用蝙蝠算法結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的方法解決了不同惡意代碼家族之間的數(shù)據(jù)不均衡問(wèn)題,并應(yīng)用深度學(xué)習(xí)進(jìn)行分類(lèi)和學(xué)習(xí),避免了過(guò)擬合問(wèn)題。

Kalash等[43]首先將惡意軟件的二進(jìn)制文件轉(zhuǎn)換為灰度圖像,然后訓(xùn)練了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)其進(jìn)行分類(lèi)。之后,作者在Malimg和Big2015兩個(gè)數(shù)據(jù)集上進(jìn)行了測(cè)試,結(jié)果顯示其準(zhǔn)確率分別達(dá)到了98.52%和98.99%。

田志成等[44]提出了一種PE文件格式的惡意代碼對(duì)抗樣本檢測(cè)方法,旨在應(yīng)對(duì)在程序功能無(wú)關(guān)區(qū)域進(jìn)行添加或修改的對(duì)抗樣本攻擊。該方法利用模型解釋技術(shù)提取端到端的惡意代碼檢測(cè)模型的決策依據(jù)作為特征,并借助異常檢測(cè)方法來(lái)準(zhǔn)確識(shí)別這些對(duì)抗樣本。值得注意的是,該方法作為一種附加模塊無(wú)須對(duì)原始模型進(jìn)行修改。相對(duì)其他防御方法,如對(duì)抗訓(xùn)練等,該方法表現(xiàn)出更高的效率和更強(qiáng)的泛化能力,可有效應(yīng)對(duì)多種對(duì)抗樣本攻擊。

王博等[45]在惡意代碼檢測(cè)領(lǐng)域提出了一種新的方法,將每個(gè)二進(jìn)制比特串切割成長(zhǎng)度為8 bit的子串,并將每連續(xù)3個(gè)子串分別對(duì)應(yīng)RGB通道。這種方法可以對(duì)任意長(zhǎng)度的惡意代碼進(jìn)行處理,并將其轉(zhuǎn)換為圖像數(shù)據(jù),基于序列分割的彩色圖片可視化方法如圖7所示。相較于文獻(xiàn)[42],該方法的準(zhǔn)確率提高了1.66%。然而,該方法所設(shè)計(jì)的CNN結(jié)構(gòu)參數(shù)量較大,且采用的數(shù)據(jù)集樣本量過(guò)少,未能完全體現(xiàn)所設(shè)計(jì)CNN結(jié)構(gòu)的優(yōu)勢(shì)。未來(lái)需要更多的研究來(lái)驗(yàn)證該方法的性能和可靠性。

圖7 基于序列分割的彩色圖片可視化方法

Figure 7 Color image visualization method based on sequence segmentation

Chu等[46]通過(guò)灰度圖轉(zhuǎn)化技術(shù)將惡意代碼同源分類(lèi)問(wèn)題轉(zhuǎn)化為圖像分類(lèi)問(wèn)題,利用基于惡意軟件可視化圖像的卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建分類(lèi)器,并在Big2015數(shù)據(jù)集上進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,該分類(lèi)器的分類(lèi)精度高達(dá)98.6%。

Vasan等[47]采用了文獻(xiàn)[25]中的Nataraj矢量化方法將惡意軟件轉(zhuǎn)化為二維數(shù)組,隨后添加了彩色映射以生成彩色圖片,并利用調(diào)整過(guò)后的VGG16網(wǎng)絡(luò)模型對(duì)其進(jìn)行檢測(cè)和分類(lèi)。該方法對(duì)于混淆的惡意軟件及其變種具有很高的效率和實(shí)用性。

針對(duì)文獻(xiàn)[45]中模型數(shù)量過(guò)多的問(wèn)題,蔣考林等[48]提出了一種與其將惡意代碼可視化為彩色圖像類(lèi)似的方法,但不同之處在于在末尾數(shù)量不足的情況下使用0進(jìn)行填充,并使用Alexnet進(jìn)行訓(xùn)練和分類(lèi)。相比文獻(xiàn)[45],文獻(xiàn)[48]方法分類(lèi)準(zhǔn)確率提高了1.8%。

除了前述方法,許多文獻(xiàn)在結(jié)合可視化和卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,引入了創(chuàng)新點(diǎn)。例如,一些作者使用Simhash或Minhash算法生成特征圖像,以達(dá)到更好的分類(lèi)效果。

Ni等[49]提出了一種MCSC(multi-characteristic simhashing code)算法,用于提取惡意代碼特征。該算法結(jié)合了操作碼序列和局部敏感哈希技術(shù),通過(guò)獲取惡意代碼反匯編后匯編指令中的操作碼序列進(jìn)行特征提取,將每個(gè)惡意代碼編碼為相同長(zhǎng)度的二進(jìn)制Simhash值,隨后,將Simhash值的每個(gè)二進(jìn)制位轉(zhuǎn)換為像素值(0轉(zhuǎn)換為0,1轉(zhuǎn)換為255),從而得到惡意軟件的圖像。在該過(guò)程中,采用了多哈希、主塊選擇和雙線性插值等技術(shù)來(lái)提高算法性能。

Sun等[50]提出了一種結(jié)合惡意代碼靜態(tài)分析、RNN和CNN的方法,旨在利用時(shí)序特征與原始代碼信息的關(guān)聯(lián)性來(lái)提高惡意代碼分析的魯棒性。該方法首先將原始代碼與RNN預(yù)測(cè)碼進(jìn)行融合,并使用Minhash算法生成特征圖像;然后,利用訓(xùn)練好的CNN對(duì)特征圖像進(jìn)行分類(lèi),實(shí)現(xiàn)惡意代碼的檢測(cè)和分類(lèi)。

陳小寒等[51]的研究既考慮了惡意軟件的原始信息,又考慮了其與時(shí)序特征相關(guān)聯(lián)的能力,通過(guò)二者的有機(jī)結(jié)合獲得了更加豐富、可用于分類(lèi)的信息。該研究首先從匯編代碼中提取操作碼序列,并采用Simhash算法將每段惡意代碼映射為64 bit哈希值;其次,基于Simhash值映射的灰度圖像可視化方法(如圖8所示),將哈希值映射為一個(gè)坐標(biāo),通過(guò)對(duì)每個(gè)坐標(biāo)出現(xiàn)的次數(shù)進(jìn)行灰度值調(diào)整,生成惡意軟件的灰度圖像;隨后,研究者利用雙向遞歸神經(jīng)網(wǎng)絡(luò)處理灰度圖像,得到預(yù)測(cè)碼,同時(shí),對(duì)預(yù)測(cè)碼進(jìn)行上述操作;最后,將原始代碼與預(yù)測(cè)碼特征圖像結(jié)合,利用CNN對(duì)圖像進(jìn)行分類(lèi),取得了出色的分類(lèi)效果。值得注意的是,該研究中所設(shè)計(jì)的CNN結(jié)構(gòu)參數(shù)量較大,但作者對(duì)數(shù)據(jù)集進(jìn)行了充分的實(shí)驗(yàn)設(shè)計(jì)和驗(yàn)證,從而保證了分類(lèi)效果的可靠性和可復(fù)現(xiàn)性。

圖8 基于Simhash值映射的灰度圖像可視化方法

Figure 8 Gray image visualization method based on Simhash value mapping

也有一些研究者將深度學(xué)習(xí)和熵值或熵圖相結(jié)合,用于惡意軟件的檢測(cè)和分類(lèi)。

Gibert等[52]提出了一種針對(duì)惡意程序的檢測(cè)和分類(lèi)方法,將程序內(nèi)容表示為一個(gè)熵流,其中每個(gè)值都描述了在文件中特定位置的一小塊代碼的熵量;隨后,應(yīng)用小波變換來(lái)描述熵能的變化,并且利用深度學(xué)習(xí)方法從熵值的流表示的可執(zhí)行文件中找到區(qū)別模式,以實(shí)現(xiàn)對(duì)惡意軟件的檢測(cè)和分類(lèi)。實(shí)驗(yàn)結(jié)果表明,該方法取得了良好的效果。

Xiao等[53]提出了一種將惡意代碼樣本轉(zhuǎn)換為基于結(jié)構(gòu)熵的熵圖的方法,采用深度卷積神經(jīng)網(wǎng)絡(luò)作為特征提取器,自動(dòng)從熵圖中提取共享模式,并使用支持向量機(jī)對(duì)惡意代碼進(jìn)行檢測(cè)和分類(lèi)。實(shí)驗(yàn)結(jié)果表明,將深度卷積神經(jīng)網(wǎng)絡(luò)與熵圖結(jié)合可以提供更好的惡意軟件家族識(shí)別模式,熵圖比灰度圖更具代表性,可以更好地表現(xiàn)核心家族信息。基于結(jié)構(gòu)熵計(jì)算與熵圖的惡意軟件可視化方法如圖9所示。

圖9 基于結(jié)構(gòu)熵計(jì)算與熵圖的惡意軟件可視化方法

Figure 9 Malware visualization method based on structural entropy calculation and entropy graph

除此之外,還有一些研究者將深度學(xué)習(xí)與惡意軟件的灰度圖紋理特征、操作碼頻率、空間填充曲線、注意力圖以及匯編指令的詞向量等結(jié)合,以實(shí)現(xiàn)惡意軟件的分類(lèi)和學(xué)習(xí)。

Yan等[54]提出了一種新的惡意代碼檢測(cè)方法MalNet,其首先生成惡意代碼灰度圖像,并同時(shí)利用IDA工具對(duì)操作碼序列進(jìn)行提??;隨后使用CNN和長(zhǎng)短時(shí)記憶(LSTM, long short-term memory)網(wǎng)絡(luò)分別從灰度圖和操作碼序列中進(jìn)行學(xué)習(xí)和分類(lèi),檢測(cè)準(zhǔn)確率達(dá)到了99.88%,分類(lèi)準(zhǔn)確率達(dá)到了99.36%。該方法通過(guò)將深度學(xué)習(xí)應(yīng)用于灰度圖像和操作碼序列,取得了極高的檢測(cè)和分類(lèi)準(zhǔn)確率。

喬延臣等[55]在惡意軟件檢測(cè)中采用了一種基于匯編代碼的方法。作者首先獲取了惡意軟件的匯編代碼,并使用Word2Vec算法得到詞向量;接下來(lái)按照Top100的順序,排列每個(gè)樣本上計(jì)算出的匯編指令詞向量,將每個(gè)樣本轉(zhuǎn)換為維度為100的矩陣。通過(guò)歸一化操作,將每個(gè)矩陣轉(zhuǎn)換為灰度圖像,并使用CNN進(jìn)行分類(lèi)。實(shí)驗(yàn)結(jié)果表明該方法可以有效地對(duì)惡意代碼進(jìn)行分類(lèi)。

Yakura等[56]提出了一種新的惡意軟件分析方法,該方法利用帶有注意力機(jī)制的CNN處理惡意軟件轉(zhuǎn)化后的圖像,計(jì)算出注意力圖并提取具有代表性的惡意家族字節(jié)序列。實(shí)驗(yàn)結(jié)果表明,該方法能夠提取有用的惡意家族信息,為人工分析提供幫助。

Zhao等[57]提出了一種基于灰度圖像和紋理分割的惡意代碼分類(lèi)框架,通過(guò)將惡意軟件的信息反映在新的紋理特征圖像空間中,實(shí)現(xiàn)了對(duì)惡意代碼的分類(lèi)。為適應(yīng)該框架,作者還提出了一種專(zhuān)門(mén)設(shè)計(jì)的CNN進(jìn)行學(xué)習(xí)和分類(lèi)。

任卓君等[58]在對(duì)文獻(xiàn)[61]分析的基礎(chǔ)上,針對(duì)樣本數(shù)量較少、缺乏普適性的問(wèn)題,提出了一種基于操作碼頻率的惡意軟件可視化檢測(cè)分類(lèi)方法。該方法首先從反匯編的惡意樣本中提取操作碼字符序列;然后對(duì)其進(jìn)行采樣與轉(zhuǎn)換;接著利用設(shè)計(jì)的色譜標(biāo)記樣本集中出現(xiàn)數(shù)量最多的前15種操作碼,按照空間填充曲線遍歷RGB顏色空間的順序進(jìn)行填充,使得相同顏色的操作碼聚集在一起?;诓僮鞔a頻率的惡意代碼可視化分析方法如圖10所示。通過(guò)這種方式,惡意軟件信息被轉(zhuǎn)換為具有代表性的可視化結(jié)果,可視化結(jié)果中同族相似,異族相異,具有很好的分類(lèi)效果。

Ren等[59]提出了一種基于惡意軟件二進(jìn)制序列的可視化分析方法,該方法包括歸一化、映射、學(xué)習(xí)與分類(lèi)3個(gè)步驟。在第一個(gè)步驟中,通過(guò)填充不同的顏色來(lái)區(qū)分可顯示字符和不可顯示字符,分別使用綠色、黑色、白色、紫色標(biāo)記可顯示字符、字節(jié)值為0的字符、字節(jié)值為255的字符和其他字節(jié)。在第二個(gè)步驟中,采用6種空間填充曲線對(duì)惡意軟件進(jìn)行可視化。在第三個(gè)步驟中,使用VGG19卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)和分類(lèi)。

圖10 基于操作碼頻率的惡意代碼可視化分析方法

Figure 10 Visual analysis method of malicious code based on opcode frequency

圖11 基于區(qū)段的彩色圖片可視化方法

Figure 11 Color image visualization method based on segment

王潤(rùn)正等[60]使用反匯編工具提取惡意代碼中的不同區(qū)塊數(shù)據(jù),然后對(duì)代碼段和數(shù)據(jù)段進(jìn)行分離并進(jìn)行可視化操作。由于各個(gè)區(qū)塊所代表的惡意代碼信息不同,使用該方法可以更直觀地表現(xiàn)出不同惡意家族之間的差異性。基于區(qū)段的彩色圖片可視化方法如圖11所示,實(shí)驗(yàn)結(jié)果表明,采用該方法可以進(jìn)一步提高惡意代碼分類(lèi)的準(zhǔn)確性。

Pinhero等[61]進(jìn)行了一系列實(shí)驗(yàn),結(jié)合惡意軟件可視化和深度學(xué)習(xí)分類(lèi),提出了一種新方法,通過(guò)對(duì)不同維度的可執(zhí)行文件進(jìn)行視覺(jué)圖像分析,評(píng)估了經(jīng)過(guò)微調(diào)的CNN模型在惡意軟件識(shí)別上的性能。實(shí)驗(yàn)結(jié)果表明,使用彩色視覺(jué)圖像和馬爾可夫圖像可以取得最佳結(jié)果。此外,應(yīng)用Gabor濾波器提取紋理特征和熵圖像進(jìn)一步改進(jìn)了分類(lèi)準(zhǔn)確性,最佳的CNN模型在多個(gè)實(shí)驗(yàn)中展現(xiàn)出較高的F-measure值。未來(lái)將考慮擴(kuò)展數(shù)據(jù)集和研究多模態(tài)圖像分類(lèi)器的性能。

Anandhi等[62]將惡意軟件可視化為馬爾可夫圖像,并利用Gabor濾波器提取紋理特征。作者通過(guò)構(gòu)建VGG-3和DenseNet模型,并對(duì)DenseNet進(jìn)行微調(diào),實(shí)現(xiàn)了實(shí)時(shí)惡意軟件檢測(cè)和分類(lèi)。在實(shí)驗(yàn)評(píng)估中,作者發(fā)現(xiàn)DenseNet分別以99.94%和98.98%的準(zhǔn)確率識(shí)別了Malimg和BIG2015樣本。此外,與現(xiàn)有方法相比,作者提出的方法在根據(jù)預(yù)測(cè)時(shí)間、1分?jǐn)?shù)和準(zhǔn)確性進(jìn)行校準(zhǔn)的惡意軟件文件分類(lèi)方面表現(xiàn)出更好的性能。

Huang等[63]提出了一種惡意軟件檢測(cè)方法。該方法結(jié)合了惡意軟件可視化技術(shù)和卷積神經(jīng)網(wǎng)絡(luò),并采用混合可視化的方式進(jìn)行靜態(tài)和動(dòng)態(tài)分析。作者通過(guò)Cuckoo Sandbox生成的行為分析報(bào)告,將樣本的靜態(tài)特征和動(dòng)態(tài)信息轉(zhuǎn)換為可視化圖像,并在此基礎(chǔ)上訓(xùn)練檢測(cè)模型。實(shí)驗(yàn)結(jié)果表明,混合可視化方法在惡意軟件檢測(cè)方面具有較好的性能,優(yōu)于僅使用靜態(tài)分析的檢測(cè)方法。

Moussas等[64]提出一種基于兩級(jí)人工神經(jīng)網(wǎng)絡(luò)(ANN)的新型惡意軟件檢測(cè)系統(tǒng),解決了將現(xiàn)有惡意軟件可視化為圖像的變體的識(shí)別問(wèn)題。研究人員從數(shù)據(jù)集中提取了關(guān)鍵的圖像特征,并用這些特征訓(xùn)練了ANN模型。該模型能夠檢測(cè)和分類(lèi)數(shù)據(jù)集中的其他樣本,并通過(guò)第二級(jí)ANN對(duì)產(chǎn)生混淆的惡意軟件家族進(jìn)行分類(lèi)。所提出的兩級(jí)ANN方法在簡(jiǎn)潔性、準(zhǔn)確性和速度方面表現(xiàn)出色,易于實(shí)施且運(yùn)行速度快。因此,該方法可應(yīng)用于防病毒軟件、智能防火墻、Web應(yīng)用等領(lǐng)域。

Darem等[65]提出了一種半監(jiān)督方法,結(jié)合深度學(xué)習(xí)、特征工程、圖像轉(zhuǎn)換和處理技術(shù),用于檢測(cè)混淆惡意軟件。在檢測(cè)混淆惡意軟件方面,作者所提出的方法達(dá)到了99.12%的檢測(cè)準(zhǔn)確率,顯著優(yōu)于其他方法。

Conti等[66]提出了一種基于GEM圖像的深度學(xué)習(xí)方法,該方法更適用于較淺的卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu),以提高訓(xùn)練和分類(lèi)效率。作者通過(guò)結(jié)合灰度矩陣圖像、GLCM紋理特征、馬爾可夫圖像和熵圖像,提出了一種新穎的惡意軟件可視化方式,同時(shí)與現(xiàn)有的CNN架構(gòu)兼容。實(shí)驗(yàn)表明,結(jié)合GEM圖像格式和淺層CNN架構(gòu),在傳統(tǒng)的惡意軟件分類(lèi)問(wèn)題上取得了有競(jìng)爭(zhēng)力的結(jié)果,并優(yōu)于現(xiàn)有的少樣本惡意軟件分類(lèi)研究。

Falana等[67]提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)和深度生成對(duì)抗神經(jīng)網(wǎng)絡(luò)的集成技術(shù)(Mal-Detect),用于分析、檢測(cè)和分類(lèi)惡意軟件。Mal-Detect將惡意軟件和良性文件轉(zhuǎn)換為RGB圖像,并利用深度生成對(duì)抗神經(jīng)網(wǎng)絡(luò)生成新的惡意軟件圖像,然后對(duì)生成的惡意軟件圖像、原始惡意軟件和良性文件圖像進(jìn)行預(yù)處理,使用深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)集并提取關(guān)鍵特征。作者對(duì)Mal-Detect在3個(gè)基準(zhǔn)數(shù)據(jù)集(MaleVis、Mallmg和Virushare)上進(jìn)行了評(píng)估,結(jié)果顯示其平均準(zhǔn)確率為96.77%。這些結(jié)果表明,Mal-Detect可用于檢測(cè)各類(lèi)惡意軟件。

Chaganti等[68]提出了一個(gè)名為EfficientNetB1的框架,用于對(duì)惡意軟件家族進(jìn)行分類(lèi)。作者通過(guò)評(píng)估3種不同類(lèi)型的惡意軟件圖像表示的性能,并對(duì)所提模型的網(wǎng)絡(luò)參數(shù)進(jìn)行有效縮放來(lái)對(duì)其進(jìn)行評(píng)估。此外,作者對(duì)基于CNN的預(yù)訓(xùn)練模型進(jìn)行了廣泛的性能評(píng)估,比較了它們?cè)趷阂廛浖易宸诸?lèi)中的模型性能和計(jì)算效率。研究結(jié)果表明,使用具有固定圖像寬度的字節(jié)級(jí)表示的惡意軟件獲得了比使用文件大小和基于字節(jié)編碼的圖像寬度選擇表示的惡意軟件更好的性能。

Mallik等[69]提出了一種基于卷積循環(huán)的惡意軟件分類(lèi)技術(shù)。該方法通過(guò)將惡意軟件樣本轉(zhuǎn)換為灰度圖像,并利用卷積神經(jīng)網(wǎng)絡(luò)捕捉結(jié)構(gòu)相似性,能夠有效地對(duì)惡意軟件進(jìn)行分類(lèi)。隨后,作者通過(guò)堆疊的BiLSTM層處理提取的特征,通過(guò)合并BiLSTM層和VGG16層生成的輸出,對(duì)惡意軟件樣本進(jìn)行最終的惡意軟件家族分類(lèi)。

表3 惡意軟件可視化結(jié)合深度學(xué)習(xí)的相關(guān)文獻(xiàn)

Chauhan等[70]提出了一種惡意軟件分類(lèi)方法,該方法利用不同顏色模式(包括RGB、HSV、灰度和BGR)將惡意軟件文件轉(zhuǎn)化為圖像,以更清晰地展現(xiàn)其中的模式,用于圖像分類(lèi)。綜合評(píng)估分類(lèi)準(zhǔn)確性、結(jié)果一致性、召回率、1得分和精確度等指標(biāo)的結(jié)果表明,該方法具備使惡意軟件分類(lèi)更加高效的潛力。惡意軟件可視化結(jié)合深度學(xué)習(xí)的相關(guān)文獻(xiàn)如表3如所示,其中,“?”表示文獻(xiàn)中沒(méi)有明確的提及。

深度學(xué)習(xí)結(jié)合可視化方法在惡意軟件檢測(cè)與分類(lèi)方面表現(xiàn)出準(zhǔn)確率高的特點(diǎn)。然而,目前仍存在以下需要進(jìn)一步發(fā)展的方面。第一,圖片提取的特征中大部分仍為靜態(tài)特征,為應(yīng)對(duì)混淆樣本與加殼樣本,可以考慮添加一些動(dòng)態(tài)特征。第二,某些深度學(xué)習(xí)算法中設(shè)計(jì)的模型結(jié)構(gòu)參數(shù)量過(guò)大,因此下一步需要對(duì)模型進(jìn)行優(yōu)化,減少參數(shù)量。第三,基于生成對(duì)抗網(wǎng)絡(luò)(GAN,generative adversarial network)的數(shù)據(jù)增強(qiáng)技術(shù)在圖像領(lǐng)域獲得了廣泛應(yīng)用,可以考慮在惡意代碼可視化圖像上利用GAN進(jìn)行圖像增強(qiáng),并將其與深度學(xué)習(xí)算法相結(jié)合,以提高分類(lèi)效果。針對(duì)數(shù)據(jù)集分布不均衡的問(wèn)題,嘗試使用GAN解決該問(wèn)題,以增強(qiáng)模型的泛化能力,提高惡意軟件檢測(cè)的準(zhǔn)確率。最后,針對(duì)彩色圖像,可以考慮將3個(gè)不同類(lèi)型的信息分別轉(zhuǎn)換為RGB三通道,進(jìn)行彩色圖片可視化,以進(jìn)一步提高分類(lèi)效果。

圖12 對(duì)惡意軟件可視化檢測(cè)進(jìn)行文獻(xiàn)邏輯圖整理

Figure 12 Visual detection of malware for literature logic diagram arrangement

針對(duì)相同的惡意軟件灰度圖,機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法各具特色和優(yōu)勢(shì)。機(jī)器學(xué)習(xí)方法主要依靠手工特征提取和分類(lèi)器,而深度學(xué)習(xí)方法則通過(guò)多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)的抽象表示。機(jī)器學(xué)習(xí)方法具有簡(jiǎn)單易懂、容易實(shí)現(xiàn)的優(yōu)點(diǎn),適用于小數(shù)據(jù)集,但因?yàn)樾枰斯みx擇特征和分類(lèi)器,可能無(wú)法發(fā)現(xiàn)數(shù)據(jù)的潛在模式。在可視化結(jié)合機(jī)器學(xué)習(xí)方法中,可視化有助于分析和理解惡意軟件的特征和行為,并提高模型的可解釋性。通過(guò)可視化,研究人員可以直觀地觀察惡意軟件在不同特征空間中的分布,從而優(yōu)化特征選擇、提取和分類(lèi)器構(gòu)建。深度學(xué)習(xí)方法無(wú)須手動(dòng)進(jìn)行特征提取和選擇,從而更好地適應(yīng)不同的數(shù)據(jù)分布和任務(wù),具有更好的泛化能力和分類(lèi)準(zhǔn)確率。但深度學(xué)習(xí)方法需要更大的計(jì)算資源和訓(xùn)練時(shí)間,也需要更多的數(shù)據(jù)來(lái)支持模型訓(xùn)練。在可視化結(jié)合深度學(xué)習(xí)方法中,可視化不僅可以提高模型的可解釋性,還有助于理解深度學(xué)習(xí)模型的工作原理和決策過(guò)程。綜上所述,可視化結(jié)合機(jī)器學(xué)習(xí)方法和可視化結(jié)合深度學(xué)習(xí)方法各有優(yōu)勢(shì)和特點(diǎn),選擇惡意軟件檢測(cè)方法時(shí)應(yīng)根據(jù)具體應(yīng)用場(chǎng)景和需求綜合考慮數(shù)據(jù)集大小、計(jì)算資源和時(shí)間限制、模型準(zhǔn)確度和實(shí)現(xiàn)復(fù)雜度等因素。

為了方便讀者理解,對(duì)惡意軟件可視化檢測(cè)進(jìn)行文獻(xiàn)邏輯圖整理,如圖12所示。

2.3 其他可視化方法

除了使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法進(jìn)行惡意軟件檢測(cè)外,還有一些學(xué)者使用其他可視化方法進(jìn)行惡意軟件檢測(cè)。

Han等[71]提出了一種新的可視化分析方法,通過(guò)將惡意軟件的二進(jìn)制信息轉(zhuǎn)換為圖像矩陣進(jìn)行分析。該方法分為3個(gè)步驟:首先從二進(jìn)制文件中提取二進(jìn)制信息;接著生成將二進(jìn)制信息記錄為RGB彩色像素的圖像矩陣;最后計(jì)算它們中的相似性,以便檢測(cè)和分類(lèi)惡意代碼。此外,作者還使用Simhash和djb2函數(shù)計(jì)算像素點(diǎn)的坐標(biāo)值。在文獻(xiàn)[72]中,Han等在文獻(xiàn)[25]Nataraj向量化的基礎(chǔ)上增加了熵圖,使用熵圖的特征進(jìn)一步提升惡意軟件圖像分類(lèi)的效果,對(duì)原本圖像紋理特征提取方法和相似度衡量方案提供了一個(gè)新的思路。具體步驟為:將PE二進(jìn)制文件作為輸入轉(zhuǎn)化為位圖圖像,并計(jì)算位圖每一行的熵值,基于熵值生成熵圖,最后將位圖圖像和熵圖作為惡意軟件的特征存儲(chǔ)在數(shù)據(jù)庫(kù)中,通過(guò)計(jì)算熵圖的相似性,利用這些特征對(duì)惡意軟件進(jìn)行檢測(cè)和分類(lèi)。

此外,Paturi等[73]提出了一種利用可視化技術(shù)表達(dá)分層聚類(lèi)的方法。他們使用標(biāo)準(zhǔn)化壓縮距離來(lái)度量惡意軟件程序之間的代碼相似性,并通過(guò)相似度度量計(jì)算生成相似度得分矩陣,從而確定正在檢查的代碼或二進(jìn)制文件是否屬于特定的惡意軟件家族;接著使用層次聚類(lèi)將惡意軟件家族分成集群,并進(jìn)行可視化展示。

韓曉光等[74]提出了一種基于圖像分析和灰度圖檢測(cè)的惡意軟件檢測(cè)方法。該方法首先將惡意軟件轉(zhuǎn)換為灰度圖像,然后采用紋理分割算法對(duì)灰度圖像進(jìn)行分塊,接著使用灰度共生矩陣算法提取灰度圖像分塊后的紋理特征,并基于此建立紋理特征索引結(jié)構(gòu)進(jìn)行惡意軟件檢測(cè)。

3 結(jié)束語(yǔ)

本文全面闡述與分析了惡意代碼檢測(cè)技術(shù),特別關(guān)注了可視化領(lǐng)域的最新發(fā)展:在傳統(tǒng)非可視化檢測(cè)方面,本文從靜態(tài)、動(dòng)態(tài)和混合檢測(cè)3個(gè)方面進(jìn)行了概述;在可視化檢測(cè)方面,從可視化結(jié)合機(jī)器學(xué)習(xí)、可視化結(jié)合深度學(xué)習(xí)和單獨(dú)使用可視化3個(gè)角度進(jìn)行了研究和綜述。本文總結(jié)了當(dāng)前惡意代碼檢測(cè)技術(shù)所面臨的問(wèn)題,并提出了幾個(gè)未來(lái)探究的方向。

第一,現(xiàn)有的可視化方法仍然以灰度圖和圖像相似性紋理為基礎(chǔ),對(duì)于字節(jié)分布相對(duì)均勻的惡意代碼并不適用,需要進(jìn)一步探索新的可視化方法。

第二,目前可視化結(jié)合深度學(xué)習(xí)的惡意軟件檢測(cè)方法,還是以卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)為主,使用圖卷積神經(jīng)網(wǎng)絡(luò)和生成對(duì)抗網(wǎng)絡(luò)進(jìn)行惡意代碼檢測(cè)的方法較少,因此可以考慮提出一種將惡意代碼可視化、圖卷積神經(jīng)網(wǎng)絡(luò)和生成對(duì)抗網(wǎng)絡(luò)相結(jié)合的檢測(cè)方法。

第三,將惡意代碼可視化為彩色圖像后結(jié)合機(jī)器學(xué)習(xí)或深度學(xué)習(xí)進(jìn)行惡意軟件檢測(cè)分類(lèi)的研究仍然較少,彩色圖像擁有3個(gè)通道,能反映惡意代碼更加豐富的特性信息,進(jìn)而對(duì)檢測(cè)和分類(lèi)有更好的效果,因此可以多嘗試新的方法將惡意代碼可視化為彩色圖后進(jìn)行分類(lèi)。

第四,在對(duì)惡意代碼可視化為彩色圖片時(shí),可以考慮RGB三通道分別代表3個(gè)不同類(lèi)型的信息,如R通道代表灰度圖,G通道代表字符信息,B通道代表文件頭信息。

第五,在目前對(duì)惡意代碼可視化為彩色圖的方法中,PE文件居多,而非PE文件由于結(jié)構(gòu)較為復(fù)雜,無(wú)法有效提取本地特征,因此需要對(duì)其可視化方法進(jìn)行進(jìn)一步的研究。

第六,分類(lèi)模型中選取的特征仍以全局特征居多,從而導(dǎo)致分類(lèi)模型對(duì)復(fù)雜的惡意軟件的檢測(cè)結(jié)果不夠穩(wěn)定,只能應(yīng)用于少量具有標(biāo)記圖像特征的惡意樣本,因此可以考慮更多結(jié)合全局特征與局部特征的方法,提高模型的魯棒性。此外,有些特征提取方法需要高昂的計(jì)算成本,如GIST、SURF、DSIFT、LBP和GLCM等,尤其是在大規(guī)模數(shù)據(jù)集上的應(yīng)用效率較低。因此,如何通過(guò)更有效的方式降低特征提取的成本,以從原始的二進(jìn)制數(shù)據(jù)中提取更豐富的信息,值得進(jìn)一步探討。

[1] 國(guó)家互聯(lián)網(wǎng)應(yīng)急中心. 網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào)[EB].

National Internet Emergency Center. Network security information and dynamic weekly report[EB].

[2] IWAMOTO K, WASAKI K. Malware classification based on extracted API sequences using static analysis[C]//Proceedings of the Asian Internet Engineeering Conference. 2012: 31-38.

[3] IMRAN M, AFZAL M T, QADIR M A. Similarity-based malware classification using hidden Markov model[C]//2015 Fourth International Conference on Cyber Security, Cyber Warfare, and Digital Forensic (CyberSec). 2015: 129-134.

[4] HARDY W, CHEN L, HOU S, et al. DL4MD: a deep learning framework for intelligent malware detection[C]//Proceedings of the International Conference on Data Science (ICDATA). The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp). 2016: 61.

[5] SCHULTZ M G, ESKIN E, ZADOK F, et al. Data mining methods for detection of new malicious executables[C]//Proceedings 2001 IEEE Symposium on Security and Privacy ( S&P 2001). 2000: 38-49.

[6] KOLTER J Z, MALOOF M A. Learning to detect malicious executables in the wild[C]//Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2004: 470-478.

[7] KOLTER J Z, MALOOF M A. Learning to detect and classify malicious executables in the wild[J]. Journal of Machine Learning Research, 2006, 7(12).

[8] KANG B J, YERIMA S Y, MC-LAUGHLIN K, et al. N-opcode analysis for android malware classification and categorization[C]//2016 International Conference on Cyber Security and Protection of Digital Services (Cyber Security). 2016: 1-7.

[9] TIAN R, BATTEN L M, VERSTEEG S C. Function length as a tool for malware classification[C]//2008 3rd International Conference on Malicious and Unwanted Software (MALWARE). 2008: 69-76.

[10] SIDDIQUI M, WANG M C, LEE J. Detecting internet worms using data mining techniques[J]. Journal of Systemics, Cybernetics and Informatics, 2009, 6(6): 48-53.

[11] KONG D, YAN G. Discriminant malware distance learning on structural information for automated malware classification[C]//Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data mining. 2013: 1357-1365.

[12] BAYSA D, LOW R M, STAMP M. Structural entropy and metamorphic malware[J]. Journal of Computer Virology and Hacking Techniques, 2013, 9(4): 179-192.

[13] LI B, ROUNDY K, GATES C, et al. Large-scale identification of malicious singleton files[C]//Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy. 2017: 227-238.

[14] KUMAR A, KUPPUSAMY K S, AGHILA G. A learning model to detect maliciousness of portable executable using integrated feature set[J]. Journal of King Saud University-Computer and Information Sciences, 2019, 31(2): 252-265.

[15] FIRDAUSI I, ERWIN A, NUGROHO A S. Analysis of machine learning techniques used in behavior-based malware detection[C]//2010 2nd International Conference on Advances in Computing, Control, and Telecommunication Technologies. 2010: 201-203.

[16] ZOLKIPLI M F, JANTAN A. An approach for malware behavior identification and classification[C]//2011 3rd International Conference on Computer Research and Development. 2011: 191-194.

[17] RIECK K, TRINIUS P, WILLEMS C, et al. Automatic analysis of malware behavior using machine learning[J]. Journal of Computer Security, 2011, 19(4): 639-668.

[18] ANDERSON B, QUIST D, NEIL J, et al. Graph-based malware detection using dynamic analysis[J]. Journal in Computer Virology, 2011, 7(4): 247-258.

[19] KIM H, KIM J, KIM Y, et al. Improvement of malware detection and classification using API call sequence alignment and visualization[J]. Cluster Computing, 2019, 22(1): 921-929.

[20] 陳佳捷, 彭伯莊, 吳佩澤. 基于動(dòng)態(tài)行為和機(jī)器學(xué)習(xí)的惡意代碼檢測(cè)方法[J]. 計(jì)算機(jī)工程, 2021, 47(3): 166-173.

CHEN J J, PENG B Z, WU P Z. Malicious code detection method based on dynamic behavior and machine learning[J]. Computer Engineering, 2021, 47(3): 166-173.

[21] ISLAM R, TIAN R, BATTEN L M, et al. Classification of malware based on integrated static and dynamic features[J]. Journal of Network and Computer Applications, 2013, 36(2): 646-656.

[22] SANTOS I, DEVESA J, BREZO F, et al. Opem: a static-dynamic approach for machine-learning-based malware detection[C]//International Joint Conference CISIS’12-ICEUTE′ 12-SOCO′ 12, 2013: 271-280.

[23] 金炳初. 基于多特征的惡意軟件分類(lèi)方法[D]. 太原: 太原理工大學(xué), 2020.

JIN B C. Malware classification method based on multiple features[D]. Taiyuan: Taiyuan University of Technology, 2020.

[24] 陳志鋒, 李清寶, 張平, 等. 基于數(shù)據(jù)特征的內(nèi)核惡意軟件檢測(cè)[J]. 軟件學(xué)報(bào), 2016, 27(12): 3172-3191.

CHEN Z F, LI Q B, ZHANG P, et al. Kernel malware detection based on data features[J]. Journal of Software, 2016, 27(12): 3172-3191.

[25] NATARAJ L, KARTHIKEYAN S, JACOB G, et al. Malware images: visualization and automatic classification[C]//Proceedings of the 8th International Symposium on Visualization for Cyber Security. 2011: 1-7.

[26] TORRALBA A, MURPHY K P, FREEMAN W T, et al. Context-based vision system for place and object recognition[C]//IEEE International Conference on Computer Vision. 2003: 273-273.

[27] OLIVA A, TORRALBA A. Modeling the shape of the scene: a holistic representation of the spatial envelope[J]. International Journal of Computer Vision, 2001, 42(3): 145-175.

[28] SIAGIAN C, ITTI L. Rapid biologically-inspired scene classification using features shared with visual attention[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(2): 300-312.

[29] NATARAJ L, YEGNESWARAN V, PORRAS P, et al. A comparative assessment of malware classification using binary texture analysis and dynamic analysis[C]//Proceedings of the 4th ACM Workshop on Security and Artificial Intelligence. 2011: 21-30.

[30] 劉亞姝, 王志海, 嚴(yán)寒冰, 等. 抗混淆的惡意代碼圖像紋理特征描述方法[J]. 通信學(xué)報(bào), 2018, 39(11): 44-53.

LIU Y S, WANG Z H, YAN H B, et al. Anti-obfuscation malicious code image texture feature description method[J]. Journal on Communications, 2018, 39(11): 44-53.

[31] 劉亮, 劉露平, 何帥, 等. 一種基于多特征的惡意代碼家族靜態(tài)標(biāo)注方法[J]. 信息安全研究, 2018, 4(4): 322-328.

LIU L, LIU L P, HE S, et al. A static labeling method for malware family based on multiple features[J]. Journal of Information Security Research, 2018, 4(4): 322-328.

[32] NAEEM H, GUO B, NAEEM M R, et al. Identification of malicious code variants based on image visualization[J]. Computers & Electrical Engineering, 2019, 76: 225-237.

[33] LIU L, WANG B, YU B, et al. Automatic malware classification and new malware detection using machine learning[J]. Frontiers of Information Technology & Electronic Engineering, 2017, 18(9): 1336-1347.

[34] FU J, XUE J, WANG Y, et al. Malware visualization for fine-grained classification[J]. IEEE Access, 2018, 6: 14510-14523.

[35] 郎大鵬, 丁巍, 姜昊辰, 等. 基于多特征融合的惡意代碼分類(lèi)算法[J]. 計(jì)算機(jī)應(yīng)用, 2019, 39(8): 2333-2338.

LANG D P, DING W, JIANG H C, et al. Malware classification algorithm based on multi-feature fusion[J]. Journal of Computer Applications, 2019, 39(8): 2333-2338.

[36] 李劭杰, 王晨, 史崯. 基于多特征隨機(jī)森林的惡意代碼檢測(cè)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2020, 37(10): 328-333.

LI S J, WANG C, SHI Y. Malware detection based on random forest with multiple features[J]. Computer Applications and Software, 2020, 37(10): 328-333.

[37] ANDERSON B, STORLIE C, LANE T. Improving malware classification: bridging the static/dynamic gap[C]//Proceedings of the 5th ACM Workshop on Security and Artificial Intelligence. 2012: 3-14.

[38] 盧喜東, 段哲民, 錢(qián)葉魁, 等. 一種基于深度森林的惡意代碼分類(lèi)方法[J]. 軟件學(xué)報(bào), 2020, 31(5): 1454-1464.

LU X D, DUAN Z M, QIAN Y K, et al. A deep forest-based malware classification method[J]. Journal of Software, 2020, 31(5): 1454-1464.

[39] KANCHERLA K, MUKKAMALA S. Image visualization based malware detection[C]//2013 IEEE Symposium on Computational Intelligence in Cyber Security (CICS). 2013: 40-44.

[40] DAVIS A, WOLFF M. Deep learning on disassembly data[J]. BlackHat USA, 2015.

[41] 軒勃娜, 李進(jìn). 基于改進(jìn)CNN的惡意軟件分類(lèi)方法[J].電子學(xué)報(bào), 2023, 51(5): 1187-1197.

XUAN B N, LI J. Malware classification method based on improved CNN[J]. Acta Electronica Sinica, 2023, 51(5): 1187-1197.

[42] CUI Z, XUE F, CAI X, et al. Detection of malicious code variants based on deep learning[J]. IEEE Transactions on Industrial Informatics, 2018, 14(7): 3187-3196.

[43] KALASH M, ROCHAN M, MOHAMMED N, et al. Malware classification with deep convolutional neural networks[C]//2018 9th IFIP International Conference on New Technologies, Mobility and Security (NTMS). 2018: 1-5.

[44] 田志成, 張偉哲, 喬延臣, 等. 基于模型解釋的PE文件對(duì)抗性惡意代碼檢測(cè)[J]. 軟件學(xué)報(bào), 2023, 34(4): 1926-1943.

TIAN Z C, ZHANG W Z, QIAO Y C, et al. Adversarial malicious code detection for PE files based on model interpretation[J]. Journal of Software, 2023, 34(4): 1926-1943.

[45] 王博, 蔡弘昊, 蘇旸. 基于VGGNet的惡意代碼變種分類(lèi)[J]. 計(jì)算機(jī)應(yīng)用, 2020, 40(1): 162-167.

WANG B, CAI H H, SU Y. Malware variant classification based on VGGNet[J]. Journal of Computer Applications, 2020, 40(1): 162-167.

[46] CHU Q, LIU G, ZHU X. Visualization feature and CNN based homology classification of malicious code[J]. Chinese Journal of Electronics, 2020, 29(1): 154-160.

[47] VASAN D, ALAZAB M, WASSAN S, et al. IMCFN: image-based malware classification using fine-tuned convolutional neural network architecture[J]. Computer Networks, 2020, 171: 107138.

[48] 蔣考林, 白瑋, 張磊, 等. 基于多通道圖像深度學(xué)習(xí)的惡意代碼檢測(cè)[J]. 計(jì)算機(jī)應(yīng)用, 2021, 41(4): 1142-1147.

JIANG K L, BAI W, ZHANG L, CHEN J, et al. Malware detection based on multi-channel image deep learning[J]. Journal of Computer Applications, 2021, 41(4): 1142-1147.

[49] NI S, QIAN Q, ZHANG R. Malware identification using visualization images and deep learning[J]. Computers & Security, 2018, 77: 871-885.

[50] SUN G, QIAN Q. Deep learning and visualization for identifying malware families[J]. IEEE Transactions on Dependable and Secure Computing, 2018, 18(1): 283-295.

[51] 陳小寒, 魏書(shū)寧, 覃正澤. 基于深度學(xué)習(xí)可視化的惡意軟件家族分類(lèi)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2021, 57(22): 131-138.

Chen X H, Wei S N, Qin Z Z. Malware family classification based on deep learning visualization[J]. Computer Engineering and Applications, 2021, 57(22): 131-138.

[52] GIBERT D, MATEU C, PLANES J, et al. Classification of malware by using structural entropy on convolutional neural networks[C]// Proceedings of the AAAI Conference on Artificial Intelligence. 2018: 32.

[53] XIAO G, LI J, CHEN Y, et al. MalFCS: an effective malware classification framework with automated feature extraction based on deep convolutional neural networks[J]. Journal of Parallel and Distributed Computing, 2020, 141: 49-58.

[54] YAN J, QI Y, RAO Q. Detecting malware with an ensemble method based on deep neural network[J]. Security and Communication Networks, 2018, 2018.

[55] 喬延臣, 姜青山, 古亮, 等. 基于匯編指令詞向量與卷積神經(jīng)網(wǎng)絡(luò)的惡意代碼分類(lèi)方法研究[J]. 信息網(wǎng)絡(luò)安全, 2019(4): 20-28.

QIAO Y C, JIANG Q S, GU L, et al. Research on malicious code classification method based on assembly instruction word vector and convolutional neural network[J]. Information Network Security, 2019(4): 20-28.

[56] YAKURA H, SHINOZAKI S, NISHIMURA R, et al. Neural malware analysis with attention mechanism[J]. Computers & Security, 2019, 87: 101592.

[57] ZHAO Y, XU C, BO B, et al. Maldeep: a deep learning classification framework against malware variants based on texture visualization[J]. Security and Communication Networks, 2019.

[58] 任卓君, 陳光, 盧文科. 惡意軟件的操作碼可視化方法研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 2021, 57(18): 130-134.

REN Z J, CHEN G, LU W K. Research on opcode visualization method for malware[J]. Computer Engineering and Applications, 2021, 57(18): 130-134.

[59] REN Z, BAI T. Malware visualization based on deep learning[C]//2021 14th International Congress on Image and Signal Processing, BioMedical Engineering and Informatics (CISP-BMEI). 2021: 1-5.

[60] 王潤(rùn)正, 高見(jiàn), 仝鑫, 等融合注意力機(jī)制的惡意代碼家族分類(lèi)研究[J]. 計(jì)算機(jī)科學(xué)與探索, 2021, 15(5): 881-892.

WANG R Z, GAO J, TONG X, et al. Research on malware family classification with attention mechanism fusion[J]. Journal of Frontiers of Computer Science and Technology, 2021, 15(5): 881-892.

[61] PINHERO A, ANUPAMA M L, VINOD P, et al. Malware detection employed by visualization and deep neural network[J]. Computers & Security, 2021, 105: 102247.

[62] ANANDHI V, VINOD P, MENON V G. Malware visualization and detection using DenseNets[J]. Personal and Ubiquitous Computing, 2021: 1-17.

[63] HUANG X, MA L, YANG W, et al. A method for windows malware detection based on deep learning[J]. Journal of Signal Processing Systems, 2021, 93: 265-273.

[64] MOUSSAS V, ANDREATOS A. Malware detection based on code visualization and two-level classification[J]. Information, 2021, 12(3): 118.

[65] DAREM A, ABAWAJY J, MAKKAR A, et al. Visualization and deep-learning-based malware variant detection using OpCode-level features[J]. Future Generation Computer Systems, 2021, 125: 314-323.

[66] CONTI M, KHANDHAR S, VINOD P. A few-shot malware classification approach for unknown family recognition using malware feature visualization[J]. Computers & Security, 2022, 122: 102887.

[67] FALANA O J, SODIYA A S, ONASHOGA S A, et al. Mal-detect: an intelligent visualization approach for malware detection[J]. Journal of King Saud University-Computer and Information Sciences, 2022, 34(5): 1968-1983.

[68] CHAGANTI R, RAVI V, PHAM T D. Image-based malware representation approach with efficient net convolutional neural networks for effective malware classification[J]. Journal of Information Security and Applications, 2022, 69: 103306.

[69] MALLIK A, KHETARPAL A, KUMAR S. ConRec: malware classification using convolutional recurrence[J]. Journal of Computer Virology and Hacking Techniques, 2022, 18(4): 297-313.

[70] CHAUHAN D, SINGH H, HOODA H, et al. Classification of malware using visualization techniques[C]//International Conference on Innovative Computing and Communications (ICICC 2022). 2022: 739-750.

[71] HAN K S, LIM J H, IM E G. Malware analysis method using visualization of binary files[M]//Proceedings of the 2013 Research in Adaptive and Convergent Systems. 2013: 317-321.

[72] HAN K S, LIM J H, KANG B, et al. Malware analysis using visualized images and entropy graphs[J]. International Journal of Information Security, 2015, 14(1): 1-14.

[73] PATURI A, CHERUKURI M, DONAHUE J, et al. Mobile malware visual analytics and similarities of attack toolkits (malware gene analysis)[C]//2013 International Conference on Collaboration Technologies and Systems (CTS). 2013: 149-154.

[74] 韓曉光. 惡意代碼檢測(cè)關(guān)鍵技術(shù)研究[D]. 北京: 北京科技大學(xué), 2015.

HAN X G. Research on key techniques for malicious code detection[D]. Beijing: University of Science and Technology Beijing, 2015.

Review of malware detection and classification visualization techniques

WANG Jinwei1,2,3, CHEN Zhengjia1,2, XIE Xue4,5, LUO Xiangyang6, MA Bin7

1. Engineering Research Center of Digital Forensics, Ministry of Education, Nanjing University of Information Science and Technology, Nanjing 210044, China 2. Department of Computer, Nanjing University of Information Science and Technology, Nanjing 210044, China 3. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450001, China 4. University of Science and Technology of China, Hefei 230031, China 5. China Aerospace Academy of Systems Science and Engineering, Beijing 100048, China 6. Information Engineering University, Zhengzhou 450001, China 7. School of Cyberspace Security, Qilu University of Technology, Jinan 250353, China)

With the rapid advancement of technology, network security faces a significant challenge due to the proliferation of malicious software and its variants. These malicious software use various technical tactics to deceive or bypass traditional detection methods, rendering conventional non-visual detection techniques inadequate. In recent years, data visualization has gained considerable attention in the academic community as a powerful approach for detecting and classifying malicious software. By visually representing the key features of malicious software, these methods greatly enhance the accuracy of malware detection and classification, opening up extensive research opportunities in the field of cyber security. An overview of traditional non-visual detection techniques and visualization-based methods were provided in the realm of malicious software detection. Traditional non-visual approaches for malicious software detection, including static analysis, dynamic analysis, and hybrid techniques, were introduced. Subsequently, a comprehensive survey and evaluation of prominent contemporary visualization-based methods for detecting malicious software were undertaken. This primarily encompasses encompassed the integration of visualization with machine learning and visualization combined with deep learning, each of which exhibits distinct advantages and characteristics within the domain of malware detection and classification. Consequently, the holistic consideration of several factors, such as dataset size, computational resources, time constraints, model accuracy, and implementation complexity, is necessary for the selection of detection and classification methods. In conclusion, the challenges currently faced by detection technologies are summarized, and a forward-looking perspective on future research directions in the field is provided.

machine learning, deep learning, data visualization, malware detection and classification

The National Natural Science Foundation of China (62072250, 62172435, U1804263, U20B2065, 61872203, 71802110, 61802212), The Leading Talents Program of Scientific and Technological Innovation in Henan Province (214200510019), The Jiangsu Natural Science Foundation (BK20200750), The Open Fund of the Key Laboratory of Network Space Situation Awareness (HNTS2022002), The Graduate Student Research and Practice Innovation Program of Jiangsu Province (KYCX200974), The Open Project of Guangdong Provincial Key Laboratory of Information Security Technology (2020B1212060078), The Open Research Fund of Shandong Provincial Key Laboratory of Computer Networks (SDKLCN-2022-05)

王金偉, 陳正嘉, 謝雪, 等. 惡意軟件檢測(cè)和分類(lèi)可視化技術(shù)綜述[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2023, 9(5): 1-20.

TP309

A

10.11959/j.issn.2096?109x.2023064

王金偉(1978?),男,內(nèi)蒙古呼倫貝爾人,博士,南京信息工程大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)槎嗝襟w版權(quán)保護(hù)、多媒體取證、多媒體加密和數(shù)據(jù)認(rèn)證。

陳正嘉(1999?),男,江蘇徐州人,南京信息工程大學(xué)碩士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、信息安全、惡意軟件檢測(cè)。

謝雪(1989?),男,吉林長(zhǎng)春人,中國(guó)科學(xué)技術(shù)大學(xué)博士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、多媒體取證。

羅向陽(yáng)(1978?),男,湖北荊門(mén)人,信息工程大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)閳D像隱寫(xiě)和隱寫(xiě)分析技術(shù)。

馬賓(1973?),男,山東濟(jì)寧人,齊魯工業(yè)大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)榭赡嫘畔㈦[藏、多媒體取證、隱寫(xiě)與隱寫(xiě)分析。

2022?03?13;

2023?08?10

謝雪,xuexie2008@163.com

國(guó)家自然科學(xué)基金(62072250, 62172435,U1804263,U20B2065,61872203,71802110,61802212);中原科技創(chuàng)新領(lǐng)軍人才項(xiàng)目(214200510019);江蘇省自然科學(xué)基金(BK20200750);河南省網(wǎng)絡(luò)空間態(tài)勢(shì)感知重點(diǎn)實(shí)驗(yàn)室開(kāi)放基金(HNTS2022002);江蘇省研究生研究與實(shí)踐創(chuàng)新項(xiàng)目(KYCX200974);廣東省信息安全技術(shù)重點(diǎn)實(shí)驗(yàn)室開(kāi)放項(xiàng)目(2020B1212060078);山東省計(jì)算機(jī)網(wǎng)絡(luò)重點(diǎn)實(shí)驗(yàn)室開(kāi)放課題基金(SDKLCN-2022-05)

WANG J W, CHEN Z J, XIE X, et al. Review of malware detection and classification visualization techniques[J]. Chinese Journal of Network and Information Security, 2023, 9(5): 1-20.

猜你喜歡
靜態(tài)灰度可視化
基于CiteSpace的足三里穴研究可視化分析
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過(guò)濾技術(shù)
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
基于灰度拉伸的圖像水位識(shí)別方法研究
基于CGAL和OpenGL的海底地形三維可視化
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
機(jī)床靜態(tài)及動(dòng)態(tài)分析
平阳县| 嘉善县| 泾阳县| 河北区| 措勤县| 惠州市| 准格尔旗| 瑞安市| 谢通门县| 揭东县| 阳原县| 平顶山市| 泾川县| 嘉善县| 绥棱县| 会理县| 宜兰县| 通河县| 濉溪县| 慈利县| 长垣县| 寿光市| 沾化县| 永春县| 华安县| 明水县| 道真| 丰都县| 新宁县| 张北县| 南丹县| 沈阳市| 县级市| 泰宁县| 南投市| 修水县| 定安县| 从化市| 四会市| 云梦县| 监利县|