亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

加密程序識別方法及裝置、電子設(shè)備與流程

文檔序號:11432571閱讀:338來源:國知局
加密程序識別方法及裝置、電子設(shè)備與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種加密程序識別方法及裝置、電子設(shè)備。



背景技術(shù):

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,越來越多的用戶習(xí)慣于使用電子化的文檔來完成工作、學(xué)習(xí)、娛樂等多方面的需求。而與此同時(shí),網(wǎng)絡(luò)中各種惡意程序也在不斷增加。惡意程序的攻擊給用戶帶來了很多麻煩,如勒索型蠕蟲病毒對用戶的電子文檔進(jìn)行加密,使得用戶無法使用自己原有的文檔,而必須向勒索者支付贖金才能繼續(xù)使用。對于這些未經(jīng)用戶允許對文檔進(jìn)行加密的惡意程序,需要對其進(jìn)行識別,并及時(shí)攔截其對文檔的操作,以保護(hù)用戶的文檔安全。

在識別上述對文檔加密的惡意程序時(shí),如果僅通過人工分析加密程序的特征,在根據(jù)程序特征進(jìn)行人工處理的方式,會(huì)使得整個(gè)識別過程效率低下、花費(fèi)的人力和時(shí)間等成本較高,不能及時(shí)有效的識別出加密的惡意程序。

因此,需要一種可以解決上述問題,有效快速的加密程序識別的方法。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的加密程序識別方法及裝置、電子設(shè)備。

根據(jù)本發(fā)明的一個(gè)方面,提供了一種加密程序識別方法,其包括:

獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流;

將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果;

根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。

根據(jù)本發(fā)明的另一方面,提供了一種加密程序識別裝置,其包括:

獲取模塊,適于獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流;

檢測模塊,適于將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果;

識別模塊,適于根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。

根據(jù)本發(fā)明的又一方面,提供了一種電子設(shè)備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;

所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行上述加密程序識別方法對應(yīng)的操作。

根據(jù)本發(fā)明的再一方面,提供了一種計(jì)算機(jī)存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如上述加密程序識別方法對應(yīng)的操作。

根據(jù)本發(fā)明提供的加密程序識別方法及裝置、電子設(shè)備,先獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。通過機(jī)器學(xué)習(xí)算法訓(xùn)練得到檢測模型,利用檢測模型識別加密程序,可以節(jié)省大量的人力和時(shí)間,提高對加密程序的識別效率。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。

附圖說明

通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的加密程序識別方法的流程圖;

圖2示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的加密程序識別方法的流程圖;

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的加密程序識別裝置的功能框圖;

圖4示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的加密程序識別裝置的功能框圖;

圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種電子設(shè)備的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。

圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的加密程序識別方法的流程圖。如圖1所示,加密程序識別方法具體包括如下步驟:

步驟s101,獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。

加密程序一般會(huì)先從磁盤讀取文件相關(guān)的內(nèi)容如數(shù)據(jù)流到內(nèi)存,在內(nèi)存中實(shí)現(xiàn)對數(shù)據(jù)流的改寫,如按照其本身的加密算法對數(shù)據(jù)流進(jìn)行加密。然后再將加密后的數(shù)據(jù)流重新寫回文件或者將其保存為一個(gè)新的文件。因此,在識別待檢測程序是否為加密程序時(shí),需要獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流,以便對該數(shù)據(jù)流進(jìn)行檢測。

獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流時(shí),需要通過文件監(jiān)控驅(qū)動(dòng)來獲取。文件監(jiān)控驅(qū)動(dòng)可以對待檢測的程序?qū)ξ募母鞣N操作進(jìn)行實(shí)時(shí)監(jiān)控,從而方便的獲取到待檢測的程序向磁盤寫入的數(shù)據(jù)流。

步驟s102,將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。

將獲取到的數(shù)據(jù)流輸入到檢測模型中,得到檢測模型對該數(shù)據(jù)流的鑒定結(jié)果。其中,檢測模型為采用大量正常數(shù)據(jù)流和加密數(shù)據(jù)流利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型。

檢測模型對數(shù)據(jù)流的鑒定結(jié)果包括了用于表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。其中,表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)是對該數(shù)據(jù)流中各個(gè)字節(jié)進(jìn)行檢測后,得到其隨機(jī)性的分?jǐn)?shù)。正常數(shù)據(jù)流與加密數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)所分布的區(qū)間不同,通過大量正常數(shù)據(jù)流和加密數(shù)據(jù)利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型可以提供正常數(shù)據(jù)流分?jǐn)?shù)分布的區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)分布的區(qū)間。

