本技術(shù)涉及軟件安全以及計(jì)算機(jī),具體而言,涉及一種代碼檢測(cè)方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、惡意代碼通常可以分為病毒、木馬、蠕蟲、僵尸程序、間諜軟件等類型,惡意代碼通常具有傳播性、隱蔽性、破壞性、智能性、可控制性、復(fù)雜性、多樣性、融合性等特征,對(duì)用戶文件進(jìn)行破壞、竊取信息、破壞系統(tǒng)、破壞網(wǎng)絡(luò)等危害。
2、目前,針對(duì)惡意代碼的檢測(cè)方法有基于特征碼的檢測(cè)方法、基于啟發(fā)式的檢測(cè)方法、基于行為的檢測(cè)方法、基于機(jī)器學(xué)習(xí)的檢測(cè)方法、基于沙箱的檢測(cè)方法等,基于特征碼的檢測(cè)方法,在惡意代碼被檢測(cè)前,需要將惡意代碼的特征碼加入惡意代碼庫(kù)中,由于惡意代碼數(shù)量多、變化快,因此需要定期更新惡意代碼庫(kù)。
3、但是,由于惡意代碼庫(kù)較大,檢測(cè)效率較低,而且容易被繞過;基于啟發(fā)式的檢測(cè)方法,檢測(cè)效率高,但是誤報(bào)率高;基于沙箱的檢測(cè)方法,檢測(cè)效率高,但是是否為惡意代碼的檢測(cè)結(jié)果不能直接確定,需要專家審核,增加了檢測(cè)的復(fù)雜度。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種代碼檢測(cè)方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
2、根據(jù)本技術(shù)實(shí)施例的一個(gè)方面,提供了一種代碼檢測(cè)方法,包括:對(duì)目標(biāo)代碼的一維比特流量數(shù)據(jù)按照流量采集時(shí)間處理為二維比特流量數(shù)據(jù);從二維比特流量數(shù)據(jù)中提取第一類特征,并形成第一特征矩陣,其中,第一特征矩陣用于表示第一類特征,第一類特征在區(qū)分目標(biāo)代碼是否屬于惡意代碼的顯著程度高于不同于第一類特征的第二類特征的顯著程度;根據(jù)第一特征矩陣執(zhí)行第一檢測(cè)操作和第二檢測(cè)操作中的至少一個(gè),得到代碼檢測(cè)結(jié)果;其中,第一檢測(cè)操作用于至少根據(jù)第一特征矩陣,確定目標(biāo)代碼在屬于多種已知惡意代碼中的每種已知惡意代碼時(shí)所對(duì)應(yīng)的置信度;第二檢測(cè)操作用于根據(jù)第一特征矩陣中滿足顯著性條件的第一類特征,檢測(cè)目標(biāo)代碼是否屬于惡意代碼。
3、在一種示例中,對(duì)目標(biāo)代碼的一維比特流量數(shù)據(jù)按照流量采集時(shí)間處理為二維比特流量數(shù)據(jù),包括:采集目標(biāo)代碼的二進(jìn)制比特流;對(duì)二進(jìn)制比特流進(jìn)行預(yù)處理,得到二維形式的第一比特流,其中,預(yù)處理包括:在對(duì)二進(jìn)制比特流中的異常數(shù)據(jù)進(jìn)行過濾后,根據(jù)二進(jìn)制比特流中的每個(gè)一維數(shù)據(jù)對(duì)應(yīng)的采集時(shí)刻信息,將一維形式的二進(jìn)制比特流轉(zhuǎn)換為二維形式的比特流。
4、在一種示例中,從二維比特流量數(shù)據(jù)中提取第一類特征,包括:從二維比特流量數(shù)據(jù)中提取多個(gè)第一類特征,其中,多個(gè)第一類特征包括二維比特流量數(shù)據(jù)對(duì)應(yīng)的混合高斯分布圖、局部平均值和局部自適應(yīng)感知哈希值中的至少兩種;二維比特流量數(shù)據(jù)對(duì)應(yīng)的混合高斯分布圖的提取過程,包括:對(duì)目標(biāo)代碼的二維比特流量數(shù)據(jù)進(jìn)行尺度變換,得到第二比特流,其中,尺度變換用于通過改變第二比特流的時(shí)間維度信息,確定針對(duì)第二比特流的特征采樣率;根據(jù)第二比特流中的每個(gè)元素確定第二比特流對(duì)應(yīng)的全局平均值;計(jì)算第二比特流對(duì)應(yīng)的混合高斯分布圖,其中,混合高斯分布圖用于表征第二比特流中的所有元素的混合高斯分布的特征值;二維比特流量數(shù)據(jù)對(duì)應(yīng)的局部平均值的提取過程,包括:過濾混合高斯分布圖中的噪聲數(shù)據(jù),得到目標(biāo)混合高斯分布圖,其中,噪聲數(shù)據(jù)為混合高斯分布圖中大于或等于噪聲閾值的數(shù)據(jù);計(jì)算目標(biāo)混合高斯分布圖中的所有數(shù)據(jù)的平均值,得到第二比特流對(duì)應(yīng)的局部平均值;二維比特流量數(shù)據(jù)對(duì)應(yīng)的局部自適應(yīng)感知哈希值的提取過程,包括:根據(jù)第二比特流對(duì)應(yīng)的全局平均值和局部平均值,確定第二比特流對(duì)應(yīng)的局部自適應(yīng)感知哈希值,其中,局部自適應(yīng)感知哈希值為依據(jù)全局平均值和局部平均值的大小關(guān)系所確定的哈希值。
5、在一種示例中,計(jì)算第二比特流對(duì)應(yīng)的混合高斯分布圖,包括:將第二比特流轉(zhuǎn)換為目標(biāo)矩陣,其中,目標(biāo)矩陣的行數(shù)量和列數(shù)量均為預(yù)設(shè)值;計(jì)算目標(biāo)矩陣中的每個(gè)位置對(duì)應(yīng)的目標(biāo)均值和目標(biāo)標(biāo)準(zhǔn)差,其中,每個(gè)位置對(duì)應(yīng)的目標(biāo)均值表征與該位置上的元素對(duì)應(yīng)相同采集時(shí)刻的所有元素的平均值,每個(gè)位置對(duì)應(yīng)的目標(biāo)標(biāo)準(zhǔn)差表征與該位置上的元素對(duì)應(yīng)相同采集時(shí)刻的所有元素的標(biāo)準(zhǔn)差;根據(jù)每個(gè)位置對(duì)應(yīng)的目標(biāo)均值確定目標(biāo)矩陣對(duì)應(yīng)的均值矩陣;根據(jù)每個(gè)位置對(duì)應(yīng)的目標(biāo)標(biāo)準(zhǔn)差確定目標(biāo)矩陣對(duì)應(yīng)的標(biāo)準(zhǔn)差矩陣;根據(jù)均值矩陣和標(biāo)準(zhǔn)差矩陣,確定目標(biāo)矩陣中的每個(gè)位置上的元素的混合高斯分布的特征值;根據(jù)目標(biāo)矩陣中的每個(gè)位置上的元素的混合高斯分布的特征值,確定混合高斯分布圖。
6、在一種示例中,第二類特征的確定過程包括以下步驟:對(duì)二維比特流量數(shù)據(jù)進(jìn)行尺度變換,得到第二比特流,其中,尺度變換用于通過改變二維比特流量數(shù)據(jù)的時(shí)間維度信息確定特征采樣率;對(duì)第二比特流在頻域上進(jìn)行分解,提取得到第二比特流的以下至少一種特征作為第二類特征:二維離散余弦特征、二維離散正弦特征、二維經(jīng)驗(yàn)?zāi)B(tài)主分量特征、二維殘余信號(hào)。
7、在一種示例中,根據(jù)第一特征矩陣執(zhí)行第一檢測(cè)操作和第二檢測(cè)操作中的至少一個(gè),得到代碼檢測(cè)結(jié)果,包括:在執(zhí)行第一檢測(cè)操作時(shí),根據(jù)第一特征矩陣和第二特征矩陣檢測(cè)目標(biāo)代碼在屬于每種已知惡意代碼時(shí)對(duì)應(yīng)的置信度是否大于第一閾值,得到目標(biāo)代碼的置信度檢測(cè)結(jié)果,其中,第二特征矩陣用于通過矩陣形式表征第二類特征;在執(zhí)行第二檢測(cè)操作時(shí),根據(jù)第一特征矩陣中滿足顯著性條件的第一類特征的數(shù)量,確定目標(biāo)代碼的風(fēng)險(xiǎn)評(píng)分,其中,風(fēng)險(xiǎn)評(píng)分用于量化表征目標(biāo)代碼屬于惡意代碼的概率情況;根據(jù)目標(biāo)代碼的置信度檢測(cè)結(jié)果和/或目標(biāo)代碼的風(fēng)險(xiǎn)評(píng)分,確定目標(biāo)代碼是否為惡意代碼。
8、在一種示例中,根據(jù)第一特征矩陣中滿足顯著性條件的第一類特征的數(shù)量,確定目標(biāo)代碼的風(fēng)險(xiǎn)評(píng)分,包括:針對(duì)第一特征矩陣中的每個(gè)第一類特征,獲取該第一類特征滿足第一顯著特征條件的特征數(shù)量以及該第一類特征滿足第二顯著性條件的特征數(shù)量,對(duì)該第一類特征滿足第一顯著特征條件的特征數(shù)量以及該第一類特征滿足第二顯著性條件的特征數(shù)量進(jìn)行統(tǒng)計(jì)計(jì)算,得到該第一類特征的目標(biāo)特征值;根據(jù)第一特征矩陣中的每個(gè)第一類特征的目標(biāo)特征值以及每個(gè)第一類特征對(duì)應(yīng)的特征閾值,確定目標(biāo)代碼的風(fēng)險(xiǎn)評(píng)分。
9、在一種示例中,代碼檢測(cè)方法還包括:在檢測(cè)到混合高斯分布圖中的元素?cái)?shù)量未超過預(yù)設(shè)數(shù)量的情況下,計(jì)算混合高斯分布圖對(duì)應(yīng)的高斯分布矩陣;計(jì)算高斯分布矩陣對(duì)應(yīng)的均值矩陣;根據(jù)高斯分布矩陣對(duì)應(yīng)的均值矩陣中的最大值、最小值以及每個(gè)元素值,確定目標(biāo)代碼對(duì)應(yīng)的用戶特征評(píng)分,其中,用戶特征評(píng)分與編譯目標(biāo)代碼的用戶所實(shí)施的代碼編譯行為發(fā)生變化的概率呈負(fù)相關(guān);在用戶特征評(píng)分小于或等于評(píng)分閾值時(shí),確定目標(biāo)代碼不屬于惡意代碼。
10、在一種示例中,確定目標(biāo)代碼在屬于多種已知惡意代碼中的每種已知惡意代碼時(shí)所對(duì)應(yīng)的置信度,包括:通過神經(jīng)網(wǎng)絡(luò)模型對(duì)第一特征矩陣和第二特征矩陣進(jìn)行特征融合計(jì)算,并基于融合計(jì)算后所得的目標(biāo)特征矩陣確定目標(biāo)代碼在屬于每種已知惡意代碼時(shí)所對(duì)應(yīng)的置信度,其中,第二特征矩陣通過矩陣的形式表征第二特征;其中,神經(jīng)網(wǎng)絡(luò)模型包括第一模型支路、第二模型支路以及注意力網(wǎng)絡(luò)層,第一模型支路用于對(duì)第一特征矩陣進(jìn)行計(jì)算;第二模型支路用于對(duì)第二特征矩陣進(jìn)行計(jì)算,注意力網(wǎng)絡(luò)層用于為第一特征矩陣和第二特征矩陣分配對(duì)應(yīng)的權(quán)重,其中,第一模型支路和第二模型支路為相互獨(dú)立的兩個(gè)神經(jīng)網(wǎng)絡(luò)支路。
11、根據(jù)本技術(shù)實(shí)施例的另一方面,還提供了一種代碼檢測(cè)裝置,其中,包括:第一處理單元,用于對(duì)目標(biāo)代碼的一維比特流量數(shù)據(jù)按照流量采集時(shí)間處理為二維比特流量數(shù)據(jù);第二處理單元,用于從二維比特流量數(shù)據(jù)中提取第一類特征,并形成第一特征矩陣,其中,第一特征矩陣用于表示第一類特征,第一類特征在區(qū)分目標(biāo)代碼是否屬于惡意代碼的顯著程度高于不同于第一類特征的第二類特征的顯著程度;第三處理單元,用于根據(jù)第一特征矩陣執(zhí)行第一檢測(cè)操作和第二檢測(cè)操作中的至少一個(gè),得到代碼檢測(cè)結(jié)果;其中,第一檢測(cè)操作用于至少根據(jù)第一特征矩陣,確定目標(biāo)代碼在屬于多種已知惡意代碼中的每種已知惡意代碼時(shí)所對(duì)應(yīng)的置信度;第二檢測(cè)操作用于根據(jù)第一特征矩陣中滿足顯著性條件的第一類特征,檢測(cè)目標(biāo)代碼是否屬于惡意代碼。
12、根據(jù)本技術(shù)實(shí)施例的另一方面,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,在計(jì)算機(jī)程序運(yùn)行時(shí),使得計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)所在設(shè)備執(zhí)行上述的代碼檢測(cè)方法。
13、根據(jù)本技術(shù)實(shí)施例的另一方面,還提供了一種電子設(shè)備,其中,電子設(shè)備包括一個(gè)或多個(gè)處理器和存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)一個(gè)或多個(gè)程序,其中,當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器執(zhí)行上述的代碼檢測(cè)方法。
14、需要說明的是,本技術(shù)提供的代碼檢測(cè)方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備,在惡意代碼檢測(cè)任務(wù)中,通過對(duì)目標(biāo)代碼的一維比特流引入時(shí)間維度,這樣結(jié)合兩個(gè)維度能夠綜合考慮不同數(shù)據(jù)間的相關(guān)性,可以顯著提高代碼檢測(cè)的準(zhǔn)確性。另外,根據(jù)提取的顯著特征(即上述的第一類特征),執(zhí)行用于確定目標(biāo)代碼在屬于多種已知惡意代碼中的每種已知惡意代碼時(shí)所對(duì)應(yīng)的置信度的第一檢測(cè)操作,或執(zhí)行用于對(duì)顯著特征結(jié)合顯著性條件檢測(cè)目標(biāo)代碼是否屬于惡意代碼的第二檢測(cè)操作,由于通過提取顯著特征可以有效減少噪聲和冗余信息,如此,能夠有效識(shí)別代碼是否為惡意代碼;而對(duì)提取的顯著特征結(jié)合第一檢測(cè)操作和第二檢測(cè)操作,這樣結(jié)合多種檢測(cè)操作進(jìn)行代碼檢測(cè),可以大大提高代碼檢測(cè)的準(zhǔn)確度和覆蓋范圍。