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

反惡意軟件裝置、服務(wù)器和匹配惡意軟件模式的方法

文檔序號(hào):6427738閱讀:326來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):反惡意軟件裝置、服務(wù)器和匹配惡意軟件模式的方法
技術(shù)領(lǐng)域
符合示例性實(shí)施例的方法和設(shè)備涉及一種反惡意軟件裝置、服務(wù)器和匹配惡意軟件模式(malware pattern)的方法,更具體地說(shuō),涉及一種能夠在病毒模式匹配中最小化哈希沖突的反惡意軟件裝置、服務(wù)器和匹配惡意軟件模式的方法。
背景技術(shù)
惡意軟件(malware)是一種被設(shè)計(jì)為用于侵害計(jì)算機(jī)系統(tǒng)的軟件,諸如,計(jì)算機(jī)病毒、木馬程序、惡意代碼等。由于與打開(kāi)附件或者下載并安裝軟件的傳統(tǒng)概念不同,僅通過(guò)點(diǎn)擊著名搜索頁(yè)面的鏈接或圖像,非期望的軟件就被安裝并且系統(tǒng)可被襲擊,所以需要留意惡意軟件。與計(jì)算機(jī)相比,對(duì)操作系統(tǒng)和文件系統(tǒng)的關(guān)注較少,而使用的數(shù)據(jù)的重要性相對(duì)較低,因此,迄今為止,對(duì)于無(wú)線(xiàn)通信系統(tǒng)的移動(dòng)病毒并未被很好地識(shí)別和破壞。然而,隨著移動(dòng)終端的硬件變得高端,并且其中運(yùn)行的應(yīng)用程序變得多樣和復(fù)雜, 過(guò)去攻擊計(jì)算機(jī)的惡意軟件很可能對(duì)移動(dòng)終端造成嚴(yán)重的損害。具體說(shuō)來(lái),隨著移動(dòng)終端互聯(lián)網(wǎng)服務(wù)(諸如WiBro)趨向于普及,除了攻擊計(jì)算機(jī)應(yīng)用程序的脆弱性的惡意軟件之外,還出現(xiàn)了攻擊服務(wù)和便攜式終端應(yīng)用程序(諸如,藍(lán)牙、多媒體消息系統(tǒng)(MMS)等)的脆弱性的移動(dòng)惡意軟件。這些多樣的移動(dòng)惡意軟件會(huì)造成嚴(yán)重的損害,包括引起便攜式終端的故障、數(shù)據(jù)的刪除或用戶(hù)隱私信息的泄露。

發(fā)明內(nèi)容
一個(gè)或多個(gè)示例性實(shí)施例可克服上述缺點(diǎn)以及以上未描述的其它缺點(diǎn)。然而,應(yīng)理解一個(gè)或多個(gè)示例性實(shí)施例不需要克服上述缺點(diǎn),并且可以不克服上述任何問(wèn)題?!獋€(gè)或多個(gè)示例性實(shí)施例提供一種反惡意軟件裝置、服務(wù)器和匹配惡意軟件模式的方法,其在服務(wù)器選擇用于防止哈希沖突的哈希系數(shù)或哈希函數(shù),并將所述哈希系數(shù)或哈希函數(shù)發(fā)送到反惡意軟件裝置,由此最小化哈希沖突。一個(gè)或多個(gè)示例性實(shí)施例還提供一種用于匹配惡意軟件模式的反惡意軟件裝置、 服務(wù)器和方法,其在反惡意軟件系統(tǒng)的服務(wù)器中計(jì)算哈希系數(shù),由此在客戶(hù)機(jī)防止哈希沖突。根據(jù)示例性實(shí)施例的一方面,提供一種反惡意軟件裝置,所述反惡意軟件裝置包括哈希值產(chǎn)生單元,用于通過(guò)使用具有至少一個(gè)哈希系數(shù)的哈希函數(shù)來(lái)產(chǎn)生惡意軟件模式的哈希值以及目標(biāo)數(shù)據(jù)的哈希值;哈希匹配器單元,用于將目標(biāo)數(shù)據(jù)的哈希值匹配到惡意軟件模式的哈希值;以及匹配單元,如果哈希匹配器單元匹配成功,則所述匹配單元將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配。根據(jù)另一示例性實(shí)施例的一方面,提供一種用于將惡意軟件模式發(fā)送到反惡意軟件裝置的服務(wù)器,其中,所述反惡意軟件裝置通過(guò)使用具有哈希系數(shù)的哈希函數(shù)來(lái)執(zhí)行惡意軟件模式匹配,所述服務(wù)器包括更新單元,用于當(dāng)惡意軟件模式被發(fā)送到反惡意軟件裝置時(shí),將哈希系數(shù)發(fā)送到反惡意軟件裝置。根據(jù)另一示例性實(shí)施例的一方面,提供一種用于通過(guò)使用哈希系數(shù)來(lái)執(zhí)行惡意軟件模式匹配操作的方法,所述方法包括基于惡意軟件模式來(lái)選擇哈希系數(shù),使得惡意軟件模式的哈希值之間的沖突概率被最小化;通過(guò)使用選擇的哈希系數(shù)來(lái)計(jì)算惡意軟件的哈希值;當(dāng)惡意軟件模式的哈希值中的至少一個(gè)與目標(biāo)數(shù)據(jù)的哈希值彼此匹配時(shí),將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配。根據(jù)另一示例性實(shí)施例的一方面,提供一種通過(guò)使用哈希函數(shù)進(jìn)行的惡意軟件模式匹配方法,所述方法包括通過(guò)使用哈希函數(shù)來(lái)計(jì)算惡意軟件模式的哈希值;通過(guò)使用哈希函數(shù)來(lái)計(jì)算目標(biāo)數(shù)據(jù)的哈希值;當(dāng)惡意軟件模式的哈希值與目標(biāo)數(shù)據(jù)的哈希值彼此匹配時(shí),將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配;確定計(jì)算的惡意軟件模式數(shù)據(jù)的哈希值是否彼此沖突。示例性實(shí)施例的附加方面和優(yōu)點(diǎn)將在下面的詳細(xì)描述中進(jìn)行闡述,將通過(guò)所述詳細(xì)描述而變得清楚,或者可通過(guò)對(duì)示例性實(shí)施例的實(shí)踐而獲知。