步驟s103,根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。

根據(jù)鑒定結(jié)果,即根據(jù)其包括的表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間進(jìn)行判斷。

若分?jǐn)?shù)不屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,判斷該程序的向磁盤寫入的數(shù)據(jù)流為加密數(shù)據(jù)流;或者,分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,判斷該程序的向磁盤寫入的數(shù)據(jù)流為加密數(shù)據(jù)流;或者,分?jǐn)?shù)不屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間且分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,判斷該程序的向磁盤寫入的數(shù)據(jù)流為加密數(shù)據(jù)流。當(dāng)該程序向磁盤寫入的數(shù)據(jù)為加密數(shù)據(jù)流時(shí),確定該程序?yàn)榧用艹绦?,對該程序的寫入操作進(jìn)行攔截。反之,當(dāng)該程序向磁盤寫入的數(shù)據(jù)為正常數(shù)據(jù)流時(shí),對該程序的寫入操作進(jìn)行放行。

根據(jù)本發(fā)明提供的加密程序識別方法,先獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。通過機(jī)器學(xué)習(xí)算法訓(xùn)練得到檢測模型,利用檢測模型識別加密程序,可以節(jié)省大量的人力和時(shí)間,提高對加密程序的識別效率。

圖2示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的加密程序識別方法的流程圖。如圖2所示,加密程序識別方法具體包括如下步驟:

步驟s201,獲取已知加密程序從磁盤讀取的正常數(shù)據(jù)流和向磁盤寫入的加密數(shù)據(jù)流。

步驟s202,利用機(jī)器學(xué)習(xí)算法,將正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

為方便快速高效、低成本的識別加密程序,本發(fā)明利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到檢測模型,而非人工手動(dòng)建立檢測模型。

對檢測模型進(jìn)行訓(xùn)練時(shí),先利用已知的加密程序?qū)Υ疟P中的文件進(jìn)行操作,獲取到已知加密程序從磁盤讀取的正常數(shù)據(jù)流和加密后向磁盤寫入的加密數(shù)據(jù)流。將獲取的正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù),分析正常數(shù)據(jù)流和加密數(shù)據(jù)流的不同特征,根據(jù)不同特征,確定檢測模型所采用的算法。之后,將樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

在本發(fā)明中確定信息熵計(jì)算算法作為初始檢測模型。將正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到初始檢測模型中,對信息熵計(jì)算算法所涉及的參數(shù)進(jìn)行訓(xùn)練。具體的,對其中數(shù)據(jù)流中每個(gè)二進(jìn)制字節(jié)進(jìn)行統(tǒng)計(jì),計(jì)算其隨機(jī)性的平均值,即信息熵。根據(jù)信息熵計(jì)算算法可以得到,由于加密數(shù)據(jù)流與完全隨機(jī)的數(shù)據(jù)流非常相似,加密數(shù)據(jù)流的隨機(jī)性大于正常數(shù)據(jù)流的隨機(jī)性,因此,加密數(shù)據(jù)流的信息熵會(huì)大于正常數(shù)據(jù)流的信息熵,即加密數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)大于正常數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)。對正常數(shù)據(jù)流和加密數(shù)據(jù)流的分?jǐn)?shù)進(jìn)行統(tǒng)計(jì),分別得到正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

通過上述步驟,訓(xùn)練得到的檢測模型及檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

步驟s203,利用文件監(jiān)控驅(qū)動(dòng),獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。

步驟s204,將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。

獲取到待檢測的程序向磁盤寫入的數(shù)據(jù)流,將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,即將數(shù)據(jù)流輸入到經(jīng)訓(xùn)練的信息熵計(jì)算算法中,可以計(jì)算得到數(shù)據(jù)流的信息熵。該信息熵即對數(shù)據(jù)流鑒定結(jié)果中用于表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)。

步驟s205,將程序的相關(guān)信息和鑒定結(jié)果上傳至云端服務(wù)器。

步驟s206,接收云端服務(wù)器根據(jù)程序的相關(guān)信息和鑒定結(jié)果進(jìn)行預(yù)設(shè)檢測后的返回的指令。

步驟s207,根據(jù)指令,對程序的寫入操作進(jìn)行攔截或放行操作。

將程序的相關(guān)信息如程序名稱、程序路徑、進(jìn)程id等信息和得到的鑒定結(jié)果,上傳至云端服務(wù)器。

