欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文件的數(shù)據(jù)特征提取方法、裝置及病毒特征檢測(cè)系統(tǒng)的制作方法

文檔序號(hào):10655925閱讀:367來源:國知局
文件的數(shù)據(jù)特征提取方法、裝置及病毒特征檢測(cè)系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種文件的數(shù)據(jù)特征提取方法、裝置及病毒特征檢測(cè)系統(tǒng)。其中,該文件的數(shù)據(jù)特征提取方法包括:接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;匯總多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征。通過本發(fā)明,解決了相關(guān)技術(shù)中進(jìn)行文件的特征提取需要還原流數(shù)據(jù)導(dǎo)致的效率低、占用資源高的問題,提高了文件的特征提取效率,降低了文件的特征提取的資源占用。
【專利說明】
文件的數(shù)據(jù)特征提取方法、裝置及病毒特征檢測(cè)系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及病毒檢測(cè)領(lǐng)域,具體而言,涉及一種文件的數(shù)據(jù)特征提取方法、裝置,以及病毒特征檢測(cè)方法、系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)的普及,以及安全形式的多樣化,安全防范形式也趨于復(fù)雜化和集成化,而反病毒軟件,也更多的被作為一個(gè)安全模塊,集成在一個(gè)大的安全硬件平臺(tái)之中。例如防病毒網(wǎng)關(guān)、UTM、網(wǎng)閘、防火墻、IPS等設(shè)備產(chǎn)品。由于網(wǎng)關(guān)的硬件安全設(shè)備加入融合反病毒模塊后,對(duì)設(shè)備的性能、資源占用、帶寬處理要求都極高。
[0003]第一代是應(yīng)用于網(wǎng)關(guān)的全文件特征的病毒檢測(cè)引擎。
[0004]傳統(tǒng)的防病毒網(wǎng)關(guān)、UTM、網(wǎng)閘、防火墻、IPS產(chǎn)品與反病毒引擎的結(jié)合具有很大的局限性,因?yàn)橐鎸?duì)文件的檢測(cè),需要針對(duì)完整的文件,而作為防病毒網(wǎng)關(guān)、UTM、網(wǎng)閘、防火墻、IPS產(chǎn)品,如果要使用傳統(tǒng)的反病毒引擎,則網(wǎng)關(guān)產(chǎn)品必須要額外增加一份數(shù)據(jù)流重組還原的工作,即需要網(wǎng)關(guān)產(chǎn)品將流過網(wǎng)關(guān)的數(shù)據(jù)先還原出原始文件,然后將原始文件交給引擎檢測(cè),最后根據(jù)檢測(cè)結(jié)果來對(duì)數(shù)據(jù)進(jìn)行放行或者阻斷處理。這里就出現(xiàn)了幾個(gè)很嚴(yán)重的問題:
[0005]第一、網(wǎng)關(guān)產(chǎn)品需要額外做一個(gè)數(shù)據(jù)流重組還原的操作,這部分會(huì)占用系統(tǒng)非常大的資源,包括(PU和內(nèi)存,甚至遠(yuǎn)超了網(wǎng)關(guān)產(chǎn)品自身所需資源。
[0006]第二、在并發(fā)會(huì)話多、且長(zhǎng)鏈接較多時(shí)候,對(duì)內(nèi)存的占用很驚人,成井噴狀增長(zhǎng),導(dǎo)致資源耗盡或卡死。一般應(yīng)對(duì)方法是限制并發(fā)會(huì)話個(gè)數(shù),但是限制并發(fā)會(huì)話個(gè)數(shù)就會(huì)導(dǎo)致網(wǎng)關(guān)產(chǎn)品的并發(fā)處理能力無法提升,外在的表現(xiàn)就是:網(wǎng)絡(luò)數(shù)據(jù)包丟包率和重傳率大大增加,網(wǎng)絡(luò)速度緩慢。
[0007]第三、網(wǎng)關(guān)為產(chǎn)品和引擎的同步,也可能會(huì)存在延遲,而且引擎自身的檢測(cè)耗時(shí)會(huì)直接影響到網(wǎng)絡(luò)傳輸速度。
[0008]這是與網(wǎng)關(guān)類產(chǎn)品結(jié)合的第一代病毒檢測(cè)引擎,國內(nèi)的反病毒廠商,目前還有大部分是采用這種方式的。
[0009]第二代是應(yīng)用于網(wǎng)關(guān)的流特征病毒檢測(cè)引擎。
[0010]由于第一代的引擎與網(wǎng)關(guān)結(jié)合存在巨大的缺陷,國內(nèi)極少數(shù)的反病毒廠商開始嘗試減小缺陷帶來的副作用,于是就出現(xiàn)了第二代應(yīng)用于防病毒網(wǎng)關(guān)、UTM、網(wǎng)閘、防火墻、IPS產(chǎn)品的病毒檢測(cè)引擎。
[0011]第二代引擎的根本出發(fā)點(diǎn)是減小數(shù)據(jù)還原時(shí)候占用的內(nèi)存,提高會(huì)話并發(fā)性能。其根本的實(shí)現(xiàn)原理是:將病毒的特征提取位置限定在文件的首部片段內(nèi),例如有一個(gè)1MB的樣本,提取特征時(shí)候,將特征位置限定在樣本的前面5MB之內(nèi),那么在還原數(shù)據(jù)流的時(shí)候,就可以只還原5MB數(shù)據(jù),從而可以達(dá)到節(jié)省內(nèi)存的目的,節(jié)省出來的內(nèi)存可以用來處理更多的會(huì)話。
[0012]第二代引擎在一定范圍內(nèi),減小了缺陷帶來的副作用,但是,同時(shí)又會(huì)帶來一些潛在的隱患,而且這些隱患不可解決。
[0013]首先,假設(shè)每個(gè)會(huì)話至少需要5MB內(nèi)存做數(shù)據(jù)還原,那么并發(fā)一百個(gè)鏈接時(shí)候,就需要500MB內(nèi)存,如果并發(fā)一千個(gè)會(huì)話,就需要5GB的內(nèi)存,這對(duì)網(wǎng)關(guān)類產(chǎn)品本身資源的占用,依然是很不合理,很難接收。
[0014]其次,病毒程序中的惡意代碼位置,可能存在與文件的任何一個(gè)地方,并非都位于樣本前面一段,所以提取特征時(shí)將特征限制在文件的前面一段,會(huì)導(dǎo)致提取的特征并非關(guān)鍵信息,質(zhì)量很低下,誤報(bào)率大量增加。

【發(fā)明內(nèi)容】

[0015]本發(fā)明提供了一種文件的數(shù)據(jù)特征提取方法、裝置,以及病毒特征檢測(cè)方法、系統(tǒng),以至少解決相關(guān)技術(shù)中進(jìn)行文件的特征提取需要還原流數(shù)據(jù)導(dǎo)致的效率低、占用資源高的問題。
[0016]根據(jù)本發(fā)明的一個(gè)方面,提供了一種文件的數(shù)據(jù)特征提取方法,包括:接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取所述多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0017]可選地,所述文件的數(shù)據(jù)特征提取方法通過為同一會(huì)話單獨(dú)分配的檢測(cè)引擎執(zhí)行。
[0018]可選地,在接收屬于所述同一會(huì)話的所述多個(gè)流數(shù)據(jù)之前,所述方法還包括:調(diào)用所述檢測(cè)引擎的初始化接口,以使所述檢測(cè)引擎初始化。
[0019]可選地,迭代提取所述多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征包括:調(diào)用所述檢測(cè)引擎的迭代特征初始化接口,以使所述檢測(cè)引擎初始化所存儲(chǔ)的數(shù)據(jù)特征;每當(dāng)收到所述多個(gè)流數(shù)據(jù)中的一個(gè)流數(shù)據(jù),則調(diào)用所述檢測(cè)引擎的迭代生成多點(diǎn)特征接口,以使所述檢測(cè)引擎提取并存儲(chǔ)該流數(shù)據(jù)的數(shù)據(jù)特征。
[0020]可選地,匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征包括:在屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,調(diào)用所述檢測(cè)引擎的迭代特征匯總接口,以使所述檢測(cè)引擎匯總所述多個(gè)流數(shù)據(jù)中屬于所述同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0021]可選地,在匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征之后,所述方法還包括:將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息。
[0022]可選地,在所述文件的數(shù)據(jù)特征提取方法通過分配給所述同一會(huì)話的檢測(cè)引擎執(zhí)行的情況下,將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息包括:調(diào)用所述檢測(cè)引擎的特征檢測(cè)接口,以使所述檢測(cè)引擎將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息。
[0023]可選地,在完成所述同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,所述方法還包括:調(diào)用所述檢測(cè)引擎的引擎釋放接口,以使所述檢測(cè)引擎釋放占用的資源。
[0024]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種文件的數(shù)據(jù)特征提取裝置,包括:迭代模塊,用于接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取所述多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;匯總模塊,用于匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0025]可選地,所述裝置還包括:匹配模塊,用于將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;返回模塊,用于在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息。
[0026]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種病毒特征檢測(cè)系統(tǒng),包括:為同一會(huì)話單獨(dú)分配的檢測(cè)引擎,其中,所述檢測(cè)引擎包括:初始化接口,用于初始化所述檢測(cè)引擎;迭代特征初始化接口,用于初始化所述檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征;迭代生成多點(diǎn)特征接口,用于接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征;迭代特征匯總接口,用于在所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于所述同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征;特征檢測(cè)接口,用于將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息;引擎釋放接口,用于在完成所述同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放所述檢測(cè)引擎占用的資源。
[0027]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種病毒特征檢測(cè)方法,包括:初始化為同一會(huì)話單獨(dú)分配的檢測(cè)引擎;初始化所述檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征;接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征;在所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于所述同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征;將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息;在完成所述同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放所述檢測(cè)引擎占用的資源。
[0028]通過本發(fā)明,采用接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;匯總多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征的方式,解決了相關(guān)技術(shù)中進(jìn)行文件的特征提取需要還原流數(shù)據(jù)導(dǎo)致的效率低、占用資源高的問題,提高了文件的特征提取效率,降低了文件的特征提取的資源占用。
【附圖說明】
[0029]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0030]圖1是根據(jù)本發(fā)明實(shí)施例的文件的數(shù)據(jù)特征提取方法的流程圖;
[0031 ]圖2是根據(jù)本發(fā)明實(shí)施例的文件的數(shù)據(jù)特征提取裝置的結(jié)構(gòu)框圖;
[0032]圖3是根據(jù)本發(fā)明實(shí)施例的病毒特征檢測(cè)方法的流程圖;
[0033]圖4是根據(jù)相關(guān)技術(shù)的低并發(fā)檢測(cè)引擎的工作示意圖;
[0034]圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎并發(fā)處理的工作示意圖;
[0035]圖6是根據(jù)相關(guān)技術(shù)的需要對(duì)流數(shù)據(jù)還原和緩存的流數(shù)據(jù)處理示意圖;
[0036]圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎無緩存的流數(shù)據(jù)處理示意圖;
[0037]圖8是根據(jù)相關(guān)技術(shù)的檢測(cè)引擎需進(jìn)行數(shù)據(jù)還原的流數(shù)據(jù)處理的示意圖;
[0038]圖9是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎的流數(shù)據(jù)迭代處理的示意圖;
[0039]圖10是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎的工作流程圖。
【具體實(shí)施方式】
[0040]下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0041]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。
[0042]在本實(shí)施例中提供了一種文件的數(shù)據(jù)特征提取方法,圖1是根據(jù)本發(fā)明實(shí)施例的文件的數(shù)據(jù)特征提取方法的流程圖,如圖1所示,該流程包括如下步驟:
[0043]步驟SlOl,接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;
[0044]步驟S102,匯總多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0045]在上述步驟中,分別對(duì)屬于同一會(huì)話的流數(shù)據(jù)迭代提取數(shù)據(jù)特征,并將其中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征進(jìn)行匯總,從而得到完整文件的數(shù)據(jù)特征。一方面,單一的流數(shù)據(jù)的數(shù)據(jù)特征提取過程不需要進(jìn)行數(shù)據(jù)還原,因此,節(jié)省了數(shù)據(jù)還原需要的緩存占用和內(nèi)存開銷;另一方面,對(duì)于同一個(gè)文件的全部流數(shù)據(jù)的數(shù)據(jù)特征最終進(jìn)行匯總,相當(dāng)于得到了整個(gè)文件的數(shù)據(jù)特征,避免了僅還原并獲取部分文件的數(shù)據(jù)特征所導(dǎo)致的數(shù)據(jù)特征漏檢、病毒特征漏報(bào)的問題??梢?,通過上述步驟,解決了相關(guān)技術(shù)中進(jìn)行文件的特征提取需要還原流數(shù)據(jù)導(dǎo)致的效率低、占用資源高的問題,提高了文件的特征提取效率,降低了文件的特征提取的資源占用。
[0046]可選地,上述的文件的數(shù)據(jù)特征提取方法通過為同一會(huì)話單獨(dú)分配的檢測(cè)引擎執(zhí)行。即對(duì)于每一個(gè)會(huì)話(或者進(jìn)程)分別創(chuàng)建或者分配一個(gè)檢測(cè)引擎,并發(fā)運(yùn)行的引擎數(shù)量由會(huì)話數(shù)或者進(jìn)程數(shù)確定。
[0047]上述的檢測(cè)引擎可以預(yù)留多種功能接口,這樣,就可以將檢測(cè)引擎嵌入各種其他的軟件中,其他的軟件通過這些功能接口對(duì)檢測(cè)引擎進(jìn)行調(diào)用。
[0048]可選地,在上述方法應(yīng)用于檢測(cè)引擎中時(shí),在接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù)之前,可以調(diào)用檢測(cè)引擎的初始化接口,以使檢測(cè)引擎初始化。
[0049]可選地,在上述方法應(yīng)用于檢測(cè)引擎中時(shí),在步驟SlOl中迭代提取多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征時(shí),可以調(diào)用檢測(cè)引擎的迭代特征初始化接口,以使檢測(cè)引擎初始化所存儲(chǔ)的數(shù)據(jù)特征;每當(dāng)收到多個(gè)流數(shù)據(jù)中的一個(gè)流數(shù)據(jù),則調(diào)用檢測(cè)引擎的迭代生成多點(diǎn)特征接口,以使檢測(cè)引擎提取并存儲(chǔ)該流數(shù)據(jù)的數(shù)據(jù)特征。
[0050]可選地,在上述方法應(yīng)用于檢測(cè)引擎中時(shí),在步驟S102中,可以在屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,調(diào)用檢測(cè)引擎的迭代特征匯總接口,以使檢測(cè)引擎匯總多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0051]可選地,在步驟S102之后,為了實(shí)現(xiàn)病毒檢測(cè),可以將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;在確定特征匹配的情況下,返回同一文件攜帶的病毒信息。其中,為了保證預(yù)設(shè)的病毒庫為最新病毒庫,在檢測(cè)引擎初始化之后,檢測(cè)引擎可以獲取最新的病毒庫版本信息。通過該方式,實(shí)現(xiàn)了文件病毒的檢測(cè)功能。
[0052]可選地,在上述方法應(yīng)用于檢測(cè)引擎中時(shí),在文件的數(shù)據(jù)特征提取方法通過分配給同一會(huì)話的檢測(cè)引擎執(zhí)行的情況下,將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;在確定特征匹配的情況下,返回同一文件攜帶的病毒信息的情況下,可以調(diào)用檢測(cè)引擎的特征檢測(cè)接口,以使檢測(cè)引擎將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回同一文件攜帶的病毒信息。
[0053]可選地,在上述方法應(yīng)用于檢測(cè)引擎中時(shí),在完成同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,可以調(diào)用檢測(cè)引擎的引擎釋放接口,以使檢測(cè)引擎釋放占用的資源。通過該方式實(shí)現(xiàn)了檢測(cè)引擎的資源釋放。
[0054]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0055]在本實(shí)施例中還提供了一種文件的數(shù)據(jù)特征提取裝置,該裝置用于實(shí)現(xiàn)上述實(shí)施例及優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實(shí)現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實(shí)施例所描述的裝置較佳地以軟件來實(shí)現(xiàn),但是硬件,或者軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
[0056]圖2是根據(jù)本發(fā)明實(shí)施例的文件的數(shù)據(jù)特征提取裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括:迭代模塊21,用于接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;匯總模塊22,耦合至迭代模塊21,用于匯總多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0057]可選地,裝置還包括:匹配模塊23,耦合至匯總模塊22,用于將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;返回模塊,用于在確定特征匹配的情況下,返回同一文件攜帶的病毒信息。
[0058]上述實(shí)施例給出了文件的數(shù)據(jù)特征提取裝置的內(nèi)部結(jié)構(gòu)示意,并對(duì)各個(gè)內(nèi)部模塊的功能進(jìn)行了描述。
[0059]需要說明的是,上述各個(gè)模塊是可以通過軟件或硬件來實(shí)現(xiàn)的,對(duì)于后者,可以通過以下方式實(shí)現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個(gè)處理器中。
[0060]在本實(shí)施例中還提供了一種病毒特征檢測(cè)系統(tǒng),包括:一個(gè)或者多個(gè)檢測(cè)引擎,這些檢測(cè)引擎分別為同一會(huì)話單獨(dú)分配的檢測(cè)引擎。
[0061]其中,檢測(cè)引擎的內(nèi)部結(jié)構(gòu)與上述的文件的數(shù)據(jù)特征提取裝置的內(nèi)部結(jié)構(gòu)相當(dāng)。為了能夠讓檢測(cè)引擎能夠嵌入到其他的軟件中,在檢測(cè)引擎外部預(yù)先設(shè)置了多種功能接口,這些功能接口包括但不限于:初始化接口、迭代特征初始化接口、迭代生成多點(diǎn)特征接口、迭代特征匯總接口、特征檢測(cè)接口、引擎釋放接口等。這些功能接口與檢測(cè)引擎內(nèi)部的模塊連接,用于在接收外部指令的調(diào)用時(shí),使用相應(yīng)的模塊完成對(duì)應(yīng)的功能。
[0062]例如,初始化接口,用于初始化檢測(cè)引擎;迭代特征初始化接口,用于初始化檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征;迭代生成多點(diǎn)特征接口,用于接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征;迭代特征匯總接口,用于在多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征;特征檢測(cè)接口,用于將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回同一文件攜帶的病毒信息;引擎釋放接口,用于在完成同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放檢測(cè)引擎占用的資源。
[0063]在本實(shí)施例中還提供了一種病毒特征檢測(cè)方法。圖3是根據(jù)本發(fā)明實(shí)施例的病毒特征檢測(cè)方法的流程圖,如圖3所示,該流程包括如下步驟:
[0064]步驟S301,初始化為同一會(huì)話單獨(dú)分配的檢測(cè)引擎;
[0065]步驟S302,初始化檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征;
[0066]步驟S303,接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征;
[0067]步驟S304,在多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征;
[0068]步驟S305,將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回同一文件攜帶的病毒信息;
[0069]步驟S306,在完成同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放檢測(cè)引擎占用的資源。
[0070]通過上述步驟,實(shí)現(xiàn)了病毒檢測(cè);并且,在病毒檢測(cè)過程中,檢測(cè)引擎的檢測(cè)效率尚,占用資源開銷少,病毒檢出率尚。
[0071]本實(shí)施例還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí)施方式中描述的技術(shù)方案。
[0072]本實(shí)施例還提供了一種存儲(chǔ)介質(zhì)。在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:
[0073]步驟SlOl,接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征;
[0074]步驟S102,匯總多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征。
[0075]本實(shí)施例還提供了一種存儲(chǔ)介質(zhì)。在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:
[0076]步驟S301,初始化為同一會(huì)話單獨(dú)分配的檢測(cè)引擎;
[0077]步驟S302,初始化檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征;
[0078]步驟S303,接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征;
[0079]步驟S304,在多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含同一文件的至少一個(gè)文件的數(shù)據(jù)特征;
[0080]步驟S305,將同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回同一文件攜帶的病毒信息;
[0081]步驟S306,在完成同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放檢測(cè)引擎占用的資源。
[0082]可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:U盤、只讀存儲(chǔ)器(Read-Only Memory,簡(jiǎn)稱為ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱為RAM)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0083]本實(shí)施例中的具體示例可以參考上述實(shí)施例及可選實(shí)施方式中所描述的示例,本實(shí)施例在此不再贅述。
[0084]為了使本發(fā)明實(shí)施例的描述更加清楚,下面結(jié)合優(yōu)選實(shí)施例進(jìn)行描述和說明。
[0085]本發(fā)明優(yōu)選實(shí)施例將上述的文件的數(shù)據(jù)特征提取方法應(yīng)用在Linux系統(tǒng)的病毒檢測(cè)技術(shù)中,在本優(yōu)選實(shí)施例中將以Linux系統(tǒng)的病毒檢測(cè)為例進(jìn)行描述和說明。
[0086]本優(yōu)選實(shí)施例提供了一種Linux流迭代嵌入式病毒檢測(cè)引擎和檢測(cè)方法,其目的是至少達(dá)到以下效果之一:避免做數(shù)據(jù)會(huì)話還原;避免大內(nèi)存來存儲(chǔ)會(huì)話;高并發(fā),支持同時(shí)創(chuàng)建上千個(gè)引擎;高效率,檢測(cè)效率高;精確率高,可以對(duì)已知病毒精確定位,無誤報(bào)。
[0087]本優(yōu)選實(shí)施例實(shí)現(xiàn)高并發(fā)
[0088]病毒檢測(cè)引擎是否能支持并發(fā),直接關(guān)系到網(wǎng)關(guān)類產(chǎn)品的性能。如果十個(gè)會(huì)話只能使用兩個(gè)引擎進(jìn)行輪詢掃描,那么同一時(shí)間必然會(huì)有八個(gè)會(huì)話處于等待狀態(tài),同時(shí)還需要處理資源競(jìng)爭(zhēng)和同步。這就造成了堵塞,性能瓶頸卡在了引擎檢測(cè)。圖4是根據(jù)相關(guān)技術(shù)的低并發(fā)檢測(cè)引擎的工作示意圖,如圖4所示,相關(guān)技術(shù)中的檢測(cè)引擎限制了最大并發(fā)的引擎數(shù)量,并發(fā)性能不高的檢測(cè)引擎在處理會(huì)話時(shí)多個(gè)會(huì)話需要排隊(duì)等待處理,增加了檢測(cè)的時(shí)延,檢測(cè)效率低。
[0089]假如可以創(chuàng)建十個(gè)引擎,每個(gè)引擎獨(dú)自處理一個(gè)會(huì)話,那么就不存在資源競(jìng)爭(zhēng),也不會(huì)有會(huì)話處于等待狀態(tài)。從而提升整體性能,這就是弓I擎支持并發(fā)的必要性。
[0090]圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎并發(fā)處理的工作示意圖,如圖5所示,本優(yōu)選實(shí)施例中提供的Linux流迭代嵌入式病毒檢測(cè)引擎提升了對(duì)并發(fā)數(shù)量的支持,無論是在多線程環(huán)境,還是在多進(jìn)程環(huán)境中,都可以創(chuàng)建多個(gè)引擎,來檢測(cè)病毒。例如用戶在自己的設(shè)備中創(chuàng)建了一百個(gè)線程,每個(gè)線程中都創(chuàng)建一個(gè)獨(dú)立的引擎,用來處理不同的會(huì)話。需要說明的是,在本發(fā)明優(yōu)選實(shí)施例中Linux流迭代嵌入式病毒檢測(cè)引擎的實(shí)際并發(fā)支持并不限于一百,并發(fā)數(shù)可以多于一千。
[0091 ]本優(yōu)選實(shí)施例實(shí)現(xiàn)無緩存
[0092]使用本發(fā)明優(yōu)選實(shí)施例提供的Linux流迭代嵌入式病毒檢測(cè)引擎,進(jìn)行樣本檢測(cè)時(shí)候,不需要對(duì)流數(shù)據(jù)進(jìn)行還原和緩存,故不需要大量的內(nèi)存空間,也不會(huì)消耗過多的CPU資源。圖6是根據(jù)相關(guān)技術(shù)的需要對(duì)流數(shù)據(jù)還原和緩存的流數(shù)據(jù)處理示意圖,如圖6所示,傳統(tǒng)引擎需要緩存,中間陰影部分為需要緩存會(huì)話占用的內(nèi)存空間。
[0093]圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎無緩存的流數(shù)據(jù)處理示意圖,如圖7所示,Linux流迭代嵌入式病毒檢測(cè)引擎不需要緩存,去掉了緩存部分,減少了內(nèi)存占用。
[0094]本優(yōu)選實(shí)施例實(shí)現(xiàn)流迭代
[0095]流迭代,是針對(duì)網(wǎng)關(guān)類產(chǎn)品開發(fā)出的針對(duì)性接口,即用戶可以使用提供的接口,對(duì)流數(shù)據(jù)進(jìn)行迭代檢測(cè)。
[0096]圖8是根據(jù)相關(guān)技術(shù)的檢測(cè)引擎需進(jìn)行數(shù)據(jù)還原的流數(shù)據(jù)處理的示意圖,如圖8所示,第一代和第二代應(yīng)用在網(wǎng)關(guān)的引擎,都是需要等待數(shù)據(jù)還原完成或者還原到一定大小之后,才可以使用引擎檢測(cè),所以必須得緩存會(huì)話。
[0097]圖9是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎的流數(shù)據(jù)迭代處理的示意圖,如圖9所示,Linux流迭代嵌入式病毒檢測(cè)引擎可以對(duì)每個(gè)數(shù)據(jù)流段進(jìn)行檢測(cè),對(duì)檢測(cè)的多點(diǎn)特征結(jié)果進(jìn)行迭代,得到最終的檢測(cè)結(jié)果。
[0098]本優(yōu)選實(shí)施例實(shí)現(xiàn)零誤報(bào)
[0099]在本優(yōu)選實(shí)施例中,誤報(bào)率的控制通過多個(gè)方面綜合防范,可以達(dá)到了無限接近零誤報(bào)(概率小于百萬分之一)。
[0100]樣本收集和特征提取環(huán)節(jié),有多個(gè)質(zhì)量把控環(huán)節(jié)來保證提取的樣本特征質(zhì)量,包括多道自動(dòng)化及人工處理工序,來降低誤報(bào)率。
[0101]白名單的處理環(huán)節(jié),有收集主流的操作系統(tǒng),應(yīng)用軟件等白名單,在病毒庫出庫前會(huì)用最新病毒庫對(duì)白名單文件進(jìn)行掃描,從而杜絕系統(tǒng)文件,應(yīng)用軟件等被誤報(bào)。
[0102]尤其是,本發(fā)明優(yōu)選實(shí)施例提供的Linux流迭代嵌入式病毒檢測(cè)引擎的設(shè)計(jì),是針對(duì)全文件的檢測(cè),會(huì)對(duì)流數(shù)據(jù)的每一個(gè)片段進(jìn)行詳細(xì)分析,最終確定結(jié)果。而第二代引擎,只是對(duì)文件的前半部進(jìn)行檢測(cè),對(duì)文件的后半部不做鑒定,故此對(duì)于惡意代碼位于文件后半部的樣本檢測(cè)會(huì)存在漏報(bào),而對(duì)相同前半部但不同后半部的正常樣本則存在誤報(bào)。
[0103]Linux流迭代嵌入式病毒檢測(cè)引擎通過多個(gè)環(huán)節(jié)可以達(dá)到遠(yuǎn)超第一代和第二代的檢測(cè)精準(zhǔn)度,將誤報(bào)率降到最低。
[0104]本優(yōu)選實(shí)施例實(shí)現(xiàn)多平臺(tái)支持
[0105]本優(yōu)選實(shí)施例提供的Linux流迭代嵌入式病毒檢測(cè)引擎是一款定制型引擎,在引擎設(shè)計(jì)時(shí)候,充分考慮到了國內(nèi)各種網(wǎng)關(guān)類產(chǎn)品所使用的硬件平臺(tái)差異,讓引擎的實(shí)現(xiàn)可以支持多種平臺(tái),具有更大的通用性,適應(yīng)信息安全產(chǎn)品國產(chǎn)化的大趨勢(shì)。
[0106]本優(yōu)選實(shí)施例提供的Linux流迭代嵌入式病毒檢測(cè)引擎支持的平臺(tái)包括但不限于:x86架構(gòu)(包括英特爾、AMD等市面流行的常見芯片及架構(gòu))、龍芯MIPS架構(gòu)(支持國產(chǎn)龍芯MIPS架構(gòu),龍芯3A等芯片)、飛騰ARM架構(gòu)(支持飛騰ARM64架構(gòu),F(xiàn)T1500A等芯片)、申威平臺(tái)架構(gòu)等。另外,引擎能支持的平臺(tái),不僅僅限于以上平臺(tái),其他更多的平臺(tái)也可以適應(yīng),只是需要進(jìn)行適配或者二次開發(fā)。
[0107]本優(yōu)選實(shí)施例嵌入開發(fā)易用
[0108]本發(fā)明優(yōu)選實(shí)施例提供的Linux流迭代嵌入式病毒檢測(cè)引擎最終可以提供給第三方嵌入使用,所以接口應(yīng)該盡量簡(jiǎn)單清晰,以方便第三方使用。
[0109]很多引擎接口功能繁多,操作復(fù)雜,導(dǎo)致使用過程中出現(xiàn)各種問題,而本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎提供給第三方的接口,非常簡(jiǎn)易,因?yàn)閷⒑芏鄰?fù)雜的操作都在后臺(tái)實(shí)現(xiàn)了,用戶可以很方便的將引擎嵌入到自己的產(chǎn)品中。
[0110]引擎的接口包括但不限于:初始化引擎接口、釋放引擎接口、獲取病毒庫版本接口、特征初始化接口、特征迭代接口、匯總多點(diǎn)特征接口、檢測(cè)特征接口。
[0111]這些接口的功能如下:
[0112]引擎初始化接口
[0113]引擎在使用之前,需要先調(diào)用初始化函數(shù),為了提高效率,引擎內(nèi)部無鎖,每個(gè)引擎句柄都是獨(dú)立工作,多線程情況下,使用者可以在每個(gè)線程中創(chuàng)建一個(gè)引擎,各個(gè)引擎互不影響。
[0114]引擎釋放接口
[0115]在使用完引擎之后需要調(diào)用引擎釋放接口,以釋放引擎占用的內(nèi)存和其他資源。
[0116]獲取病毒庫版本接口
[0117]在引擎初始化之后,可以獲取引擎使用的病毒庫版本,病毒庫版本是以日期的格式表示,例如:"2015-07-23 15:30:30"。
[0118]迭代特征初始化接口
[0119]在使用引擎對(duì)一個(gè)新的流會(huì)話進(jìn)行檢測(cè)時(shí)候,需要先調(diào)用迭代特征初始化接口,用來初始化迭代的特征,并且可以指定文件檢測(cè)的最大長(zhǎng)度,當(dāng)文件長(zhǎng)度超過設(shè)置的最大長(zhǎng)度時(shí),引擎會(huì)忽略檢測(cè)此類文件。
[0120]迭代多點(diǎn)特征接口
[0121]迭代生成多點(diǎn)特征接口,是在迭代特征初始化完成之后需要調(diào)用的,每次收到一段流數(shù)據(jù)時(shí)候,都要調(diào)用此接口來生成一個(gè)當(dāng)前流數(shù)據(jù)塊的多點(diǎn)特征。
[0122]迭代特征匯總接口
[0123]迭代特征匯總,是在一個(gè)會(huì)話的流傳輸完畢后使用,調(diào)用此接口,可以對(duì)之前生成的多個(gè)流數(shù)據(jù)塊的多點(diǎn)特征進(jìn)行匯總,最終得到一個(gè)綜合的特征權(quán)值。該特征權(quán)值是針對(duì)這一個(gè)完整的流會(huì)話的,用這個(gè)特征權(quán)值,就可以在江民的病毒庫中進(jìn)行特征匹配,檢測(cè)傳輸?shù)牧鲾?shù)據(jù)是否安全。
[0124]特征檢測(cè)接口
[0125]特征檢測(cè)接口,是在完成迭代特征匯總之后,調(diào)用,使用這個(gè)接口可以檢測(cè)最終生成的特征權(quán)值是否安全,如果不安全,則會(huì)返回病毒名信息。
[0126]圖10是根據(jù)本發(fā)明優(yōu)選實(shí)施例的Linux流迭代嵌入式病毒檢測(cè)引擎的工作流程圖,如圖1O所示,流程包括如下步驟:
[0127]步驟I,打開包含接口頭文件。
[0128]步驟2,打開接口動(dòng)態(tài)庫,并導(dǎo)出動(dòng)態(tài)庫中的接口函數(shù)。
[0129]步驟3,調(diào)用初始化接口初始化引擎。
[0130]步驟4,調(diào)用獲取版本接口取得版本信息。
[0131 ]步驟5,調(diào)用迭代特征初始化接口。
[0132]步驟6,對(duì)流數(shù)據(jù)進(jìn)行多次特征迭代調(diào)用。
[0133]步驟7,調(diào)用迭代特征匯總接口,對(duì)多個(gè)迭代特征進(jìn)行匯總。
[0134]步驟8,調(diào)用特征檢測(cè)接口進(jìn)行檢測(cè)。
[0135]步驟9,釋放引擎。
[0136]由上述描述可知,本發(fā)明優(yōu)選實(shí)施例提供的Linux流迭代嵌入式病毒檢測(cè)引擎具有下列優(yōu)點(diǎn):1、無緩存,不需要做會(huì)話還原。2、流迭代,支持迭代生成特征。3、高并發(fā),支持創(chuàng)建多個(gè)引擎,同時(shí)檢測(cè)。4、多平臺(tái),支持多個(gè)平臺(tái)。
[0137]綜上所述,本發(fā)明提供的檢測(cè)引擎是針對(duì)網(wǎng)關(guān)類產(chǎn)品開發(fā)的定制型引擎,有很強(qiáng)的針對(duì)性。從對(duì)該檢測(cè)引擎的性能測(cè)試的結(jié)果來看,檢測(cè)的瓶頸主要存在于系統(tǒng)磁盤10,以及內(nèi)存的讀寫速度上,這部分受限與系統(tǒng)硬件。CPU的消耗,主要集中在對(duì)流數(shù)據(jù)的迭代部分,而病毒特征的監(jiān)測(cè)速度大于每秒鐘I萬條,同時(shí)多線程多并發(fā)的支持非常好。以上性能已經(jīng)能夠滿足網(wǎng)關(guān)類產(chǎn)品的各項(xiàng)需求,適合網(wǎng)類產(chǎn)品集成流迭代引擎。
[0138]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0139]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種文件的數(shù)據(jù)特征提取方法,其特征在于包括: 接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取所述多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征; 匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文件的數(shù)據(jù)特征提取方法通過為同一會(huì)話單獨(dú)分配的檢測(cè)引擎執(zhí)行。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在接收屬于所述同一會(huì)話的所述多個(gè)流數(shù)據(jù)之前,所述方法還包括: 調(diào)用所述檢測(cè)引擎的初始化接口,以使所述檢測(cè)引擎初始化。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,迭代提取所述多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征包括: 調(diào)用所述檢測(cè)引擎的迭代特征初始化接口,以使所述檢測(cè)引擎初始化所存儲(chǔ)的數(shù)據(jù)特征; 每當(dāng)收到所述多個(gè)流數(shù)據(jù)中的一個(gè)流數(shù)據(jù),則調(diào)用所述檢測(cè)引擎的迭代生成多點(diǎn)特征接口,以使所述檢測(cè)引擎提取并存儲(chǔ)該流數(shù)據(jù)的數(shù)據(jù)特征。5.根據(jù)權(quán)利要求2所述的方法,其特征在于,匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征包括: 在屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,調(diào)用所述檢測(cè)引擎的迭代特征匯總接口,以使所述檢測(cè)引擎匯總所述多個(gè)流數(shù)據(jù)中屬于所述同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征。6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征之后,所述方法還包括: 將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配; 在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述文件的數(shù)據(jù)特征提取方法通過分配給所述同一會(huì)話的檢測(cè)引擎執(zhí)行的情況下,將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配;在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息包括: 調(diào)用所述檢測(cè)引擎的特征檢測(cè)接口,以使所述檢測(cè)引擎將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回所述同一文件攜帶的病毒?目息O8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在完成所述同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,所述方法還包括: 調(diào)用所述檢測(cè)引擎的引擎釋放接口,以使所述檢測(cè)引擎釋放占用的資源。9.一種文件的數(shù)據(jù)特征提取裝置,其特征在于包括: 迭代模塊,用于接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),并迭代提取所述多個(gè)流數(shù)據(jù)的數(shù)據(jù)特征; 匯總模塊,用于匯總所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 匹配模塊,用于將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配; 返回模塊,用于在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息。11.一種病毒特征檢測(cè)系統(tǒng),其特征在于包括:為同一會(huì)話單獨(dú)分配的檢測(cè)引擎, 其中,所述檢測(cè)引擎包括: 初始化接口,用于初始化所述檢測(cè)引擎; 迭代特征初始化接口,用于初始化所述檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征; 迭代生成多點(diǎn)特征接口,用于接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征; 迭代特征匯總接口,用于在所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于所述同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征; 特征檢測(cè)接口,用于將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息; 引擎釋放接口,用于在完成所述同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放所述檢測(cè)引擎占用的資源。12.一種病毒特征檢測(cè)方法,其特征在于包括: 初始化為同一會(huì)話單獨(dú)分配的檢測(cè)引擎; 初始化所述檢測(cè)引擎所存儲(chǔ)的數(shù)據(jù)特征; 接收屬于同一會(huì)話的多個(gè)流數(shù)據(jù),提取并存儲(chǔ)接收到的流數(shù)據(jù)的數(shù)據(jù)特征; 在所述多個(gè)流數(shù)據(jù)中屬于同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征都迭代提取完畢之后,匯總屬于所述同一文件的全部流數(shù)據(jù)的數(shù)據(jù)特征,得到包含所述同一文件的至少一個(gè)文件的數(shù)據(jù)特征; 將所述同一文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫進(jìn)行特征匹配,并在確定特征匹配的情況下,返回所述同一文件攜帶的病毒信息; 在完成所述同一會(huì)話中全部文件的數(shù)據(jù)特征與預(yù)設(shè)的病毒庫的特征匹配之后,釋放所述檢測(cè)引擎占用的資源。
【文檔編號(hào)】G06F21/56GK106022129SQ201610326717
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月17日
【發(fā)明人】郭昌盛
【申請(qǐng)人】北京江民新科技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宜兰县| 新野县| 义乌市| 定南县| 涞源县| 仁怀市| 大洼县| 泗水县| 邳州市| 万年县| 宁津县| 苍山县| 五河县| 福清市| 射洪县| 天峻县| 哈密市| 和静县| 莆田市| 汉源县| 东安县| 阜新| 阆中市| 东城区| 尉氏县| 军事| 高唐县| 隆昌县| 安阳县| 南岸区| 乌鲁木齐市| 齐河县| 临朐县| 高要市| 兴和县| 铁力市| 雷山县| 安阳县| 石泉县| 阜城县| 柘城县|