通過(guò)參照附圖進(jìn)行的對(duì)示例性實(shí)施例的詳細(xì)描述,本發(fā)明的上述和/或其它方面將會(huì)更加清楚,其中圖1是根據(jù)本發(fā)明示例性實(shí)施例的反惡意軟件系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明示例性實(shí)施例的用于解釋發(fā)送到反惡意軟件裝置的惡意軟件模式數(shù)據(jù)的包和/或文件的格式的示圖;圖3示意性示出在哈希值產(chǎn)生單元中產(chǎn)生用于第一惡意軟件模式數(shù)據(jù)中的病毒模式數(shù)據(jù)的哈希值的一系列操作;圖4是第一哈希匹配器表和第一子項(xiàng)匹配器(sub matcher)表;圖5是模式DB的表;圖6是第二哈希匹配器表和第二子項(xiàng)匹配器表;圖7是根據(jù)本發(fā)明另一示例性實(shí)施例的反惡意軟件系統(tǒng)的框圖;圖8是示出根據(jù)本發(fā)明示例性實(shí)施例的惡意軟件模式匹配方法中服務(wù)器的操作的流程圖;圖9是根據(jù)本發(fā)明示例性實(shí)施例的反惡意軟件裝置的惡意軟件模式匹配方法的流程圖;圖10是根據(jù)本發(fā)明示例性實(shí)施例的反惡意軟件裝置的惡意軟件模式匹配方法的更新操作的流程圖;圖11是根據(jù)本發(fā)明另一示例性實(shí)施例的反惡意軟件系統(tǒng)的框圖;圖12是根據(jù)本發(fā)明示例性實(shí)施例的在反惡意軟件系統(tǒng)中防止哈希沖突的方法的流程6
圖13是根據(jù)本發(fā)明示例性實(shí)施例的產(chǎn)生塊(block)的操作的流程圖;圖14是根據(jù)本發(fā)明示例性實(shí)施例的防止哈希沖突的操作的流程圖;圖15是根據(jù)本發(fā)明示例性實(shí)施例的處理哈希函數(shù)的操作的流程圖;以及圖16是根據(jù)本發(fā)明示例性實(shí)施例的由服務(wù)器執(zhí)行的更新操作的流程圖。
具體實(shí)施例方式現(xiàn)將參照附圖更加全面地描述示例性實(shí)施例,以闡明本發(fā)明的各方面、特點(diǎn)和優(yōu)點(diǎn)。然而,本發(fā)明可以按照許多不同的形式來(lái)實(shí)施,而不應(yīng)被解釋為受限于這里闡述的示例性實(shí)施例。而提供了這些實(shí)施例,以使本公開(kāi)將是全面和完整的,并將本發(fā)明的范圍充分傳達(dá)給本領(lǐng)域的普通技術(shù)人員。應(yīng)理解當(dāng)部件、層或區(qū)域被稱(chēng)為在另一部件、層或區(qū)域“之上”時(shí),所述部件、層或區(qū)域可以直接位于所述另一部件、層或區(qū)域之上,或者可插入部件、 層或區(qū)域。這里使用的術(shù)語(yǔ)僅僅是為了描述特定實(shí)施例,并不是為了限制本發(fā)明。如這里所使用的,單數(shù)形式意在還包括復(fù)數(shù)形式,除非上下文清楚地指示并非如此。還應(yīng)理解當(dāng)在說(shuō)明書(shū)中使用術(shù)語(yǔ)“包括”時(shí),所述術(shù)語(yǔ)“包括”表示存在聲明的特征、整數(shù)、步驟、操作、層、 區(qū)域、部件、組件和/或它們的組合,但是并不排除存在或者添加有一個(gè)或多個(gè)其它特征、 整數(shù)、步驟、操作、層、區(qū)域、部件、組件和/或它們的組合。如這里所使用的,術(shù)語(yǔ)“和/或” 包括一個(gè)或多個(gè)相關(guān)的列出項(xiàng)中的任何項(xiàng)或項(xiàng)組合。圖1是根據(jù)本發(fā)明示例性實(shí)施例的反惡意軟件系統(tǒng)的框圖。參照?qǐng)D1,反惡意軟件系統(tǒng)包括服務(wù)器100和反惡意軟件裝置200。服務(wù)器100和反惡意軟件裝置200可通過(guò)網(wǎng)絡(luò)10彼此連接,以執(zhí)行通信。服務(wù)器100將惡意軟件模式數(shù)據(jù)庫(kù)(DB)和至少一個(gè)哈希系數(shù)發(fā)送到反惡意軟件裝置200。惡意軟件模式DB包括多個(gè)惡意軟件模式。惡意軟件模式(諸如病毒、木馬程序、 感染文件、惡意代碼等)會(huì)侵害文件。惡意軟件模式是被反惡意軟件裝置200用來(lái)檢測(cè)目標(biāo)數(shù)據(jù)是否感染有惡意軟件的參考數(shù)據(jù)。惡意軟件模式可包括用于病毒掃描的病毒模式以及用于放火墻過(guò)濾的規(guī)則模式。后面將描述病毒模式和規(guī)則模式。哈希系數(shù)被用于在反惡意軟件裝置200中計(jì)算哈希值。哈希系數(shù)可被選為用于盡可能地防止哈希沖突的系數(shù)。根據(jù)本發(fā)明的實(shí)施例,哈希系數(shù)可包括基于惡意軟件模式的病毒模式選擇的病毒哈希系數(shù)以及基于規(guī)則模式選擇的規(guī)則哈希系數(shù)。如果更新惡意軟件模式被產(chǎn)生,則服務(wù)器100重新選擇哈希系數(shù),并將包括更新惡意軟件模式和重新選擇的哈希系數(shù)的更新惡意軟件模式DB發(fā)送到反惡意軟件裝置200。反惡意軟件裝置200通過(guò)使用具有至少一個(gè)哈希系數(shù)的哈希函數(shù)來(lái)執(zhí)行惡意軟件模式匹配。所述至少一個(gè)哈希系數(shù)由服務(wù)器100選擇。為此,反惡意軟件裝置200將從服務(wù)器100接收的惡意軟件模式DB中所包括的哈希系數(shù)用作哈希函數(shù)的系數(shù),并將惡意軟件模式代入哈希函數(shù)的參數(shù)。反惡意軟件裝置200可相應(yīng)于移動(dòng)電子裝置,諸如,片上系統(tǒng)、 筆記本、桌上型計(jì)算機(jī)、智能電話(huà)、智能卡、半導(dǎo)體知識(shí)產(chǎn)權(quán)芯片(IP)等。以下,“惡意軟件模式或多個(gè)惡意軟件模式”通常被稱(chēng)為“惡意軟件模式數(shù)據(jù)”,“將被發(fā)送到反惡意軟件裝置 200的惡意軟件模式數(shù)據(jù)”或“先前存儲(chǔ)在反惡意軟件裝置200中的惡意軟件模式數(shù)據(jù)”被稱(chēng)為“第一惡意軟件模式數(shù)據(jù)”,“將被發(fā)送到反惡意軟件裝置200的哈希系數(shù)”被稱(chēng)為“第一哈希系數(shù)”,“具有第一哈希系數(shù)的哈希函數(shù)”被稱(chēng)為“第一哈希函數(shù)”。此外,以下,如果從服務(wù)器100發(fā)送到反惡意軟件裝置200的第一惡意軟件模式數(shù)據(jù)是病毒模式數(shù)據(jù),則與病毒模式數(shù)據(jù)一起發(fā)送的第一哈希系數(shù)可以是病毒哈希系數(shù)。如果從服務(wù)器100發(fā)送到反惡意軟件裝置200的第一惡意軟件模式數(shù)據(jù)是規(guī)則模式數(shù)據(jù),則與規(guī)則模式數(shù)據(jù)一起發(fā)送的第一哈希系數(shù)可以是規(guī)則哈希系數(shù)。如果從服務(wù)器100發(fā)送到反惡意軟件裝置200的第一惡意軟件模式數(shù)據(jù)包括病毒模式數(shù)據(jù)和規(guī)則模式數(shù)據(jù)兩者,則與病毒模式數(shù)據(jù)和規(guī)則模式數(shù)據(jù)一起發(fā)送的第一哈希系數(shù)可包括病毒哈希系數(shù)和規(guī)則哈希系數(shù)。根據(jù)本發(fā)明的實(shí)施例,服務(wù)器100可包括哈希系數(shù)選擇單元110和更新單元120。當(dāng)哈希函數(shù)被應(yīng)用于第一惡意軟件模式數(shù)據(jù)時(shí),哈希系數(shù)選擇單元110基于產(chǎn)生最小哈希沖突結(jié)果的哈希函數(shù)選擇將被發(fā)送到反惡意軟件裝置200的第一哈希系數(shù)。例如,當(dāng)?shù)谝粣阂廛浖J綌?shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元110可通過(guò)使用以下算法來(lái)選擇第一哈希系數(shù),所述算法使獲得的哈希值的沖突概率最小化。更具體地說(shuō),哈希系數(shù)選擇單元110可通過(guò)使用多個(gè)候選哈希組(iN(N= 1,2…)來(lái)獲得第一惡意軟件模式數(shù)據(jù)的哈希值。每個(gè)候選哈希組&包括至少一個(gè)候選哈希系數(shù)。例如,第一候選哈希組G1包括候選哈希系數(shù)J^b1A1,第二候選哈希組(;2包括候選哈希系數(shù) 、b2、c2。 哈希系數(shù)選擇單元110可通過(guò)將候選哈希組G” G2,…的候選哈希系數(shù)應(yīng)用于哈希函數(shù)來(lái)計(jì)算每個(gè)候選哈希組&的哈希值。在這一點(diǎn)上,哈希系數(shù)選擇單元110可基于反惡意軟件裝置200正在使用的第一惡意軟件模式數(shù)據(jù)來(lái)計(jì)算哈希值。哈希系數(shù)選擇單元110可對(duì)每個(gè)候選哈希組&的哈希值的沖突數(shù)量(即,哈希沖突的數(shù)量)進(jìn)行計(jì)數(shù),并將具有最少哈希沖突的候選哈希組的哈希系數(shù)選擇為第一哈希系數(shù)。或者,當(dāng)?shù)谝粣阂廛浖J綌?shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元110可將使獲得的哈希值的方差值最小化的哈希系數(shù)選為第一哈希系數(shù)。也就是說(shuō),如果每個(gè)候選哈希組&的哈希值被計(jì)算,則哈希系數(shù)選擇單元110可針對(duì)每個(gè)候選哈希組(^計(jì)算哈希值的方差值。哈希系數(shù)選擇單元110可確認(rèn)導(dǎo)致針對(duì)每個(gè)候選哈希組計(jì)算的方差值中的最小方差值的計(jì)算的候選哈希組,并將確認(rèn)的候選哈希組的哈希系數(shù)選為第一哈希系數(shù)。更新單元120在將第一惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置200時(shí),可發(fā)送選擇的第一哈希系數(shù),作為惡意軟件模式數(shù)據(jù)。由更新單元120發(fā)送的第一哈希系數(shù)可被用于計(jì)算被發(fā)送到反惡意軟件裝置200的第一惡意軟件模式數(shù)據(jù)的哈希值。圖2是根據(jù)本發(fā)明示例性實(shí)施例的用于解釋被發(fā)送到反惡意軟件裝置200的惡意軟件模式數(shù)據(jù)的包和/或文件的格式的示圖。參照?qǐng)D2,所述包和/或文件包括頭部項(xiàng)310、哈希項(xiàng)320和數(shù)據(jù)項(xiàng)330。更新單元120將頭部信息寫(xiě)入頭部項(xiàng)310,將第一哈希系數(shù)寫(xiě)入哈希項(xiàng)320,并將第一惡意軟件模式數(shù)據(jù)記錄在數(shù)據(jù)項(xiàng)330中。如果數(shù)據(jù)被寫(xiě)入頭部項(xiàng)310、哈希項(xiàng)320和數(shù)據(jù)項(xiàng)330中,則更新單元120可按照SVD格式將包和/或文件發(fā)送到反惡意軟件裝置200。同時(shí),下面,當(dāng)存在將被更新的數(shù)據(jù)時(shí),將描述第一惡意軟件模式數(shù)據(jù)。以下,“第一惡意軟件模式數(shù)據(jù)中將被更新的數(shù)據(jù)”被稱(chēng)為“更新惡意軟件模式數(shù)據(jù)”,基于更新惡意軟件模式數(shù)據(jù)被進(jìn)一步重新計(jì)算的哈希系數(shù)被稱(chēng)為“第二哈希系數(shù)”,“具有第二哈希系數(shù)的哈希函數(shù)”被稱(chēng)為“第二哈希函數(shù)”。
當(dāng)更新惡意軟件模式數(shù)據(jù)和第一惡意軟件模式數(shù)據(jù)被用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元110可通過(guò)使用以下算法來(lái)選擇第二哈希系數(shù),所述算法使獲得的哈希值之間的沖突概率最小化?;蛘?,當(dāng)更新惡意軟件模式數(shù)據(jù)和第一惡意軟件模式數(shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元110可將使獲得的哈希值的方差值最小化的哈希系數(shù)作為第二哈希系數(shù)。更新單元120可將選擇的第二哈希系數(shù)和更新惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置200。參照?qǐng)D2,更新單元120可將頭部信息寫(xiě)入頭部項(xiàng)310,將第二哈希系數(shù)寫(xiě)入哈希項(xiàng)320,將更新惡意軟件模式數(shù)據(jù)寫(xiě)入數(shù)據(jù)項(xiàng)330,并將包和/或文件發(fā)送到反惡意軟件裝置200。返回參照?qǐng)D1,根據(jù)本發(fā)明實(shí)施例的反惡意軟件裝置200可包括模式DB210、哈希值產(chǎn)生單元220、模式的哈希值表230、表產(chǎn)生單元M0、第一哈希匹配器表250、第一子項(xiàng)匹配器表255、第二哈希匹配器表沈0、第二子項(xiàng)匹配器表沈5、哈希匹配器單元270和匹配單
元 280 ο反惡意軟件裝置200按照?qǐng)D2所示的SVD格式從服務(wù)器100接收包括第一惡意軟件模式數(shù)據(jù)和第一哈希系數(shù)的惡意軟件模式DB。惡意軟件模式DB中的第一惡意軟件模式數(shù)據(jù)被存儲(chǔ)在模式DB 210中的存儲(chǔ)器(未示出)中,第一哈希系數(shù)被輸入到哈希值產(chǎn)生單元 220。模式DB 210存儲(chǔ)從服務(wù)器100接收的第一惡意軟件模式數(shù)據(jù)。當(dāng)匹配單元觀0 對(duì)目標(biāo)數(shù)據(jù)執(zhí)行匹配時(shí),第一惡意軟件模式數(shù)據(jù)可被用于檢測(cè)目標(biāo)數(shù)據(jù)是否感染有惡意軟件。當(dāng)從服務(wù)器100接收的第一惡意軟件模式數(shù)據(jù)包括病毒模式數(shù)據(jù)和規(guī)則模式數(shù)據(jù)兩者時(shí),模式DB 210可包括病毒模式DB和規(guī)則模式DB。病毒模式DB和規(guī)則模式DB可被存儲(chǔ)在片上系統(tǒng)(SoC)中所包括的存儲(chǔ)器(未示出)中。病毒模式DB是病毒模式數(shù)據(jù)的集合,被用于對(duì)目標(biāo)數(shù)據(jù)執(zhí)行病毒掃描。也就是說(shuō),病毒模式數(shù)據(jù)被用于檢測(cè)目標(biāo)數(shù)據(jù)是否感染有病毒。規(guī)則模式DB是存儲(chǔ)規(guī)則模式數(shù)據(jù)的DB。規(guī)則模式數(shù)據(jù)被用于過(guò)濾從外部輸入的包數(shù)據(jù),即,用于確定是阻止還是允許所述包數(shù)據(jù)。規(guī)則模式數(shù)據(jù)可由用戶(hù)直接設(shè)置,或可被服務(wù)器100設(shè)置為默認(rèn)值并發(fā)送到用戶(hù)裝置。哈希值產(chǎn)生單元220可通過(guò)使用從服務(wù)器100接收的第一哈希系數(shù)以及存儲(chǔ)在模式DB 210中的第一惡意軟件模式數(shù)據(jù)中的至少一個(gè)來(lái)產(chǎn)生第一惡意軟件模式數(shù)據(jù)的哈希值ΗΡ。也就是說(shuō),哈希值產(chǎn)生單元220可產(chǎn)生病毒模式數(shù)據(jù)的哈希值Hv或產(chǎn)生規(guī)則模式數(shù)據(jù)的哈希值Ηκ。因此,以下,哈希值Hp可以是哈希值Hv或哈希值Ηκ。由服務(wù)器100基于通過(guò)對(duì)于第一惡意軟件模式數(shù)據(jù)的哈希函數(shù)的最小哈希沖突結(jié)果來(lái)選擇第一哈希系數(shù)。第一哈希函數(shù)是被確定用于使針對(duì)將被發(fā)送到反惡意軟件裝置 200的第一惡意軟件模式數(shù)據(jù)而隨機(jī)獲得的哈希值之間的沖突概率最小化的函數(shù)。哈希值產(chǎn)生單元220可通過(guò)使用具有第一哈希系數(shù)的第一哈希函數(shù)來(lái)產(chǎn)生第一惡意軟件模式數(shù)據(jù)的哈希值?,F(xiàn)將參照?qǐng)D3到圖5來(lái)描述通過(guò)在反惡意軟件裝置200中使用病毒模式數(shù)據(jù)和病毒哈希系數(shù)來(lái)產(chǎn)生病毒模式數(shù)據(jù)的哈希值,以及執(zhí)行病毒掃描的操作。
圖3示意性示出在哈希值產(chǎn)生單元220中產(chǎn)生用于第一惡意軟件模式數(shù)據(jù)中的病毒模式數(shù)據(jù)的哈希值的一系列操作。參照?qǐng)D3,當(dāng)哈希函數(shù)形式為f(H) = ax+by+c時(shí),a、b、c指示哈希系數(shù),x、y、ζ 指示參數(shù)。因此,當(dāng)從服務(wù)器110接收的第一哈希系數(shù)(即,病毒哈希系數(shù))SapbpC1 時(shí),哈希值產(chǎn)生單元220可通過(guò)將&1、bp C1分別代入a、b、c來(lái)產(chǎn)生第一哈希函數(shù)f (H)= hx+biy+cp。哈希值產(chǎn)生單元220可將存儲(chǔ)在模式DB 210中的病毒模式數(shù)據(jù)的值輸入到 χ、y、z,并產(chǎn)生每個(gè)病毒模式數(shù)據(jù)的哈希值Hv。作為參數(shù)輸入的值可具有從病毒模式數(shù)據(jù)輸入的所有數(shù)值。也就是說(shuō),如果輸入?yún)?shù)值的數(shù)量是100,則一條病毒模式數(shù)據(jù)的哈希值的最大數(shù)量可以是100。如果全部病毒模式數(shù)據(jù)的哈希值Hv被產(chǎn)生,則哈希值產(chǎn)生單元220可產(chǎn)生模式的哈希值表230。模式的哈希值表230是由哈希值產(chǎn)生單元220產(chǎn)生的哈希值Hv與對(duì)應(yīng)于哈希值 Hv的病毒模式數(shù)據(jù)的模式的映射表,并可被加載到存儲(chǔ)器(未示出)。在圖3中,當(dāng)病毒模式數(shù)據(jù)中的任一哈希值為“X”時(shí),與哈希值X對(duì)應(yīng)的病毒模式數(shù)據(jù)的模式具有abcdefg。表產(chǎn)生單元240可基于模式的哈希值表230產(chǎn)生第一哈希匹配器表250和第一子項(xiàng)匹配器表255。圖4是第一哈希匹配器表250和第一子項(xiàng)匹配器表255。參照?qǐng)D4的右側(cè)表,可從第一哈希函數(shù)產(chǎn)生的所有哈希值Hv被定義為索引。表產(chǎn)生單元240可產(chǎn)生第一哈希匹配器表250。例如,表產(chǎn)生單元240可將模式的哈希值表230的哈希值Hv與所有索引進(jìn)行比較,如果哈希值Hv與索引相同,則將相同的索引設(shè)置為“1”。當(dāng)沒(méi)有與哈希值Hv相同的索引時(shí),使用值“0”,當(dāng)存在與哈希值Hv相同的索引時(shí),使用值“1”。圖3的模式的哈希值表包括與哈希值Hv相同的X和Y,因此,在圖4的第一哈希匹配器表250的索引X和Y處標(biāo)示“1”。表產(chǎn)生單元240可通過(guò)使用模式的哈希值表230和第一哈希匹配器表250來(lái)產(chǎn)生第一子項(xiàng)匹配器表255。第一子項(xiàng)匹配器表255可被用于執(zhí)行用于在匹配單元觀0中的病毒掃描的輕微模式匹配(LPM,light pattern matching)和精確模式匹配(EPM,exact pattern matching)中的至少一個(gè)。后面將描述LPM和EPM。參照?qǐng)D5,表產(chǎn)生單元240可針對(duì)第一哈希匹配器表250的所有索引中與哈希值Hv 相同的索引(包括X和Y)產(chǎn)生第一子項(xiàng)匹配器表255。以下,“所有索引中與哈希值比相同的索引”被稱(chēng)為“匹配索引”。表產(chǎn)生單元240可通過(guò)使用與匹配索引對(duì)應(yīng)的每個(gè)病毒模式數(shù)據(jù)的中間值和末尾值以及存儲(chǔ)了病毒模式數(shù)據(jù)的地址來(lái)產(chǎn)生第一子項(xiàng)匹配器表255。與匹配索引對(duì)應(yīng)的每個(gè)病毒模式數(shù)據(jù)的中間值和末尾值可參照模式的哈希值表230。例如,如果匹配索引是X, 則X的模式為abcdefg。表產(chǎn)生單元240可確認(rèn)模式的哈希值表中的模式abcdefg的中間值d和末尾值g。圖4的“病毒模式數(shù)據(jù)地址”是存儲(chǔ)有病毒模式數(shù)據(jù)的地址?!捌?”表示模式的頭部值與中間值之間的偏移?!捌?”表示模式的頭部值與末尾值之間的偏移。如果兩個(gè)或更多哈希值Hv與第一哈希匹配器表250中的索引相同,則認(rèn)為已經(jīng)發(fā)生了哈希沖突。例如,如果兩個(gè)哈希值Hv與第一哈希匹配器表250中的索引相同,則“沖突模式的偏移”表示分配給所述兩個(gè)哈希值Hv之一的匹配索引。由于與所述兩個(gè)哈希值Hv對(duì)應(yīng)的病毒模式數(shù)據(jù)不同,因此,所述兩個(gè)哈希值Hv可具有不同的中間值和末尾值。因此,表產(chǎn)生單元240通過(guò)向所述兩個(gè)哈希值Hv之一分配不同的匹配索引來(lái)產(chǎn)生第一子項(xiàng)匹配器表255。參照?qǐng)D5,匹配索引X的沖突模式偏移為Z。這表示相同的哈希值Hv被映射到匹配索引Z。返回參照?qǐng)D1,哈希值產(chǎn)生單元220可接收將對(duì)其執(zhí)行病毒掃描的目標(biāo)數(shù)據(jù),并且還可產(chǎn)生目標(biāo)數(shù)據(jù)的哈希值。目標(biāo)數(shù)據(jù)可包括先前被劃分為預(yù)定義大小的多條子項(xiàng)數(shù)據(jù) Si、S2、S3…。在這種情況下,哈希值產(chǎn)生單元220可順序地接收子項(xiàng)數(shù)據(jù)Si、S2、S3…,并產(chǎn)生子項(xiàng)數(shù)據(jù)Si、S2、S3…的哈希值Hs。哈希值產(chǎn)生單元220可向匹配單元280提供產(chǎn)生的子項(xiàng)數(shù)據(jù)S1、S2、S3…的哈希值Hs。以下,將描述第一子項(xiàng)數(shù)據(jù)Sl和第一子項(xiàng)數(shù)據(jù)Sl的哈希值Hsi。哈希匹配器單元270可從哈希值產(chǎn)生單元220接收第一子項(xiàng)數(shù)據(jù)Sl的哈希值HS1。 哈希匹配器單元270可將第一子項(xiàng)數(shù)據(jù)Sl的哈希值Hsi匹配到第一哈希匹配器表250的標(biāo)示“1”的索引(例如,X和Y)。標(biāo)示“1”的匹配索引是病毒模式數(shù)據(jù)的哈希值Hv的一部分。與哈希匹配器單元270以接口相連的硬件(未示出)可確定匹配的成功。如果第一哈希匹配器表250的標(biāo)示“1”的匹配索引(例如,X和Y)包括與第一子項(xiàng)數(shù)據(jù)Sl的哈希值Hsi相同的匹配索引,則所述硬件可確定匹配成功。例如,當(dāng)?shù)谝蛔禹?xiàng)數(shù)據(jù)Sl的哈希值 Hsi是X時(shí),如果匹配索引包括X,則硬件確定匹配成功。如果通過(guò)哈希匹配器單元270使匹配成功,則匹配單元280可將至少一條病毒模式數(shù)據(jù)與第一子項(xiàng)數(shù)據(jù)Sl的模式進(jìn)行匹配。更具體地說(shuō),匹配單元280可執(zhí)行將對(duì)應(yīng)于與哈希值Hsi相同的匹配索引(例如,X)的病毒模式數(shù)據(jù)與第一子項(xiàng)數(shù)據(jù)Sl的模式進(jìn)行匹配的操作。這是因?yàn)椤芭c第一子項(xiàng)數(shù)據(jù)Sl的哈希值Hsi相同的匹配索引”是通過(guò)將病毒模式數(shù)據(jù)代入第一哈希函數(shù)而產(chǎn)生的哈希值。將病毒模式數(shù)據(jù)與第一子項(xiàng)數(shù)據(jù)Sl的模式進(jìn)行匹配的結(jié)果影響對(duì)第一子項(xiàng)數(shù)據(jù)S是否感染有惡意軟件的判定。為此,匹配單元280可使用LPM和EPM。LPM是一種通過(guò)使用病毒模式數(shù)據(jù)以及第一子項(xiàng)數(shù)據(jù)Sl的中間值和末尾值來(lái)匹配模式的方法。更具體地說(shuō),匹配單元280確認(rèn)第一子項(xiàng)匹配器表255中與第一子項(xiàng)數(shù)據(jù) Sl的哈希值Hsi相同的匹配索引(例如,X)的中間值和末尾值。匹配單元280確認(rèn)第一子項(xiàng)數(shù)據(jù)Sl的中間值和末尾值。匹配單元280將確認(rèn)的匹配索引的中間值與第一子項(xiàng)數(shù)據(jù) Sl的中間值進(jìn)行匹配,并將確認(rèn)的匹配索引的末尾值與第一子項(xiàng)數(shù)據(jù)Sl的末尾值進(jìn)行匹配。作為使用LPM的結(jié)果,如果中間值彼此不同或者末尾值彼此不同,則表示第一子項(xiàng)數(shù)據(jù)Sl不具有病毒模式數(shù)據(jù)的模式。因此,第一子項(xiàng)數(shù)據(jù)Sl可被確定為未感染有惡意軟件的正常數(shù)據(jù)。同時(shí),作為使用LPM的結(jié)果,如果中間值彼此相同并且末尾值彼此相同,則匹配單元280可通過(guò)使用EPM來(lái)執(zhí)行模式匹配操作。更具體地說(shuō),作為使用LPM的結(jié)果,如果中間值和末尾值彼此相同,則匹配單元280可通過(guò)使用病毒模式數(shù)據(jù)和第一子項(xiàng)數(shù)據(jù)Sl的所有位置的值來(lái)對(duì)模式進(jìn)行匹配。為此,匹配單元280基于第一子項(xiàng)匹配器表255來(lái)確認(rèn)被映射到并存儲(chǔ)在匹配索
11引X中的病毒模式數(shù)據(jù)的地址。匹配單元280從存儲(chǔ)器(未示出)讀取存儲(chǔ)在確認(rèn)的地址中的病毒模式數(shù)據(jù)的模式。模式DB 210或模式的哈希值表230可被加載到存儲(chǔ)器中。圖 5是模式DB 210的表。匹配單元280將存儲(chǔ)在對(duì)應(yīng)的地址中的病毒模式數(shù)據(jù)的全部模式 abcdefg與第一子項(xiàng)數(shù)據(jù)Sl的全部模式進(jìn)行匹配。以下,現(xiàn)將參照?qǐng)D6來(lái)描述通過(guò)在反惡意軟件裝置200中使用規(guī)則模式數(shù)據(jù)和規(guī)則哈希函數(shù)來(lái)產(chǎn)生規(guī)則模式數(shù)據(jù)的哈希值并過(guò)濾哈希值的操作。圖6是第二哈希匹配器表260和第二子項(xiàng)匹配器表沈5。哈希值產(chǎn)生單元220可通過(guò)將從服務(wù)器100接收的規(guī)則哈希系數(shù)應(yīng)用于先前的哈希函數(shù)來(lái)創(chuàng)建第一哈希函數(shù)。哈希值產(chǎn)生單元220可通過(guò)將存儲(chǔ)在模式DB 210中的至少一部分規(guī)則模式數(shù)據(jù)的值輸入到第一哈希函數(shù)來(lái)產(chǎn)生規(guī)則模式數(shù)據(jù)的哈希值Ηκ。這類(lèi)似于參照?qǐng)D3描述的產(chǎn)生哈希值仏的處理。如果所有規(guī)則模式數(shù)據(jù)的哈希值仏被產(chǎn)生,則哈希值產(chǎn)生單元220可產(chǎn)生規(guī)則模式哈希值表(未示出)。規(guī)則模式哈希值表(未示出)可被加載到存儲(chǔ)器(未示出),其中,所述規(guī)則模式哈希值表為將由哈希值產(chǎn)生單元220產(chǎn)生的哈希值仏與對(duì)應(yīng)于所述哈希值4的規(guī)則模式數(shù)據(jù)的模式進(jìn)行匹配的表。如果所有規(guī)則模式數(shù)據(jù)的哈希值仏被產(chǎn)生,則表產(chǎn)生單元240可基于規(guī)則模式的哈希值表(未示出)來(lái)產(chǎn)生第二哈希匹配器表260和第二子項(xiàng)匹配器表沈5。參照?qǐng)D6,第二哈希匹配器表260包括索引(鍵值,key value)和指示“存在/不存在”的項(xiàng)。表產(chǎn)生單元240可將能夠從第一哈希函數(shù)產(chǎn)生的所有哈希值Hk確定為索引。 表產(chǎn)生單元240可通過(guò)將從規(guī)則模式數(shù)據(jù)產(chǎn)生的哈希值仏與所有索引進(jìn)行比較來(lái)產(chǎn)生第二哈希匹配器表沈0。在第二哈希匹配器表沈0中,指示“存在/不存在”的項(xiàng)的值“ 1”表示存在與哈希值Hk相同的索引,指示“存在/不存在”的所述項(xiàng)的值“0”表示不存在與哈希值Hk相同的索引。這類(lèi)似于參照?qǐng)D4所描述的產(chǎn)生第一哈希匹配器表250的處理。在第二哈希匹配器表沈0的索引X處標(biāo)示“1”,因此,在所有規(guī)則模式數(shù)據(jù)的哈希值仏中存在X。表產(chǎn)生單元240可通過(guò)使用規(guī)則模式的哈希值表(未示出)和第二哈希匹配器表 260來(lái)產(chǎn)生第二子項(xiàng)匹配器表沈5。表產(chǎn)生單元240可針對(duì)第二哈希匹配器表沈0的所有索引中與哈希值Hk相同的索引(包括X和A)產(chǎn)生第二子項(xiàng)匹配器表沈5。以下,將所有索引中與哈希值仏相同的索引稱(chēng)為匹配索引。第二子項(xiàng)匹配器表265包括僅用于IP和端口的子項(xiàng)(sub)。每個(gè)子項(xiàng)具有不同的值。IP子項(xiàng)包括索弓丨、中間值“中間(mid) ”、末尾值“末尾(tail) ”、應(yīng)用于所有協(xié)議的規(guī)則模式的存在/不存在“ispro”、應(yīng)用于所有端口的規(guī)則模式的存在/不存在“isport”、 實(shí)際模式存儲(chǔ)器地址、下一地址“ next ”等。端口子項(xiàng)包括索引、IP哈希值、協(xié)議哈希值“proto hash(哈希)”、實(shí)際模式存儲(chǔ)器地址、下一地址“ next,,等。IP子項(xiàng)的中間值“mid”具有IP地址的第三字節(jié)值,IP子項(xiàng)的末尾值具有IP地址的最后字節(jié)的值。這種字節(jié)位置選擇可實(shí)現(xiàn)通過(guò)在哈希匹配器270中使用IP的開(kāi)頭2字節(jié)、中間值和末尾值對(duì)IPv4的IP地址執(zhí)行認(rèn)證??赏ㄟ^(guò)作為規(guī)則模式數(shù)據(jù)的包的頭部來(lái)確認(rèn)與匹配索引對(duì)應(yīng)的規(guī)則模式數(shù)據(jù)的中間值和末尾值。ispro值指示應(yīng)用于所有協(xié)議的規(guī)則模式的存在/不存在“ispro”。如果對(duì)應(yīng)的索引值的實(shí)際規(guī)則模式中的一個(gè)協(xié)議是全部(ALL),則ispro值為1,如果不是,則ispro值為0。ispro可允許根據(jù)對(duì)應(yīng)IP的值來(lái)重新構(gòu)建標(biāo)記(IP,Protocol (協(xié)議),Port (端口))的范圍。例如,如果存在兩個(gè)規(guī)則模式,諸如,[in, 202. 131.29. 71,TCP,80,Allow(允許)]和[in,202. 131.29. 70,ALL (全部),80,Allow],則標(biāo)記被設(shè)置為非全部(Not all)、 全部(ALL)和非全部。在這一點(diǎn)上,由于202. 131. 29. 71不具有對(duì)于協(xié)議為ALL的規(guī)則模式,所以ispro變?yōu)?,這隨后將標(biāo)記“Protocol (協(xié)議),,改為非全部(Not all)。isport值指示應(yīng)用于所有端口的規(guī)則模式的存在/不存在“ isport”。如果對(duì)應(yīng)的索引值的實(shí)際規(guī)則模式中的一個(gè)端口是全部(ALL),則isport值為1,如果不是,則isport 值為0。這類(lèi)似于ispro值的函數(shù)。實(shí)際模式存儲(chǔ)器地址具有實(shí)際存儲(chǔ)對(duì)應(yīng)的規(guī)則數(shù)據(jù)的存儲(chǔ)器的地址值。下一地址 “next”是用于當(dāng)在作為第二子項(xiàng)匹配器表沈5的一哈希值中聚焦各種規(guī)則模式時(shí)搜索下一子項(xiàng)所必需的值。下一地址“next”類(lèi)似于第一子項(xiàng)匹配器表255的沖突模式的偏移。在本發(fā)明中,端口子項(xiàng)的IP哈希值和協(xié)議的哈希值被用于給出對(duì)應(yīng)的規(guī)則的端口、IP和協(xié)議之間的關(guān)聯(lián)。如果端口、IP和協(xié)議沒(méi)有關(guān)聯(lián),則必須針對(duì)端口搜索全部規(guī)則模式。返回參照?qǐng)D1,哈希值產(chǎn)生單元220可接收將被過(guò)濾的目標(biāo)數(shù)據(jù),還可產(chǎn)生目標(biāo)數(shù)據(jù)的哈希值Hf,并向匹配單元280提供所述哈希值Hf。哈希值產(chǎn)生單元220可產(chǎn)生目標(biāo)數(shù)據(jù)的包的各種類(lèi)型的信息(諸如,IP地址、端口、協(xié)議等)中的每一種信息的哈希值Hf。如果第二哈希匹配器表260和第二子項(xiàng)匹配器表265被產(chǎn)生,則哈希匹配器單元 270可從哈希值產(chǎn)生單元220接收目標(biāo)數(shù)據(jù)的哈希值Hf。哈希匹配器單元270可將第二哈希匹配器表沈0的標(biāo)示有“1”的匹配索引(例如,X和A)與目標(biāo)數(shù)據(jù)的哈希值Hf進(jìn)行匹配。如果通過(guò)哈希匹配器單元270使匹配成功,則匹配單元280可將與哈希值Hf相同的匹配索引(例如,X)所對(duì)應(yīng)的規(guī)則模式數(shù)據(jù)的模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配,并執(zhí)行過(guò)濾。為了進(jìn)行模式匹配,匹配單元280可基于第二子項(xiàng)匹配器表265使用LPM和EPM。這與針對(duì)病毒模式數(shù)據(jù)的模式匹配描述的內(nèi)容相同,因此,將不在這里重復(fù)其詳細(xì)描述??砂凑沼布壿嫹绞絹?lái)實(shí)現(xiàn)哈希匹配器單元270和匹配單元觀0。如果通過(guò)模式匹配,規(guī)則模式數(shù)據(jù)的模式和目標(biāo)數(shù)據(jù)的模式彼此相同,則可阻止目標(biāo)數(shù)據(jù)。同時(shí),返回參照?qǐng)D1,如果第一惡意軟件模式數(shù)據(jù)被更新,即,如果存在更新惡意軟件模式數(shù)據(jù),則可基于更新惡意軟件模式數(shù)據(jù)的特性來(lái)改變第一哈希系數(shù)和第一哈希函數(shù)。這是因?yàn)榉?wù)器100基于通過(guò)對(duì)于更新惡意軟件模式數(shù)據(jù)的哈希函數(shù)的最小哈希沖突結(jié)果來(lái)重新產(chǎn)生哈希系數(shù)。重新產(chǎn)生的哈希系數(shù)或改變的第一哈希函數(shù)是以上聲明的第二哈希系數(shù)。因此,從服務(wù)器100提供的第二哈希系數(shù)被包括在更新惡意軟件模式數(shù)據(jù)中。當(dāng)哈希值產(chǎn)生單元220從服務(wù)器100接收到更新惡意軟件模式數(shù)據(jù)時(shí),哈希值產(chǎn)生單元220可通過(guò)使用與更新惡意軟件模式數(shù)據(jù)一起發(fā)送的第二哈希系數(shù)來(lái)重新產(chǎn)生哈希值。也就是說(shuō),哈希值產(chǎn)生單元220可通過(guò)使用具有與更新惡意軟件模式數(shù)據(jù)一起從服務(wù)器100發(fā)送的第二哈希系數(shù)的第二哈希函數(shù)來(lái)重新產(chǎn)生哈希值。因此,包括更新惡意軟件模式數(shù)據(jù)的更新惡意軟件模式DB可包括寫(xiě)有頭部信息的頭部項(xiàng)310和寫(xiě)有第二哈希系數(shù)的哈希項(xiàng)320。此外,更新惡意軟件模式數(shù)據(jù)可被添加到模式DB 210。然后,哈希值產(chǎn)生單元220、表產(chǎn)生單元M0、哈希匹配器單元270和匹配單元觀0的操作與輸入第一惡意軟件模式數(shù)據(jù)的操作相同,因此,這里將省略對(duì)它們的詳細(xì)描述。根據(jù)以上描述的本發(fā)明的實(shí)施例,服務(wù)器100可將包括哈希系數(shù)的惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置200。反惡意軟件裝置200可通過(guò)使用從服務(wù)器100接收的哈希系數(shù)來(lái)確定哈希函數(shù),并執(zhí)行模式匹配。圖7是根據(jù)本發(fā)明另一示例性實(shí)施例的反惡意軟件系統(tǒng)的框圖。參照?qǐng)D7,反惡意軟件系統(tǒng)包括服務(wù)器600和反惡意軟件裝置700。服務(wù)器600和反惡意軟件裝置700可通過(guò)網(wǎng)絡(luò)20彼此連接以執(zhí)行通信。圖7的服務(wù)器600和反惡意軟件裝置700類(lèi)似于參照?qǐng)D1到圖6描述的服務(wù)器100和反惡意軟件裝置200,這里將省略對(duì)它們的詳細(xì)描述。然而,圖1的服務(wù)器100選擇哈希系數(shù),并將所述哈希系數(shù)發(fā)送到反惡意軟件200, 而服務(wù)器600可選擇應(yīng)用哈希系數(shù)的哈希函數(shù),并將所述哈希函數(shù)發(fā)送到反惡意軟件裝置 700。反惡意軟件裝置700可通過(guò)使用接收的哈希函數(shù)來(lái)產(chǎn)生第一惡意軟件模式數(shù)據(jù)的哈希值和目標(biāo)數(shù)據(jù)的哈希值。為此,本實(shí)施例的服務(wù)器600包括哈希函數(shù)選擇單元610和更新單元620。哈希函數(shù)選擇單元610可針對(duì)第一惡意軟件模式數(shù)據(jù)從反惡意軟件引擎選擇可檢測(cè)并快速搜索全部模式數(shù)據(jù)的函數(shù),將用于選擇的函數(shù)的最佳系數(shù)值選為哈希系數(shù),并確定將被發(fā)送到反惡意軟件裝置700的第一哈希函數(shù)。例如,哈希函數(shù)選擇單元610針對(duì)第一惡意軟件模式數(shù)據(jù)從各個(gè)哈希函數(shù)選擇可檢測(cè)并快速搜索最佳模式的函數(shù)。哈希函數(shù)選擇單元610可通過(guò)使用由圖1的哈希系數(shù)選擇單元110使用的算法來(lái)選擇第一哈希系數(shù),將第一哈希系數(shù)更新到給定哈希函數(shù),并選擇第一哈希函數(shù)?;蛘?,哈希函數(shù)選擇單元610可通過(guò)使用由圖1的哈希系數(shù)選擇單元110計(jì)算的方差值來(lái)選擇第一哈希系數(shù),將第一哈希系數(shù)更新到給定哈希函數(shù),并選擇第一哈希函數(shù)。如果存在用于更新第一惡意軟件模式數(shù)據(jù)的數(shù)據(jù),則哈希函數(shù)選擇單元610可通過(guò)使用發(fā)送到反惡意軟件裝置700的新的更新惡意軟件模式數(shù)據(jù)和第一惡意軟件模式數(shù)據(jù)來(lái)選擇第二哈希函數(shù)。當(dāng)更新單元620將第一惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置700時(shí),更新單元620可發(fā)送選擇的第一哈希函數(shù)和惡意軟件模式數(shù)據(jù)。第一哈希函數(shù)可被用于產(chǎn)生發(fā)送到反惡意軟件裝置700的第一惡意軟件模式數(shù)據(jù)的哈希值。如果服務(wù)器600從反惡意軟件裝置700接收請(qǐng)求,則服務(wù)器600將更新哈希函數(shù)隨同必要的更新惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置700。根據(jù)本發(fā)明的實(shí)施例,如果從服務(wù)器600發(fā)送到反惡意軟件裝置700的第一惡意軟件模式數(shù)據(jù)是病毒模式數(shù)據(jù),則與病毒模式數(shù)據(jù)一起發(fā)送的第一哈希函數(shù)可以是病毒哈希函數(shù)。此外,如果從服務(wù)器600發(fā)送到反惡意軟件裝置700的第一惡意軟件模式數(shù)據(jù)是規(guī)則模式數(shù)據(jù),則與規(guī)則模式數(shù)據(jù)一起發(fā)送的第一哈希函數(shù)可以是規(guī)則哈希函數(shù)。如果從服務(wù)器600發(fā)送到反惡意軟件裝置700的第一惡意軟件模式數(shù)據(jù)包括病毒模式數(shù)據(jù)和規(guī)則模式數(shù)據(jù),則與病毒模式數(shù)據(jù)和規(guī)則模式數(shù)據(jù)一起發(fā)送的第一哈希函數(shù)可包括病毒哈希函數(shù)和規(guī)則哈希函數(shù)。同時(shí),根據(jù)本發(fā)明的另一實(shí)施例,反惡意軟件裝置700可包括模式DB710、哈希值產(chǎn)生單元720、模式的哈希值表730、表產(chǎn)生單元740、第一哈希匹配器表750、第一子項(xiàng)匹配器表755、第二哈希匹配器表760、第二子項(xiàng)匹配器表765、哈希匹配器單元770、匹配單元 780和更新請(qǐng)求單元790。圖7的模式DB 710、模式的哈希值表730、表產(chǎn)生單元740、第一哈希匹配器表 750、第一子項(xiàng)匹配器表755、第二哈希匹配器表760、第二子項(xiàng)匹配器表765、哈希匹配器單元770和匹配單元780與圖1的模式DB 210、模式的哈希值表230、表產(chǎn)生單元M0、第一哈希匹配器表250、第一子項(xiàng)匹配器表255、第二哈希匹配器表沈0、第二子項(xiàng)匹配器表沈5、哈希匹配器單元270和匹配單元280相同。然而,哈希值產(chǎn)生單元720通過(guò)使用從服務(wù)器600接收的第一哈希函數(shù)來(lái)產(chǎn)生第一惡意軟件模式數(shù)據(jù)的哈希值和子項(xiàng)數(shù)據(jù)的哈希值。例如,如果第一惡意軟件模式數(shù)據(jù)是病毒模式數(shù)據(jù),則哈希值產(chǎn)生單元720通過(guò)使用病毒哈希函數(shù)來(lái)產(chǎn)生病毒模式數(shù)據(jù)的哈希值。如果由哈希值產(chǎn)生單元720產(chǎn)生的第一惡意軟件模式數(shù)據(jù)的哈希值之間的沖突數(shù)量超過(guò)參考值,則更新請(qǐng)求單元790可請(qǐng)求服務(wù)器600更新第一哈希系數(shù)或第一哈希函數(shù)。更新請(qǐng)求單元790還可請(qǐng)求服務(wù)器600更新第一惡意軟件模式數(shù)據(jù)以及第一哈希系數(shù)。 更新請(qǐng)求單元790可選擇性地包括在反惡意軟件裝置700中。更新請(qǐng)求單元790可監(jiān)測(cè)第一子項(xiàng)匹配器表755并對(duì)哈希沖突數(shù)量進(jìn)行計(jì)數(shù)。例如,更新請(qǐng)求單元790可將寫(xiě)入第二子項(xiàng)匹配器表755的沖突模式偏移項(xiàng)中的匹配索引的數(shù)量用作哈希沖突數(shù)量。或者,可由計(jì)數(shù)器(未示出)對(duì)哈希沖突數(shù)量進(jìn)行計(jì)數(shù)。根據(jù)本發(fā)明的另一實(shí)施例,服務(wù)器600可將包括哈希函數(shù)的惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置700。反惡意軟件裝置700可通過(guò)使用從服務(wù)器600接收的哈希函數(shù)來(lái)產(chǎn)生哈希值,并執(zhí)行哈希匹配。圖8是示出根據(jù)本發(fā)明示例性實(shí)施例的惡意軟件模式匹配方法中服務(wù)器的操作的流程圖。參照?qǐng)D8,可由參照?qǐng)D1或圖7描述的服務(wù)器100或服務(wù)器600中的任何一個(gè)來(lái)執(zhí)行所述操作。在操作S810,服務(wù)器可選擇候選哈希組(iN(N= 1,2,…)。例如,第一候選哈希組 G1可包括候選哈希系數(shù),作為%、bp C1,第二候選哈希組( 可包括候選哈希系數(shù),作為 、
b2、C20在操作S820,服務(wù)器可計(jì)算每個(gè)候選哈希組的哈希值。也就是說(shuō),服務(wù)器可通過(guò)將候選哈希組61、(;2、…應(yīng)用于哈希函數(shù)來(lái)計(jì)算每個(gè)候選哈希組&的哈希值。在這一點(diǎn)上,服務(wù)器可通過(guò)將由反惡意軟件裝置正在使用的惡意軟件模式數(shù)據(jù)代入哈希函數(shù)來(lái)計(jì)算哈希值。在操作S830,服務(wù)器可比較針對(duì)每個(gè)候選哈希組&、&、…計(jì)算的哈希值,并確認(rèn)
15每個(gè)候選哈希組61、(;2、…的哈希沖突的數(shù)量。在操作S840,服務(wù)器可確認(rèn)具有最少哈希沖突的候選哈希組,并選擇確認(rèn)的候選哈希組的哈希系數(shù),作為將被發(fā)送到反惡意軟件裝置的哈希系數(shù)。在操作S850,服務(wù)器可將在操作S840選擇的哈希系數(shù)以及用于在操作S820計(jì)算哈希值的惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置。在操作S860,服務(wù)器可針對(duì)每個(gè)候選哈希組61、(;2、…計(jì)算在操作S820計(jì)算的哈希值的方差值。在操作S870,服務(wù)器可確認(rèn)具有針對(duì)候選哈希組計(jì)算的方差值中的最小方差值的候選哈希組,并選擇確認(rèn)的候選哈希組的哈希系數(shù),作為將被發(fā)送到反惡意軟件裝置的哈希系數(shù)。如上所述,當(dāng)惡意軟件模式數(shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),服務(wù)器可選擇使獲得的哈希值之間的沖突概率最小化的哈希系數(shù)。如果惡意軟件模式數(shù)據(jù)是病毒模式數(shù)據(jù),服務(wù)器可按照病毒模式數(shù)據(jù)來(lái)選擇病毒哈希系數(shù),如果惡意軟件模式數(shù)據(jù)是規(guī)則模式數(shù)據(jù),則服務(wù)器可按照規(guī)則模式數(shù)據(jù)來(lái)選擇規(guī)則哈希系數(shù)。圖9是根據(jù)本發(fā)明示例性實(shí)施例的反惡意軟件裝置的惡意軟件模式匹配方法的流程圖??捎蓞⒄?qǐng)D1或圖7描述的反惡意軟件裝置200和反惡意軟件裝置700中的任何一個(gè)來(lái)執(zhí)行圖9的惡意軟件模式匹配方法。在操作S905,反惡意軟件裝置可從服務(wù)器接收惡意軟件模式DB。惡意軟件模式DB 包括用于進(jìn)行模式匹配以確定目標(biāo)數(shù)據(jù)感染有惡意軟件的惡意軟件模式數(shù)據(jù)以及哈希系數(shù)。如果在操作S905接收的惡意軟件模式數(shù)據(jù)是用于病毒掃描的病毒模式數(shù)據(jù),則哈希系數(shù)可以是按照病毒模式數(shù)據(jù)選擇的病毒哈希系數(shù)。此外,如果在操作S905接收的惡意軟件模式數(shù)據(jù)是規(guī)則模式數(shù)據(jù),則哈希系數(shù)可以是按照規(guī)則模式數(shù)據(jù)選擇的規(guī)則哈希系數(shù)。此外,如果在操作S905接收的惡意軟件模式數(shù)據(jù)包括病毒模式數(shù)據(jù)和規(guī)則模式數(shù)據(jù)兩者,則哈希系數(shù)可包括病毒哈希系數(shù)和規(guī)則哈希系數(shù)兩者。在操作S910,反惡意軟件裝置在模式DB中存儲(chǔ)或更新接收的惡意軟件模式數(shù)據(jù)。在操作S915,反惡意軟件裝置可將哈希函數(shù)的哈希系數(shù)改變?yōu)榻邮盏墓O禂?shù)。在操作S920,反惡意軟件裝置可將惡意軟件模式數(shù)據(jù)代入應(yīng)用了接收的哈希系數(shù)的哈希函數(shù),產(chǎn)生惡意軟件模式數(shù)據(jù)的哈希值,并通過(guò)使用產(chǎn)生的哈希值來(lái)更新模式的哈希值表。如果不存在模式的哈希值表,則反惡意軟件裝置可通過(guò)使用產(chǎn)生的哈希值來(lái)重新產(chǎn)生模式的哈希值表。在操作S925,反惡意軟件裝置可基于模式的哈希值表來(lái)更新哈希匹配器表和子項(xiàng)匹配器表。如果不存在哈希匹配器表和子項(xiàng)匹配器表,則反惡意軟件裝置可重新產(chǎn)生哈希匹配器表和子項(xiàng)匹配器表。這已經(jīng)參照?qǐng)D4和圖5詳細(xì)描述過(guò)。在操作S930,反惡意軟件裝置可通過(guò)以子項(xiàng)數(shù)據(jù)單位接收目標(biāo)數(shù)據(jù)來(lái)產(chǎn)生子項(xiàng)數(shù)據(jù)的哈希值。反惡意軟件裝置可通過(guò)將子項(xiàng)數(shù)據(jù)代入在操作S915更新的哈希函數(shù)來(lái)產(chǎn)生子項(xiàng)數(shù)據(jù)的哈希值。在操作S935,反惡意軟件裝置對(duì)子項(xiàng)數(shù)據(jù)的哈希值執(zhí)行匹配操作。也就是說(shuō),反惡意軟件裝置可將產(chǎn)生的子項(xiàng)數(shù)據(jù)的哈希值匹配到哈希匹配器表的匹配索引(即,哈希匹配器表中標(biāo)示有“1”的索引)。在操作S940,反惡意軟件裝置可確定所述匹配索引之一是否與子項(xiàng)數(shù)據(jù)的哈希值相同。如果在操作S940,匹配索引之一與子項(xiàng)數(shù)據(jù)的哈希值相同(Y),則反惡意軟件裝置可執(zhí)行LPM操作。LPM是通過(guò)使用惡意軟件模式數(shù)據(jù)以及子項(xiàng)數(shù)據(jù)的中間值和末尾值來(lái)進(jìn)行模式匹配的方法。在操作S950,反惡意軟件裝置可確定惡意軟件模式數(shù)據(jù)和子項(xiàng)數(shù)據(jù)的中間值是否相同以及惡意軟件模式數(shù)據(jù)和子項(xiàng)數(shù)據(jù)的末尾值是否相同。如果在操作S950,惡意軟件模式數(shù)據(jù)與子項(xiàng)數(shù)據(jù)的中間值和末尾值相同(Y),則反惡意軟件裝置可執(zhí)行EPM操作。EPM是通過(guò)使用惡意軟件模式數(shù)據(jù)和子項(xiàng)數(shù)據(jù)的所有位置的值來(lái)進(jìn)行模式匹配的方法。在操作S960,反惡意軟件裝置可確定惡意軟件模式數(shù)據(jù)與全部子項(xiàng)數(shù)據(jù)是否完全相同。如果在操作S960,惡意軟件模式數(shù)據(jù)與全部子項(xiàng)數(shù)據(jù)完全相同(Y),則在操作 S965,反惡意軟件裝置可確定子項(xiàng)數(shù)據(jù)對(duì)應(yīng)于惡意軟件模式。同時(shí),如果在操作S960,惡意軟件模式數(shù)據(jù)與全部子項(xiàng)數(shù)據(jù)沒(méi)有完全相同(N),則在操作S975,反惡意軟件裝置可確定子項(xiàng)數(shù)據(jù)對(duì)應(yīng)于正常模式。同時(shí),如果在操作S940,匹配索引之一與子項(xiàng)數(shù)據(jù)的哈希值不相同(N),并且如果在操作S950,惡意軟件模式數(shù)據(jù)與子項(xiàng)數(shù)據(jù)的中間值和末尾值不相同(N),則在操作S975, 反惡意軟件裝置確定當(dāng)前處理的子項(xiàng)數(shù)據(jù)是否是目標(biāo)數(shù)據(jù)的最后子項(xiàng)數(shù)據(jù)。如果當(dāng)前處理的子項(xiàng)數(shù)據(jù)不是目標(biāo)數(shù)據(jù)的最后子項(xiàng)數(shù)據(jù),則反惡意軟件裝置在操作S935對(duì)下一子項(xiàng)數(shù)據(jù)執(zhí)行模式匹配。圖10是根據(jù)本發(fā)明示例性實(shí)施例的反惡意軟件裝置的惡意軟件模式匹配方法的更新操作的流程圖??捎蓞⒄?qǐng)D1或圖7描述的反惡意軟件裝置200和反惡意軟件裝置700之一以及服務(wù)器100和服務(wù)器600之一來(lái)執(zhí)行圖10的更新操作。在操作S1010,如果發(fā)生哈希沖突,則在操作S1020,反惡意軟件裝置可對(duì)哈希沖突數(shù)量進(jìn)行計(jì)數(shù)或確認(rèn)。反惡意軟件裝置可對(duì)在操作S920產(chǎn)生的惡意軟件模式數(shù)據(jù)的哈希值之間的沖突數(shù)量進(jìn)行計(jì)數(shù)。反惡意軟件裝置可從在操作S925產(chǎn)生的子項(xiàng)匹配器表的沖突模式偏移的數(shù)量來(lái)獲知哈希沖突數(shù)量。在操作S1030,反惡意軟件裝置可將在操作S1020確認(rèn)的哈希沖突數(shù)量與參考值進(jìn)行比較。如果在操作S1030,在操作S1020確認(rèn)的哈希沖突數(shù)量超過(guò)參考值(Y),則在操作 S1040,反惡意軟件裝置可請(qǐng)求服務(wù)器更新惡意軟件模式數(shù)據(jù)和哈希系數(shù)。在操作S1050,服務(wù)器可根據(jù)反惡意軟件裝置的請(qǐng)求,選擇使哈希沖突發(fā)生概率最小化的哈希系數(shù)或哈希函數(shù)。服務(wù)器可基于先前涉及的惡意軟件模式數(shù)據(jù)或更新惡意軟件模式數(shù)據(jù)來(lái)重新選擇哈希系數(shù)或哈希函數(shù)。上述處理可類(lèi)似于參照?qǐng)D8描述的操作。在操作S1060,服務(wù)器可將在操作S1050涉及的更新惡意軟件模式數(shù)據(jù)和重新選擇的哈希系數(shù)或哈希函數(shù)發(fā)送到反惡意軟件裝置。
圖11是根據(jù)本發(fā)明另一示例性實(shí)施例的反惡意軟件系統(tǒng)的框圖。參照?qǐng)D11,反惡意軟件系統(tǒng)包括服務(wù)器1100和客戶(hù)機(jī)1200。服務(wù)器1100更新惡意軟件模式DB,計(jì)算用于防止在客戶(hù)機(jī)1200檢測(cè)惡意軟件的操作中發(fā)生哈希沖突的哈希系數(shù),并將計(jì)算出的哈希系數(shù)發(fā)送到客戶(hù)機(jī)1200。服務(wù)器1100 可以是參照?qǐng)D1和圖7描述的服務(wù)器100和服務(wù)器600之一,也可按照類(lèi)似于服務(wù)器100 和服務(wù)器600的方式來(lái)操作。惡意軟件模式DB可以是參照?qǐng)D1和圖7描述的惡意軟件模式DB。客戶(hù)機(jī)1200可從服務(wù)器1100下載惡意軟件模式DB,并檢測(cè)目標(biāo)數(shù)據(jù)是否感染有惡意軟件??蛻?hù)機(jī)1200可以是參照?qǐng)D1和圖7描述的反惡意軟件裝置200和反惡意軟件裝置700之一,也可以按照類(lèi)似于反惡意軟件裝置200和反惡意軟件裝置700的方式來(lái)操作。然而,可利用SOC來(lái)實(shí)現(xiàn)客戶(hù)機(jī)1200。在本實(shí)施例中,如果服務(wù)器1100從客戶(hù)機(jī)1200接收到更新請(qǐng)求,則服務(wù)器1100 可將哈希系數(shù)和必要的更新信息發(fā)送到客戶(hù)機(jī)1200。必要的更新信息可包括由服務(wù)器 1100計(jì)算的哈希系數(shù)或哈希函數(shù)和惡意軟件模式數(shù)據(jù)。服務(wù)器1100包括用于更新惡意軟件模式DB的更新單元1110和用于計(jì)算哈希系數(shù)的沖突避免單元1120。更新單元1110可額外提供由圖1和圖7的更新單元120和更新單元620中的至少一個(gè)執(zhí)行的功能。更新單元1110包括惡意軟件模式輸入處理單元1111、塊產(chǎn)生處理單元 1112和更新信息構(gòu)建單元1114。惡意軟件模式輸入處理單元1111處理將被發(fā)送到客戶(hù)機(jī)1200的惡意軟件模式數(shù)據(jù)的輸入。塊產(chǎn)生處理單元1112產(chǎn)生塊。更新信息構(gòu)建單元1114構(gòu)建更新信息。例如,更新信息構(gòu)建單元1114可通過(guò)以下操作來(lái)構(gòu)建更新信息(即,惡意軟件模式DB)將由哈希系數(shù)選擇單元1122選擇的哈希系數(shù)和由哈希函數(shù)選擇單元1123選擇的哈希函數(shù)之一寫(xiě)入哈希項(xiàng)320,并將惡意軟件模式數(shù)據(jù)寫(xiě)入數(shù)據(jù)項(xiàng)330。沖突避免單元1120包括累計(jì)塊DB 1121、哈希系數(shù)選擇單元1122和哈希函數(shù)選擇單元1123。累計(jì)塊DB 1121存儲(chǔ)累計(jì)塊信息。哈希系數(shù)選擇單元1122選擇哈希系數(shù)。哈希函數(shù)選擇單元1123選擇哈希函數(shù)。哈希系數(shù)選擇單元1122可執(zhí)行圖1的哈希系數(shù)選擇單元110的功能。也就是說(shuō), 哈希系數(shù)選擇單元1122可基于通過(guò)對(duì)于惡意軟件模式的哈希函數(shù)的最小哈希沖突結(jié)果來(lái)選擇將被發(fā)送到客戶(hù)機(jī)1200的哈希系數(shù)。例如,當(dāng)惡意軟件模式數(shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元1122可通過(guò)使用以下算法來(lái)選擇哈希系數(shù),所述算法使獲得的哈希值的沖突概率最小化。或者,當(dāng)惡意軟件模式數(shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元 1122可通過(guò)使用獲得的哈希值的方差值來(lái)選擇哈希系數(shù)。哈希函數(shù)選擇單元1123可執(zhí)行圖7的哈希函數(shù)選擇單元610的功能。也就是說(shuō), 哈希函數(shù)選擇單元1123按照由哈希系數(shù)選擇單元1122使用的相同方式來(lái)選擇哈希系數(shù), 并選擇應(yīng)用了所選擇的哈希系數(shù)的哈希函數(shù)。同時(shí),客戶(hù)機(jī)1200包括反惡意軟件應(yīng)用單元1210和反惡意軟件S0C1220。反惡意軟件應(yīng)用單元1210可提供反惡意軟件必需的驅(qū)動(dòng)器和環(huán)境設(shè)置。為此,反惡意軟件應(yīng)用單元1210包括環(huán)境設(shè)置和DB更新請(qǐng)求單元1211、DB處理模塊1212、SOC調(diào)用單元1213以及掃描隊(duì)列和驅(qū)動(dòng)器模塊1214。環(huán)境設(shè)置和DB更新請(qǐng)求單元1211可設(shè)置用于反惡意軟件操作的環(huán)境,并請(qǐng)求服務(wù)器1100更新惡意軟件模式DB。環(huán)境設(shè)置和DB更新請(qǐng)求單元1211可額外提供圖7的更新請(qǐng)求單元790的功能。DB處理模塊1212可處理惡意軟件模式DB,即,惡意軟件模式數(shù)據(jù)、哈希函數(shù)或哈希系數(shù)。SOC調(diào)用單元1213調(diào)用S0C。掃描隊(duì)列和驅(qū)動(dòng)器模塊1214可提供和/或驅(qū)動(dòng)由客戶(hù)機(jī)1200執(zhí)行的模式匹配所必需的各種驅(qū)動(dòng)器。反惡意軟件SOC 1220通過(guò)使用惡意軟件模式DB來(lái)檢測(cè)感染有惡意軟件的數(shù)據(jù)。 為此,反惡意軟件SOC 1220包括搜索引擎1221、模式匹配模塊1222、DB管理器模塊1223、 文件數(shù)據(jù)處理模塊12M、包數(shù)據(jù)處理模塊1225和防火墻規(guī)則管理器模塊12沈。搜索引擎1211負(fù)責(zé)搜索惡意軟件模式。搜索引擎1211可以是執(zhí)行圖1和圖7的哈希產(chǎn)生單元220和哈希產(chǎn)生單元720、表產(chǎn)生單元240和表產(chǎn)生單元740以及哈希匹配器單元270和哈希匹配器單元770的功能的硬件。因此,搜索引擎1211可產(chǎn)生惡意軟件模式數(shù)據(jù)的哈希值和子項(xiàng)數(shù)據(jù)的哈希值,產(chǎn)生模式的哈希值表,并執(zhí)行哈希值匹配。模式匹配模塊1222對(duì)惡意軟件模式數(shù)據(jù)和子項(xiàng)數(shù)據(jù)執(zhí)行模式匹配。模式匹配模塊1222可對(duì)應(yīng)于圖1和圖7的匹配單元280和匹配單元780。DB管理器模塊1223管理惡意軟件模式DB。例如,DB管理器模塊1223可將惡意軟件模式數(shù)據(jù)加載到存儲(chǔ)器(未示出),從而搜索引擎1211可產(chǎn)生哈希值。文件數(shù)據(jù)處理模塊12 處理文件數(shù)據(jù)。包數(shù)據(jù)處理模塊1225處理包數(shù)據(jù)。例如, 包數(shù)據(jù)處理模塊12M可將目標(biāo)數(shù)據(jù)劃分為具有預(yù)定單位的子項(xiàng)數(shù)據(jù)。每個(gè)子項(xiàng)數(shù)據(jù)被提供給搜索引擎1211并被用于產(chǎn)生子項(xiàng)數(shù)據(jù)的哈希值。防火墻規(guī)則管理器模塊12 管理防火墻規(guī)則。以下,參照?qǐng)D12到圖16來(lái)描述在具有圖11的結(jié)構(gòu)的反惡意軟件系統(tǒng)中防止哈希沖突的方法。圖12到圖16是根據(jù)本發(fā)明示例性實(shí)施例的在反惡意軟件系統(tǒng)中防止哈希沖突的方法的流程圖。執(zhí)行防止哈希沖突的方法的反惡意軟件系統(tǒng)可包括圖11的服務(wù)器 1100和客戶(hù)機(jī)1200。圖12是根據(jù)本發(fā)明示例性實(shí)施例的在反惡意軟件系統(tǒng)中防止哈希沖突的方法的流程圖。參照?qǐng)D12,服務(wù)器設(shè)置并初始化用于惡意軟件模式DB塊的初始值(操作S1201)。如果新的惡意軟件模式數(shù)據(jù)(S卩,更新惡意軟件模式數(shù)據(jù))被輸入,則服務(wù)器確定新的塊作業(yè)是否必要(操作S1203和S1205)。如果服務(wù)器確定新的塊作業(yè)必要,則服務(wù)器按照確定的格式來(lái)準(zhǔn)備惡意軟件模式數(shù)據(jù)DB并將惡意軟件模式數(shù)據(jù)DB存儲(chǔ)在惡意軟件模式DB中(操作S1207)。服務(wù)器對(duì)惡意軟件模式數(shù)據(jù)執(zhí)行新的塊產(chǎn)生處理,并產(chǎn)生塊(操作S1209)。服務(wù)器執(zhí)行沖突避免處理,以避免針對(duì)在操作S1209產(chǎn)生的塊的哈希沖突(操作 S1211)。服務(wù)器可通過(guò)執(zhí)行沖突避免處理來(lái)選擇哈希系數(shù)。盡管沒(méi)有在操作S1211示出, 但是服務(wù)器可通過(guò)執(zhí)行沖突避免處理來(lái)選擇哈希函數(shù)。
服務(wù)器存儲(chǔ)通過(guò)沖突避免處理所選擇的哈希系數(shù)或哈希函數(shù)(操作S1213)。圖13是根據(jù)本發(fā)明示例性實(shí)施例的產(chǎn)生塊的操作S1209的流程圖。參照?qǐng)D13,服務(wù)器從在操作S1207存儲(chǔ)的惡意軟件模式數(shù)據(jù)DB讀取惡意軟件模式數(shù)據(jù)。服務(wù)器從惡意軟件模式數(shù)據(jù)提取數(shù)據(jù)(操作S130;3)。例如,服務(wù)器可根據(jù)包括在惡意軟件模式數(shù)據(jù)中的位置、OS信息和輸入時(shí)間,提取以loCationID_OSID_YYYYMMDD格式的塊ID“BlockID”,作為所述數(shù)據(jù)。如果與提取的塊ID相同的塊ID已經(jīng)存在,則服務(wù)器可更新提取的塊數(shù)據(jù)的版本。然后,服務(wù)器輸入對(duì)應(yīng)的塊數(shù)據(jù)的大小和數(shù)據(jù)、md5值、是否使用、輸入人員和輸入時(shí)間。然后,服務(wù)器通過(guò)使用在操作S1303提取的數(shù)據(jù)來(lái)產(chǎn)生塊數(shù)據(jù)(操作S1305)。服務(wù)器將產(chǎn)生的塊數(shù)據(jù)存儲(chǔ)在惡意軟件模式數(shù)據(jù)DB中(操作S1307)。圖14是根據(jù)本發(fā)明示例性實(shí)施例的防止哈希沖突的操作S1211的流程圖。參照?qǐng)D14,服務(wù)器確認(rèn)惡意軟件模式DB中的塊數(shù)據(jù)(操作S1401)。服務(wù)器確定新添加的塊是否包括在塊數(shù)據(jù)中(操作S1403)。如果服務(wù)器確定新添加的塊包括在塊數(shù)據(jù)中,則服務(wù)器將新添加的塊的塊數(shù)據(jù)添加在惡意軟件模式DB中(操作S1405)。服務(wù)器針對(duì)包括在惡意軟件模式DB中的惡意軟件模式數(shù)據(jù)執(zhí)行用于計(jì)算哈希系數(shù)的初始化(操作S1407)。服務(wù)器選擇多個(gè)候選系數(shù)值(操作S1409)。多個(gè)候選系數(shù)值可以是多個(gè)候選哈希組(^^= 1,2…)的形式,其中,每個(gè)候選哈希組具有參照?qǐng)D1描述的一個(gè)或多個(gè)候選哈希系數(shù)。服務(wù)器通過(guò)使用在操作S1409選擇的候選系數(shù)值對(duì)惡意軟件模式數(shù)據(jù)執(zhí)行哈希函數(shù)處理(操作S1411)。服務(wù)器通過(guò)比較哈希函數(shù)處理結(jié)果來(lái)選擇使哈希沖突最小化的哈希系數(shù)(操作 S1413)。圖15是根據(jù)本發(fā)明示例性實(shí)施例的處理哈希函數(shù)的操作S1411的流程圖。參照?qǐng)D15,服務(wù)器初始化包括存儲(chǔ)器存儲(chǔ)位置的大小和系數(shù)值的范圍的信息(操作 S1501)。服務(wù)器構(gòu)建系數(shù)矩陣和哈希函數(shù)表(操作S1503和S1505)。系數(shù)矩陣可以是具有在操作S1409選擇的多個(gè)候選系數(shù)值的候選哈希組。例如,系數(shù)矩陣可包括61= Ia1^1, cj、G2 = {a2, b2, c2}、G3 = {a3, b3, c3}、…,并且可以是多個(gè)。服務(wù)器從惡意軟件模式DB讀取惡意軟件模式數(shù)據(jù)(操作S1507)。服務(wù)器將讀取的惡意軟件模式數(shù)據(jù)轉(zhuǎn)換為將被應(yīng)用于哈希函數(shù)的格式(操作 S1509)。服務(wù)器通過(guò)將系數(shù)矩陣的候選系數(shù)值和轉(zhuǎn)換的惡意軟件模式數(shù)據(jù)應(yīng)用于哈希函數(shù)來(lái)計(jì)算哈希值,并將計(jì)算出的哈希值應(yīng)用于哈希函數(shù)表(操作S1511)。在操作S1511,服務(wù)器計(jì)算每個(gè)候選哈希組的哈希值并將哈希值應(yīng)用于哈希函數(shù)表。服務(wù)器計(jì)算哈希函數(shù)表的值的方差值(操作S15i;3)。也就是說(shuō),服務(wù)器計(jì)算每個(gè)候選哈希組的哈希值,并計(jì)算每個(gè)候選哈希組的哈希值的方差值。
然后,服務(wù)器選擇指示從每個(gè)候選哈希組計(jì)算的方差值中的最小方差值的系數(shù)矩陣(操作S1515)。包括在選擇的系數(shù)矩陣中的候選系數(shù)是將被發(fā)送到客戶(hù)機(jī)的哈希系數(shù)。同時(shí),客戶(hù)機(jī)1200在更新時(shí)間請(qǐng)求服務(wù)器1100進(jìn)行更新。在這一點(diǎn)上,客戶(hù)機(jī) 1200可將存儲(chǔ)在其中的校驗(yàn)和、裝置執(zhí)行環(huán)境、位置信息、版本ID發(fā)送到服務(wù)器1100。更新單元1110基于接收的信息確定客戶(hù)機(jī)1200是否被改變,當(dāng)客戶(hù)機(jī)1200被改變時(shí),更新單元1110運(yùn)行位置判決器,并設(shè)置精確的位置。因此,服務(wù)器1110運(yùn)行更新信息構(gòu)建單元1114,并將以下項(xiàng)發(fā)送到客戶(hù)機(jī)1200 客戶(hù)機(jī)1200所必需的塊信息、塊信息的作業(yè)類(lèi)型(附加/下載/添加/刪除/替換)、更新惡意軟件模式數(shù)據(jù)以及根據(jù)更新惡意軟件模式數(shù)據(jù)重新選擇的哈希系數(shù)。接收到對(duì)應(yīng)的信息的客戶(hù)機(jī)1200基于塊信息和作業(yè)類(lèi)型來(lái)更新它的塊,并將更新結(jié)果轉(zhuǎn)送到服務(wù)器1100。服務(wù)器1100存儲(chǔ)更新結(jié)果并完成所述操作。圖16是根據(jù)本發(fā)明示例性實(shí)施例的由服務(wù)器執(zhí)行的更新操作的流程圖。參照?qǐng)D16,服務(wù)器從客戶(hù)機(jī)確定最后更新信息是否被改變(操作S1601)。如果服務(wù)器確定最后更新信息被改變,則服務(wù)器更新客戶(hù)機(jī)的更新信息(操作 S1619)。如果服務(wù)器確定最后更新信息沒(méi)有被改變,則服務(wù)器確定客戶(hù)機(jī)是否包括塊(操作 S1603)。如果服務(wù)器確定客戶(hù)機(jī)包括塊,則服務(wù)器針對(duì)塊信息確定版本ID是否不同或者其塊的數(shù)量是否不同(操作S1605)。如果服務(wù)器確定版本ID不同,則服務(wù)器向客戶(hù)機(jī)請(qǐng)求關(guān)于客戶(hù)機(jī)塊的信息(操作 S1613)。服務(wù)器從客戶(hù)機(jī)接收關(guān)于客戶(hù)機(jī)塊的信息(操作S1615)。服務(wù)器確定每個(gè)塊的作業(yè)類(lèi)型(添加/移除/替換/更新),并構(gòu)建對(duì)應(yīng)的作業(yè)類(lèi)型所必需的信息(操作S1617)。如果在操作S1605服務(wù)器確定塊的數(shù)量不同,則服務(wù)器構(gòu)建塊附加信息(操作 S1607)。服務(wù)器讀取將被發(fā)送到客戶(hù)機(jī)的塊的哈希系數(shù)(操作S1609)。服務(wù)器通過(guò)使用讀取的哈希系數(shù)來(lái)構(gòu)建每個(gè)塊的最終更新信息,并將最終更新信息發(fā)送到客戶(hù)機(jī)(操作S1611)。然后,服務(wù)器返回操作S1601,并重復(fù)所述操作。如果服務(wù)器確定客戶(hù)機(jī)不包括塊,則服務(wù)器直接進(jìn)行到操作S1609。根據(jù)本發(fā)明,服務(wù)器通過(guò)服務(wù)器的計(jì)算環(huán)境,執(zhí)行能夠最小化哈希沖突的作業(yè),構(gòu)建最佳哈希系數(shù)值,并將最佳哈希系數(shù)值和簽名DB發(fā)送到客戶(hù)機(jī),從而解決客戶(hù)機(jī)的存儲(chǔ)器存儲(chǔ)空間和計(jì)算效率有限這一現(xiàn)有問(wèn)題。因此,客戶(hù)機(jī)顯著減少負(fù)載消耗,并僅通過(guò)處理結(jié)果部分來(lái)預(yù)計(jì)性能的提高。此外,哈希系數(shù)被最小化,由此快速地處理模式檢測(cè)。存儲(chǔ)器訪問(wèn)得越少,小型計(jì)算裝置中的哈希沖突越少,由此減少由于存儲(chǔ)器較快的速度和較小的容量導(dǎo)致的電池消耗。上述示例性實(shí)施例和優(yōu)點(diǎn)僅僅是示例性的,而不被解釋為對(duì)本發(fā)明構(gòu)思的限制。所述示例性實(shí)施例可被容易地應(yīng)用于其它類(lèi)型的設(shè)備。此外,對(duì)示例性實(shí)施例的描述意在進(jìn)行說(shuō)明,而不是為了限制權(quán)利要求的范圍,許多可選方式、改進(jìn)和變型對(duì)于本領(lǐng)域技術(shù)人員而言是明顯的。
權(quán)利要求
1.一種反惡意軟件裝置,包括哈希值產(chǎn)生單元,用于通過(guò)使用具有至少一個(gè)哈希系數(shù)的哈希函數(shù)來(lái)產(chǎn)生惡意軟件模式的哈希值和目標(biāo)數(shù)據(jù)的哈希值;哈希匹配器單元,用于將目標(biāo)數(shù)據(jù)的哈希值匹配到惡意軟件模式的哈希值;以及匹配單元,如果哈希匹配器單元匹配成功,則所述匹配單元將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配。
2.如權(quán)利要求1所述的反惡意軟件裝置,其中,基于從應(yīng)用于惡意軟件模式的多個(gè)哈希函數(shù)產(chǎn)生的哈希沖突結(jié)果中的最小哈希沖突結(jié)果來(lái)確定所述至少一個(gè)哈希系數(shù)和/或哈希函數(shù)。
3.如權(quán)利要求1所述的反惡意軟件裝置,其中,所述至少一個(gè)哈希系數(shù)和/或哈希函數(shù)與惡意軟件模式一起被從通過(guò)網(wǎng)絡(luò)連接的服務(wù)器接收。
4.如權(quán)利要求3所述的反惡意軟件裝置,其中,當(dāng)哈希值產(chǎn)生單元從服務(wù)器接收到更新惡意軟件模式時(shí),所述哈希值產(chǎn)生單元通過(guò)使用與更新惡意軟件模式一起發(fā)送的哈希系數(shù)來(lái)重新產(chǎn)生哈希值。
5.如權(quán)利要求1所述的反惡意軟件裝置,其中,當(dāng)惡意軟件模式被更新時(shí),基于通過(guò)對(duì)于更新惡意軟件模式的哈希函數(shù)的最小哈希沖突結(jié)果來(lái)改變所述至少一個(gè)哈希系數(shù)和/ 或哈希函數(shù)。
6.如權(quán)利要求5所述的反惡意軟件裝置,其中,所述改變的至少一個(gè)哈希系數(shù)和/或改變的哈希函數(shù)被包括在更新惡意軟件模式中,其中,哈希值產(chǎn)生單元通過(guò)使用包括在更新惡意軟件模式中的所述改變的至少一個(gè)哈希系數(shù)和/或改變的哈希函數(shù)來(lái)重新產(chǎn)生哈希值。
7.如權(quán)利要求5所述的反惡意軟件裝置,其中,包括更新惡意軟件模式的更新惡意軟件模式DB包括頭部項(xiàng)和哈希項(xiàng),其中,在所述頭部項(xiàng)中寫(xiě)有頭部信息,在所述哈希項(xiàng)中寫(xiě)有所述改變的至少一個(gè)哈希系數(shù)和/或改變的哈希函數(shù)。
8.如權(quán)利要求1所述的反惡意軟件裝置,其中,當(dāng)將被發(fā)送到反惡意軟件裝置的惡意軟件模式的哈希值被獲得時(shí),按照使獲得的哈希值之間的沖突概率最小化的方式來(lái)確定哈希函數(shù)。
9.如權(quán)利要求1所述的反惡意軟件裝置,還包括更新請(qǐng)求單元,用于當(dāng)由哈希值產(chǎn)生單元產(chǎn)生的惡意軟件模式的哈希值之間的沖突數(shù)量超過(guò)參考值時(shí),請(qǐng)求更新所述至少一個(gè)哈希系數(shù)和/或哈希函數(shù)。
10.如權(quán)利要求1所述的反惡意軟件裝置,其中,惡意軟件模式包括用于病毒掃描的病毒模式和用于防火墻過(guò)濾的規(guī)則模式中的至少一個(gè),所述至少一個(gè)哈希系數(shù)包括用于病毒掃描的病毒哈希系數(shù)和用于防火墻過(guò)濾的規(guī)則哈希系數(shù)中的至少一個(gè)。
11.如權(quán)利要求1所述的反惡意軟件裝置,其中,所述反惡意軟件裝置相應(yīng)于片上系統(tǒng) (SOC)、桌上型計(jì)算機(jī)、智能電話(huà)、智能卡和半導(dǎo)體知識(shí)產(chǎn)權(quán)芯片(IP)之一。
12.一種用于將惡意軟件模式數(shù)據(jù)發(fā)送到反惡意軟件裝置的服務(wù)器,其中,所述反惡意軟件裝置通過(guò)使用具有哈希系數(shù)的哈希函數(shù)來(lái)執(zhí)行惡意軟件匹配,所述服務(wù)器包括更新單元,用于當(dāng)惡意軟件模式被發(fā)送到反惡意軟件裝置時(shí),用于將哈希系數(shù)發(fā)送到反惡意軟件裝置。
13.如權(quán)利要求12所述的服務(wù)器,其中,由更新單元發(fā)送的哈希系數(shù)被用于計(jì)算被發(fā)送到反惡意軟件裝置的惡意軟件模式的哈希值。
14.如權(quán)利要求12所述的服務(wù)器,還包括哈希系數(shù)選擇單元,用于基于通過(guò)對(duì)于被發(fā)送到反惡意軟件裝置的惡意軟件模式的哈希函數(shù)的最小哈希沖突結(jié)果來(lái)選擇哈希系數(shù),其中,由更新單元發(fā)送的哈希系數(shù)是由哈希系數(shù)選擇單元選擇的哈希系數(shù)。
15.如權(quán)利要求14所述的服務(wù)器,其中,當(dāng)將被發(fā)送到反惡意軟件裝置的惡意軟件模式數(shù)據(jù)被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元通過(guò)使用以下算法來(lái)選擇哈希系數(shù),所述算法使獲得的哈希值之間的沖突概率最小化,或者,所述哈希系數(shù)選擇單元選擇使獲得的哈希值的方差值最小化的哈希系數(shù)。
16.如權(quán)利要求14所述的服務(wù)器,其中,如果存在被用于更新惡意軟件模式的數(shù)據(jù),則當(dāng)先前存儲(chǔ)在反惡意軟件裝置中的惡意軟件模式數(shù)據(jù)和更新惡意軟件模式被應(yīng)用于哈希函數(shù)時(shí),哈希系數(shù)選擇單元通過(guò)使用使獲得的哈希值之間的沖突概率最小化的算法來(lái)選擇哈希系數(shù),或選擇使獲得的哈希值的方差值最小化的哈希系數(shù)。
17.如權(quán)利要求12所述的服務(wù)器,還包括哈希函數(shù)選擇單元,用于基于通過(guò)對(duì)于被發(fā)送到反惡意軟件裝置的惡意軟件模式的哈希函數(shù)的最小哈希沖突結(jié)果來(lái)選擇哈希函數(shù),其中,更新單元將由哈希函數(shù)選擇單元選擇的哈希函數(shù)與惡意軟件模式一起發(fā)送到反惡意軟件裝置。
18.如權(quán)利要求12所述的服務(wù)器,其中,惡意軟件模式包括用于病毒掃描的病毒模式和用于防火墻過(guò)濾的規(guī)則模式中的至少一個(gè),所述哈希系數(shù)包括用于病毒掃描的病毒哈希系數(shù)和用于防火墻過(guò)濾的規(guī)則哈希系數(shù)中的至少一個(gè)。
19.一種通過(guò)使用哈希系數(shù)來(lái)執(zhí)行惡意軟件模式匹配操作的方法,所述方法包括基于惡意軟件模式選擇哈希系數(shù),使得惡意軟件模式的哈希值之間的沖突概率最小化;通過(guò)使用選擇的哈希系數(shù)來(lái)計(jì)算惡意軟件模式的哈希值;以及當(dāng)惡意軟件模式的哈希值中的至少一個(gè)與目標(biāo)數(shù)據(jù)的哈希值彼此匹配時(shí),將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配。
20.如權(quán)利要求19所述的方法,還包括如果惡意軟件模式被改變,則重新選擇哈希系數(shù),使得改變的惡意軟件模式的哈希值之間的沖突概率最小化。
21.如權(quán)利要求20所述的方法,還包括通過(guò)使用重新選擇的哈希系數(shù)來(lái)重新計(jì)算改變的惡意軟件模式的哈希值,其中,基于改變的惡意軟件模式來(lái)重新選擇哈希系數(shù)。
22.如權(quán)利要求19所述的方法,其中,選擇哈希系數(shù)的步驟包括通過(guò)使用每個(gè)準(zhǔn)備的候選哈希系數(shù)來(lái)計(jì)算惡意軟件模式的哈希值;以及選擇具有針對(duì)每個(gè)候選哈希系數(shù)獲得的惡意軟件模式的哈希值的最小方差值的候選哈希系數(shù),作為用于計(jì)算目標(biāo)數(shù)據(jù)的哈希值的哈希系數(shù)。
23.一種通過(guò)使用哈希函數(shù)進(jìn)行的惡意軟件模式匹配方法,所述方法包括通過(guò)使用哈希函數(shù)來(lái)計(jì)算惡意軟件模式的哈希值;通過(guò)使用哈希函數(shù)來(lái)計(jì)算目標(biāo)數(shù)據(jù)的哈希值;當(dāng)惡意軟件模式的哈希值與目標(biāo)數(shù)據(jù)的哈希值彼此匹配時(shí),將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配;以及確定計(jì)算出的惡意軟件的哈希值是否彼此沖突。
24.如權(quán)利要求23所述的方法,其中,如果惡意軟件模式的哈希值之間的沖突數(shù)量超過(guò)先前設(shè)置的參考值,重新選擇哈希函數(shù)或包括在哈希函數(shù)中的哈希系數(shù)。
25.如權(quán)利要求M所述的方法,其中,重新選擇哈希函數(shù)或包括在哈希函數(shù)中的哈希系數(shù)的步驟包括選擇候選哈希系數(shù);通過(guò)使用候選哈希系數(shù)獲得將被用于進(jìn)行匹配的惡意軟件模式的哈希值;以及通過(guò)比較獲得的哈希值從候選哈希系數(shù)選擇使哈希系數(shù)最小化的哈希系數(shù)。
26.如權(quán)利要求24所述的方法,其中,重新選擇哈希函數(shù)或包括在哈希函數(shù)中的哈希系數(shù)的步驟包括選擇候選哈希系數(shù);通過(guò)使用候選哈希系數(shù)獲得被用于進(jìn)行匹配的惡意軟件模式的哈希值;以及通過(guò)計(jì)算每個(gè)獲得的哈希值的方差值從候選哈希系數(shù)選擇具有最小方差值的哈希系
全文摘要
提供一種反惡意軟件裝置、服務(wù)器和匹配惡意軟件模式的方法。哈希值產(chǎn)生單元通過(guò)使用具有至少一個(gè)哈希系數(shù)的哈希函數(shù)來(lái)產(chǎn)生惡意軟件模式的哈希值和目標(biāo)數(shù)據(jù)的哈希值。哈希匹配器單元將目標(biāo)數(shù)據(jù)的哈希值與惡意軟件模式的哈希值進(jìn)行匹配。如果哈希匹配器單元匹配成功,則匹配單元將惡意軟件模式與目標(biāo)數(shù)據(jù)進(jìn)行匹配。
文檔編號(hào)G06F21/56GK102289617SQ20111018397
公開(kāi)日2011年12月21日 申請(qǐng)日期2011年6月21日 優(yōu)先權(quán)日2010年6月21日
發(fā)明者俞仁善 申請(qǐng)人:三星Sds株式會(huì)社
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鹰潭市| 平罗县| 绥德县| 云阳县| 虎林市| 中方县| 台安县| 浮山县| 偃师市| 秭归县| 济源市| 绥江县| 长泰县| 南投市| 瑞金市| 腾冲县| 珠海市| 陕西省| 信丰县| 宿迁市| 班戈县| 太和县| 澄迈县| 康平县| 蓝田县| 油尖旺区| 吉首市| 固阳县| 吴旗县| 静海县| 梨树县| 斗六市| 阿坝| 康定县| 海淀区| 阳朔县| 永福县| 南丹县| 扶风县| 临夏县| 平罗县|