由云端服務(wù)器根據(jù)上傳的程序的相關(guān)信息進(jìn)行預(yù)設(shè)檢測,如根據(jù)程序名稱判斷程序是否在被攔截黑名單中、根據(jù)程序名稱判斷程序是否在放行白名單中等預(yù)設(shè)檢測。根據(jù)預(yù)設(shè)檢測的結(jié)果結(jié)合鑒定結(jié)果中的數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)、正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間等信息,云端服務(wù)器會(huì)返回相應(yīng)的指令。如該程序在被攔截黑名單中,且該數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,接收云端服務(wù)器返回的對程序的寫入操作進(jìn)行攔截的指令,根據(jù)該指令,對程序的寫入操作進(jìn)行攔截。攔截時(shí),可以提示用戶,如“xx程序正在對e盤/xx文件執(zhí)行加密操作,是否允許?”等方式提示用戶,使得加密程序在修改文檔時(shí),用戶可以根據(jù)實(shí)際情況選擇阻止;或者,也可以在發(fā)現(xiàn)加密程序后對其后續(xù)可能的操作直接進(jìn)行攔截,攔截后再提示用戶當(dāng)前有加密程序試圖對文件進(jìn)行加密操作?;蛘撸摮绦蛟诜判邪酌麊沃?,或該數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,接收云端服務(wù)器返回的對程序的寫入操作進(jìn)行放行的指令,根據(jù)該指令,對程序的寫入操作進(jìn)行放行。其中,放行白名單為預(yù)先存儲的用戶已授權(quán)的加密程序的列表,其為用戶默認(rèn)為可以對文件進(jìn)行加密的程序。

需要注意的是,以上各數(shù)據(jù)流均為從文件中截取的固定片段大小的數(shù)據(jù)流。文件的文件格式具體為以下文件格式中的任意一種:ppt、doc、docx、xlsx、sxi、sxw、odt、hwp、zip、rar、tar、mp4、mkv、eml、msg、ost、pst、deb、sql、accdb、mdb、dbf、odb、myd、php、java、cpp、asp、asm、key、pfx、pem、p12、csr、gpg、aes、vsd、odg、raw、nef、svg、psd、vmx、vmdk、vdi。

根據(jù)本發(fā)明提供的加密程序識別方法,使用利用機(jī)器學(xué)習(xí)算法訓(xùn)練的檢測模型對加密程序進(jìn)行識別可以節(jié)省大量的人力,提高對加密程序識別的效率。通過檢測模型可以發(fā)現(xiàn)加密程序的特征,便于對未知的加密程序進(jìn)行有效的識別。同時(shí),在根據(jù)檢測模型得到待檢測的程序向磁盤寫入的數(shù)據(jù)流的鑒定結(jié)果后,由云端服務(wù)器根據(jù)程序相關(guān)信息和鑒定結(jié)果進(jìn)行分析,根據(jù)云端服務(wù)器返回的指令確定是否對程序的寫入操作進(jìn)行攔截,可以保證在識別加密程序后,及時(shí)阻止加密程序?qū)ξ募M(jìn)行加密的操作,以免對用戶造成文件不可使用等損失。

圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的加密程序識別裝置的功能框圖。如圖3所示,加密程序識別裝置包括如下模塊:

獲取模塊310,適于獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。

加密程序一般會(huì)先從磁盤讀取文件相關(guān)的內(nèi)容如數(shù)據(jù)流到內(nèi)存,在內(nèi)存中實(shí)現(xiàn)對數(shù)據(jù)流的改寫,如按照其本身的加密算法對數(shù)據(jù)流進(jìn)行加密。然后再將加密后的數(shù)據(jù)流重新寫回文件或者將其保存為一個(gè)新的文件。因此,在識別待檢測程序是否為加密程序時(shí),需要獲取模塊310先獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流,以便對該數(shù)據(jù)流進(jìn)行檢測。

獲取模塊310在獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流時(shí),需要通過文件監(jiān)控驅(qū)動(dòng)來獲取。文件監(jiān)控驅(qū)動(dòng)可以對待檢測的程序?qū)ξ募母鞣N操作進(jìn)行實(shí)時(shí)監(jiān)控,從而方便的獲取到待檢測的程序向磁盤寫入的數(shù)據(jù)流。

檢測模塊320,適于將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。

檢測模塊320將獲取到的數(shù)據(jù)流輸入到檢測模型中,得到檢測模型對該數(shù)據(jù)流的鑒定結(jié)果。其中,檢測模型為采用大量正常數(shù)據(jù)流和加密數(shù)據(jù)流利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型。

