• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      惡意代碼可視化檢測(cè)技術(shù)研究綜述

      2022-05-26 08:56:04錢(qián)麗萍
      軟件導(dǎo)刊 2022年5期
      關(guān)鍵詞:分類(lèi)器灰度可視化

      李 豪,錢(qián)麗萍

      (北京建筑大學(xué)電氣與信息工程學(xué)院,北京 100044)

      0 引言

      在大數(shù)據(jù)時(shí)代,互聯(lián)網(wǎng)的發(fā)展加快了人們生活節(jié)奏,極大程度提高了生活品質(zhì),但在很多方面都存在著無(wú)法避免的安全問(wèn)題。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,越來(lái)越多黑客通過(guò)網(wǎng)絡(luò)攻擊來(lái)獲取利益,惡意代碼即是其中的常見(jiàn)手段之一。惡意代碼的泛濫給國(guó)家、社會(huì)及個(gè)人帶來(lái)了巨大危害。2020 年,國(guó)家互聯(lián)網(wǎng)應(yīng)急中心CNCERT 捕獲惡意程序樣本數(shù)量超過(guò)4 200 萬(wàn)個(gè),日均傳播次數(shù)達(dá)到482 萬(wàn)余次,涉及惡意程序家族近34.8 萬(wàn)個(gè)[1]。因此,如何快速、準(zhǔn)確地檢測(cè)出惡意代碼,是目前網(wǎng)絡(luò)安全領(lǐng)域的研究熱點(diǎn)。

      目前,國(guó)內(nèi)外針對(duì)惡意代碼檢測(cè)技術(shù)進(jìn)行全面綜述的文獻(xiàn)較少。如文獻(xiàn)[2]從動(dòng)態(tài)、靜態(tài)和形式化3 個(gè)角度分析各種檢測(cè)方法的原理及優(yōu)缺點(diǎn),但文獻(xiàn)發(fā)表時(shí)間較長(zhǎng),缺乏先進(jìn)性與全面性;文獻(xiàn)[3]是一篇全面描述在Windows平臺(tái)上進(jìn)行惡意軟件檢測(cè)的綜述性文章,從特征提取、特征處理及分類(lèi)器設(shè)計(jì)方面對(duì)智能檢測(cè)進(jìn)行歸納與總結(jié),但對(duì)當(dāng)前研究熱點(diǎn)(基于可視化的惡意代碼檢測(cè))的分析較少。本文對(duì)不同類(lèi)型的惡意代碼檢測(cè)方法進(jìn)行全面的調(diào)研分析,從惡意代碼可視化方法、圖像特征提取、分類(lèi)器設(shè)計(jì)、當(dāng)前檢測(cè)所面臨的問(wèn)題4 個(gè)方面系統(tǒng)地進(jìn)行探究,總結(jié)了近年來(lái)針對(duì)惡意代碼檢測(cè)的新興技術(shù),提出未來(lái)可能的研究方向,旨在提高惡意代碼檢測(cè)的準(zhǔn)確率與效率。

      1 傳統(tǒng)惡意代碼檢測(cè)方法

      惡意代碼也稱(chēng)為惡意軟件,是指通過(guò)各種手段對(duì)用戶(hù)、計(jì)算機(jī)或網(wǎng)絡(luò)造成破壞的軟件。通過(guò)人工分析惡意代碼具體函數(shù)來(lái)檢測(cè)惡意軟件,不僅時(shí)間成本高,而且檢測(cè)效率低、實(shí)用性差。依據(jù)是否運(yùn)行程序可將傳統(tǒng)惡意代碼檢測(cè)技術(shù)分為靜態(tài)檢測(cè)、動(dòng)態(tài)檢測(cè)與混合檢測(cè)3類(lèi)。

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

      靜態(tài)檢測(cè)技術(shù)不需要運(yùn)行惡意軟件,其研究重點(diǎn)在于如何準(zhǔn)確、有效地提取靜態(tài)特征。通常對(duì)惡意代碼文件進(jìn)行反編譯、反匯編、文件結(jié)構(gòu)分析以及控制流與數(shù)據(jù)流分析,提取程序中的指令、字節(jié)序列、文件頭部信息等作為靜態(tài)特征。該方法的優(yōu)點(diǎn)在于能耗小、風(fēng)險(xiǎn)低、速度快,且對(duì)實(shí)時(shí)性要求低,對(duì)惡意樣本覆蓋率高,可快速捕獲語(yǔ)法和語(yǔ)義信息進(jìn)行全面分析,但缺點(diǎn)是受到經(jīng)變形、多態(tài)、代碼混淆技術(shù)處理后的惡意代碼干擾,會(huì)出現(xiàn)誤報(bào)和漏報(bào)的情況。本文根據(jù)靜態(tài)特征種類(lèi)對(duì)不同靜態(tài)檢測(cè)技術(shù)進(jìn)行探究與分析。

      惡意代碼的字節(jié)序列特征通常使用N-Gram 方法提取,原因是惡意代碼由字符、文字和符號(hào)等構(gòu)成,包含了語(yǔ)義和區(qū)塊結(jié)構(gòu),所以統(tǒng)計(jì)語(yǔ)言模型N-Gram 適用于惡意代碼特征提取。N-Gram 方法需要設(shè)置一個(gè)長(zhǎng)度為n 的滑動(dòng)窗口,在原始字節(jié)序列上進(jìn)行平滑操作,將長(zhǎng)度為n 的子序列頻率作為特征,提取方式如圖1 所示。Schultz 等[4]是第一個(gè)使用N-Gram 方法在基于Windows 平臺(tái)下提取特征的,其將特征輸入到各個(gè)分類(lèi)器,并通過(guò)五倍交叉驗(yàn)證實(shí)驗(yàn)驗(yàn)證了N-Gram 方法優(yōu)于單純基于簽名的方法?;瑒?dòng)窗口大小是N-Gram 方法的重要參數(shù),將直接影響到惡意代碼檢測(cè)準(zhǔn)確率。如果n 值過(guò)小,提取的特征缺乏代碼的整體性,容易陷入局部最優(yōu);如果n 值過(guò)大,會(huì)影響特征之間的相關(guān)性。Kolter 等[5]設(shè)置不同n 值的N-Gram 法進(jìn)行特征提取,旨在找出最優(yōu)n 值以提高惡意代碼檢測(cè)準(zhǔn)確率。由于N-Gram 特征提取存在方法單一、效率較低等問(wèn)題,通常將N-Gram 提取的字節(jié)序列特征與其他特征融合或采用不同n值特征進(jìn)行訓(xùn)練[6-7]。

      Fig.1 N-Gram extracts byte sequence features圖1 N-Gram提取字節(jié)序列特征

      PE 文件通常由DOS 頭、PE 頭與各類(lèi)區(qū)塊段組成,具體結(jié)構(gòu)如圖2 所示。由于PE 頭是特有的可執(zhí)行文件頭,包含程序文件的結(jié)構(gòu)特征、動(dòng)態(tài)鏈接庫(kù)及導(dǎo)入導(dǎo)出表等信息,所以PE 頭信息也可作為惡意代碼檢測(cè)的靜態(tài)特征。Li等[8]將惡意代碼樣本中的文件頭、熵、DLL 等信息作為特征,并通過(guò)實(shí)驗(yàn)證明了訓(xùn)練出的分類(lèi)器對(duì)重要類(lèi)別的自動(dòng)規(guī)避攻擊具有魯棒性;Kumar 等[9]組合了PE 頭的原始值與派生值,對(duì)比了集成特征集與原始特征集(頭部信息、熵等特征)在機(jī)器學(xué)習(xí)分類(lèi)器中的效果,通過(guò)實(shí)驗(yàn)證明了集成特征集訓(xùn)練出的分類(lèi)器能以較高精度與較低成本分類(lèi)出良性或惡性代碼。

      Fig.2 PE file structure圖2 PE文件結(jié)構(gòu)

      除上述兩種靜態(tài)特征外,還有動(dòng)態(tài)鏈接庫(kù)(DLL)、API序列、可閱讀字符串和熵等信息可作為靜態(tài)特征。但隨著對(duì)抗反匯編、反調(diào)試、反虛擬機(jī)、加殼與脫殼等惡意代碼反檢測(cè)技術(shù)的發(fā)展,使得傳統(tǒng)靜態(tài)檢測(cè)方法提取的特征不能準(zhǔn)確代表惡意代碼攻擊信息。

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

      動(dòng)態(tài)檢測(cè)技術(shù)是指監(jiān)控惡意代碼在虛擬環(huán)境(模擬器)中運(yùn)行的行為。為充分展現(xiàn)惡意代碼的行為及隱藏功能,需在運(yùn)行前賦予惡意代碼足夠的權(quán)限。要保障含有不同攻擊內(nèi)容的惡意代碼能正常運(yùn)行,需要配置不同運(yùn)行環(huán)境,如操作系統(tǒng)版本、運(yùn)行必備軟件等。動(dòng)態(tài)檢測(cè)方法的優(yōu)點(diǎn)在于能識(shí)別新型惡意代碼,有效處理靜態(tài)檢測(cè)中存在的誤報(bào)、漏報(bào)等問(wèn)題,但缺點(diǎn)是惡意代碼對(duì)運(yùn)行環(huán)境要求高,且所需的時(shí)間成本高。

      Kim 等[10]使用序列對(duì)比算法(MSA)對(duì)API序列進(jìn)行動(dòng)態(tài)分析,該方法能快速分析識(shí)別惡意代碼及其變種,并對(duì)網(wǎng)絡(luò)入侵作出快速響應(yīng);陳佳捷等[11]將CucKoo 沙箱與改進(jìn)的DynamoRIO 系統(tǒng)作為虛擬環(huán)境,從Cuckoo 報(bào)告、網(wǎng)絡(luò)日志與行為信息記錄中提取特征并融合,并使用基于雙向門(mén)循環(huán)單元(BGRU)的機(jī)器學(xué)習(xí)模型,檢測(cè)結(jié)果表明該模型性能優(yōu)于LSTM 與BLSTM 等模型;周楊等[12]在傳統(tǒng)沙箱中運(yùn)行惡意代碼得到動(dòng)態(tài)分析報(bào)告,并將API 調(diào)用信息中函數(shù)的調(diào)用時(shí)序、返回值等參數(shù)作為特征,利用統(tǒng)計(jì)與計(jì)算兩種方式構(gòu)建訓(xùn)練所需特征集,實(shí)驗(yàn)結(jié)果證明,改進(jìn)后的Vec-LR 優(yōu)于SVM、RF、DT 等算法,但該方法的缺點(diǎn)在于沙箱運(yùn)行及特征抽取階段消耗了大量時(shí)間。

      觀(guān)察虛擬環(huán)境中的惡意代碼行為是動(dòng)態(tài)檢測(cè)的唯一方式,無(wú)需對(duì)惡意代碼進(jìn)行解密與解壓縮操作。有些惡意代碼變種能檢測(cè)虛擬環(huán)境的存在,此時(shí)由動(dòng)態(tài)行為產(chǎn)生的特征不能準(zhǔn)確代表其惡意行為。雖然強(qiáng)制代碼執(zhí)行隱藏路徑使其能充分展現(xiàn)惡意行為,但是通常容易出現(xiàn)路徑爆炸、運(yùn)行超時(shí)等問(wèn)題。每個(gè)惡意代碼都需設(shè)定不同的虛擬環(huán)境,可沙箱環(huán)境終究與真實(shí)計(jì)算機(jī)環(huán)境存在差異,將導(dǎo)致一些功能無(wú)法觸發(fā)或表現(xiàn)有所不同。動(dòng)態(tài)檢測(cè)除時(shí)間成本高外,還面臨一些安全問(wèn)題,比如內(nèi)核級(jí)的特殊權(quán)限、網(wǎng)絡(luò)連接等都會(huì)帶來(lái)一些安全隱患[13]。

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

      對(duì)于加殼的惡意代碼,很難對(duì)其進(jìn)行反匯編操作,意味著無(wú)法準(zhǔn)確提取代表其惡意行為的特征,所以常規(guī)靜態(tài)檢測(cè)技術(shù)很難分類(lèi)出加殼等變種惡意代碼。通過(guò)觀(guān)察惡意代碼在虛擬環(huán)境中的行為,可檢測(cè)到加殼惡意代碼的隱藏行為,但這種方式存在安全隱患,且時(shí)間成本高,實(shí)用性與可擴(kuò)展性差。因此,這種加殼的惡意代碼適用于動(dòng)靜結(jié)合的分析方法,即混合分析。通常首先使用動(dòng)態(tài)分析對(duì)加殼惡意代碼進(jìn)行去殼,然后通過(guò)靜態(tài)分析脫殼代碼,進(jìn)而全面獲取代碼的惡意攻擊行為[14]?;旌蠙z測(cè)旨在結(jié)合靜態(tài)檢測(cè)與動(dòng)態(tài)檢測(cè)的優(yōu)勢(shì),在確保準(zhǔn)確率的同時(shí)降低資源與時(shí)間開(kāi)銷(xiāo)。

      Islam 等[15]提出一種基于兩個(gè)靜態(tài)特征與一個(gè)動(dòng)態(tài)特征的分類(lèi)模型,將函數(shù)長(zhǎng)度頻率與可打印字符串信息矢量化成靜態(tài)特征向量,從日志文件中提取API 特性(API 函數(shù)名、參數(shù))構(gòu)成動(dòng)態(tài)特征向量,組合3 個(gè)向量后用于分類(lèi)器訓(xùn)練;Santos 等[16]提出一種混合惡意軟件檢測(cè)器(OPEM),將操作碼的出現(xiàn)頻率(靜態(tài)特征)與執(zhí)行程序的軌跡信息(動(dòng)態(tài)特征)相結(jié)合。針對(duì)惡意代碼快速增長(zhǎng)導(dǎo)致動(dòng)態(tài)沙箱資源消耗過(guò)大的問(wèn)題,梁光輝等[17]提取惡意代碼的模糊哈希特征(靜態(tài))和動(dòng)態(tài)行為特征,將無(wú)監(jiān)督聚類(lèi)學(xué)習(xí)與有監(jiān)督分類(lèi)學(xué)習(xí)結(jié)合后用于惡意代碼檢測(cè)。

      雖然混合檢測(cè)方法涵蓋了靜態(tài)與動(dòng)態(tài)檢測(cè)的優(yōu)點(diǎn),能根據(jù)具體的惡意代碼家族制定針對(duì)性的特殊檢測(cè)方式,但是這種方式也會(huì)消耗大量資源,并且混合檢測(cè)的復(fù)雜度與工作量使這種方式不適用于大規(guī)模數(shù)據(jù)集。

      2 惡意代碼可視化方法分析

      盡管惡意代碼衍生了大量變體,但同類(lèi)惡意家族代碼中的核心具有相似性與傳承性。這種變體會(huì)導(dǎo)致基于簽名的檢測(cè)方法失效,但將惡意代碼可視化為圖像不會(huì)從本質(zhì)上改變圖像紋理及結(jié)構(gòu)特征,該方式能有效對(duì)抗惡意代碼混淆。與人工提取特征向量相比,惡意代碼圖像包含豐富、幾乎全部的惡意代碼信息。無(wú)論是通過(guò)圖像結(jié)構(gòu)、紋理與顏色分析(局部特征和全局特征提取),還是通過(guò)深度學(xué)習(xí)算法自動(dòng)學(xué)習(xí)圖像特征,惡意代碼可視化都能最大程度上減少混淆技術(shù)帶來(lái)的影響。

      2.1 可視化為灰度圖像

      Nataraj 等[18]將惡意代碼.text 區(qū)塊的二進(jìn)制數(shù)據(jù)可視化為灰度圖像,利用GIST 算法提取圖像特征,并使用k 最近鄰(kNN)算法進(jìn)行分類(lèi),開(kāi)啟了基于可視化的惡意代碼檢測(cè)方法研究。目前,將惡意代碼可視化為灰度圖像是檢測(cè)惡意代碼的主流方法,以下對(duì)常見(jiàn)的灰度可視化方法進(jìn)行具體介紹。

      Nataraj 矢量化是將惡意代碼二進(jìn)制文件作為編碼源,并把原始二進(jìn)制序列切割成長(zhǎng)度為8bit 的子序列,產(chǎn)生的8 位二進(jìn)制串通過(guò)進(jìn)制轉(zhuǎn)換到[0,255],正好對(duì)應(yīng)像素區(qū)間。由于每個(gè)惡意代碼文件包含的攻擊類(lèi)型不同,導(dǎo)致可視化圖像大小不一,因此通過(guò)文件大小固定圖像寬度,將惡意代碼可視化為長(zhǎng)條狀的灰度圖像,具體可視化步驟如圖3 所示。Nataraj 矢量化與B2M 算法思想相同,這種灰度可視化方法已被廣泛應(yīng)用于惡意代碼檢測(cè)中[19-22]。Han等[23]在Nataraj 矢量化基礎(chǔ)上增加了熵圖,利用熵圖特征進(jìn)一步判斷惡意代碼圖像的相似性,改進(jìn)了圖像紋理特征提取方法及相似度度量策略。

      Fig.3 Nataraj vectorization specific steps圖3 Nataraj矢量化具體步驟

      在2015 年黑帽大會(huì)上,Davis 等[24]提出反匯編的惡意代碼矢量化方法,將反匯編的十六進(jìn)制數(shù)據(jù)作為編碼源,每個(gè)十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換到4-bit 的二進(jìn)制并填充到64bit,其中每位二進(jìn)制乘以255,對(duì)應(yīng)像素灰度值0 或255。這種方式將惡意代碼可視化為只含像素值0 和255 的灰度圖,圖像每一行矢量都對(duì)應(yīng)一條機(jī)器碼。在此基礎(chǔ)上,蔣永康等[25]進(jìn)一步探究了編碼長(zhǎng)度、編碼量等參數(shù)選擇,并給出具體的深度學(xué)習(xí)模型。

      Ni 等[26]提出一種結(jié)合操作碼序列與LSH 提取惡意軟件特征的MCSC 算法,將惡意代碼進(jìn)行反匯編,獲取匯編指令中的操作碼序列,并使用SimHash 與雙線(xiàn)性插值法將操作碼序列轉(zhuǎn)換為惡意代碼圖像,具體可視化步驟如圖4所示。因?yàn)閻阂獯a變體通過(guò)該方式可視化的圖像在某些區(qū)域存在相似的指紋,所以通過(guò)圖像處理技術(shù)識(shí)別同類(lèi)惡意代碼變體具有可行性。

      Fig.4 Ni visualization specific steps圖4 Ni可視化具體步驟

      喬延臣等[27]提出一種基于匯編指令詞向量的惡意代碼可視化方法,首先通過(guò)反匯編操作得到匯編代碼,將指令看作詞,函數(shù)看作句子,從而把惡意代碼文件轉(zhuǎn)換為文檔,然后對(duì)文檔使用Word2Vec 算法獲取匯編指令詞向量,統(tǒng)計(jì)訓(xùn)練集中Top100 的匯編指令,據(jù)此將每個(gè)文檔轉(zhuǎn)換為矩陣,最后歸一化矩陣得到可視化的灰度圖像。具體操作步驟如圖5所示。

      Fig.5 Visualization method based on assembly instruction word vector圖5 基于匯編指令詞向量的可視化方法

      陳小寒等[28]不僅考慮了惡意代碼原始信息,而且考慮了原始代碼與時(shí)序特征相關(guān)聯(lián)的能力,增強(qiáng)了分類(lèi)特征的信息密度。首先提取出匯編代碼中的操作碼序列,利用雙向遞歸神經(jīng)網(wǎng)絡(luò)(BRNN)對(duì)其進(jìn)行處理,然后使用Simhash算法將原始編碼與預(yù)測(cè)編碼融合,生成灰度特征圖像。

      上述5 種將惡意代碼可視化為灰度圖像的方法均取得了不錯(cuò)的分類(lèi)效果,在一定程度上克服了代碼混淆技術(shù)帶來(lái)的影響,在實(shí)際應(yīng)用中通常采取多種可視化方法進(jìn)行對(duì)比分析??梢暬幕叶葓D像其實(shí)并不能確定其包含全面的惡意攻擊信息,由于同類(lèi)惡意家族代碼可視化的灰度圖像具有相似的指紋特征,而不同家族間的差異較大,所以將惡意代碼可視化為灰度圖像進(jìn)行分類(lèi)檢測(cè)具有可行性。

      2.2 可視化為彩色圖像

      由于灰度圖只有單個(gè)通道,能包含的信息較少,不能全面地將惡意代碼攻擊信息體現(xiàn)在圖像中,導(dǎo)致可視化的灰度圖像特征不明顯,不能很好地反映出惡意代碼特性。相比惡意代碼灰度圖像,將惡意代碼可視化為彩色圖像既保留了灰度主要特征,又強(qiáng)調(diào)了二進(jìn)制文件中重復(fù)出現(xiàn)的數(shù)據(jù)片段,使得同類(lèi)惡意家族的彩色圖像具有相似的紋理、顏色與結(jié)構(gòu)特征。

      代碼復(fù)用技術(shù)已普遍應(yīng)用于惡意代碼中,使得屬于同類(lèi)家族的惡意代碼變種擁有相似的二進(jìn)制序列片段,因此采用可視化技術(shù)分析惡意代碼具有可行性。王博等[29]將惡意代碼二進(jìn)制序列分割成RGB 三通道值,從而將惡意代碼可視化為彩色圖像,由于并不是每個(gè)惡意代碼的比特位都是24 比特的整數(shù)倍,所以不足24 比特的用1 補(bǔ)足,具體可視化步驟如圖6 所示(彩圖掃OSID 碼可見(jiàn),下同)。但該方法的不足之處在于模型過(guò)于復(fù)雜,且參數(shù)量大、訓(xùn)練效率不高。針對(duì)上述問(wèn)題,蔣考林等[30]提出基于多通道圖像與AlexNet 神經(jīng)網(wǎng)絡(luò)的惡意代碼檢測(cè)方法,采用彩色圖像特征提取、局部響應(yīng)歸一化等技術(shù),在降低模型復(fù)雜度的同時(shí),提升了模型泛化能力。在惡意代碼可視化方面,其在惡意代碼二進(jìn)制序列末尾數(shù)據(jù)量不足3 字節(jié)的情況下,用0進(jìn)行補(bǔ)足,然后將像素序列正方化。

      Fig.6 Visualization method based on binary sequence segmentation圖6 基于二進(jìn)制序列分割的可視化方法

      以同類(lèi)惡意家族代碼的操作碼頻率相近、異族操作碼頻率差異較大為前提,任卓君等[31]提出一種基于操作碼頻率的惡意代碼可視化分析方法。首先提取匯編惡意代碼中的操作碼序列,然后對(duì)序列進(jìn)行縮放采樣并轉(zhuǎn)換到整數(shù)區(qū)間[0,253],統(tǒng)計(jì)數(shù)量排前15 的操作碼類(lèi)型來(lái)設(shè)計(jì)色譜,以此區(qū)分常見(jiàn)與罕見(jiàn)的操作碼指令,最后根據(jù)顏色向量在RGB 空間中的次序重排操作碼,實(shí)現(xiàn)根據(jù)操作碼頻率將惡意代碼可視化為彩色圖像。這種可視化方法可解決圖像視覺(jué)區(qū)分度不強(qiáng)、分類(lèi)精度不高等問(wèn)題。同時(shí),其對(duì)比了Gist 特征與卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征對(duì)惡意代碼圖像分類(lèi)結(jié)果的影響。

      王潤(rùn)正等[32]利用反匯編工具獲取惡意代碼中的各區(qū)塊數(shù)據(jù),并轉(zhuǎn)化到RGB 彩色圖像的各個(gè)通道,從而將惡意代碼可視化為RGB 彩色圖像,具體步驟如圖7 所示。惡意代碼分類(lèi)前需對(duì)其各區(qū)塊段進(jìn)行分析,因?yàn)楦鲄^(qū)塊存放了惡意代碼特征信息,能在一定程度上反映出惡意家族的特性。

      上述研究說(shuō)明基于彩色圖像的可視化方法對(duì)惡意代碼的分析具有可行性,彩色圖像擁有3 個(gè)通道,能更好地保留惡意代碼的特征信息,從而有效對(duì)惡意代碼及其變種進(jìn)行檢測(cè)與分類(lèi)。但就目前而言,將惡意代碼可視化為彩色圖像,然后根據(jù)彩色圖像特征進(jìn)行惡意代碼檢測(cè)的相關(guān)工作較少,仍處于早期發(fā)展階段。

      Fig.7 Block-based visualization method圖7 基于區(qū)塊的可視化方法

      3 惡意代碼可視化檢測(cè)技術(shù)研究

      同類(lèi)惡意家族擁有相似的攻擊信息,所以可視化圖像也具有相似的紋理、顏色、結(jié)構(gòu)等特征。惡意代碼被可視化為圖像后,提取出圖像的全局特征與局部特征,輸入到分類(lèi)器中獲取分類(lèi)結(jié)果,此時(shí)已將惡意代碼的分類(lèi)問(wèn)題轉(zhuǎn)化為惡意代碼圖像分類(lèi)。在當(dāng)前研究工作中,分類(lèi)器主要分為基于機(jī)器學(xué)習(xí)算法的分類(lèi)器與基于深度學(xué)習(xí)算法的分類(lèi)器,二者各有優(yōu)缺點(diǎn),通常采用多種分類(lèi)器進(jìn)行實(shí)驗(yàn)對(duì)比,選擇一種效果最優(yōu)的特征提取算法與分類(lèi)算法。

      3.1 基于機(jī)器學(xué)習(xí)的惡意代碼檢測(cè)

      機(jī)器學(xué)習(xí)算法能自動(dòng)分析數(shù)據(jù)規(guī)律,并據(jù)此對(duì)未知數(shù)據(jù)進(jìn)行預(yù)測(cè)分析,目前機(jī)器學(xué)習(xí)算法已應(yīng)用于惡意代碼檢測(cè)、入侵檢測(cè)等計(jì)算機(jī)安全領(lǐng)域。將惡意代碼可視化為圖像后,采用基于機(jī)器學(xué)習(xí)的惡意代碼檢測(cè)方法進(jìn)行檢測(cè),其原理是通過(guò)圖像處理技術(shù)從圖像中提取不同類(lèi)型特征,描述待分析樣本的惡意攻擊行為,每個(gè)惡意代碼樣本均由一個(gè)降維后的固定維度向量表示,然后使用機(jī)器學(xué)習(xí)算法對(duì)已知標(biāo)簽樣本圖像進(jìn)行訓(xùn)練,構(gòu)建分類(lèi)器,訓(xùn)練出分類(lèi)器后便可對(duì)未知樣本進(jìn)行檢測(cè)分析。

      使用機(jī)器學(xué)習(xí)算法訓(xùn)練惡意代碼圖像,難點(diǎn)在于如何使用特征分析技術(shù)提取出不易受隨機(jī)因子干擾且具有家族代表性的信息,優(yōu)秀的特征分析方法可在去除冗余信息的同時(shí)提高模型訓(xùn)練效率。常見(jiàn)的特征分析技術(shù)分為特征抽象與特征降維,特征抽象是指將源數(shù)據(jù)抽象成算法可理解的數(shù)據(jù),而特征降維可分為兩種:一種是從原有特征集中選出子集,僅單純進(jìn)行挑選不改變特征性質(zhì),即特征選擇;另一種是在原有特征集基礎(chǔ)上創(chuàng)造一個(gè)新的特征子集,通過(guò)空間變換改變了特征性質(zhì),即特征提取。

      目前基于機(jī)器學(xué)習(xí)算法的惡意代碼檢測(cè)方法已有很多,并取得了不錯(cuò)的分類(lèi)結(jié)果,本節(jié)將對(duì)其中基于可視化的惡意代碼檢測(cè)方法進(jìn)行介紹、分析與比較,具體如表1所示。

      Table 1 Visual malicious code detection methods based on machine learning表1 基于機(jī)器學(xué)習(xí)的可視化惡意代碼檢測(cè)方法

      3.2 基于深度學(xué)習(xí)的惡意代碼檢測(cè)

      深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的分支,是一種端到端的系統(tǒng),且無(wú)需先驗(yàn)知識(shí)。深度學(xué)習(xí)利用大量隱藏層的非線(xiàn)性網(wǎng)絡(luò)結(jié)構(gòu)對(duì)樣本進(jìn)行訓(xùn)練,可將原始數(shù)據(jù)的特征空間轉(zhuǎn)換到新空間,提取出訓(xùn)練樣本的內(nèi)在特征,提高模型的泛化性。深度學(xué)習(xí)的最大優(yōu)點(diǎn)在于能自動(dòng)學(xué)習(xí)、提取特征,利用深度學(xué)習(xí)算法學(xué)習(xí)惡意代碼圖像特征并進(jìn)行預(yù)測(cè)分析,可減少人工提取特征的時(shí)間成本。因其具有可擴(kuò)展性、靈活性等特點(diǎn),被廣泛應(yīng)用于惡意代碼檢測(cè)與分類(lèi)。

      Zhao 等[39]提出一種基于紋理可視化的深度學(xué)習(xí)惡意軟件分類(lèi)框架(MalDeep),通過(guò)代碼映射(灰度圖像)、紋理分割與紋理特征提取,將惡意代碼表征在一個(gè)新的圖像紋理特征空間,并構(gòu)建一個(gè)由兩個(gè)卷積層、兩個(gè)下采樣層與多個(gè)全連接層組成的卷積神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)結(jié)果證明了該模型在代價(jià)函數(shù)、交叉熵、訓(xùn)練與測(cè)試損失方面具有良好的收斂性,針對(duì)一些后門(mén)家族的惡意代碼,模型分類(lèi)準(zhǔn)確率能達(dá)到99%以上。Chu 等[40]利用灰度可視化算法將同源分類(lèi)問(wèn)題轉(zhuǎn)化為圖像分類(lèi)問(wèn)題,構(gòu)建基于惡意代碼圖像的卷積神經(jīng)網(wǎng)絡(luò),并通過(guò)實(shí)驗(yàn)驗(yàn)證該模型具有很強(qiáng)的可擴(kuò)展性與通用性,在Kaggle 數(shù)據(jù)集上的分類(lèi)準(zhǔn)確率能達(dá)到98.60%,但缺點(diǎn)在于沒(méi)有進(jìn)一步探究模型參數(shù)對(duì)分類(lèi)的影響。

      Sun 等[41]結(jié)合惡意代碼靜態(tài)分析、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)與卷積神經(jīng)網(wǎng)絡(luò)(CNN),不僅考慮了惡意代碼原始信息,而且考慮了原始代碼與時(shí)序特征相關(guān)聯(lián)的能力。該過(guò)程減少了對(duì)類(lèi)別標(biāo)簽的依賴(lài),保證不丟失有效信息,同時(shí)使生成的特征圖像非常相似。采用Kaggle 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),當(dāng)訓(xùn)練集與驗(yàn)證集比例為1:30 時(shí),準(zhǔn)確率能達(dá)到92%以上,調(diào)整比例為3:1 時(shí),準(zhǔn)確率超過(guò)了99.5%,實(shí)驗(yàn)結(jié)果驗(yàn)證了該模型具有不錯(cuò)的分類(lèi)性能。Vasan 等[42]將原始惡意代碼二進(jìn)制文件轉(zhuǎn)換為彩色圖像,利用微調(diào)卷積神經(jīng)網(wǎng)絡(luò)(IMCFN)對(duì)惡意代碼進(jìn)行檢測(cè)與識(shí)別。該方式能有效檢測(cè)隱藏代碼、混淆惡意軟件與惡意軟件變種,且時(shí)間成本低,IMCFN 在Malimg 數(shù)據(jù)集上的準(zhǔn)確率為98.82%。

      目前,越來(lái)越多深度學(xué)習(xí)模型被用于惡意代碼檢測(cè),如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)等,這些模型通過(guò)從大量訓(xùn)練樣本中提取惡意代碼內(nèi)在特征進(jìn)行訓(xùn)練與分類(lèi),具有自動(dòng)化程度高、速度快及資源消耗少等優(yōu)點(diǎn)。但不足之處在于不能深層次提取特征、模型結(jié)構(gòu)復(fù)雜、參數(shù)過(guò)多及模型泛化能力不足等,仍需作進(jìn)一步研究。

      4 面臨的問(wèn)題及分析

      隨著惡意代碼檢測(cè)技術(shù)的發(fā)展,其面臨的問(wèn)題也不容忽視。本節(jié)介紹當(dāng)前檢測(cè)技術(shù)面臨的主要問(wèn)題,并提出對(duì)未來(lái)的展望,這些問(wèn)題的存在也意味著相關(guān)方向會(huì)成為未來(lái)研究的重點(diǎn)。

      當(dāng)前數(shù)據(jù)集存在的問(wèn)題主要有惡意代碼形態(tài)多樣化、標(biāo)準(zhǔn)數(shù)據(jù)集較少、數(shù)據(jù)分布不均衡及數(shù)據(jù)缺乏標(biāo)簽等。為規(guī)避惡意代碼檢測(cè),網(wǎng)絡(luò)攻擊者會(huì)利用代碼混淆、重打包等技術(shù)制造出多種類(lèi)型的變種。由于標(biāo)準(zhǔn)數(shù)據(jù)集較少,且均為非完整性程序,將影響到分類(lèi)器評(píng)估效果。目前公開(kāi)的基于Windows 的惡意軟件數(shù)據(jù)集有4 個(gè),即Malimg[43]、Malheur[44]、VirusShare[45]和Microsoft Kaggle[46]。

      某些惡意軟件需在特定環(huán)境下才能顯現(xiàn)其惡意行為,并且會(huì)檢測(cè)是否存在虛擬環(huán)境,進(jìn)而避免被收集,這必然會(huì)導(dǎo)致收集的數(shù)據(jù)集分布不均衡。若正負(fù)數(shù)據(jù)樣本數(shù)量或不同家族的樣本數(shù)量差距較大,將不利于深度模型學(xué)習(xí)樣本內(nèi)在特征。在深度學(xué)習(xí)中,只有輸入足夠且均衡的訓(xùn)練數(shù)據(jù)才能有效避免過(guò)擬合現(xiàn)象,如果數(shù)據(jù)集較小,可通過(guò)數(shù)據(jù)增強(qiáng)技術(shù)增加樣本數(shù)量,抑制數(shù)據(jù)集不平衡帶來(lái)的不良影響。采用適當(dāng)?shù)臄?shù)據(jù)增強(qiáng)方法可有效避免過(guò)擬合現(xiàn)象,提高模型的泛化性與魯棒性。

      Cui 等[47]首先將惡意代碼轉(zhuǎn)化為灰度圖像,然后針對(duì)惡意代碼家族樣本數(shù)量不均勻?qū)е碌倪^(guò)擬合問(wèn)題,采用蝙蝠算法(BA)并結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對(duì)惡意代碼圖像進(jìn)行識(shí)別與分類(lèi)。朱曉慧等[48]分別對(duì)有監(jiān)督與無(wú)監(jiān)督數(shù)據(jù)增強(qiáng)方法進(jìn)行分析,并闡述了數(shù)據(jù)增強(qiáng)技術(shù)在視覺(jué)圖像領(lǐng)域的具體應(yīng)用,論證了該技術(shù)能有效解決數(shù)據(jù)不平衡或數(shù)據(jù)缺失等問(wèn)題。近幾年主流基于增擴(kuò)數(shù)據(jù)的生成式模型有自動(dòng)編碼器、自回歸模型與生成對(duì)抗網(wǎng)絡(luò)等,其中生成對(duì)抗網(wǎng)絡(luò)(GAN)可不用預(yù)先假設(shè)數(shù)據(jù)分布直接進(jìn)行采樣,理論上可完全擬合真實(shí)數(shù)據(jù),因此基于GAN 的數(shù)據(jù)增強(qiáng)方法表現(xiàn)突出。基于GAN 的數(shù)據(jù)增強(qiáng)技術(shù)在圖像領(lǐng)域已相當(dāng)成熟,將基于GAN 的網(wǎng)絡(luò)安全數(shù)據(jù)增強(qiáng)與圖像處理方法相結(jié)合,探討基于GAN 的惡意代碼圖像增強(qiáng)技術(shù),并結(jié)合深度學(xué)習(xí)算法進(jìn)行分類(lèi)與預(yù)測(cè),該方式在惡意代碼檢測(cè)領(lǐng)域具有很高的潛在價(jià)值。

      對(duì)收集的惡意代碼進(jìn)行信息標(biāo)注是一件耗時(shí)耗力的工作,如果依照原有惡意代碼樣本的相關(guān)惡意行為判別未知惡意代碼,該方式具有挑戰(zhàn)性?,F(xiàn)有的打標(biāo)簽方法主要依賴(lài)于殺毒軟件與檢測(cè)平臺(tái),該方式的準(zhǔn)確性完全依賴(lài)于軟件可靠性,而對(duì)于新型惡意代碼變種,軟件泛化能力可能不足,此時(shí)仍舊需要專(zhuān)家經(jīng)驗(yàn)進(jìn)行輔助分析。

      5 結(jié)語(yǔ)

      本文綜述了基于數(shù)據(jù)可視化進(jìn)行惡意代碼檢測(cè)的方法,首先介紹傳統(tǒng)惡意代碼檢測(cè)方法的原理及優(yōu)缺點(diǎn),然后具體分析惡意代碼的灰度可視化與彩色可視化方法,從機(jī)器學(xué)習(xí)與深度學(xué)習(xí)兩個(gè)角度對(duì)現(xiàn)有的各種惡意代碼圖像分類(lèi)方法進(jìn)行全面分析與比較,最后對(duì)當(dāng)前惡意代碼檢測(cè)技術(shù)所面臨的問(wèn)題進(jìn)行總結(jié)與思考。在未來(lái)研究中,可從以下兩方面進(jìn)行探究:一是探索一種新型的惡意代碼可視化方法,使圖像能包含獨(dú)特的家族特征,并利用GAN 解決數(shù)據(jù)集分布不均衡問(wèn)題,提高模型泛化能力;二是當(dāng)前檢測(cè)技術(shù)所用的深度學(xué)習(xí)模型以CNN 和RNN 為主,而GCN 的特別之處在于對(duì)象是圖數(shù)據(jù),并能直接在圖數(shù)據(jù)上進(jìn)行卷積。當(dāng)前將GCN 用于惡意代碼檢測(cè)的應(yīng)用較少,未來(lái)研究工作可考慮將數(shù)據(jù)可視化、圖像處理、GAN 與GCN等方法相結(jié)合,以更好地檢測(cè)出新型惡意代碼。

      猜你喜歡
      分類(lè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
      基于灰度拉伸的圖像水位識(shí)別方法研究
      基于CGAL和OpenGL的海底地形三維可視化
      “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
      BP-GA光照分類(lèi)器在車(chē)道線(xiàn)識(shí)別中的應(yīng)用
      基于最大加權(quán)投影求解的彩色圖像灰度化對(duì)比度保留算法
      加權(quán)空-譜與最近鄰分類(lèi)器相結(jié)合的高光譜圖像分類(lèi)
      結(jié)合模糊(C+P)均值聚類(lèi)和SP-V-支持向量機(jī)的TSK分類(lèi)器
      石嘴山市| 馆陶县| 河西区| 西充县| 龙州县| 上高县| 高淳县| 田林县| 丰镇市| 莆田市| 萨嘎县| 阳原县| 蒲江县| 南华县| 藁城市| 台前县| 舟山市| 河南省| 永修县| 寿宁县| 通许县| 乌兰察布市| 名山县| 和田县| 鸡泽县| 铜梁县| 洛宁县| 多伦县| 华容县| 宜城市| 平原县| 青神县| 靖边县| 镇沅| 崇仁县| 宽城| 长海县| 黔江区| 巩留县| 弥勒县| 子长县|