本發(fā)明屬于網(wǎng)絡(luò)安全和機(jī)器學(xué)習(xí),具體涉及一種基于多特征融合的惡意命令行檢測(cè)方法。
背景技術(shù):
1、隨著科技的發(fā)展,網(wǎng)絡(luò)犯罪的手段也在不斷演變,攻擊者越來越多地使用合法工具來執(zhí)行攻擊,這種技術(shù)的普及使得現(xiàn)有的安全工具難以區(qū)分正?;顒?dòng)和惡意活動(dòng)。并且由于這些工具常被系統(tǒng)管理員用于合法工作并被加入系統(tǒng)白名單,防御者很難完全阻止對(duì)這些程序的訪問,攻擊者因此能夠隱藏在這些良性程序之下,從而不僅能實(shí)現(xiàn)惡意攻擊的目的,還能逃避現(xiàn)有對(duì)于惡意軟件的檢測(cè)。這種利用目標(biāo)系統(tǒng)中已經(jīng)存在的合法工具和軟件來執(zhí)行惡意活動(dòng),而不是引入外部惡意軟件的攻擊方式叫做living?off?the?land(lotl)。
2、lotl攻擊表現(xiàn)出幾個(gè)關(guān)鍵特征:最小的攻擊足跡、持久性和利用兩用工具。比如,certutil.exe是一個(gè)windows命令行程序,可用于證書管理任務(wù)同時(shí)它還能從互聯(lián)網(wǎng)上下載文件、編碼或解碼證書文件。但是攻擊者也能夠使用該工具下載惡意文件或隱藏現(xiàn)有文件。此類方法可能會(huì)被復(fù)雜的惡意軟件或攻擊者在初次入侵后使用。這些工具的這些側(cè)面用例使攻擊者能夠逃避檢測(cè),因?yàn)檫@些程序通常被列入白名單,并且它們的使用不會(huì)導(dǎo)致生成警報(bào)。
3、同時(shí)因?yàn)閷?duì)這些工具的使用,只需要在命令解釋行解釋窗口輸入相應(yīng)的指令就可以,因此我們對(duì)這種網(wǎng)絡(luò)攻擊的檢測(cè)就轉(zhuǎn)化為對(duì)惡意指令的檢測(cè),即進(jìn)行惡意命令行檢測(cè)。與此同時(shí),對(duì)于基于深度學(xué)習(xí)的惡意命令行檢測(cè)方式而言,缺少足夠的惡意訓(xùn)練樣本數(shù)據(jù),往往會(huì)令訓(xùn)練的模型缺乏準(zhǔn)確性。因此亟待一種能夠在有限的惡意樣本中訓(xùn)練一種模型能夠高效檢測(cè)此類攻擊的方法。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明的目的在于提供一種基于多特征融合的惡意命令行檢測(cè)方法,實(shí)現(xiàn)針對(duì)惡意命令行樣本有限而提供樣本特征增強(qiáng)及惡意命令行的檢測(cè)方法。
2、本發(fā)明提供如下技術(shù)方案:一種基于多特征融合的惡意命令行檢測(cè)方法,包括以下步驟:
3、(1)對(duì)系統(tǒng)日志數(shù)據(jù)中的命令行數(shù)據(jù)進(jìn)行清洗,得到干凈結(jié)構(gòu)的命令行文本;
4、(2)根據(jù)專家知識(shí)預(yù)先定義規(guī)則,在干凈結(jié)構(gòu)的命令行文本上進(jìn)行規(guī)則匹配,得到規(guī)則標(biāo)簽;
5、(3)將干凈結(jié)構(gòu)的命令行文本與已知的惡意命令行進(jìn)行文本相似度的比較,大于設(shè)定閾值的得到相似性標(biāo)簽;
6、(4)利用自然語言處理的方法對(duì)干凈結(jié)構(gòu)的命令行文本進(jìn)行令牌提取;
7、(5)將步驟(2)-(4)中得到的規(guī)則標(biāo)簽、相似性標(biāo)簽及令牌進(jìn)行加權(quán)融合得到一個(gè)新的特征向量,然后在新的特征向量的基礎(chǔ)上進(jìn)行惡意命令行的檢測(cè);
8、(6)利用textcnn和transformer的組合模型作為分類器。
9、進(jìn)一步的,所述(1)中,通過建立的去混淆算法對(duì)系統(tǒng)日志數(shù)據(jù)中的命令行數(shù)據(jù)進(jìn)行清洗,使得命令行的結(jié)構(gòu)恢復(fù)到被混淆之前的結(jié)構(gòu),然后對(duì)具有干凈結(jié)構(gòu)的命令行數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,以減少命令行結(jié)構(gòu)的復(fù)雜性;其具體過程如下:
10、(1-1)去混淆:采用多層去混淆算法對(duì)命令行數(shù)據(jù)進(jìn)行清洗;所述多層去混淆算法基于碼混淆、字符串插入混淆、代碼邏輯混淆及混合操作混淆方式設(shè)計(jì);
11、(1-2)標(biāo)準(zhǔn)化:通過使用正則表達(dá)式快速匹配并發(fā)現(xiàn)命令行文本中可以進(jìn)行標(biāo)準(zhǔn)化的命令行參數(shù)。
12、進(jìn)一步的,所述(2)中的規(guī)則標(biāo)簽包括path_keyword、command_keyword及parameter_keyword;
13、所述path_keyword的描述如下:當(dāng)路徑與規(guī)則集中的一個(gè)預(yù)定義路徑匹配時(shí),將路徑和前綴path作為返回標(biāo)簽;
14、所述command_keyword的描述如下:當(dāng)一個(gè)命令與規(guī)則集中的一個(gè)預(yù)定義命令匹配時(shí),它將命令和前綴command作為返回標(biāo)簽;
15、所述parameter_keyword的描述如下:當(dāng)一個(gè)參數(shù)與規(guī)則集中的一個(gè)預(yù)定義參數(shù)匹配時(shí),它將參數(shù)和前綴parameter作為返回標(biāo)簽。
16、進(jìn)一步的,所述(3)的具體過程如下:
17、將干凈結(jié)構(gòu)的命令行與已知的惡意命令行通過levenshtein距離計(jì)算命令行文本之間的相似性,當(dāng)相似性大于設(shè)定閾值的時(shí)候?yàn)橄鄳?yīng)的命令行分配一個(gè)相似性的標(biāo)簽。
18、進(jìn)一步的,所述(4)中,根據(jù)命令分隔符對(duì)命令行文本進(jìn)行令牌化來獲得命令行結(jié)構(gòu)的令牌序列,以保證捕獲到的令牌都是完整自然單詞。
19、進(jìn)一步的,所述(5)中,在將步驟(2)-(4)中得到的關(guān)于命令行特征描述信息的規(guī)則標(biāo)簽、令牌及相似性標(biāo)簽輸入到深度神經(jīng)網(wǎng)絡(luò)中之前,采用規(guī)則嵌入、令牌嵌入和相似性標(biāo)簽嵌入的方式將描述信息嵌入到密集的特征向量空間中;所述規(guī)則嵌入、令牌嵌入和相似性標(biāo)簽嵌入方式均通過訓(xùn)練word2vec模型將對(duì)應(yīng)的的信息轉(zhuǎn)換成不同的特征向量,通過在模型訓(xùn)練過程中不斷調(diào)整優(yōu)化的權(quán)值,將三個(gè)不同特征的向量加權(quán)融合成一個(gè)特征向量。
20、進(jìn)一步的,所述(6)中,將textcnn和transformer的組合模型作為分類器,通過textcnn模塊來提取命令行序列中的局部特征,所述transformer模型通過注意力機(jī)制使得模型能夠在序列數(shù)據(jù)中捕獲長(zhǎng)距離依賴關(guān)系,以同時(shí)利用局部和全局信息,提高分類的準(zhǔn)確性。
21、通過采用上述技術(shù),與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
22、1)本發(fā)明方法通過檢測(cè)惡意命令行的使用,能夠彌補(bǔ)現(xiàn)有的安全工具對(duì)此類網(wǎng)絡(luò)攻擊檢測(cè)能力的不足;
23、2)本發(fā)明方法通過命令行的多種特征融合來進(jìn)行惡意命令行的檢測(cè),提高模型的檢測(cè)精度;
24、3)本發(fā)明對(duì)于檢測(cè)到的新的惡意命令行,又可以拆分成新的規(guī)則補(bǔ)充到規(guī)則庫中,以這種動(dòng)態(tài)的方式來不斷完善規(guī)則庫。
1.一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,所述(1)中,通過建立的去混淆算法對(duì)系統(tǒng)日志數(shù)據(jù)中的命令行數(shù)據(jù)進(jìn)行清洗,使得命令行的結(jié)構(gòu)恢復(fù)到被混淆之前的結(jié)構(gòu),然后對(duì)具有干凈結(jié)構(gòu)的命令行數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,以減少命令行結(jié)構(gòu)的復(fù)雜性;其具體過程如下:
3.根據(jù)權(quán)利要求2所述的一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,所述(2)中的規(guī)則標(biāo)簽包括path_keyword、command_keyword及parameter_keyword;
4.根據(jù)權(quán)利要求3所述的一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,所述(3)的具體過程如下:
5.根據(jù)權(quán)利要求4所述的一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,所述(4)中,根據(jù)命令分隔符對(duì)命令行文本進(jìn)行令牌化來獲得命令行結(jié)構(gòu)的令牌序列,以保證捕獲到的令牌都是完整自然單詞。
6.根據(jù)權(quán)利要求5所述的一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,所述(5)中,在將步驟(2)-(4)中得到的關(guān)于命令行特征描述信息的規(guī)則標(biāo)簽、令牌及相似性標(biāo)簽輸入到深度神經(jīng)網(wǎng)絡(luò)中之前,采用規(guī)則嵌入、令牌嵌入和相似性標(biāo)簽嵌入的方式將描述信息嵌入到密集的特征向量空間中;所述規(guī)則嵌入、令牌嵌入和相似性標(biāo)簽嵌入方式均通過訓(xùn)練word2vec模型將對(duì)應(yīng)的的信息轉(zhuǎn)換成不同的特征向量,通過在模型訓(xùn)練過程中不斷調(diào)整優(yōu)化的權(quán)值,將三個(gè)不同特征的向量加權(quán)融合成一個(gè)特征向量。
7.根據(jù)權(quán)利要求1所述的一種基于多特征融合的惡意命令行檢測(cè)方法,其特征在于,所述(6)中,將textcnn和transformer的組合模型作為分類器,通過textcnn模塊來提取命令行序列中的局部特征,所述transformer模型通過注意力機(jī)制使得模型能夠在序列數(shù)據(jù)中捕獲長(zhǎng)距離依賴關(guān)系,以同時(shí)利用局部和全局信息,提高分類的準(zhǔn)確性。