張斌,李立勛,董書(shū)琴
基于改進(jìn)SOINN算法的惡意軟件增量檢測(cè)方法
張斌1,2,李立勛1,2,董書(shū)琴1,2
(1. 信息工程大學(xué),河南 鄭州 450001;2. 河南省信息安全重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001)
針對(duì)基于批量學(xué)習(xí)的惡意軟件檢測(cè)方法存在檢測(cè)模型動(dòng)態(tài)更新困難、運(yùn)算存儲(chǔ)開(kāi)銷(xiāo)大的問(wèn)題,將改進(jìn)的SOINN算法與有監(jiān)督分類(lèi)器有機(jī)結(jié)合,利用SOINN算法的增量學(xué)習(xí)特性賦予惡意軟件檢測(cè)模型動(dòng)態(tài)更新能力,有效降低運(yùn)算存儲(chǔ)開(kāi)銷(xiāo)。首先對(duì)SOINN算法進(jìn)行改進(jìn):在SOINN算法競(jìng)爭(zhēng)學(xué)習(xí)周期內(nèi),根據(jù)全排列思想搜索所有樣本輸入次序下神經(jīng)元的權(quán)重調(diào)節(jié)量,計(jì)算所有權(quán)重調(diào)節(jié)量的平均值作為神經(jīng)元最終權(quán)重調(diào)節(jié)量,避免不同樣本輸入次序影響訓(xùn)練所得神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,使所得神經(jīng)網(wǎng)絡(luò)更能反映原始數(shù)據(jù)本質(zhì)特征,從而提高神經(jīng)網(wǎng)絡(luò)針對(duì)惡意軟件檢測(cè)的精度。然后采用非負(fù)矩陣分解和Z-score歸一化對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將惡意軟件行為特征向量從高維高數(shù)量級(jí)轉(zhuǎn)換至低維低數(shù)量級(jí),在提高檢測(cè)速度的同時(shí)有效降低高數(shù)量級(jí)維度對(duì)特征學(xué)習(xí)的不利影響,進(jìn)一步提高檢測(cè)準(zhǔn)確性。實(shí)驗(yàn)結(jié)果表明,所提方法支持檢測(cè)模型動(dòng)態(tài)更新,對(duì)未知新樣本的檢測(cè)準(zhǔn)確率顯著高于傳統(tǒng)檢測(cè)方法,且運(yùn)算存儲(chǔ)開(kāi)銷(xiāo)更小。
SOINN算法;惡意軟件檢測(cè);神經(jīng)網(wǎng)絡(luò);增量學(xué)習(xí);入侵檢測(cè)
惡意軟件是對(duì)懷有惡意目的或完成惡意功能軟件的統(tǒng)稱(chēng),對(duì)信息系統(tǒng)危害巨大[1]。提高惡意軟件的檢測(cè)率有助于及時(shí)采取防御措施降低和消除惡意軟件危害。隨著網(wǎng)絡(luò)攻擊技術(shù)的發(fā)展,惡意軟件入侵方式日益復(fù)雜、攻擊行為愈加隱蔽,給惡意軟件檢測(cè)帶來(lái)嚴(yán)峻挑戰(zhàn)。
目前,惡意軟件檢測(cè)方法目前主要包括靜態(tài)分析和動(dòng)態(tài)分析。靜態(tài)分析方法利用反編譯等技術(shù)提取惡意軟件的代碼特征,再利用特征匹配等方式進(jìn)行檢測(cè),部署簡(jiǎn)便且檢測(cè)速度快,如控制流分析[2]、信息流分析[3]、操作碼分析[4]等。但隨著攻擊者在編碼時(shí)越來(lái)越多地應(yīng)用代碼混淆、信息隱藏等手段,導(dǎo)致大量指令和函數(shù)被錯(cuò)誤反編譯,靜態(tài)分析準(zhǔn)確性有所降低。動(dòng)態(tài)分析方法是指在虛擬環(huán)境中運(yùn)行惡意軟件實(shí)體,監(jiān)控并分析其在運(yùn)行過(guò)程中表現(xiàn)出的行為(如文件操作、網(wǎng)絡(luò)通信等)來(lái)實(shí)施檢測(cè)[5-6],對(duì)于檢測(cè)采用代碼混淆等技術(shù)的惡意軟件更具優(yōu)勢(shì),主要包含以下兩類(lèi)方法:一類(lèi)是基于行為序列分析的方法,通過(guò)監(jiān)控并分析正常行為序列與異常行為序列的差異實(shí)施檢測(cè),如基于系統(tǒng)調(diào)用屬性序列的檢測(cè)[7]、基于shell命令序列的檢測(cè)[8]和基于內(nèi)核數(shù)據(jù)特征序列的檢測(cè)[9]等,此類(lèi)方法普遍面臨行為序列長(zhǎng)度選擇問(wèn)題,序列長(zhǎng)度選擇過(guò)短可能增加誤檢率,過(guò)長(zhǎng)又可能增加漏檢率;另一類(lèi)是基于行為特征學(xué)習(xí)的方法,利用特征工程構(gòu)建惡意軟件行為特征向量并據(jù)此訓(xùn)練有監(jiān)督分類(lèi)模型實(shí)施檢測(cè),能夠避免行為序列長(zhǎng)度選擇問(wèn)題且具有較高準(zhǔn)確率[10-11],但是此類(lèi)方法普遍以批量學(xué)習(xí)方式訓(xùn)練檢測(cè)模型,存在模型更新困難和運(yùn)算存儲(chǔ)開(kāi)銷(xiāo)大的不足[12]。
自組織增量式神經(jīng)網(wǎng)絡(luò)[13](SOINN,self-organizing incremental neural network)是一種無(wú)監(jiān)督聚類(lèi)算法,通過(guò)對(duì)新樣本的增量學(xué)習(xí)支持神經(jīng)網(wǎng)絡(luò)動(dòng)態(tài)更新,而且增量學(xué)習(xí)時(shí)可自動(dòng)保存已學(xué)知識(shí)避免再次學(xué)習(xí)歷史樣本,從而降低學(xué)習(xí)過(guò)程中的存儲(chǔ)和運(yùn)算開(kāi)銷(xiāo)。因此,本文將SOINN算法與有監(jiān)督分類(lèi)模型相結(jié)合,實(shí)現(xiàn)惡意軟件檢測(cè)模型的動(dòng)態(tài)更新并降低運(yùn)算存儲(chǔ)開(kāi)銷(xiāo)。但是將SOINN算法引入惡意軟件檢測(cè)領(lǐng)域必須解決兩個(gè)問(wèn)題:一是SOINN算法對(duì)樣本輸入次序敏感,即同一樣本集以不同次序訓(xùn)練SOINN可能會(huì)得出完全不同的神經(jīng)網(wǎng)絡(luò),這將影響惡意軟件檢測(cè)精度;二是SOINN算法基于距離度量樣本相似度并實(shí)施聚類(lèi),在處理惡意軟件行為特征這種高維高數(shù)量級(jí)數(shù)據(jù)時(shí)運(yùn)行速度較慢,且偏向于以高數(shù)量級(jí)維度區(qū)分樣本而忽略低數(shù)量級(jí)維度對(duì)樣本區(qū)分的作用,從而影響特征學(xué)習(xí)的準(zhǔn)確性。
為解決上述問(wèn)題,主要工作如下。
1) 提出WM-SOINN(SOINN with weight modification)算法,在SOINN競(jìng)爭(zhēng)學(xué)習(xí)周期內(nèi),利用全排列思想搜索所有樣本輸入次序下神經(jīng)元的權(quán)重調(diào)節(jié)量,計(jì)算所有權(quán)重調(diào)節(jié)量的平均值作為神經(jīng)元最終權(quán)重調(diào)節(jié)量,避免個(gè)別樣本輸入次序影響訓(xùn)練所得神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,使所得神經(jīng)網(wǎng)絡(luò)更能反映原始數(shù)據(jù)本質(zhì)特征,從而提高將神經(jīng)網(wǎng)絡(luò)應(yīng)用于后續(xù)惡意軟件檢測(cè)的精度。
2) 采用非負(fù)矩陣分解[14](NMF,nonnegative matrix factor)和Z-score[15]歸一化方法處理訓(xùn)練數(shù)據(jù),對(duì)惡意軟件行為特征實(shí)施降維和數(shù)據(jù)標(biāo)準(zhǔn)化,在提高檢測(cè)速度的同時(shí)降低高數(shù)量級(jí)維度對(duì)特征學(xué)習(xí)的不利影響,進(jìn)一步提高WM-SOINN準(zhǔn)確性。
3) 提出基于WM-SOINN的惡意軟件增量檢測(cè)方法,將具有增量更新特性的WM-SOINN與具有高準(zhǔn)確率的有監(jiān)督分類(lèi)器有機(jī)結(jié)合,在保證高準(zhǔn)確率情況下實(shí)現(xiàn)檢測(cè)模型動(dòng)態(tài)更新,并有效降低運(yùn)算和存儲(chǔ)開(kāi)銷(xiāo)。
SOINN屬于在線學(xué)習(xí)的競(jìng)爭(zhēng)型神經(jīng)網(wǎng)絡(luò),與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法相比,SOINN可以學(xué)習(xí)新樣本包含的特征,并有效保留已有學(xué)習(xí)成果,實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)動(dòng)態(tài)更新。同時(shí),SOINN采用基于原型聚類(lèi)的無(wú)監(jiān)督學(xué)習(xí)思想,輸出的神經(jīng)網(wǎng)絡(luò)可以反映原始數(shù)據(jù)特征,而SOINN的神經(jīng)元?jiǎng)討B(tài)調(diào)整和網(wǎng)絡(luò)去噪機(jī)制可以保證神經(jīng)網(wǎng)絡(luò)的規(guī)模遠(yuǎn)小于原始數(shù)據(jù),因此具有良好的數(shù)據(jù)壓縮特性,用于增量學(xué)習(xí)時(shí)可以有效降低存儲(chǔ)和運(yùn)算開(kāi)銷(xiāo)。SOINN算法的主要步驟如下[13]。
否則
6) 更新獲勝神經(jīng)元權(quán)重。
算法最后輸出神經(jīng)元集合和連接關(guān)系集合。
SOINN算法以順序?qū)W習(xí)的方式處理輸入樣本,而學(xué)習(xí)率是神經(jīng)元獲勝次數(shù)的函數(shù)而非一個(gè)定值,因此當(dāng)樣本以不同次序訓(xùn)練SOINN時(shí),獲勝神經(jīng)元被增量調(diào)整的權(quán)重也不相同,進(jìn)而導(dǎo)致同一樣本集以不同次序訓(xùn)練SOINN得出不同結(jié)果。為降低SOINN對(duì)輸入數(shù)據(jù)次序的敏感性,提出神經(jīng)元權(quán)重修正方法:在每個(gè)競(jìng)爭(zhēng)學(xué)習(xí)周期內(nèi),記憶對(duì)神經(jīng)元實(shí)施過(guò)權(quán)重調(diào)整的所有樣本,基于全排列思想搜索這些樣本在不同輸入次序下對(duì)神經(jīng)元權(quán)重的調(diào)節(jié)量,計(jì)算所有權(quán)重調(diào)節(jié)量的平均值作為該競(jìng)爭(zhēng)學(xué)習(xí)周期結(jié)束時(shí)神經(jīng)元的最終權(quán)重調(diào)節(jié)量。根據(jù)以上思路,提出WM-SOINN算法如下。
Step5 判斷學(xué)習(xí)周期是否結(jié)束,是則繼續(xù)執(zhí)行Step6,否則返回Step2。
Step6中的神經(jīng)元權(quán)重修正詳細(xì)方法如下。
惡意軟件主要通過(guò)調(diào)用操作系統(tǒng)提供的應(yīng)用編程接口(API,application programming interface)實(shí)現(xiàn)文件訪問(wèn)、網(wǎng)絡(luò)通信等行為,因此可以通過(guò)記錄API調(diào)用情況監(jiān)控惡意軟件行為。為逃避殺毒軟件查殺和安全人員分析,惡意軟件通常將自身的惡意行為分散到多個(gè)不同的進(jìn)程實(shí)施。這些分散執(zhí)行的進(jìn)程主要包含兩類(lèi):①惡意軟件主進(jìn)程創(chuàng)建的子進(jìn)程;②惡意軟件通過(guò)代碼注入技術(shù)注入的受害進(jìn)程(通常是系統(tǒng)進(jìn)程和殺毒軟件白名單進(jìn)程,如svchost.exe和excel.exe)。同時(shí)監(jiān)控主進(jìn)程、子進(jìn)程和被注入進(jìn)程的API調(diào)用情況,更有利于發(fā)現(xiàn)復(fù)雜、隱蔽的惡意軟件。
根據(jù)監(jiān)控到的API調(diào)用情況構(gòu)建惡意軟件行為特征向量,流程如圖1所示。
Step1 在虛擬環(huán)境中執(zhí)行待監(jiān)測(cè)樣本,防止惡意樣本對(duì)真實(shí)系統(tǒng)造成破壞。
Step2 利用API監(jiān)控工具監(jiān)控主進(jìn)程、子進(jìn)程和注入進(jìn)程的API調(diào)用情況。
Step3 根據(jù)監(jiān)控結(jié)果構(gòu)建行為特征向量,其中,API(為正整數(shù))字段取值為自然數(shù),表示第種API的調(diào)用次數(shù),Child和Injected字段取值為布爾類(lèi)型,分別表示是否創(chuàng)建子進(jìn)程和是否有注入進(jìn)程。
圖1 惡意軟件行為特征向量構(gòu)建流程
惡意軟件種類(lèi)繁多、功能各異,利用特征工程構(gòu)建的惡意軟件行為特征向量往往維度過(guò)高,且不同維度的取值存在數(shù)量級(jí)差異。為提高WM-SOINN對(duì)惡意軟件行為特征向量的處理速度和特征學(xué)習(xí)的準(zhǔn)確性,設(shè)計(jì)惡意軟件行為特征向量預(yù)處理算法,通過(guò)數(shù)據(jù)降維提升WM-SOINN運(yùn)算速度,再實(shí)施數(shù)據(jù)標(biāo)準(zhǔn)化減小訓(xùn)練數(shù)據(jù)不同維度的數(shù)量級(jí)差異,進(jìn)而提高WM-SOINN準(zhǔn)確性。
API調(diào)用頻數(shù)具有非負(fù)性,因此惡意軟件行為特征向量構(gòu)成的特征空間矩陣也具有非負(fù)性,而NMF可通過(guò)矩陣分解實(shí)現(xiàn)降維,并且降維得到的低維矩陣仍然具有非負(fù)性,與原矩陣物理含義相符,便于理解和解釋。在降維之后利用Z-score方法實(shí)施數(shù)據(jù)標(biāo)準(zhǔn)化,使矩陣各維度平均值為0、標(biāo)準(zhǔn)差為1,有效減少數(shù)據(jù)不同維度存在的數(shù)量級(jí)差異。
惡意軟件行為特征向量預(yù)處理算法步驟如下。
WM-SOINN屬于無(wú)監(jiān)督聚類(lèi)學(xué)習(xí)算法,直接用于惡意軟件檢測(cè)需要人為設(shè)定檢測(cè)閾值,通過(guò)判斷待測(cè)樣本與神經(jīng)元的距離是否大于檢測(cè)閾值而得出結(jié)論。這種檢測(cè)方法存在兩點(diǎn)不足:一是檢測(cè)閾值的設(shè)定存在很強(qiáng)主觀性,閾值過(guò)大會(huì)增加漏檢率,過(guò)小又會(huì)增加誤檢率;二是惡意軟件與正常軟件在特征空間的重合度極高,這種基于距離閾值實(shí)施檢測(cè)的精度有限。
將WM-SOINN與有監(jiān)督分類(lèi)模型結(jié)合實(shí)施惡意軟件檢測(cè),可以避免人為設(shè)定檢測(cè)閾值帶來(lái)的主觀性,同時(shí)利用有監(jiān)督學(xué)習(xí)提高檢測(cè)精度。方法的基本思想是通過(guò)WM-SOINN分類(lèi)別學(xué)習(xí)惡意軟件與正常軟件樣本,將學(xué)習(xí)所得的神經(jīng)元用于訓(xùn)練有監(jiān)督分類(lèi)模型實(shí)施檢測(cè),再利用檢測(cè)結(jié)果對(duì)神經(jīng)網(wǎng)絡(luò)和檢測(cè)模型實(shí)施增量更新。具體步驟如下。
Step1 對(duì)初始帶標(biāo)簽樣本集進(jìn)行降維和標(biāo)準(zhǔn)化處理,根據(jù)正負(fù)標(biāo)簽劃分為正常訓(xùn)練樣本-samples與惡意訓(xùn)練樣本-samples。
Step2 利用WM-SOINN分別學(xué)習(xí)-samples和-samples得到正常樣本的神經(jīng)網(wǎng)絡(luò)-WM- SOINN和惡意樣本的神經(jīng)網(wǎng)絡(luò)-WM-SOINN。
實(shí)驗(yàn)主要驗(yàn)證WM-SOINN與常用有監(jiān)督分類(lèi)器結(jié)合后的檢測(cè)性能、算法運(yùn)算效率和增量學(xué)習(xí)能力。
在Windows平臺(tái)上利用Python 3.6.4進(jìn)行實(shí)驗(yàn),編程工具為PyCharm,CPU為Intel i5-6300HQ,內(nèi)存為8 GB。實(shí)驗(yàn)數(shù)據(jù)集為機(jī)器學(xué)習(xí)數(shù)據(jù)倉(cāng)庫(kù)UCI中的“Dynamic Features of Virus Share Executables Data Set”,該數(shù)據(jù)集包含107 888個(gè)軟件樣本的動(dòng)態(tài)行為特征,被廣泛應(yīng)用于惡意軟件動(dòng)態(tài)分析領(lǐng)域。數(shù)據(jù)集中的每一條樣本記錄均有484個(gè)特征維度,其中第一個(gè)維度表示樣本的評(píng)分(0~1.0,評(píng)分越高表示樣本的危害越大),其余483個(gè)維度對(duì)應(yīng)樣本的動(dòng)態(tài)行為特征。
隨機(jī)選取20 000個(gè)評(píng)分高于0.75的樣本作為惡意樣本,10 000個(gè)評(píng)分低于0.25的樣本作為正常樣本,去除非API冗余特征后再經(jīng)過(guò)NMF降維和Z-score標(biāo)準(zhǔn)化,最終得到30 000個(gè)實(shí)驗(yàn)樣本。
采用下列指標(biāo)進(jìn)行評(píng)價(jià)。
TP (true positive):被正確判定為惡意的惡意樣本數(shù)。
FP (false positive):被錯(cuò)誤判定為惡意的正常樣本數(shù)。
TN (true negative):被正確判定為正常的正常樣本數(shù)。
FN (false negative):被錯(cuò)誤判定為正常的惡意樣本數(shù)。
FPR (false positive rate):假陽(yáng)性率,即被錯(cuò)誤判定的正常樣本占所有正常樣本的比例。
Precision:查準(zhǔn)率,在所有被判定為惡意的樣本中真實(shí)的惡意樣本所占的比例。
Accuracy:準(zhǔn)確率,所有被準(zhǔn)確判定的樣本占樣本總量的比例。
其中,Precision和Accuracy可以代表算法的準(zhǔn)確性,值越大表明算法越準(zhǔn)確;FPR可以代表算法的誤檢率,值越小代表算法造成的誤判越少。
由表1可知,原始的SVM、NB和RF中準(zhǔn)確性最高的是RF,其Precision和Accuracy超過(guò)0.99、FPR小于0.01;其次是SVM,其Precision不低于0.92、Accuracy不低于0.93、FPR不超過(guò)0.08;效果較差的是NB,其Precision和Accuracy不超過(guò)0.92、FPR超過(guò)0.08。與經(jīng)典-Means算法相比,SOINN和WM-SOINN能夠自動(dòng)確定聚類(lèi)數(shù)目,減少人為設(shè)定聚類(lèi)數(shù)目導(dǎo)致的誤差,并且檢測(cè)性能普遍優(yōu)于經(jīng)典的-Means算法。在批量學(xué)習(xí)時(shí),SOINN和WM-SOINN與SVM、RF結(jié)合之后只對(duì)分類(lèi)器的準(zhǔn)確性和誤檢率造成了極小的影響,以RF為例,其Precision不低于0.986、Accuracy不低于0.988、FPR不超過(guò)0.014。實(shí)驗(yàn)結(jié)果還表明,WM-SOINN與分類(lèi)器結(jié)合后的Precision和Accuracy高于SOINN與分類(lèi)器結(jié)合后的同類(lèi)指標(biāo),而FPR也更低,證明WM-SOINN訓(xùn)練得出的神經(jīng)網(wǎng)絡(luò)更加穩(wěn)定,輸出的神經(jīng)元也更能代表原始樣本,神經(jīng)元權(quán)重修正方法有效。
表1 算法惡意軟件檢測(cè)性能對(duì)比
圖2 算法運(yùn)行時(shí)間對(duì)比
由圖2可知,對(duì)于同等規(guī)模數(shù)據(jù)集,增加了神經(jīng)元權(quán)重修改操作的WM-SOINN與原始SOINN的運(yùn)行時(shí)間基本相等,證明WM-SOINN不會(huì)造成更大的時(shí)間開(kāi)銷(xiāo)。此外,無(wú)論SOINN還是WM-SOINN,其運(yùn)行時(shí)間均隨著數(shù)據(jù)集規(guī)模的增加而近似線性增加,與時(shí)間復(fù)雜度分析結(jié)果相吻合。
下面以SOINN、WM-SOINN與RF結(jié)合為例比較算法在增量學(xué)習(xí)時(shí)的空間開(kāi)銷(xiāo),分別選取規(guī)模為1 000、3 000、5 000、7 000、10 000的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果如圖3所示。其中Sample-stored表示增量學(xué)習(xí)需要存儲(chǔ)的樣本數(shù),也是神經(jīng)網(wǎng)絡(luò)輸出神經(jīng)元的數(shù)目,值越小表示需要的存儲(chǔ)空間越少;Max-nodes表示RF中決策樹(shù)的最大節(jié)點(diǎn)數(shù),Max-depth表示RF中決策樹(shù)的最大深度,在檢測(cè)率相同的前提下,Max-nodes和Max-depth越小表示檢測(cè)模型需要的存儲(chǔ)空間越小,同時(shí)表明檢測(cè)模型的泛化能力越強(qiáng),可以避免出現(xiàn)過(guò)擬合。
從Sample-stored指標(biāo)可知,如果直接利用RF進(jìn)行增量學(xué)習(xí),則單次學(xué)習(xí)完成后需要存儲(chǔ)所有樣本,而與SOINN或WM-SOINN結(jié)合之后,只需要存儲(chǔ)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)所得的極少量神經(jīng)元即可進(jìn)行后續(xù)增量學(xué)習(xí)。從圖3(a)可以看出,對(duì)于同一數(shù)據(jù)集,在樣本分布均勻的情況下,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)所得的神經(jīng)元數(shù)目是相對(duì)穩(wěn)定的,并不會(huì)因數(shù)據(jù)集規(guī)模的擴(kuò)大而大量增加,甚至可能減少。并且對(duì)于本實(shí)驗(yàn)所用數(shù)據(jù)集,當(dāng)數(shù)據(jù)集規(guī)模大于104時(shí),數(shù)據(jù)壓縮比率超過(guò)0.99。由表1可知RF、WM-SOINN-RF具有同等檢測(cè)性能,SOINN-RF檢測(cè)性能略差,但是通過(guò)比較Max-nodes和Max-depth指標(biāo)可以看出,經(jīng)過(guò)SOINN或WM-SOINN壓縮數(shù)據(jù)后再訓(xùn)練得到的RF,與利用原始數(shù)據(jù)直接訓(xùn)練得到的RF相比具有更小的規(guī)模,Max-nodes平均減少78.5%,Max-depth平均減少63.4%。比較SOINN-RF和WM-SOINN-RF的Sample-stored指標(biāo)可以發(fā)現(xiàn)兩者具有同等的數(shù)據(jù)壓縮能力,而4.2節(jié)實(shí)驗(yàn)已經(jīng)表明WM-SOINN- RF的檢測(cè)性能更優(yōu)。上述結(jié)論表明本文方法可以顯著降低訓(xùn)練數(shù)據(jù)和檢測(cè)模型的存儲(chǔ)開(kāi)銷(xiāo)。
表2 算法增量學(xué)習(xí)性能
本文將SOINN引入惡意軟件檢測(cè)領(lǐng)域并進(jìn)行改進(jìn),將改進(jìn)后的WM-SOINN算法與有監(jiān)督分類(lèi)器結(jié)合構(gòu)建惡意軟件增量檢測(cè)模型,在保證檢測(cè)精度的同時(shí)實(shí)現(xiàn)檢測(cè)模型的動(dòng)態(tài)更新,并能顯著減少運(yùn)算和存儲(chǔ)開(kāi)銷(xiāo),為惡意軟件檢測(cè)提供了新的解決方法。從檢測(cè)性能、運(yùn)算效率和增量學(xué)習(xí)能力3個(gè)角度進(jìn)行實(shí)驗(yàn)分析,證明了所提方法的有效性。下一步將研究WM-SOINN算法與其他分類(lèi)器相結(jié)合的方法,提高算法的適應(yīng)性。
[1] 劉劍, 蘇璞睿, 楊珉,等. 軟件與網(wǎng)絡(luò)安全研究綜述[J]. 軟件學(xué)報(bào), 2018(1): 42-68.
LIU J, SU P R, YANG M, et al. Software and cyber security—a survey[J]. Journal of Software, 2018(1): 42-68.
[2] SONG F, TOUILI T. Efficient malware detection using model-checking[C]//FM: Formal Methods. 2012: 418-433.
[3] YIN H, SONG D. Privacy-breaching behavior analysis[M]. Automatic Malware Analysis. 2013: 27-42.
[4] TODERICI A H, STAMP M. Chi-squared distance and metamorphic virus detection[J]. Journal in Computer Virology, 2013, 9(1): 1-14.
[5] EGELE M, SCHOLTE T, KIRDA E, et al. A survey on automated dynamic malware-analysis techniques and tools[J]. ACM Computing Surveys, 2008, 44(2): 1-42.
[6] 陳志鋒, 李清寶, 張平, 等. 基于聚類(lèi)分析的內(nèi)核惡意軟件特征選擇[J]. 電子與信息學(xué)報(bào), 2015, 37(12): 2821-2829.
CHEN Z F, LI Q B, ZHANG P, et al. Signature selection for kernel malware based on cluster analysis[J]. Journal of Electronics & Information Technology, 2015, 37(12): 2821-2829.
[7] 李珍, 田俊峰, 楊曉暉. 基于系統(tǒng)調(diào)用屬性的程序行為監(jiān)控[J]. 計(jì)算機(jī)研究與發(fā)展, 2012, 49(8): 1676-1684.
LI Z, TIAN J F, YANG X H. Program behavior monitoring based on system call attributes[J]. Journal of Computer Research and Development, 2012, 49(8): 1676-1684.
[8] 田新廣, 段洣毅, 程學(xué)旗. 基于shell命令和多重行為模式挖掘的用戶偽裝攻擊檢測(cè)[J]. 計(jì)算機(jī)學(xué)報(bào), 2010, 33(4): 697-705.
TIAN X G, DUAN M Y, CHENG X Q. Masquerade detection based on shell commands and multiple behavior pattern mining[J]. Chinese Journal of Computers, 2010, 33(4): 697-705.
[9] 陳志鋒, 李清寶, 張平, 等. 基于數(shù)據(jù)特征的內(nèi)核惡意軟件檢測(cè)[J].軟件學(xué)報(bào), 2016, 27(12): 3172-3191.
CHEN Z F, LI Q B, ZHANG P, et al. Data characteristics-based kernel malware detection[J]. Journal of Software, 2016, 27(12): 3172-3191.
[10] GREENGARD S. Cyber security gets smart[J]. Communications of the ACM, 2016, 59(5): 29-31
[11] SADEGHI A, BAGHERI H, GARCIA J. A taxonomy and qualitative comparison of program analysis techniques for security assessment of android software[J]. IEEE Transactions on Software Engineering, 2016.
[12] 楊雅輝, 黃海珍, 沈晴霓, 等. 基于增量式GHSOM神經(jīng)網(wǎng)絡(luò)模型的入侵檢測(cè)研究[J]. 計(jì)算機(jī)學(xué)報(bào), 2014(5): 1216-1224.
YANG Y H, HUANG H Z, SHEN Q N, et al. Research on intrusion detection based on incremental GHSOM[J]. Chinese Journal of Computers, 2014(5): 1216-1224.
[13] 邱天宇, 申富饒, 趙金熙. 自組織增量學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)綜述[J]. 軟件學(xué)報(bào), 2016, 27(9): 2230-2247.
QIU T Y, SHEN F R, ZHAO J X. Review of self-organizing incremental neural network[J]. Journal of Software, 2016, 27(9): 2230-2247.
[14] LEE D D, SEUNG H S. Learning the parts of objects by non-negative matrix factorization[J]. Nature, 1999, 401(6755): 788-791.
[15] WANG W, ZHANG X, GOMBAULT S, et al. Attribute normalization in network intrusion detection[C]//International Symposium on Pervasive Systems, Algorithms, and Networks. 2010: 448-453.
Malware detection approach based on improved SOINN
ZHANG Bin1,2, LI Lixun1,2, DONG Shuqin1,2
1. Information and Engineering University, Zhengzhou 450001, China; 2. Key Laboratory of Information Security of Henan Province, Zhengzhou 450001, China
To deal with the problems of dynamic update of detection model and high computation costs in malware detection model based on batch learning, a novel malware detection approach is proposed by combing SOINN and supervised classifiers, to reduce computation costs and enable the detection model to update dynamically with the assistance of SOINN′s incremental learning characteristic. Firstly, the improved SOINN was given. According to the whole alignment algorithm, search the adjusted weights of neurons under all input sequences in the learning cycle and then calculate the average value of all adjusted weights as the final result, to avoid SOINN′s stability under different input sequences and representativeness of original data, therefore improve malware detection accuracy. Then a data preprocessing algorithm was proposed based on nonnegative matrix factor and Z-score normalization to transfer the malware behavior feature vector from high dimension and high order to low dimension and low order, to speed up and avoid overfitting and further improve detection accuracy. The results of experiments show that proposed approach supports dynamic updating of detection model and has a significantly higher accuracy of detecting unknown new samples and lower computation costs than tradition methods.
SOINN algorithm, malware detection, neural network, incremental learning, intrusion detection
s: Henan Province Foundation and Frontier Technology Research Project (No. 2014302903); New Research Direction Cultivation Fund for Information Engineering University (No. 2016604703)
TP393.08
A
10.11959/j.issn.2096?109x.2019059
張斌(1969? ),男,河南南陽(yáng)人,信息工程大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)榫W(wǎng)絡(luò)空間安全。
李立勛(1994? ),男,四川都江堰人,信息工程大學(xué)碩士生,主要研究方向?yàn)閯?dòng)態(tài)目標(biāo)防御。
董書(shū)琴(1990? ),男,河北邢臺(tái)人,信息工程大學(xué)博士生,主要研究方向?yàn)榫W(wǎng)絡(luò)安全態(tài)勢(shì)感知。
2019?01?08;
2019?03?20
董書(shū)琴,dongshuqin377@126.com
河南省基礎(chǔ)與前沿技術(shù)研究計(jì)劃基金資助項(xiàng)目(No. 2014302903);信息工程大學(xué)新興科研方向培育基金資助項(xiàng)目(No. 2016604703)
論文引用格式:張斌, 李立勛, 董書(shū)琴. 基于改進(jìn)SOINN算法的惡意軟件增量檢測(cè)方法[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2019, 5(6): 21-30.
ZHANG B, LI L X, DONG S Q, et al. Malware detection approach based on improved SOINN[J]. Chinese Journal of Network and Information Security, 2019, 5(6): 21-30.
網(wǎng)絡(luò)與信息安全學(xué)報(bào)2019年6期