本發(fā)明涉及信息安全,尤其涉及一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法及系統(tǒng)。
背景技術(shù):
::1、近年來,隨著人工智能在各個(gè)領(lǐng)域的發(fā)展,尤其是對(duì)惡意軟件的檢測(cè)方面成為一個(gè)研究熱點(diǎn),如何對(duì)可執(zhí)行程序進(jìn)行表征,才能高效且準(zhǔn)確的區(qū)分惡意軟件與良性軟件成為一個(gè)關(guān)鍵問題。然而在對(duì)于現(xiàn)有的pe(portable?executable,可執(zhí)行文件)文件檢測(cè)器,其在提高檢測(cè)率的同時(shí),忽略了檢測(cè)器的耐用性問題。2、檢測(cè)器的檢出率會(huì)隨著時(shí)間快速降低,現(xiàn)有的pe惡意軟件檢測(cè)器大多數(shù)只考慮當(dāng)下的惡意軟件特征,并沒有考慮到惡意軟件的各種變種情況,在面對(duì)惡意軟件的變種很容易失去其檢測(cè)效果。在以往的研究中,使用cfg(control?flow?graph,控制流程圖)來表征文件的檢測(cè)器,其關(guān)注點(diǎn)往往是對(duì)文件結(jié)構(gòu)的提取。比如各種基于gnn(graphneuralnetwork,圖神經(jīng)網(wǎng)絡(luò))的惡意軟件檢測(cè)器,其忽略了文件中操作碼所富含豐富的語(yǔ)義信息以及上下文之間的聯(lián)系,造成某些針對(duì)cfg的對(duì)抗攻擊手段能輕松繞過gnn檢測(cè)器,從而造成模型的快速老化。3、鑒于上述分析,現(xiàn)有技術(shù)存在的急需解決的技術(shù)問題為:現(xiàn)有的pe惡意軟件檢測(cè)器大多數(shù)只考慮當(dāng)下的惡意軟件特征,并沒有考慮到惡意軟件的各種變種情況,在面對(duì)惡意軟件的變種很容易失去其檢測(cè)效果。某些針對(duì)cfg的對(duì)抗攻擊手段能輕松繞過gnn檢測(cè)器,從而造成模型的快速老化。技術(shù)實(shí)現(xiàn)思路1、本發(fā)明提供一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中惡意軟件檢測(cè)模型快速老化,檢測(cè)效果差的缺陷,實(shí)現(xiàn)抵抗惡意軟件檢測(cè)模型快速老化的可執(zhí)行文件表征,提升檢測(cè)效果。2、本發(fā)明提供一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,包括:3、使用radare2提取待檢測(cè)可執(zhí)行文件中的函數(shù)和函數(shù)調(diào)用圖,將所述函數(shù)分類為局部函數(shù)和外部函數(shù),從所述局部函數(shù)中提取基礎(chǔ)塊和控制流程圖;4、對(duì)所述基礎(chǔ)塊中的匯編指令進(jìn)行預(yù)處理后輸入bert模型進(jìn)行特征提取,得到所述基礎(chǔ)塊的特征向量和標(biāo)記向量;5、將所述基礎(chǔ)塊的特征向量和標(biāo)記向量,以及所述控制流程圖作為所述局部函數(shù)的特征,將所述局部函數(shù)的特征和所述函數(shù)調(diào)用圖作為所述待檢測(cè)可執(zhí)行文件的特征,以根據(jù)所述待檢測(cè)可執(zhí)行文件的特征使用惡意軟件檢測(cè)模型檢測(cè)是否存在惡意行為。6、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,將所述函數(shù)分類為局部函數(shù)和外部函數(shù),包括:7、使用所述radare2對(duì)所述待檢測(cè)可執(zhí)行文件中的函數(shù)進(jìn)行分類,獲取所述函數(shù)的前綴名;8、將所述前綴名為fcn和loc的函數(shù)作為所述局部函數(shù),將所述前綴名不為fcn或loc的函數(shù)作為外部函數(shù)。9、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,對(duì)所述基礎(chǔ)塊中的匯編指令進(jìn)行預(yù)處理后輸入bert模型進(jìn)行特征提取,包括:10、對(duì)所述匯編指令的各語(yǔ)句進(jìn)行詞匯拆分;11、若拆分后得到的地址信息大于0xfff,則將所述地址信息替換為const;12、對(duì)拆分與替換后的各語(yǔ)句進(jìn)行重組,并將所述匯編指令中的預(yù)設(shè)指令集剔除;13、將所述基礎(chǔ)塊中相鄰兩個(gè)所述匯編指令的語(yǔ)句進(jìn)行組合后輸入bert模型進(jìn)行特征提取。14、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,對(duì)所述基礎(chǔ)塊中的匯編指令進(jìn)行預(yù)處理后輸入bert模型進(jìn)行特征提取之前,還包括:15、使用radare2提取可執(zhí)行文件樣本中局部函數(shù)的基礎(chǔ)塊;16、對(duì)所述可執(zhí)行文件樣本中局部函數(shù)的基礎(chǔ)塊的匯編指令進(jìn)行預(yù)處理;17、將所述可執(zhí)行文件樣本中局部函數(shù)的基礎(chǔ)塊內(nèi)預(yù)處理后的相鄰兩個(gè)所述匯編指令的語(yǔ)句進(jìn)行組合,作為單個(gè)正樣本;18、保留各訓(xùn)練正樣本中的后一個(gè)語(yǔ)句替換為下一個(gè)可執(zhí)行文件樣本中隨機(jī)一行的隨機(jī)語(yǔ)句,作為單個(gè)負(fù)樣本;19、將所述正樣本和負(fù)樣本作為訓(xùn)練數(shù)據(jù)進(jìn)行去重處理;20、根據(jù)所述訓(xùn)練數(shù)據(jù)中的最長(zhǎng)句子長(zhǎng)度,將去重處理后所述訓(xùn)練數(shù)據(jù)中的語(yǔ)句填充到相同長(zhǎng)度,得到最終訓(xùn)練數(shù)據(jù);21、根據(jù)所述最終訓(xùn)練數(shù)據(jù),對(duì)所述bert模型進(jìn)行訓(xùn)練。22、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,根據(jù)所述最終訓(xùn)練數(shù)據(jù),對(duì)所述bert模型進(jìn)行訓(xùn)練,包括:23、利用二進(jìn)制與匯編指令的唯一映射關(guān)系,構(gòu)建長(zhǎng)度固定的詞表,所述詞表內(nèi)包含除avx、sse、mmx和fma以外的x86操作碼、前綴、modrm與所有范圍在0x0至0xfff的操作數(shù);24、使用所述最終訓(xùn)練數(shù)據(jù)和所述詞表,對(duì)所述bert模型進(jìn)行訓(xùn)練。25、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,對(duì)所述基礎(chǔ)塊中的匯編指令進(jìn)行預(yù)處理后輸入bert模型進(jìn)行特征提取之前,還包括:26、使用mlm任務(wù)和csp任務(wù)來構(gòu)建bert模型。27、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,所述待檢測(cè)可執(zhí)行文件的特征還包括所述待檢測(cè)可執(zhí)行文件中函數(shù)的名稱、hash值和函數(shù)數(shù)量。28、根據(jù)本發(fā)明提供的一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法,在將所述局部函數(shù)的特征和所述函數(shù)調(diào)用圖作為所述待檢測(cè)可執(zhí)行文件的特征之后,還包括:29、計(jì)算所述基礎(chǔ)塊的特征向量和標(biāo)記向量之間的相似度,將所述相似度作為所述基礎(chǔ)塊的權(quán)重;30、以所述基礎(chǔ)塊作為所述控制流程圖的節(jié)點(diǎn),根據(jù)所述控制流程圖的節(jié)點(diǎn)之間的邊信息構(gòu)建以所述控制流程圖為基礎(chǔ)的第一圖神經(jīng)網(wǎng)絡(luò),將所述基礎(chǔ)塊的權(quán)重加入所述第一圖神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)聚合操作中,得到所述第一圖神經(jīng)網(wǎng)絡(luò)的各節(jié)點(diǎn)的特征;31、以所述第一圖神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)為節(jié)點(diǎn),根據(jù)所述節(jié)點(diǎn)在所述函數(shù)調(diào)用圖中對(duì)應(yīng)的邊信息構(gòu)建以所述函數(shù)調(diào)用圖為基礎(chǔ)的第二圖神經(jīng)網(wǎng)絡(luò),根據(jù)所述節(jié)點(diǎn)的特征使用所述第二圖神經(jīng)網(wǎng)絡(luò)得到所述待檢測(cè)可執(zhí)行文件的特征表示;32、使用多層感知器根據(jù)所述待檢測(cè)可執(zhí)行文件的特征表示進(jìn)行二分類,檢測(cè)是否存在惡意行為。33、本發(fā)明還提供一種抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征系統(tǒng),包括:34、第一提取模塊,用于使用radare2提取待檢測(cè)可執(zhí)行文件中的函數(shù)和函數(shù)調(diào)用圖,將所述函數(shù)分類為局部函數(shù)和外部函數(shù),從所述局部函數(shù)中提取基礎(chǔ)塊和控制流程圖;35、第二提取模塊,用于對(duì)所述基礎(chǔ)塊中的匯編指令進(jìn)行預(yù)處理后輸入bert模型進(jìn)行特征提取,得到所述基礎(chǔ)塊的特征向量和標(biāo)記向量;36、表征模塊,用于將所述基礎(chǔ)塊的特征向量和標(biāo)記向量,以及所述控制流程圖作為所述局部函數(shù)的特征,將所述局部函數(shù)的特征和所述函數(shù)調(diào)用圖作為所述待檢測(cè)可執(zhí)行文件的特征,以根據(jù)所述待檢測(cè)可執(zhí)行文件的特征使用惡意軟件檢測(cè)模型檢測(cè)是否存在惡意行為。37、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法。38、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法。39、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法。40、本發(fā)明提供的抵抗惡意軟件檢測(cè)模型老化的可執(zhí)行文件表征方法及系統(tǒng),通過利用radare2提取待檢測(cè)可執(zhí)行文件的控制流程圖、函數(shù)調(diào)用圖與基礎(chǔ)塊,借助訓(xùn)練完成的bert模型來構(gòu)建層次圖,生成多層次特征表示,提高了特征表達(dá)的豐富性和準(zhǔn)確性,增強(qiáng)了惡意軟件檢測(cè)的魯棒性,實(shí)現(xiàn)抵抗惡意軟件檢測(cè)模型快速老化的可執(zhí)行文件表征,提升檢測(cè)效果。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12