檢測模型對數(shù)據(jù)流的鑒定結(jié)果包括了用于表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。其中,表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)是檢測模塊320對該數(shù)據(jù)流中各個(gè)字節(jié)進(jìn)行檢測后,得到其隨機(jī)性的分?jǐn)?shù)。正常數(shù)據(jù)流與加密數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)所分布的區(qū)間不同,通過大量正常數(shù)據(jù)流和加密數(shù)據(jù)利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型可以提供正常數(shù)據(jù)流分?jǐn)?shù)分布的區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)分布的區(qū)間。

識別模塊330,適于根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。

識別模塊330根據(jù)鑒定結(jié)果,即根據(jù)其包括的表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間進(jìn)行判斷。

若分?jǐn)?shù)不屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,識別模塊330判斷該程序的向磁盤寫入的數(shù)據(jù)流為加密數(shù)據(jù)流;或者,分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,識別模塊330判斷該程序的向磁盤寫入的數(shù)據(jù)流為加密數(shù)據(jù)流;或者,分?jǐn)?shù)不屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間且分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,識別模塊330判斷該程序的向磁盤寫入的數(shù)據(jù)流為加密數(shù)據(jù)流。當(dāng)該程序向磁盤寫入的數(shù)據(jù)為加密數(shù)據(jù)流時(shí),識別模塊330確定該程序?yàn)榧用艹绦?,對該程序的寫入操作進(jìn)行攔截。反之,當(dāng)該程序向磁盤寫入的數(shù)據(jù)為正常數(shù)據(jù)流時(shí),識別模塊330對該程序的寫入操作進(jìn)行放行。

根據(jù)本發(fā)明提供的加密程序識別裝置,先獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。通過機(jī)器學(xué)習(xí)算法訓(xùn)練得到檢測模型,利用檢測模型識別加密程序,可以節(jié)省大量的人力和時(shí)間,提高對加密程序的識別效率。

圖4示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的加密程序識別裝置的流程圖。如圖4所示,與圖3相比,加密程序識別裝置還包括如下模塊:

訓(xùn)練數(shù)據(jù)獲取模塊340,適于獲取已知加密程序從磁盤讀取的正常數(shù)據(jù)流和向磁盤寫入的加密數(shù)據(jù)流;

訓(xùn)練模塊350,適于利用機(jī)器學(xué)習(xí)算法,將正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

為方便快速高效、低成本的識別加密程序,本發(fā)明利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到檢測模型,而非人工手動(dòng)建立檢測模型。

對檢測模型進(jìn)行訓(xùn)練時(shí),訓(xùn)練數(shù)據(jù)獲取模塊340先利用已知的加密程序?qū)Υ疟P中的文件進(jìn)行操作,獲取到已知加密程序從磁盤讀取的正常數(shù)據(jù)流和加密后向磁盤寫入的加密數(shù)據(jù)流。訓(xùn)練模塊350將獲取的正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù),分析正常數(shù)據(jù)流和加密數(shù)據(jù)流的不同特征,根據(jù)不同特征,確定檢測模型所采用的算法。之后,訓(xùn)練模塊350將樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

訓(xùn)練模塊350還包括了算法模塊351,算法模塊351確定信息熵計(jì)算算法作為初始檢測模型。

訓(xùn)練模塊350將正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到初始檢測模型中,對信息熵計(jì)算算法所涉及的參數(shù)進(jìn)行訓(xùn)練。具體的,訓(xùn)練模塊350對其中數(shù)據(jù)流中每個(gè)二進(jìn)制字節(jié)進(jìn)行統(tǒng)計(jì),計(jì)算其隨機(jī)性的平均值,即信息熵。根據(jù)信息熵計(jì)算算法可以得到,由于加密數(shù)據(jù)流與完全隨機(jī)的數(shù)據(jù)流非常相似,加密數(shù)據(jù)流的隨機(jī)性大于正常數(shù)據(jù)流的隨機(jī)性,因此,加密數(shù)據(jù)流的信息熵會(huì)大于正常數(shù)據(jù)流的信息熵,即加密數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)大于正常數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)。訓(xùn)練模塊350對正常數(shù)據(jù)流和加密數(shù)據(jù)流的分?jǐn)?shù)進(jìn)行統(tǒng)計(jì),分別得到正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

檢測模塊320將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中時(shí),即檢測模塊320將數(shù)據(jù)流輸入到經(jīng)訓(xùn)練的信息熵計(jì)算算法中,計(jì)算得到數(shù)據(jù)流的信息熵。該信息熵即對數(shù)據(jù)流鑒定結(jié)果中用于表征該數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)。

識別模塊330進(jìn)一步包括:

