本發(fā)明涉及云計(jì)算領(lǐng)域,具體而言,涉及一種文件檢測(cè)方法、裝置及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)的發(fā)展,人們對(duì)在互聯(lián)網(wǎng)中的文件的安全性的要求也越來(lái)越高。目前,大部分的文件檢測(cè)系統(tǒng)(例如,病毒查殺系統(tǒng))均是采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)(病毒查殺)。
然而,采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè),這樣一旦病毒文件稍微變化或者面對(duì)最新出現(xiàn)的病毒,文件檢測(cè)系統(tǒng)將束手無(wú)策。針對(duì)上述的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種文件檢測(cè)方法、裝置及系統(tǒng),以至少解決由于現(xiàn)有技術(shù)采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種文件檢測(cè)方法,包括:獲取文件檢測(cè)任務(wù),其中,上述文件檢測(cè)任務(wù)至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行上述待檢測(cè)文件的基本信息;將上述文件檢測(cè)任務(wù)發(fā)送至檢測(cè)引擎,其中,由上述檢測(cè)引擎根據(jù)上述存儲(chǔ)地址從文件服務(wù)器中獲取上述待檢測(cè)文件,基于上述用于運(yùn)行上述待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控上述待檢測(cè)文件,生成對(duì)應(yīng)上述待檢測(cè)文件的監(jiān)控行為記錄;接收上述檢測(cè)引擎返回的上述監(jiān)控行為記錄;確定上述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為;根據(jù)上述惡意行為,確定上述待檢測(cè)文件是否為惡意文件。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種文件檢測(cè)方法,包括:接收文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù),上述文件檢測(cè)任務(wù)中至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行上述待檢測(cè)文件的基本信息;根據(jù)上述待檢測(cè)文件的存儲(chǔ)地址,從文件服務(wù)器中獲取上述待檢測(cè)文件;基于上述用于運(yùn)行上述待檢測(cè)文件的基本信息,運(yùn)行并 監(jiān)控上述待檢測(cè)文件,生成對(duì)應(yīng)上述待檢測(cè)文件的監(jiān)控行為記錄;將上述監(jiān)控行為記錄發(fā)送至上述文件檢測(cè)裝置,其中,由上述文件檢測(cè)裝置確定上述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為,根據(jù)上述惡意行為,判斷上述待檢測(cè)文件是否為惡意文件。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種文件檢測(cè)裝置,包括:第一獲取單元,用于獲取文件檢測(cè)任務(wù),其中,上述文件檢測(cè)任務(wù)至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行上述待檢測(cè)文件的基本信息;第一發(fā)送單元,用于將上述文件檢測(cè)任務(wù)發(fā)送至檢測(cè)引擎,其中,由上述檢測(cè)引擎根據(jù)上述存儲(chǔ)地址從文件服務(wù)器中獲取上述待檢測(cè)文件,基于上述用于運(yùn)行上述待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控上述待檢測(cè)文件,生成對(duì)應(yīng)上述待檢測(cè)文件的監(jiān)控行為記錄;第一接收單元,用于接收上述檢測(cè)引擎返回的上述監(jiān)控行為記錄;第一確定單元,用于確定上述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為;第二確定單元,用于根據(jù)上述惡意行為,確定上述待檢測(cè)文件是否為惡意文件。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種檢測(cè)引擎,包括:第三接收單元,用于接收文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù),上述文件檢測(cè)任務(wù)中至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行上述待檢測(cè)文件的基本信息;第二獲取單元,用于根據(jù)上述待檢測(cè)文件的存儲(chǔ)地址,從文件服務(wù)器中獲取上述待檢測(cè)文件;監(jiān)控單元,用于基于上述用于運(yùn)行上述待檢測(cè)文件的基本信息,運(yùn)行并監(jiān)控上述待檢測(cè)文件,生成對(duì)應(yīng)上述待檢測(cè)文件的監(jiān)控行為記錄;第二發(fā)送單元,用于將上述監(jiān)控行為記錄發(fā)送至上述文件檢測(cè)裝置,其中,由上述文件檢測(cè)裝置確定上述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為,根據(jù)上述惡意行為,判斷上述待檢測(cè)文件是否為惡意文件。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種文件檢測(cè)系統(tǒng),包括:具有上述任意特征的文件檢測(cè)裝置,以及與上述文件檢測(cè)裝置連接的具有上述任意特征的檢測(cè)引擎。
在本發(fā)明實(shí)施例中,采用獲取文件檢測(cè)任務(wù),其中,文件檢測(cè)任務(wù)至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行待檢測(cè)文件的基本信息;將文件檢測(cè)任務(wù)發(fā)送至檢測(cè)引擎,其中,由檢測(cè)引擎根據(jù)存儲(chǔ)地址從文件服務(wù)器中獲取待檢測(cè)文件,基于用于運(yùn)行待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控待檢測(cè)文件,生成對(duì)應(yīng)待檢測(cè)文件的監(jiān)控行為記錄;接收檢測(cè)引擎返回的監(jiān)控行為記錄;確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為;根據(jù)惡意行為,確定待檢測(cè)文件是否為惡意文件的方式,通過(guò)在接收到待檢測(cè)文件的監(jiān)控行為記錄后,根據(jù)預(yù)設(shè)的惡意行為集合判斷待檢測(cè)文件是否為惡意文件,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的, 從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的技術(shù)問(wèn)題。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的一種運(yùn)行文件檢測(cè)方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實(shí)施例的一種可選的文件檢測(cè)方法的流程示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的另一種可選的文件檢測(cè)方法的流程示意圖;
圖4是根據(jù)本發(fā)明實(shí)施例的又一種可選的文件檢測(cè)方法的流程示意圖;
圖5是根據(jù)本發(fā)明實(shí)施例的又一種可選的文件檢測(cè)方法的流程示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例的又一種可選的文件檢測(cè)方法的流程示意圖;
圖7是根據(jù)本發(fā)明實(shí)施例的又一種可選的文件檢測(cè)方法的流程示意圖;
圖8是根據(jù)本發(fā)明實(shí)施例的一種可選的文件檢測(cè)裝置的結(jié)構(gòu)示意圖;
圖9是根據(jù)本發(fā)明實(shí)施例的一種可選的生成單元的結(jié)構(gòu)示意圖;
圖10是根據(jù)本發(fā)明實(shí)施例的一種可選的處理模塊的結(jié)構(gòu)示意圖;
圖11是根據(jù)本發(fā)明實(shí)施例的一種可選的第二確定單元的結(jié)構(gòu)示意圖;
圖12是根據(jù)本發(fā)明實(shí)施例的另一種可選的文件檢測(cè)裝置的結(jié)構(gòu)示意圖;
圖13是根據(jù)本發(fā)明實(shí)施例的一種可選的檢測(cè)引擎的結(jié)構(gòu)示意圖;
圖14是根據(jù)本發(fā)明實(shí)施例的一種可選的監(jiān)控單元的結(jié)構(gòu)示意圖;
圖15是根據(jù)本發(fā)明實(shí)施例的一種可選的建立模塊的結(jié)構(gòu)示意圖;
圖16是根據(jù)本發(fā)明實(shí)施例的一種運(yùn)行文件檢測(cè)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,還提供了一種文件檢測(cè)方法的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請(qǐng)實(shí)施例一所提供的方法實(shí)施例可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。以運(yùn)行在計(jì)算機(jī)終端上為例,圖1是本發(fā)明實(shí)施例的一種文件檢測(cè)方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖。如圖1所示,計(jì)算機(jī)終端10可以包括一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器102(處理器102可以包括但不限于微處理器MCU或可編程邏輯器件FPGA等的處理裝置)、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器104、以及用于通信功能的傳輸裝置106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲(chǔ)器104可用于存儲(chǔ)應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實(shí)施例中的文件檢測(cè)方法對(duì)應(yīng)的程序指令/模塊,處理器102通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的應(yīng)用程序的漏洞檢測(cè)方法。存儲(chǔ)器104可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器104 可進(jìn)一步包括相對(duì)于處理器102遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至計(jì)算機(jī)終端10。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實(shí)例可包括計(jì)算機(jī)終端10的通信供應(yīng)商提供的無(wú)線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置106包括一個(gè)網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過(guò)基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置106可以為射頻(Radio Frequency,RF)模塊,其用于通過(guò)無(wú)線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
在上述運(yùn)行環(huán)境下,本申請(qǐng)?zhí)峁┝巳鐖D2所示的文件檢測(cè)方法。圖2是根據(jù)本發(fā)明實(shí)施例一的文件檢測(cè)方法的流程圖。
如圖2所示,該文件檢測(cè)方法可以包括如下實(shí)現(xiàn)步驟:
步驟S202,獲取文件檢測(cè)任務(wù),其中,文件檢測(cè)任務(wù)至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行待檢測(cè)文件的基本信息。
本申請(qǐng)上述步驟S202中,待檢測(cè)文件的存儲(chǔ)地址是指待檢測(cè)文件存儲(chǔ)在文件服務(wù)器中的地址(例如tfsname),用于運(yùn)行待檢測(cè)文件的基本信息可以包括以下一種或幾種的組合:待檢測(cè)文件的文件名稱、文件類型、應(yīng)用操作系統(tǒng)(例如windows或linux)、是否32位,MD5(Message Digest Algorithm,消息摘要算法)、文件大小、SHA1(Secure Hash Algorithm,安全哈希算法)、SHA256、提交時(shí)間、提交來(lái)源、文件類型(例如表示是tfs還是url還是oss或者其他)以及byte數(shù)組。
步驟S204,將文件檢測(cè)任務(wù)發(fā)送至檢測(cè)引擎,其中,由檢測(cè)引擎根據(jù)存儲(chǔ)地址從文件服務(wù)器中獲取待檢測(cè)文件,基于用于運(yùn)行待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控待檢測(cè)文件,生成對(duì)應(yīng)待檢測(cè)文件的監(jiān)控行為記錄。
本申請(qǐng)上述步驟S204中,文件檢測(cè)裝置在獲取了包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行待檢測(cè)文件的基本信息的文件檢測(cè)任務(wù)之后,可以將該文件檢測(cè)任務(wù)發(fā)送至對(duì)應(yīng)的檢測(cè)引擎。
本發(fā)明實(shí)施例中,檢測(cè)引擎在接收到該文件檢測(cè)任務(wù)之后,可以根據(jù)存儲(chǔ)地址從服務(wù)器中獲取待檢測(cè)文件,并基于上述用于運(yùn)行待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控待檢測(cè)文件,生成對(duì)應(yīng)待檢測(cè)文件的監(jiān)控行為記錄。
可選地,本發(fā)明實(shí)施例對(duì)文件檢測(cè)任務(wù)的數(shù)量不做限制,即發(fā)送至檢測(cè)引擎的文件檢測(cè)任務(wù)的數(shù)量可以是一個(gè)也可以是多個(gè)。那么,檢測(cè)引擎在接收到多個(gè)文件檢測(cè) 任務(wù)時(shí),可以同時(shí)運(yùn)行該多個(gè)待檢測(cè)文件,并生成對(duì)應(yīng)各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。其中,檢測(cè)引擎如何運(yùn)行多個(gè)待檢測(cè)文件,后續(xù)實(shí)施例中會(huì)進(jìn)行詳細(xì)描述,此處不贅述。
步驟S206,接收檢測(cè)引擎返回的監(jiān)控行為記錄。
本申請(qǐng)上述步驟S206中,檢測(cè)引擎在生成監(jiān)控行為記錄之后,可以將監(jiān)控行為記錄發(fā)送至文件檢測(cè)裝置,由文件檢測(cè)裝置根據(jù)該監(jiān)控行為記錄判斷待檢測(cè)文件是否為惡意文件。
可選地,監(jiān)控行為記錄可以記錄一些敏感函數(shù)(惡意行為經(jīng)常觸發(fā)調(diào)用的函數(shù))的調(diào)用以及調(diào)用中的特定參數(shù)。例如NtCreateFile函數(shù),從該函數(shù)中可以判斷出是否新建一個(gè)文件、是否有寫權(quán)限、新建文件的全路徑等信息。另如NtSetinformationFile函數(shù),該函數(shù)被調(diào)用的頻率很高,其中部分場(chǎng)景(文件改名、修改文件屬性、或者刪除文件)中的被操作文件全路徑。
步驟S208,確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為。
本申請(qǐng)上述步驟S208中,預(yù)設(shè)的惡意行為集合是文件檢測(cè)裝置預(yù)先通過(guò)模型訓(xùn)練得到的,本發(fā)明實(shí)施例提供的文件檢測(cè)方法,不再依賴于特征碼,而是基于上述預(yù)設(shè)的惡意行為集合,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
可選地,文件檢測(cè)裝置在接收到待檢測(cè)文件的監(jiān)控行為記錄之后,可以調(diào)取預(yù)設(shè)的惡意行為集合,確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為。
步驟S210,根據(jù)惡意行為,確定待檢測(cè)文件是否為惡意文件。
本申請(qǐng)上述步驟S210中,惡意文件也叫惡意軟件,指在計(jì)算機(jī)系統(tǒng)上可執(zhí)行惡意任務(wù)的程序,通過(guò)破壞軟件進(jìn)程來(lái)實(shí)施控制。典型的惡意文件包括病毒、木馬、蠕蟲、遠(yuǎn)程控制軟件、鍵盤記錄軟件等。文件檢測(cè)裝置在確定了監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為之后,可以根據(jù)惡意行為確定待檢測(cè)文件是否為惡意文件。
其中,根據(jù)惡意行為,確定待檢測(cè)文件是否為惡意文件可以包括:計(jì)算惡意行為的數(shù)量;判斷惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值;若惡意行為的數(shù)量大于第三預(yù)設(shè)閾值,則確定待檢測(cè)文件為惡意文件。
由上可知,本申請(qǐng)上述實(shí)施例一所提供的方案,通過(guò)在接收到待檢測(cè)文件的監(jiān)控行為記錄后,根據(jù)預(yù)設(shè)的惡意行為集合判斷待檢測(cè)文件是否為惡意文件,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè) 準(zhǔn)確性較高的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的技術(shù)問(wèn)題。
本申請(qǐng)上述實(shí)施例提供的一種可選方案中,在步驟S208,確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為之前,文件檢測(cè)方法還可以包括:
S10,生成預(yù)設(shè)的惡意行為集合。
可選地,如圖3所示,上述步驟S10,生成預(yù)設(shè)的惡意行為集合可以包括:
步驟S302,創(chuàng)建第一訓(xùn)練樣本集合和第二訓(xùn)練樣本集合,其中,第一訓(xùn)練樣本集合包括至少一個(gè)惡意樣本文件,第二訓(xùn)練樣本集合包括至少一個(gè)正常樣本文件。
本申請(qǐng)上述步驟S302中,在確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為之前,文件檢測(cè)裝置可以生成該預(yù)設(shè)的惡意行為集合,在此本發(fā)明實(shí)施例對(duì)文件檢測(cè)裝置如何生成該預(yù)設(shè)的惡意行為集合進(jìn)行詳細(xì)描述。
其中,文件檢測(cè)裝置首先創(chuàng)建第一訓(xùn)練樣本集合和第二訓(xùn)練樣本集合,第一訓(xùn)練樣本集合包括至少一個(gè)惡意樣本文件,該惡意樣本文件可以為已知的惡意文件,第二訓(xùn)練樣本集合包括至少一個(gè)正常樣本文件,該正常樣本文件可以為已知的正常文件。
步驟S304,獲取運(yùn)行每個(gè)惡意樣本文件時(shí)的第一樣本行為記錄,以及運(yùn)行每個(gè)正常樣本文件時(shí)的第二樣本行為記錄。
本申請(qǐng)上述步驟S304中,在創(chuàng)建了第一訓(xùn)練樣本集合和第二訓(xùn)練樣本集合之后,文件檢測(cè)裝置獲取運(yùn)行每個(gè)惡意樣本文件時(shí)的第一樣本行為記錄,以及運(yùn)行每個(gè)正常樣本文件時(shí)的第二樣本行為記錄。其中,第一樣本行為記錄和第二樣本行為記錄可以為檢測(cè)引擎生成的,同樣地,當(dāng)?shù)谝挥?xùn)練樣本集合中包括多個(gè)惡意樣本文件、第二訓(xùn)練樣本集合中包括多個(gè)正常樣本文件時(shí),檢測(cè)引擎可以同時(shí)運(yùn)行該多個(gè)惡意樣本文件以及多個(gè)正常樣本文件,并生成對(duì)應(yīng)的第一樣本行為記錄和第二樣本行為記錄。
步驟S306,計(jì)算每個(gè)第一樣本行為記錄中各個(gè)樣本行為的第一行為頻率,以及每個(gè)第二樣本行為中各個(gè)樣本行為的第二行為頻率。
本申請(qǐng)上述步驟S306中,每個(gè)第一樣本行為記錄中各個(gè)樣本行為的第一行為頻率是指在運(yùn)行惡意樣本文件時(shí),惡意樣本文件產(chǎn)生的各個(gè)樣本行為的頻率,每個(gè)第二樣本行為中各個(gè)樣本行為的第二行為頻率是指在運(yùn)行正常樣本文件時(shí),正常樣本文件產(chǎn)生的各個(gè)樣本行為的頻率。
步驟S308,基于第一行為頻率和第二行為頻率,生成第一樣本行為集合和第二樣 本行為集合,其中,第一樣本行為集合包括第一行為頻率大于第一預(yù)設(shè)閾值的行為,第二樣本行為集合包括第二行為頻率大于第二預(yù)設(shè)閾值的行為。
本申請(qǐng)上述步驟S308中,文件檢測(cè)裝置需要基于第一行為頻率和第二行為頻率對(duì)各個(gè)樣本行為進(jìn)行篩選,進(jìn)而生成第一樣本行為集合和第二樣本行為集合。其中,篩選的方式為將上述第一行為頻率大于第一預(yù)設(shè)閾值的行為組成第一樣本行為集合,將上述第二行為頻率大于第二預(yù)設(shè)閾值的行為組成第二樣本行為集合。即,將操作頻率較高的行為篩選出來(lái),分別得到第一樣本行為集合和第二樣本行為集合。
步驟S310,根據(jù)第一樣本行為集合與第二樣本行為集合,得到預(yù)設(shè)的惡意行為集合。
本申請(qǐng)上述步驟S310中,由于惡意樣本文件也可能產(chǎn)生正常的行為,因此文件檢測(cè)裝置需要進(jìn)一步對(duì)第一樣本行為集合中的行為進(jìn)行篩選,具體地篩選方式,即上述步驟S310,根據(jù)第一樣本行為集合與第二樣本行為集合,得到預(yù)設(shè)的惡意行為集合可以包括:
S20,對(duì)第一樣本行為集合與第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為。
本申請(qǐng)上述步驟S20中,文件檢測(cè)裝置可以對(duì)第一樣本行為集合與第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為。
例如,第一樣本行為集合中包含“行為1、行為2、行為3、行為4以及行為5”,第二樣本行為集合中包括“行為2、行為5、行為6和行為7”,對(duì)第一樣本行為集合與第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,即{行為1,行為2,行為3,行為4,行為5}∩{行為2,行為5,行為6,行為7}={行為2,行為5},其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為,即{行為2,行為5}。
S22,從第一樣本行為集合中刪除第三樣本行為集合中的行為,得到預(yù)設(shè)的惡意行為集合。
本申請(qǐng)上述步驟S22中,文件檢測(cè)裝置從第一樣本行為集合中刪去第一樣本行為集合與第二樣本行為集合相同的行為,將第一樣本行為集合中的正常的行為刪去保留惡意的行為,即從第一樣本行為集合中刪除第三樣本行為集合中的行為,得到預(yù)設(shè)的惡意行為集合。
例如,{行為1,行為2,行為3,行為4,行為5}-{行為2,行為5}={行為1,行為3,行為4},{行為1,行為3,行為4}則為最終的預(yù)設(shè)的惡意行為集合。
本申請(qǐng)上述實(shí)施例提供的一種可選方案中,步驟S210,根據(jù)惡意行為,確定待檢測(cè)文件是否為惡意文件可以包括:
步驟S30,計(jì)算惡意行為的數(shù)量。
本申請(qǐng)上述步驟S30中,文件檢測(cè)裝置可以在確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為之后,可以根據(jù)該惡意行為確定待檢測(cè)文件是否為惡意文件。作為一種可選的實(shí)現(xiàn)方式,文件檢測(cè)裝置可以基于惡意行為的數(shù)量來(lái)判斷待檢測(cè)文件是否為惡意文件。
需要說(shuō)明的是,本發(fā)明實(shí)施例提供的文件檢測(cè)方法,文件檢測(cè)裝置可以基于惡意行為的數(shù)量來(lái)確定待檢測(cè)文件是否為惡意文件,文件檢測(cè)裝置也可以基于惡意行為的具體內(nèi)容或惡意行為的發(fā)生頻率來(lái)確定待檢測(cè)文件是否為惡意文件,均應(yīng)在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。
步驟S32,判斷惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值。
本申請(qǐng)上述步驟S32中,文件檢測(cè)裝置在計(jì)算出惡意行為的數(shù)量之后,可以獲取第三預(yù)設(shè)閾值,其中,該第三預(yù)設(shè)閾值可以是由維護(hù)人員預(yù)先設(shè)定的,進(jìn)而,文件檢測(cè)裝置可以判斷惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值,即判斷待檢測(cè)文件觸發(fā)的惡意行為是否超過(guò)第三預(yù)設(shè)閾值。
步驟S34,若惡意行為的數(shù)量大于第三預(yù)設(shè)閾值,則確定待檢測(cè)文件為惡意文件。
本申請(qǐng)上述步驟S34中,在惡意行為的數(shù)量大于第三預(yù)設(shè)閾值的情況下,文件檢測(cè)裝置則可以確定待檢測(cè)文件為惡意文件。
本申請(qǐng)上述實(shí)施例提供的一種可選方案中,如圖4所示,在步驟S202,獲取文件檢測(cè)任務(wù)之前,文件檢測(cè)方法還包括:
步驟S402,接收客戶端發(fā)送的待檢測(cè)文件。
本申請(qǐng)上述步驟S402中,客戶端為安裝在用戶機(jī)器上的軟件,客戶端可以將用戶機(jī)器上無(wú)法識(shí)別的文件(即待檢測(cè)文件,也可稱為可疑文件),通過(guò)網(wǎng)絡(luò)發(fā)送至文件檢測(cè)裝置,文件檢測(cè)裝置可以部署在云端,在接收到客戶端發(fā)送的待檢測(cè)文件后,依據(jù)本發(fā)明實(shí)施例提供的文件檢測(cè)方法對(duì)待檢測(cè)文件進(jìn)行檢測(cè)。
步驟S404,對(duì)待檢測(cè)文件進(jìn)行預(yù)處理,得到用于運(yùn)行待檢測(cè)文件的基本信息。
本申請(qǐng)上述步驟S404中,文件檢測(cè)裝置在接收到客戶端發(fā)送的待檢測(cè)文件之后,可以對(duì)待檢測(cè)文件進(jìn)行預(yù)處理,本發(fā)明實(shí)施例的預(yù)處理是對(duì)待檢測(cè)文件進(jìn)行靜態(tài)分析,以得到待檢測(cè)文件的基本信息,該基本信息用于運(yùn)行待檢測(cè)文件。
可選地,用于運(yùn)行待檢測(cè)文件的基本信息可以包括以下一種或幾種的組合:待檢測(cè)文件的文件名稱、文件類型、應(yīng)用操作系統(tǒng)、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交時(shí)間、提交來(lái)源、文件類型以及byte數(shù)組。
步驟S406,采用非對(duì)稱算法對(duì)待檢測(cè)文件進(jìn)行加密。
本申請(qǐng)上述步驟S406中,由于業(yè)務(wù)方大多會(huì)要求待檢測(cè)文件不能落地(即在處理過(guò)程中不能保存或緩存),為了防止被第三方或者惡意程序竊取,造成損失,因此本發(fā)明實(shí)施例采用非對(duì)稱算法對(duì)待檢測(cè)文件進(jìn)行加密,從而保證業(yè)務(wù)方對(duì)待檢測(cè)文件私密性的要求。
其中,非對(duì)稱算法的加密算法的加密密鑰和解密密鑰是不一樣的,或者說(shuō)不能由其中一個(gè)密鑰推導(dǎo)出另一個(gè)密鑰。
步驟S408,將用于運(yùn)行待檢測(cè)文件的基本信息保存至數(shù)據(jù)庫(kù),以及將加密后的待檢測(cè)文件保存至文件服務(wù)器。
本申請(qǐng)上述步驟S408中,文件檢測(cè)裝置將用于運(yùn)行待檢測(cè)文件的基本信息保存至數(shù)據(jù)庫(kù),以及將加密后的待檢測(cè)文件保存至文件服務(wù)器,以便檢測(cè)引擎在接收到文件檢測(cè)任務(wù)后根據(jù)文件檢測(cè)任務(wù)中的文件服務(wù)器中獲取待檢測(cè)文件。
可選地,文件檢測(cè)裝置生成文件檢測(cè)任務(wù)可以是主動(dòng)生成也可以是被動(dòng)生成的,例如,文件檢測(cè)裝置可以周期性地生成文件檢測(cè)任務(wù),也可以在接收到維護(hù)人員的觸發(fā)指令時(shí)生成文件檢測(cè)任務(wù)。
其中,在檢測(cè)引擎根據(jù)存儲(chǔ)地址從文件服務(wù)器中獲取待檢測(cè)文件之后,基于用于運(yùn)行待檢測(cè)文件的基本信息運(yùn)行待檢測(cè)文件之前,方法還包括:檢測(cè)引擎對(duì)待檢測(cè)文件進(jìn)行解密。
可選地,用于運(yùn)行待檢測(cè)文件的基本信息包括以下一種或幾種的組合:待檢測(cè)文件的文件名稱、文件類型、應(yīng)用操作系統(tǒng)、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交時(shí)間、提交來(lái)源、文件類型以及byte數(shù)組。
可選地,監(jiān)控行為記錄包括以下一種或幾種的組合:創(chuàng)建NtCreateFile函數(shù)、刪除NtDeleteFile函數(shù)和NtSetinformationFile函數(shù)、注冊(cè)表創(chuàng)建NtCreateKey函數(shù)、注冊(cè)表賦值NtSetValueKey函數(shù)。
由此可知,現(xiàn)有技術(shù)存在的采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的問(wèn)題,本發(fā)明提出一種基于惡意行為集合進(jìn)行文件檢測(cè)的方法,從而達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種文件檢測(cè)方法的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請(qǐng)實(shí)施例二所提供的方法實(shí)施例仍舊可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。此處需要說(shuō)明的是,實(shí)施例二所提供的方法實(shí)施例仍舊可以運(yùn)行在圖1所示的計(jì)算機(jī)終端上。
在上述運(yùn)行環(huán)境下,本申請(qǐng)?zhí)峁┝巳鐖D5所示的文件檢測(cè)方法。圖5是根據(jù)本發(fā)明實(shí)施例二的文件檢測(cè)方法的流程圖。
如圖5所示,該文件檢測(cè)方法可以包括如下實(shí)現(xiàn)步驟:
步驟S502,接收文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù),文件檢測(cè)任務(wù)中至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行待檢測(cè)文件的基本信息。
本申請(qǐng)上述步驟S502中,文件檢測(cè)任務(wù)可以是文件檢測(cè)裝置接收客戶端發(fā)送的待檢測(cè)文件;對(duì)待檢測(cè)文件進(jìn)行預(yù)處理,得到用于運(yùn)行待檢測(cè)文件的基本信息;采用非對(duì)稱算法對(duì)待檢測(cè)文件進(jìn)行加密;將用于運(yùn)行待檢測(cè)文件的基本信息保存至數(shù)據(jù)庫(kù),以及將加密后的待檢測(cè)文件保存至文件服務(wù)器之后生成的。
其中,待檢測(cè)文件的存儲(chǔ)地址是指待檢測(cè)文件存儲(chǔ)在文件服務(wù)器中的地址(例如tfsname),用于運(yùn)行待檢測(cè)文件的基本信息可以包括以下一種或幾種的組合:待檢測(cè)文件的文件名稱、文件類型、應(yīng)用操作系統(tǒng)(例如windows或linux)、是否32位,MD5、文件大小、SHA1、SHA256、提交時(shí)間、提交來(lái)源、文件類型(例如表示是tfs還是url還是oss或者其他)以及byte數(shù)組。
步驟S504,根據(jù)待檢測(cè)文件的存儲(chǔ)地址,從文件服務(wù)器中獲取待檢測(cè)文件。
本申請(qǐng)上述步驟S504中,檢測(cè)引擎在接收到文件檢測(cè)任務(wù)之后,可以根據(jù)文件檢測(cè)任務(wù)中待檢測(cè)文件的存儲(chǔ)地址,從文件服務(wù)器中獲取待檢測(cè)文件。
步驟S506,基于用于運(yùn)行待檢測(cè)文件的基本信息,運(yùn)行并監(jiān)控待檢測(cè)文件,生成對(duì)應(yīng)待檢測(cè)文件的監(jiān)控行為記錄。
本申請(qǐng)上述步驟S506中,監(jiān)控行為記錄可以包括以下一種或幾種的組合:創(chuàng)建NtCreateFile函數(shù)、刪除NtDeleteFile函數(shù)和NtSetinformationFile函數(shù)、注冊(cè)表創(chuàng)建NtCreateKey函數(shù)、注冊(cè)表賦值NtSetValueKey函數(shù)。
可選地,監(jiān)控行為記錄可以記錄一些敏感函數(shù)(惡意行為經(jīng)常觸發(fā)調(diào)用的函數(shù))的調(diào)用以及調(diào)用中的特定參數(shù)。例如NtCreateFile函數(shù),從該函數(shù)中可以判斷出是否新建一個(gè)文件、是否有寫權(quán)限、新建文件的全路徑等信息。另如NtSetinformationFile函數(shù),該函數(shù)被調(diào)用的頻率很高,其中部分場(chǎng)景(文件改名、修改文件屬性、或者刪除文件)中的被操作文件全路徑。
步驟S508,將監(jiān)控行為記錄發(fā)送至文件檢測(cè)裝置,其中,由文件檢測(cè)裝置確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為,根據(jù)惡意行為,判斷待檢測(cè)文件是否為惡意文件。
本申請(qǐng)上述步驟S508中,檢測(cè)引擎在生成監(jiān)控行為記錄之后,可以將監(jiān)控行為記錄發(fā)送至文件檢測(cè)裝置。
其中,預(yù)設(shè)的惡意行為集合是文件檢測(cè)裝置預(yù)先通過(guò)模型訓(xùn)練得到的,本發(fā)明實(shí)施例提供的文件檢測(cè)方法,不再依賴于特征碼,而是基于上述預(yù)設(shè)的惡意行為集合,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn) 了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
可選地,文件檢測(cè)裝置在接收到待檢測(cè)文件的監(jiān)控行為記錄之后,可以調(diào)取預(yù)設(shè)的惡意行為集合,確定監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為。文件檢測(cè)裝置在確定了監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為之后,可以根據(jù)惡意行為確定待檢測(cè)文件是否為惡意文件。其中,惡意文件也叫惡意軟件,指在計(jì)算機(jī)系統(tǒng)上可執(zhí)行惡意任務(wù)的程序,通過(guò)破壞軟件進(jìn)程來(lái)實(shí)施控制。典型的惡意文件包括病毒、木馬、蠕蟲、遠(yuǎn)程控制軟件、鍵盤記錄軟件等。
由上可知,本申請(qǐng)上述實(shí)施例二所提供的方案,通過(guò)生成待檢測(cè)文件的監(jiān)控行為記錄,文件檢測(cè)裝置在接收到待檢測(cè)文件的監(jiān)控行為記錄后,根據(jù)預(yù)設(shè)的惡意行為集合判斷待檢測(cè)文件是否為惡意文件,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的技術(shù)問(wèn)題。
本申請(qǐng)上述實(shí)施例提供的一種可選方案中,如圖6所示,在文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù)的數(shù)量為至少兩個(gè)的情況下,上述步驟S506,基于用于運(yùn)行待檢測(cè)文件的基本信息,運(yùn)行并監(jiān)控待檢測(cè)文件,生成對(duì)應(yīng)待檢測(cè)文件的監(jiān)控行為記錄可以包括:
步驟S602,基于每個(gè)用于運(yùn)行待檢測(cè)文件的基本信息,在建立的至少兩個(gè)虛擬機(jī)中運(yùn)行各個(gè)待檢測(cè)文件,其中,每個(gè)虛擬機(jī)對(duì)應(yīng)一個(gè)待檢測(cè)文件。
本申請(qǐng)上述步驟S602中,虛擬機(jī)可以為輕量級(jí)虛擬機(jī)。非輕量級(jí)虛擬機(jī)是指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng);輕量級(jí)虛擬機(jī)是指并不具有完整的硬件系統(tǒng)功能,一般它是應(yīng)用程序,體積小,易控制,運(yùn)行在應(yīng)用層,通過(guò)控制系統(tǒng)服務(wù)的行為而隔離環(huán)境中的應(yīng)用程序運(yùn)行時(shí)的輸出。
需要說(shuō)明的是,非輕量級(jí)虛擬機(jī)同一時(shí)間一臺(tái)檢測(cè)引擎只能檢測(cè)一個(gè)樣本,效率極低同時(shí)浪費(fèi)了機(jī)器性能;輕量級(jí)虛擬機(jī),可在同一檢測(cè)同一時(shí)間運(yùn)行多個(gè)虛擬機(jī),提高檢測(cè)性能,同時(shí)作為輕量級(jí)虛擬機(jī),不會(huì)對(duì)系統(tǒng)造成嚴(yán)重性破壞,例如藍(lán)屏。
步驟S604,在運(yùn)行各個(gè)待檢測(cè)文件的過(guò)程中,調(diào)用預(yù)設(shè)動(dòng)態(tài)鏈接庫(kù)DLL中的函數(shù)分別對(duì)各個(gè)待檢測(cè)文件進(jìn)行監(jiān)控,生成對(duì)應(yīng)各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
本申請(qǐng)上述步驟S604中,在運(yùn)行各個(gè)待檢測(cè)文件的過(guò)程中,調(diào)用預(yù)設(shè)DLL(Dynamic Link Library,動(dòng)態(tài)鏈接庫(kù))中的函數(shù)分別對(duì)各個(gè)待檢測(cè)文件進(jìn)行監(jiān)控,生成對(duì)應(yīng)各個(gè)待檢測(cè)文件的監(jiān)控行為記錄,包括:將DLL注入各個(gè)待檢測(cè)文件;在運(yùn)行各個(gè)待檢測(cè)文件的過(guò)程中,采用掛鉤HOOK技術(shù)對(duì)ntdll.dll函數(shù)進(jìn)行監(jiān)控,生成對(duì)應(yīng)各 個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
本發(fā)明實(shí)施例對(duì)文件檢測(cè)任務(wù)的數(shù)量不做限制,即發(fā)送至檢測(cè)引擎的文件檢測(cè)任務(wù)的數(shù)量可以是一個(gè)也可以是多個(gè)。那么,檢測(cè)引擎在接收到多個(gè)文件檢測(cè)任務(wù)時(shí),可以同時(shí)運(yùn)行該多個(gè)待檢測(cè)文件,并生成對(duì)應(yīng)各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
本申請(qǐng)上述實(shí)施例提供的一種可選方案中,如圖7所示,各個(gè)待檢測(cè)文件為文件檢測(cè)裝置采用非對(duì)稱算法對(duì)各個(gè)待檢測(cè)文件進(jìn)行加密的文件;其中,上述步驟S602,基于每個(gè)用于運(yùn)行待檢測(cè)文件的基本信息,在建立的至少兩個(gè)虛擬機(jī)中運(yùn)行各個(gè)待檢測(cè)文件,其中,每個(gè)虛擬機(jī)對(duì)應(yīng)一個(gè)待檢測(cè)文件可以包括:
步驟S702,獲取加密后的各個(gè)待檢測(cè)文件的解密算法。
本申請(qǐng)上述步驟S702中,由于業(yè)務(wù)方大多會(huì)要求待檢測(cè)文件不能落地(即在處理過(guò)程中不能保存或緩存),為了防止被第三方或者惡意程序竊取,造成損失,因此本發(fā)明實(shí)施例采用非對(duì)稱算法對(duì)待檢測(cè)文件進(jìn)行加密,從而保證業(yè)務(wù)方對(duì)待檢測(cè)文件私密性的要求。其中,非對(duì)稱算法的加密算法的加密密鑰和解密密鑰是不一樣的,或者說(shuō)不能由其中一個(gè)密鑰推導(dǎo)出另一個(gè)密鑰。
也就是說(shuō),檢測(cè)引擎從文件服務(wù)器中的獲取到的待檢測(cè)文件是通過(guò)非對(duì)稱算法加密后的文件,因此檢測(cè)引擎首先需要對(duì)該加密后的待檢測(cè)文件進(jìn)行解密。檢測(cè)引擎可以獲取預(yù)先配置的解密算法,也可以從用于存儲(chǔ)解密算法的數(shù)據(jù)庫(kù)中獲取,本發(fā)明實(shí)施例對(duì)此不做限定。
步驟S704,依據(jù)解密算法對(duì)各個(gè)待檢測(cè)文件進(jìn)行解密。
本申請(qǐng)上述步驟S704中,檢測(cè)引擎在獲取加密后的各個(gè)待檢測(cè)文件的解密算法之后,可以依據(jù)解密算法對(duì)各個(gè)待檢測(cè)文件進(jìn)行解密。
步驟S706,根據(jù)每個(gè)用于運(yùn)行待檢測(cè)文件的基本信息,在至少兩個(gè)虛擬機(jī)中構(gòu)造虛擬運(yùn)行環(huán)境。
本申請(qǐng)上述步驟S706中,檢測(cè)引擎可以根據(jù)每個(gè)用于運(yùn)行待檢測(cè)文件的基本信息,在至少兩個(gè)虛擬機(jī)中構(gòu)造虛擬運(yùn)行環(huán)境,例如構(gòu)造如32位或者64位的windows和linux系統(tǒng)平臺(tái)。
步驟S708,基于虛擬運(yùn)行環(huán)境,在至少兩個(gè)虛擬機(jī)中分別運(yùn)行各個(gè)待檢測(cè)文件,其中,將在運(yùn)行各個(gè)待檢測(cè)文件的過(guò)程中產(chǎn)生的讀寫操作重定向至各個(gè)虛擬機(jī)配置的地址中。
可選地,文件檢測(cè)裝置生成預(yù)設(shè)的惡意行為集合的方法,包括:文件檢測(cè)裝置創(chuàng)建第一訓(xùn)練樣本集合和第二訓(xùn)練樣本集合,其中,第一訓(xùn)練樣本集合包括至少一個(gè)惡意樣本文件,第二訓(xùn)練樣本集合包括至少一個(gè)正常樣本文件;文件檢測(cè)裝置獲取運(yùn)行每個(gè)惡意樣本文件時(shí)的第一樣本行為記錄,以及運(yùn)行每個(gè)正常樣本文件時(shí)的第二樣本行為記錄;文件檢測(cè)裝置計(jì)算每個(gè)第一樣本行為記錄中各個(gè)樣本行為的第一行為頻率,以及每個(gè)第二樣本行為中各個(gè)樣本行為的第二行為頻率;文件檢測(cè)裝置基于第一行為頻率和第二行為頻率,生成第一樣本行為集合和第二樣本行為集合,其中,第一樣本行為集合包括第一行為頻率大于第一預(yù)設(shè)閾值的行為,第二樣本行為集合包括第二行為頻率大于第二預(yù)設(shè)閾值的行為;文件檢測(cè)裝置根據(jù)第一樣本行為集合與第二樣本行為集合,得到預(yù)設(shè)的惡意行為集合。
例如,第一樣本行為集合中包含“行為1、行為2、行為3、行為4以及行為5”,第二樣本行為集合中包括“行為2、行為5、行為6和行為7”,對(duì)第一樣本行為集合與第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,即{行為1,行為2,行為3,行為4,行為5}∩{行為2,行為5,行為6,行為7}={行為2,行為5},其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為,即{行為2,行為5}。
可選地,文件檢測(cè)裝置根據(jù)第一樣本行為集合與第二樣本行為集合,得到預(yù)設(shè)的惡意行為集合,包括:文件檢測(cè)裝置對(duì)第一樣本行為集合與第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為;文件檢測(cè)裝置從第一樣本行為集合中刪除第三樣本行為集合中的行為,得到預(yù)設(shè)的惡意行為集合。
例如,{行為1,行為2,行為3,行為4,行為5}-{行為2,行為5}={行為1,行為3,行為4},{行為1,行為3,行為4}則為最終的預(yù)設(shè)的惡意行為集合。
可選地,文件檢測(cè)裝置根據(jù)惡意行為,確定待檢測(cè)文件是否為惡意文件包括:文件檢測(cè)裝置計(jì)算惡意行為的數(shù)量;文件檢測(cè)裝置判斷惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值;若惡意行為的數(shù)量大于第三預(yù)設(shè)閾值,則確定待檢測(cè)文件為惡意文件。
本發(fā)明實(shí)施例提供的文件檢測(cè)方法,文件檢測(cè)裝置可以基于惡意行為的數(shù)量來(lái)確定待檢測(cè)文件是否為惡意文件,文件檢測(cè)裝置也可以基于惡意行為的具體內(nèi)容或惡意行為的發(fā)生頻率來(lái)確定待檢測(cè)文件是否為惡意文件,均應(yīng)在本發(fā)明實(shí)施例的保護(hù)范圍之內(nèi)。文件檢測(cè)裝置在計(jì)算出惡意行為的數(shù)量之后,可以獲取第三預(yù)設(shè)閾值,其中,該第三預(yù)設(shè)閾值可以是由維護(hù)人員預(yù)先設(shè)定的,進(jìn)而,文件檢測(cè)裝置可以判斷惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值,即判斷待檢測(cè)文件觸發(fā)的惡意行為是否超過(guò)第三預(yù) 設(shè)閾值。文件檢測(cè)裝置在計(jì)算出惡意行為的數(shù)量之后,可以獲取第三預(yù)設(shè)閾值,其中,該第三預(yù)設(shè)閾值可以是由維護(hù)人員預(yù)先設(shè)定的,進(jìn)而,文件檢測(cè)裝置可以判斷惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值,即判斷待檢測(cè)文件觸發(fā)的惡意行為是否超過(guò)第三預(yù)設(shè)閾值。
可選地,用于運(yùn)行待檢測(cè)文件的基本信息包括以下一種或幾種的組合:待檢測(cè)文件的文件名稱、文件類型、應(yīng)用操作系統(tǒng)、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交時(shí)間、提交來(lái)源、文件類型以及byte數(shù)組。
可選地,監(jiān)控行為記錄包括以下一種或幾種的組合:創(chuàng)建NtCreateFile函數(shù)、刪除NtDeleteFile函數(shù)和NtSetinformationFile函數(shù)、注冊(cè)表創(chuàng)建NtCreateKey函數(shù)、注冊(cè)表賦值NtSetValueKey函數(shù)。
由此可知,現(xiàn)有技術(shù)存在的采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的問(wèn)題,本發(fā)明提出一種基于惡意行為集合進(jìn)行文件檢測(cè)的方法,從而達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法。
實(shí)施例3
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述方法實(shí)施例的裝置實(shí)施例,本申請(qǐng)上述實(shí)施例所提供的裝置可以在計(jì)算機(jī)終端上運(yùn)行。
圖8是根據(jù)本申請(qǐng)實(shí)施例的文件檢測(cè)裝置的結(jié)構(gòu)示意圖。
如圖8所示,該文件檢測(cè)裝置可以包括第一獲取單元802、第一發(fā)送單元804、第一接收單元806、第一確定單元808以及第二確定單元810。
其中,第一獲取單元802,用于獲取文件檢測(cè)任務(wù),其中,所述文件檢測(cè)任務(wù)至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行所述待檢測(cè)文件的基本信息;第一發(fā)送單元804,用于將所述文件檢測(cè)任務(wù)發(fā)送至檢測(cè)引擎,其中,由所述檢測(cè)引擎根據(jù)所述存儲(chǔ)地址從文件服務(wù)器中獲取所述待檢測(cè)文件,基于所述用于運(yùn)行所述待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控所述待檢測(cè)文件,生成對(duì)應(yīng)所述待檢測(cè)文件的監(jiān)控行為記錄;第一接收單元806,用于接收所述檢測(cè)引擎返回的所述監(jiān)控行為記錄;第一確定單元808,用于確定所述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為;第二確定單元810,用于根據(jù)所述惡意行為,確定所述待檢測(cè)文件是否為惡意文件。
由上可知,本申請(qǐng)上述實(shí)施例三所提供的方案,通過(guò)生成待檢測(cè)文件的監(jiān)控行為記錄,文件檢測(cè)裝置在接收到待檢測(cè)文件的監(jiān)控行為記錄后,根據(jù)預(yù)設(shè)的惡意行為集合判斷待檢測(cè)文件是否為惡意文件,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的技術(shù)問(wèn)題。
此處需要說(shuō)明的是,上述第一獲取單元802、第一發(fā)送單元804、第一接收單元806、第一確定單元808以及第二確定單元810對(duì)應(yīng)于實(shí)施例一中的步驟S202至步驟S210,五個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,如圖9所示,生成單元90,用于生成所述預(yù)設(shè)的惡意行為集合,其中,所述生成單元90可以包括:創(chuàng)建模塊902、獲取模塊904、第一計(jì)算模塊906、生成模塊908以及處理模塊910。
其中,創(chuàng)建模塊902,用于創(chuàng)建第一訓(xùn)練樣本集合和第二訓(xùn)練樣本集合,其中,所述第一訓(xùn)練樣本集合包括至少一個(gè)惡意樣本文件,第二訓(xùn)練樣本集合包括至少一個(gè)正常樣本文件;獲取模塊904,用于獲取運(yùn)行每個(gè)所述惡意樣本文件時(shí)的第一樣本行為記錄,以及運(yùn)行每個(gè)所述正常樣本文件時(shí)的第二樣本行為記錄;第一計(jì)算模塊906,用于計(jì)算每個(gè)所述第一樣本行為記錄中各個(gè)樣本行為的第一行為頻率,以及每個(gè)所述第二樣本行為中各個(gè)樣本行為的第二行為頻率;生成模塊908,用于基于所述第一行 為頻率和所述第二行為頻率,生成第一樣本行為集合和第二樣本行為集合,其中,所述第一樣本行為集合包括第一行為頻率大于第一預(yù)設(shè)閾值的行為,所述第二樣本行為集合包括第二行為頻率大于第二預(yù)設(shè)閾值的行為;處理模塊910,用于根據(jù)所述第一樣本行為集合與所述第二樣本行為集合,得到所述預(yù)設(shè)的惡意行為集合。
此處需要說(shuō)明的是,上述創(chuàng)建模塊902、獲取模塊904、第一計(jì)算模塊906、生成模塊908以及處理模塊910對(duì)應(yīng)于實(shí)施例一中的步驟S302至步驟S310,該模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,如圖10所示,所述處理模塊910可以包括:運(yùn)算子模塊1002和刪除子模塊1004。
其中,運(yùn)算子模塊1002,用于對(duì)所述第一樣本行為集合與所述第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,其中,所述第三樣本行為集合中包括所述第一樣本行為集合與所述第二樣本行為集合中相同的行為;刪除子模塊1004,用于從所述第一樣本行為集合中刪除所述第三樣本行為集合中的行為,得到所述預(yù)設(shè)的惡意行為集合。
此處需要說(shuō)明的是,上述運(yùn)算子模塊1002和刪除子模塊1004對(duì)應(yīng)于實(shí)施例一中的步驟S20至步驟S22,該模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,如圖11所示,所述第二確定單元810可以包括:第二計(jì)算模塊1102、判斷模塊1104以及確定模塊1106。
其中,第二計(jì)算模塊1102,用于計(jì)算所述惡意行為的數(shù)量;判斷模塊1104,用于判斷所述惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值;確定模塊1106,用于若所述惡意行為的數(shù)量大于所述第三預(yù)設(shè)閾值,則確定所述待檢測(cè)文件為所述惡意文件。
此處需要說(shuō)明的是,上述第二計(jì)算模塊1102、判斷模塊1104以及確定模塊1106對(duì)應(yīng)于實(shí)施例一中的步驟S30至步驟S34,該模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,如圖12所示,文件檢測(cè)裝置還可以包括:第二接收單元1202、預(yù)處理 單元1204、加密單元1206以及控制單元1208。
其中,第二接收單元1202,用于接收客戶端發(fā)送的所述待檢測(cè)文件;預(yù)處理單元1204,用于對(duì)所述待檢測(cè)文件進(jìn)行預(yù)處理,得到所述用于運(yùn)行所述待檢測(cè)文件的基本信息;加密單元1206,用于采用非對(duì)稱算法對(duì)所述待檢測(cè)文件進(jìn)行加密;控制單元1208,用于將所述用于運(yùn)行所述待檢測(cè)文件的基本信息保存至數(shù)據(jù)庫(kù),以及將加密后的所述待檢測(cè)文件保存至所述文件服務(wù)器。
此處需要說(shuō)明的是,上述第二接收單元1202、預(yù)處理單元1204、加密單元1206以及控制單元1208對(duì)應(yīng)于實(shí)施例一中的步驟S402至步驟S408,該模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例一所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例一提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
由此可知,現(xiàn)有技術(shù)存在的采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的問(wèn)題,本發(fā)明提出一種基于惡意行為集合進(jìn)行文件檢測(cè)的方法,從而達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
實(shí)施例4
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述方法實(shí)施例的裝置實(shí)施例,本申請(qǐng)上述實(shí)施例所提供的裝置可以在計(jì)算機(jī)終端上運(yùn)行。
圖13是根據(jù)本申請(qǐng)實(shí)施例的檢測(cè)引擎的結(jié)構(gòu)示意圖。
如圖13所示,該檢測(cè)引擎可以包括第三接收單元1302、第二獲取單元1304、監(jiān)控單元1306以及第二發(fā)送單元1308。
其中,第三接收單元1302,用于接收文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù),所述文件檢測(cè)任務(wù)中至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行所述待檢測(cè)文件的基本信息;第二獲取單元1304,用于根據(jù)所述待檢測(cè)文件的存儲(chǔ)地址,從文件服務(wù)器中獲取所述待檢測(cè)文件;監(jiān)控單元1306,用于基于所述用于運(yùn)行所述待檢測(cè)文件的基本信息,運(yùn)行并監(jiān)控所述待檢測(cè)文件,生成對(duì)應(yīng)所述待檢測(cè)文件的監(jiān)控行為記錄;第二發(fā)送單元1308,用于將所述監(jiān)控行為記錄發(fā)送至所述文件檢測(cè)裝置,其中,由所述文件檢測(cè)裝置確定所述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為,根據(jù)所述惡意行為,判斷所述待檢測(cè)文件是否為惡意文件。
由上可知,本申請(qǐng)上述實(shí)施例三所提供的方案,通過(guò)生成待檢測(cè)文件的監(jiān)控行為記錄,文件檢測(cè)裝置在接收到待檢測(cè)文件的監(jiān)控行為記錄后,根據(jù)預(yù)設(shè)的惡意行為集合判斷待檢測(cè)文件是否為惡意文件,達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果,進(jìn)而解決了由于現(xiàn)有技術(shù)采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的技術(shù)問(wèn)題。
此處需要說(shuō)明的是,上述第三接收單元1302、第二獲取單元1304、監(jiān)控單元1306以及第二發(fā)送單元1308對(duì)應(yīng)于實(shí)施例二中的步驟S502至步驟S508,四個(gè)模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例二所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例二提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,如圖14所示,在所述文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù)的數(shù)量為至少兩個(gè)的情況下,所述監(jiān)控單元1306可以包括:建立模塊1402和調(diào)用模塊1404。
其中,建立模塊1402,用于基于每個(gè)所述用于運(yùn)行所述待檢測(cè)文件的基本信息,在建立的至少兩個(gè)虛擬機(jī)中運(yùn)行各個(gè)待檢測(cè)文件,其中,每個(gè)虛擬機(jī)對(duì)應(yīng)一個(gè)待檢測(cè)文件;調(diào)用模塊1404,用于在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中,調(diào)用預(yù)設(shè)動(dòng)態(tài)鏈接庫(kù)DLL中的函數(shù)分別對(duì)所述各個(gè)待檢測(cè)文件進(jìn)行監(jiān)控,生成對(duì)應(yīng)所述各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
此處需要說(shuō)明的是,上述建立模塊1402和調(diào)用模塊1404對(duì)應(yīng)于實(shí)施例二中的步驟S602至步驟S604,該模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例二所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例二提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,如圖15所示,所述各個(gè)待檢測(cè)文件為所述文件檢測(cè)裝置采用非對(duì)稱算法對(duì)所述各個(gè)待檢測(cè)文件進(jìn)行加密的文件;其中,所述建立模塊1402可以包括:獲取子模塊1502、解密子模塊1504、處理子模塊1506以及控制子模塊1508。
其中,獲取子模塊1502,用于獲取加密后的所述各個(gè)待檢測(cè)文件的解密算法;解密子模塊1504,用于依據(jù)所述解密算法對(duì)所述各個(gè)待檢測(cè)文件進(jìn)行解密;處理子模塊1506,用于根據(jù)每個(gè)所述用于運(yùn)行所述待檢測(cè)文件的基本信息,在所述至少兩個(gè)虛擬機(jī)中構(gòu)造虛擬運(yùn)行環(huán)境;控制子模塊1508,用于基于所述虛擬運(yùn)行環(huán)境,在所述至少兩個(gè)虛擬機(jī)中分別運(yùn)行所述各個(gè)待檢測(cè)文件,其中,將在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中產(chǎn)生的讀寫操作重定向至各個(gè)虛擬機(jī)配置的地址中。
此處需要說(shuō)明的是,上述獲取子模塊1502、解密子模塊1504、處理子模塊1506以及控制子模塊1508對(duì)應(yīng)于實(shí)施例二中的步驟S702至步驟S708,該模塊與對(duì)應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場(chǎng)景相同,但不限于上述實(shí)施例二所公開的內(nèi)容。需要說(shuō)明的是,上述模塊作為裝置的一部分可以運(yùn)行在實(shí)施例二提供的計(jì)算機(jī)終端10中,可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。
可選地,所述調(diào)用模塊用于執(zhí)行以下步驟在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中,調(diào)用預(yù)設(shè)動(dòng)態(tài)鏈接庫(kù)DLL中的函數(shù)分別對(duì)所述各個(gè)待檢測(cè)文件進(jìn)行監(jiān)控,生成對(duì)應(yīng)所述各個(gè)待檢測(cè)文件的監(jiān)控行為記錄:將所述DLL注入所述各個(gè)待檢測(cè)文件;在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中,采用掛鉤HOOK技術(shù)對(duì)ntdll.dll函數(shù)進(jìn)行監(jiān)控,生成所述對(duì)應(yīng)所述各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
由此可知,現(xiàn)有技術(shù)存在的采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的問(wèn)題,本發(fā)明提出一種基于惡意行為集合進(jìn)行文件檢測(cè)的方法,從而達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
實(shí)施例5
根據(jù)本發(fā)明實(shí)施例,還提供了一種掃描節(jié)點(diǎn)的控制系統(tǒng),圖16是根據(jù)本發(fā)明實(shí)施例的一種文件檢測(cè)系統(tǒng)的結(jié)構(gòu)示意圖。
該系統(tǒng)包括:具有上述任意特征的文件檢測(cè)裝置160,以及與所述文件檢測(cè)裝置連接的具有上述任意特征的檢測(cè)引擎162。
可選地,客戶端收集可疑文件(即待檢測(cè)文件),通過(guò)網(wǎng)絡(luò)傳送至文件檢測(cè)裝置160中的預(yù)處理模塊,預(yù)處理模塊對(duì)可疑文件進(jìn)行靜態(tài)分析,得到可疑文件的基本信息(即用于運(yùn)行待檢測(cè)文件的基本信息),并將基本信息保存至數(shù)據(jù)庫(kù),然后采用加密算法(即非對(duì)稱算法),對(duì)可疑文件進(jìn)行加密,將加密后可疑文件保存到文件服務(wù)器,文件檢測(cè)裝置160中的調(diào)度模塊生成文件檢測(cè)任務(wù)(例如,可以周期性主動(dòng)生成文件檢測(cè)任務(wù),也可以在收到維護(hù)人員的觸發(fā)指令時(shí)生成文件檢測(cè)任務(wù),還可以在收到預(yù)處理模塊依據(jù)任務(wù)優(yōu)先級(jí)生成觸發(fā)命令時(shí)生成文件檢測(cè)任務(wù)),并調(diào)度安排至不同的檢測(cè)引擎,檢測(cè)引擎從文件服務(wù)器獲得加密后的可疑文件,解密并運(yùn)行可疑文件,同時(shí)監(jiān)控該可疑文件的行為,生成監(jiān)控行為記錄,將監(jiān)控行為記錄傳送至文件檢測(cè)裝置160中的分析模塊,分析模塊依據(jù)惡意行為集合對(duì)監(jiān)控行為記錄中的行為逐條分析,最后得出該可疑文件是否為惡意文件。
可選地,預(yù)處理模塊至調(diào)度模塊傳遞:可疑文件通過(guò)客戶端提交后,先經(jīng)過(guò)預(yù)處理模塊,然后生成基本信息給到調(diào)度模塊。預(yù)處理目前比較簡(jiǎn)單,對(duì)可疑文件算md5、sha1、sha256、擴(kuò)展名、大小、解壓縮以及文件的一些具體信息等,例如文件真實(shí)格式的判斷,所應(yīng)用的操作系統(tǒng)類型,32位或者64位系統(tǒng),這樣在調(diào)度模塊可以根據(jù)樣本的信息來(lái)做不同的調(diào)度。生成的基本信息包含上述預(yù)處理的結(jié)果:文件名稱,文件類型,應(yīng)用操作系統(tǒng)(windows、linux),是否32位,md5,大小,sha1,sha256,提交時(shí)間,提交來(lái)源,文件內(nèi)部存儲(chǔ)地址(目前是tfsname),文件內(nèi)部存儲(chǔ)類型(表示是tfs還是url還是oss或者其他),以及文件本體的byte數(shù)組。
可選地,調(diào)度模塊至檢測(cè)引擎?zhèn)鬟f:調(diào)度模塊的文件檢測(cè)任務(wù)是基于隊(duì)列的,惡意程序隊(duì)列存儲(chǔ)上面提到的基本信息,對(duì)應(yīng)的檢測(cè)引擎注冊(cè)到調(diào)度模塊,調(diào)度模塊根據(jù)檢測(cè)引擎的注冊(cè)信息,得知該去哪個(gè)隊(duì)列去取可疑文件,返回json格式的信息給檢測(cè)引擎,json格式是可配置的,內(nèi)容來(lái)源還是上述基本信息。一般情況json內(nèi)容包含文件名稱、后綴、大小、MD5、文件內(nèi)部存儲(chǔ)地址(tfsname)等。
本發(fā)明實(shí)施例的文件檢測(cè)系統(tǒng)整體架構(gòu)可以采用JAVA語(yǔ)言開發(fā),其中因?yàn)樵谙到y(tǒng)中增加了對(duì)待檢測(cè)文件的加解密,需要考慮性能問(wèn)題,相關(guān)模塊編程語(yǔ)言采用C/C++較為理想,檢測(cè)模塊涉及到進(jìn)程行為監(jiān)控,將采用C語(yǔ)言開發(fā)。另外加解密算法考慮采用非對(duì)稱算法,可使得即使樣本文件被第三方截獲也不能被破解。
本發(fā)明實(shí)施例提供的文件檢測(cè)系統(tǒng)具有如下優(yōu)點(diǎn):
(1)全面文件檢測(cè)
本發(fā)明實(shí)施例的文件檢測(cè)系統(tǒng)將靜態(tài)分析與動(dòng)態(tài)分析相結(jié)合,將待檢測(cè)文件通過(guò)靜態(tài)分析得到的基本信息與動(dòng)態(tài)運(yùn)行產(chǎn)生的監(jiān)控行為記錄相結(jié)合,更全面的對(duì)文件進(jìn)行診斷。
(2)高檢測(cè)效率
本發(fā)明實(shí)施例的文件檢測(cè)系統(tǒng)采用自設(shè)計(jì)輕量級(jí)虛擬機(jī),可在同一系統(tǒng)平臺(tái)同時(shí)運(yùn)行多個(gè)虛擬機(jī),即同時(shí)檢測(cè)多個(gè)樣本,充分利用了機(jī)器的性能,提高了檢測(cè)效率。
(3)文件保密性高
本發(fā)明實(shí)施例的文件檢測(cè)系統(tǒng)對(duì)待檢測(cè)文件在中不同位置(數(shù)據(jù)庫(kù)、檢測(cè)引擎)進(jìn)行加解密,從而保護(hù)業(yè)務(wù)方對(duì)樣本文件私密性的要求。
由此可知,現(xiàn)有技術(shù)存在的采用基于特征碼的技術(shù)進(jìn)行文件檢測(cè)造成的在病毒文件稍有變化時(shí),文件檢測(cè)準(zhǔn)確性較低的問(wèn)題,本發(fā)明提出一種基于惡意行為集合進(jìn)行 文件檢測(cè)的方法,從而達(dá)到了采用惡意行為比對(duì)的方式進(jìn)行文件檢測(cè),細(xì)化文件檢測(cè)粒度的目的,從而實(shí)現(xiàn)了文件檢測(cè)準(zhǔn)確性較高的技術(shù)效果。
實(shí)施例6
本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于保存上述實(shí)施例一所提供的文件檢測(cè)方法所執(zhí)行的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:獲取文件檢測(cè)任務(wù),其中,所述文件檢測(cè)任務(wù)至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行所述待檢測(cè)文件的基本信息;將所述文件檢測(cè)任務(wù)發(fā)送至檢測(cè)引擎,其中,由所述檢測(cè)引擎根據(jù)所述存儲(chǔ)地址從文件服務(wù)器中獲取所述待檢測(cè)文件,基于所述用于運(yùn)行所述待檢測(cè)文件的基本信息運(yùn)行并監(jiān)控所述待檢測(cè)文件,生成對(duì)應(yīng)所述待檢測(cè)文件的監(jiān)控行為記錄;接收所述檢測(cè)引擎返回的所述監(jiān)控行為記錄;確定所述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為;根據(jù)所述惡意行為,確定所述待檢測(cè)文件是否為惡意文件。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:生成所述預(yù)設(shè)的惡意行為集合。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:創(chuàng)建第一訓(xùn)練樣本集合和第二訓(xùn)練樣本集合,其中,所述第一訓(xùn)練樣本集合包括至少一個(gè)惡意樣本文件,第二訓(xùn)練樣本集合包括至少一個(gè)正常樣本文件;獲取運(yùn)行每個(gè)所述惡意樣本文件時(shí)的第一樣本行為記錄,以及運(yùn)行每個(gè)所述正常樣本文件時(shí)的第二樣本行為記錄;計(jì)算每個(gè)所述第一樣本行為記錄中各個(gè)樣本行為的第一行為頻率,以及每個(gè)所述第二樣本行為中各個(gè)樣本行為的第二行為頻率;基于所述第一行為頻率和所述第二行為頻率,生成第一樣本行為集合和第二樣本行為集合,其中,所述第一樣本行為集合包括第一行為頻率大于第一預(yù)設(shè)閾值的行為,所述第二樣本行為集合包括第二行為頻率大于第二預(yù)設(shè)閾值的行為;根據(jù)所述第一樣本行為集合與所述第二樣本行為集合,得到所述預(yù)設(shè)的惡意行為集合。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:對(duì)所述第一樣本行為集合與所述第二樣本行為集合進(jìn)行交集運(yùn)算,得到第三樣本行為集合,其中,所述第三樣本行為集合中包括所述第一樣本行為集合與所述第二樣本行為集合中相同 的行為;從所述第一樣本行為集合中刪除所述第三樣本行為集合中的行為,得到所述預(yù)設(shè)的惡意行為集合。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:計(jì)算所述惡意行為的數(shù)量;判斷所述惡意行為的數(shù)量是否大于第三預(yù)設(shè)閾值;若所述惡意行為的數(shù)量大于所述第三預(yù)設(shè)閾值,則確定所述待檢測(cè)文件為所述惡意文件。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:接收客戶端發(fā)送的所述待檢測(cè)文件;對(duì)所述待檢測(cè)文件進(jìn)行預(yù)處理,得到所述用于運(yùn)行所述待檢測(cè)文件的基本信息;采用非對(duì)稱算法對(duì)所述待檢測(cè)文件進(jìn)行加密;將所述用于運(yùn)行所述待檢測(cè)文件的基本信息保存至數(shù)據(jù)庫(kù),以及將加密后的所述待檢測(cè)文件保存至所述文件服務(wù)器;其中,在所述檢測(cè)引擎根據(jù)所述存儲(chǔ)地址從所述文件服務(wù)器中獲取所述待檢測(cè)文件之后,所述基于所述用于運(yùn)行所述待檢測(cè)文件的基本信息運(yùn)行所述待檢測(cè)文件之前,所述方法還包括:所述檢測(cè)引擎對(duì)所述待檢測(cè)文件進(jìn)行解密。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例1中所描述的示例,本實(shí)施例在此不再贅述。
實(shí)施例7
本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于保存上述實(shí)施例二所提供的文件檢測(cè)方法所執(zhí)行的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:接收文件檢測(cè)裝置發(fā)送的文件檢測(cè)任務(wù),所述文件檢測(cè)任務(wù)中至少包括待檢測(cè)文件的存儲(chǔ)地址以及用于運(yùn)行所述待檢測(cè)文件的基本信息;根據(jù)所述待檢測(cè)文件的存儲(chǔ)地址,從文件服務(wù)器中獲取所述待檢測(cè)文件;基于所述用于運(yùn)行所述待檢測(cè)文件的基本信息,運(yùn)行并監(jiān)控所述待檢測(cè)文件,生成對(duì)應(yīng)所述待檢測(cè)文件的監(jiān)控行為記錄;將所述監(jiān)控行為記錄發(fā)送至所述文件檢測(cè)裝置,其中,由所述文件檢測(cè)裝置確定所述監(jiān)控行為記錄中與預(yù)設(shè)的惡意行為集合相同的惡意行為,根據(jù)所述惡意行為,判斷所述待檢測(cè)文 件是否為惡意文件。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:基于每個(gè)所述用于運(yùn)行所述待檢測(cè)文件的基本信息,在建立的至少兩個(gè)虛擬機(jī)中運(yùn)行各個(gè)待檢測(cè)文件,其中,每個(gè)虛擬機(jī)對(duì)應(yīng)一個(gè)待檢測(cè)文件;在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中,調(diào)用預(yù)設(shè)動(dòng)態(tài)鏈接庫(kù)DLL中的函數(shù)分別對(duì)所述各個(gè)待檢測(cè)文件進(jìn)行監(jiān)控,生成對(duì)應(yīng)所述各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:獲取加密后的所述各個(gè)待檢測(cè)文件的解密算法;依據(jù)所述解密算法對(duì)所述各個(gè)待檢測(cè)文件進(jìn)行解密;根據(jù)每個(gè)所述用于運(yùn)行所述待檢測(cè)文件的基本信息,在所述至少兩個(gè)虛擬機(jī)中構(gòu)造虛擬運(yùn)行環(huán)境;基于所述虛擬運(yùn)行環(huán)境,在所述至少兩個(gè)虛擬機(jī)中分別運(yùn)行所述各個(gè)待檢測(cè)文件,其中,將在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中產(chǎn)生的讀寫操作重定向至各個(gè)虛擬機(jī)配置的地址中。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:將所述DLL注入所述各個(gè)待檢測(cè)文件;在運(yùn)行所述各個(gè)待檢測(cè)文件的過(guò)程中,采用掛鉤HOOK技術(shù)對(duì)ntdll.dll函數(shù)進(jìn)行監(jiān)控,生成所述對(duì)應(yīng)所述各個(gè)待檢測(cè)文件的監(jiān)控行為記錄。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例2中所描述的示例,本實(shí)施例在此不再贅述。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的訂單信息的處理裝置,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。