上傳模塊331,適于將程序的相關(guān)信息和鑒定結(jié)果上傳至云端服務(wù)器。

接收模塊332,適于接收云端服務(wù)器根據(jù)程序的相關(guān)信息和鑒定結(jié)果進(jìn)行預(yù)設(shè)檢測后的返回的指令。

執(zhí)行模塊333,適于根據(jù)指令,對程序的寫入操作進(jìn)行攔截或放行操作。

上傳模塊331將程序的相關(guān)信息如程序名稱、程序路徑、進(jìn)程id等信息和得到的鑒定結(jié)果,上傳至云端服務(wù)器。

由云端服務(wù)器根據(jù)上傳的程序的相關(guān)信息進(jìn)行預(yù)設(shè)檢測,如根據(jù)程序名稱判斷程序是否在被攔截黑名單中、根據(jù)程序名稱判斷程序是否在放行白名單中等預(yù)設(shè)檢測。根據(jù)預(yù)設(shè)檢測的結(jié)果結(jié)合鑒定結(jié)果中的數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)、正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間等信息,云端服務(wù)器會(huì)返回相應(yīng)的指令。如該程序在被攔截黑名單中,且該數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,接收模塊332接收云端服務(wù)器返回的對程序的寫入操作進(jìn)行攔截的指令,執(zhí)行模塊333根據(jù)該指令,對程序的寫入操作進(jìn)行攔截。執(zhí)行模塊333攔截時(shí),可以提示用戶,如“xx程序正在對e盤/xx文件執(zhí)行加密操作,是否允許?”等方式提示用戶,使得加密程序在修改文檔時(shí),用戶可以根據(jù)實(shí)際情況選擇阻止;或者,執(zhí)行模塊333也可以在發(fā)現(xiàn)加密程序后對其后續(xù)可能的操作直接進(jìn)行攔截,攔截后再提示用戶當(dāng)前有加密程序試圖對文件進(jìn)行加密操作。當(dāng)該程序在放行白名單中,或該數(shù)據(jù)流的隨機(jī)性分?jǐn)?shù)屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,接收模塊332接收云端服務(wù)器返回的對程序的寫入操作進(jìn)行放行的指令,執(zhí)行模塊333根據(jù)該指令,對程序的寫入操作進(jìn)行放行。其中,放行白名單為預(yù)先存儲的用戶已授權(quán)的加密程序的列表,其為用戶默認(rèn)為可以對文件進(jìn)行加密的程序。

需要注意的是,以上各數(shù)據(jù)流均為從文件中截取的固定片段大小的數(shù)據(jù)流。文件的文件格式具體為以下文件格式中的任意一種:ppt、doc、docx、xlsx、sxi、sxw、odt、hwp、zip、rar、tar、mp4、mkv、eml、msg、ost、pst、deb、sql、accdb、mdb、dbf、odb、myd、php、java、cpp、asp、asm、key、pfx、pem、p12、csr、gpg、aes、vsd、odg、raw、nef、svg、psd、vmx、vmdk、vdi。

根據(jù)本發(fā)明提供的加密程序識別裝置,使用利用機(jī)器學(xué)習(xí)算法訓(xùn)練的檢測模型對加密程序進(jìn)行識別可以節(jié)省大量的人力,提高對加密程序識別的效率。通過檢測模型可以發(fā)現(xiàn)加密程序的特征,便于對未知的加密程序進(jìn)行有效的識別。同時(shí),在根據(jù)檢測模型得到待檢測的程序向磁盤寫入的數(shù)據(jù)流的鑒定結(jié)果后,由云端服務(wù)器根據(jù)程序相關(guān)信息和鑒定結(jié)果進(jìn)行分析,根據(jù)云端服務(wù)器返回的指令確定是否對程序的寫入操作進(jìn)行攔截,可以保證在識別加密程序后,及時(shí)阻止加密程序?qū)ξ募M(jìn)行加密的操作,以免對用戶造成文件不可使用等損失。

本申請還提供了一種非易失性計(jì)算機(jī)存儲介質(zhì),所述計(jì)算機(jī)存儲介質(zhì)存儲有至少一可執(zhí)行指令,該計(jì)算機(jī)可執(zhí)行指令可執(zhí)行上述任意方法實(shí)施例中的加密程序識別方法。

圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種電子設(shè)備的結(jié)構(gòu)示意圖,本發(fā)明具體實(shí)施例并不對電子設(shè)備的具體實(shí)現(xiàn)做限定。

如圖5所示,該電子設(shè)備可以包括:處理器(processor)502、通信接口(communicationsinterface)504、存儲器(memory)506、以及通信總線508。

其中:

處理器502、通信接口504、以及存儲器506通過通信總線508完成相互間的通信。

通信接口504,用于與其它設(shè)備比如客戶端或其它服務(wù)器等的網(wǎng)元通信。

處理器502,用于執(zhí)行程序510,具體可以執(zhí)行上述加密程序識別方法實(shí)施例中的相關(guān)步驟。

具體地,程序510可以包括程序代碼,該程序代碼包括計(jì)算機(jī)操作指令。

處理器502可能是中央處理器cpu,或者是特定集成電路asic(applicationspecificintegratedcircuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。電子設(shè)備包括的一個(gè)或多個(gè)處理器,可以是同一類型的處理器,如一個(gè)或多個(gè)cpu;也可以是不同類型的處理器,如一個(gè)或多個(gè)cpu以及一個(gè)或多個(gè)asic。

存儲器506,用于存放程序510。存儲器506可能包含高速ram存儲器,也可能還包括非易失性存儲器(non-volatilememory),例如至少一個(gè)磁盤存儲器。

程序510具體可以用于使得處理器502執(zhí)行以下操作:

在一種可選的實(shí)施方式中,程序510用于使得處理器502獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流;將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果;根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。

在一種可選的實(shí)施方式中,鑒定結(jié)果包括:用于表征數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

在一種可選的實(shí)施方式中,程序510用于使得處理器502根據(jù)分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,確定是否對程序的寫入操作進(jìn)行攔截。

在一種可選的實(shí)施方式中,若分?jǐn)?shù)不屬于正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,和/或,分?jǐn)?shù)屬于加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,程序510用于使得處理器502確定對程序的寫入操作進(jìn)行攔截。

在一種可選的實(shí)施方式中,程序510用于使得處理器502獲取已知加密程序從磁盤讀取的正常數(shù)據(jù)流和向磁盤寫入的加密數(shù)據(jù)流;利用機(jī)器學(xué)習(xí)算法,將正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

在一種可選的實(shí)施方式中,程序510用于使得處理器502確定信息熵計(jì)算算法作為初始檢測模型;將正常數(shù)據(jù)流和加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到初始檢測模型中,對信息熵計(jì)算算法所涉及的參數(shù)進(jìn)行訓(xùn)練,得到經(jīng)訓(xùn)練的信息熵計(jì)算算法作為檢測模型;其中,在檢測模型訓(xùn)練過程中,根據(jù)信息熵計(jì)算算法得到正常數(shù)據(jù)流和加密數(shù)據(jù)流的信息熵,根據(jù)正常數(shù)據(jù)流和加密數(shù)據(jù)流的信息熵的分布,得到檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

在一種可選的實(shí)施方式中,程序510用于使得處理器502將數(shù)據(jù)流輸入到經(jīng)訓(xùn)練的信息熵計(jì)算算法中,計(jì)算得到數(shù)據(jù)流的信息熵。

在一種可選的實(shí)施方式中,數(shù)據(jù)流為從文件中截取的固定片段大小的數(shù)據(jù)流。

在一種可選的實(shí)施方式中,程序510用于使得處理器502利用文件監(jiān)控驅(qū)動(dòng),獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。

在一種可選的實(shí)施方式中,文件的文件格式具體為以下文件格式中的任意一種:ppt、doc、docx、xlsx、sxi、sxw、odt、hwp、zip、rar、tar、mp4、mkv、eml、msg、ost、pst、deb、sql、accdb、mdb、dbf、odb、myd、php、java、cpp、asp、asm、key、pfx、pem、p12、csr、gpg、aes、vsd、odg、raw、nef、svg、psd、vmx、vmdk、vdi。

在一種可選的實(shí)施方式中,程序510用于使得處理器502將程序的相關(guān)信息和鑒定結(jié)果上傳至云端服務(wù)器;接收云端服務(wù)器根據(jù)程序的相關(guān)信息和鑒定結(jié)果進(jìn)行預(yù)設(shè)檢測后的返回的指令;根據(jù)指令,對程序的寫入操作進(jìn)行攔截或放行操作。

程序510中各步驟的具體實(shí)現(xiàn)可以參見上述加密程序識別實(shí)施例中的相應(yīng)步驟和單元中對應(yīng)的描述,在此不贅述。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的設(shè)備和模塊的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程描述,在此不再贅述。

通過本實(shí)施例提供的方案,先獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。將數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到檢測模型對數(shù)據(jù)流的鑒定結(jié)果。根據(jù)鑒定結(jié)果,確定是否對程序的寫入操作進(jìn)行攔截。通過機(jī)器學(xué)習(xí)算法訓(xùn)練得到檢測模型,利用檢測模型識別加密程序,可以節(jié)省大量的人力和時(shí)間,提高對加密程序的識別效率。

在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。

在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。

類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。

本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(dsp)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的加密程序識別裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。

本發(fā)明公開了:a1.一種加密程序識別方法,其包括:

獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流;

將所述數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到所述檢測模型對所述數(shù)據(jù)流的鑒定結(jié)果;

根據(jù)所述鑒定結(jié)果,確定是否對所述程序的寫入操作進(jìn)行攔截。

a2.根據(jù)a1所述的方法,其中,所述鑒定結(jié)果包括:

用于表征數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

a3.根據(jù)a2所述的方法,其中,所述根據(jù)鑒定結(jié)果,確定是否對所述程序的寫入操作進(jìn)行攔截包括:

根據(jù)所述分?jǐn)?shù)以及所述檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,確定是否對所述程序的寫入操作進(jìn)行攔截。

a4.根據(jù)a3所述的方法,其中,所述根據(jù)所述分?jǐn)?shù)以及所述檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,確定是否對所述程序的寫入操作進(jìn)行攔截進(jìn)一步包括:

若所述分?jǐn)?shù)不屬于所述正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,和/或,所述分?jǐn)?shù)屬于所述加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,確定對所述程序的寫入操作進(jìn)行攔截。

a5.根據(jù)a1所述的方法,其中,還包括:

獲取已知加密程序從磁盤讀取的正常數(shù)據(jù)流和向磁盤寫入的加密數(shù)據(jù)流;

利用機(jī)器學(xué)習(xí)算法,將所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到所述檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

a6.根據(jù)a5所述的方法,其中,所述利用機(jī)器學(xué)習(xí)算法,將所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到所述檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間進(jìn)一步包括:

確定信息熵計(jì)算算法作為初始檢測模型;

將所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到初始檢測模型中,對信息熵計(jì)算算法所涉及的參數(shù)進(jìn)行訓(xùn)練,得到經(jīng)訓(xùn)練的信息熵計(jì)算算法作為檢測模型;

其中,在檢測模型訓(xùn)練過程中,根據(jù)信息熵計(jì)算算法得到所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流的信息熵,根據(jù)所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流的信息熵的分布,得到所述檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

a7.根據(jù)a6所述的方法,其中,所述將所述數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到所述檢測模型對所述數(shù)據(jù)流的鑒定結(jié)果具體為:將數(shù)據(jù)流輸入到經(jīng)訓(xùn)練的信息熵計(jì)算算法中,計(jì)算得到所述數(shù)據(jù)流的信息熵。

a8.根據(jù)a1-a7中任一項(xiàng)所述的方法,其中,所述數(shù)據(jù)流為從文件中截取的固定片段大小的數(shù)據(jù)流。

a9.根據(jù)a8所述的方法,其中,所述獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流具體為:利用文件監(jiān)控驅(qū)動(dòng),獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。

a10.根據(jù)a8所述的方法,其中,所述文件的文件格式具體為以下文件格式中的任意一種:

ppt、doc、docx、xlsx、sxi、sxw、odt、hwp、zip、rar、tar、mp4、mkv、eml、msg、ost、pst、deb、sql、accdb、mdb、dbf、odb、myd、php、java、cpp、asp、asm、key、pfx、pem、p12、csr、gpg、aes、vsd、odg、raw、nef、svg、psd、vmx、vmdk、vdi。

a11.根據(jù)a1-a10中任一項(xiàng)所述的方法,其中,所述確定是否對所述程序的寫入操作進(jìn)行攔截進(jìn)一步包括:

將所述程序的相關(guān)信息和所述鑒定結(jié)果上傳至云端服務(wù)器;

接收所述云端服務(wù)器根據(jù)所述程序的相關(guān)信息和所述鑒定結(jié)果進(jìn)行預(yù)設(shè)檢測后的返回的指令;

根據(jù)所述指令,對所述程序的寫入操作進(jìn)行攔截或放行操作。

本發(fā)明還公開了:b12.一種加密程序識別裝置,其包括:

獲取模塊,適于獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流;

檢測模塊,適于將所述數(shù)據(jù)流輸入到利用機(jī)器學(xué)習(xí)算法訓(xùn)練得到的檢測模型中,得到所述檢測模型對所述數(shù)據(jù)流的鑒定結(jié)果;

識別模塊,適于根據(jù)所述鑒定結(jié)果,確定是否對所述程序的寫入操作進(jìn)行攔截。

b13.根據(jù)b12所述的裝置,其中,所述鑒定結(jié)果包括:

用于表征數(shù)據(jù)流的隨機(jī)性的分?jǐn)?shù)以及檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

b14.根據(jù)b13所述的裝置,其中,所述識別模塊進(jìn)一步適于:

根據(jù)所述分?jǐn)?shù)以及所述檢測模型提供的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,確定是否對所述程序的寫入操作進(jìn)行攔截。

b15.根據(jù)b14所述的裝置,其中,所述識別模塊進(jìn)一步適于:

若所述分?jǐn)?shù)不屬于所述正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間,和/或,所述分?jǐn)?shù)屬于所述加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間,確定對所述程序的寫入操作進(jìn)行攔截。

b16.根據(jù)b12所述的裝置,其中,還包括:

訓(xùn)練數(shù)據(jù)獲取模塊,適于獲取已知加密程序從磁盤讀取的正常數(shù)據(jù)流和向磁盤寫入的加密數(shù)據(jù)流;

訓(xùn)練模塊,適于利用機(jī)器學(xué)習(xí)算法,將所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到檢測模型中,對檢測模型進(jìn)行訓(xùn)練,并得到所述檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

b17.根據(jù)b16所述的裝置,其中,所述訓(xùn)練模塊進(jìn)一步包括:

算法模塊,適于確定信息熵計(jì)算算法作為初始檢測模型;

所述訓(xùn)練模塊進(jìn)一步適于:將所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流作為樣本數(shù)據(jù)輸入到初始檢測模型中,對信息熵計(jì)算算法所涉及的參數(shù)進(jìn)行訓(xùn)練,得到經(jīng)訓(xùn)練的信息熵計(jì)算算法作為檢測模型;其中,在檢測模型訓(xùn)練過程中,根據(jù)信息熵計(jì)算算法得到所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流的信息熵,根據(jù)所述正常數(shù)據(jù)流和所述加密數(shù)據(jù)流的信息熵的分布,得到所述檢測模型的正常數(shù)據(jù)流分?jǐn)?shù)區(qū)間和/或加密數(shù)據(jù)流分?jǐn)?shù)區(qū)間。

b18.根據(jù)b17所述的裝置,其中,所述檢測模塊進(jìn)一步適于:將數(shù)據(jù)流輸入到經(jīng)訓(xùn)練的信息熵計(jì)算算法中,計(jì)算得到所述數(shù)據(jù)流的信息熵。

b19.根據(jù)b12-b18中任一項(xiàng)所述的裝置,其中,所述數(shù)據(jù)流為從文件中截取的固定片段大小的數(shù)據(jù)流。

b20.根據(jù)b19所述的裝置,其中,所述獲取模塊進(jìn)一步適于:利用文件監(jiān)控驅(qū)動(dòng),獲取待檢測的程序向磁盤寫入的數(shù)據(jù)流。

b21.根據(jù)b19所述的裝置,其中,所述文件的文件格式具體為以下文件格式中的任意一種:

ppt、doc、docx、xlsx、sxi、sxw、odt、hwp、zip、rar、tar、mp4、mkv、eml、msg、ost、pst、deb、sql、accdb、mdb、dbf、odb、myd、php、java、cpp、asp、asm、key、pfx、pem、p12、csr、gpg、aes、vsd、odg、raw、nef、svg、psd、vmx、vmdk、vdi。

b22.根據(jù)b12-b21中任一項(xiàng)所述的裝置,其中,所述識別模塊進(jìn)一步包括:

上傳模塊,適于將所述程序的相關(guān)信息和所述鑒定結(jié)果上傳至云端服務(wù)器;

接收模塊,適于接收所述云端服務(wù)器根據(jù)所述程序的相關(guān)信息和所述鑒定結(jié)果進(jìn)行預(yù)設(shè)檢測后的返回的指令;

執(zhí)行模塊,適于根據(jù)所述指令,對所述程序的寫入操作進(jìn)行攔截或放行操作。

本發(fā)明還公開了:c23.一種電子設(shè)備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;

所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如a1-a11中任一項(xiàng)所述的加密程序識別方法對應(yīng)的操作。

本發(fā)明還公開了:d24.一種計(jì)算機(jī)存儲介質(zhì),所述存儲介質(zhì)中存儲有至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如a1-a11中任一項(xiàng)所述的加密程序識別方法對應(yīng)的操作。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1