亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

防御未知病毒程序的方法

文檔序號(hào):6472335閱讀:277來(lái)源:國(guó)知局
專利名稱:防御未知病毒程序的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種防御未知病毒程序的方法,特別是涉及一種針對(duì)未知病毒程序防御的方法。
背景技術(shù)
隨著計(jì)算機(jī)應(yīng)用技術(shù)的發(fā)展,病毒也加速的發(fā)展,原有的特征碼技術(shù)已經(jīng)無(wú)法單獨(dú)應(yīng)對(duì) 現(xiàn)在流行的計(jì)算機(jī)病毒。近兩年采用依據(jù)程序行為判斷一個(gè)程序是否是病毒的技術(shù)也被廣泛 的應(yīng)用。這種技術(shù)的原理就是先探測(cè)被監(jiān)控程序的行為,然后依據(jù)這個(gè)程序的行為和預(yù)先設(shè) 置的程序有害行為數(shù)據(jù)庫(kù)中存儲(chǔ)的比較,從而判斷被監(jiān)控的程序是否為病毒。例如申請(qǐng)?zhí)枮?00510007682.X的中國(guó)發(fā)明專利公開了一種基于程序行為分析的計(jì)算機(jī)防 護(hù)方法。該方法是指設(shè)置一個(gè)程序行為知識(shí)庫(kù)和一個(gè)攻擊識(shí)別規(guī)則庫(kù),所述程序行為知識(shí) 庫(kù)存放有已知程序的正常行為數(shù)據(jù),例如操作系統(tǒng)內(nèi)的某一個(gè)正常的程序或者某一個(gè)第三方 的應(yīng)用程序的正常行為數(shù)據(jù);所述攻擊識(shí)別規(guī)則庫(kù)存放有病毒的攻擊行為數(shù)據(jù);在具體的應(yīng) 用中對(duì)于已知的程序,先監(jiān)控該已知程序的行為,然后將該已知程序的行為和上述的程序行 為知識(shí)庫(kù)進(jìn)行比較,判斷該已知程序是否受到了非法攻擊。在具體應(yīng)用中對(duì)于未知的程序, 監(jiān)控該未知程序的行為,將該行為與上述攻擊識(shí)別規(guī)則庫(kù)進(jìn)行比較,判定是否為有害程序。 該方法監(jiān)控程序的方法僅僅是采用勾掛程序系統(tǒng)API調(diào)用的行為來(lái)監(jiān)控一個(gè)程序是否為病毒 程序或者受到病毒感染,因此程序行為數(shù)據(jù)的比較僅限于系統(tǒng)API調(diào)用,由于許多的正常的 應(yīng)用程序也難免涉及到上述攻擊識(shí)別規(guī)則庫(kù)里存放的API調(diào)用數(shù)據(jù),例如,如果將采用中斷 寫磁盤某個(gè)特定區(qū)域的操作作為病毒行為,則一個(gè)采用這種操作的正常程序也會(huì)被視為病毒 。因此,僅僅依靠將待檢測(cè)程序的行為數(shù)據(jù)與某種規(guī)則數(shù)據(jù)庫(kù)或者某種危害行為數(shù)據(jù)庫(kù)進(jìn)行 判斷待檢測(cè)程序是否為病毒程序,這樣容易把正常程序也誤判斷成為病毒程序。從另一個(gè)角度來(lái)說(shuō),申請(qǐng)?zhí)枮?00510007682.X的中國(guó)發(fā)明專利所涉及到的攻擊識(shí)別規(guī)則 庫(kù),依照此發(fā)明專利的說(shuō)明書記載,其中存儲(chǔ)的都是病毒程序的攻擊破壞性行為,都是直接 對(duì)系統(tǒng)具有攻擊性的危害的行為。可是在現(xiàn)實(shí)中,有許多程序的指令或者這些程序的指令集 合雖然不具有直接的攻擊性行為,但是仍然給系統(tǒng)帶來(lái)危害性。例如程序的一段死循環(huán)指 令。還有一些程序雖然本身沒(méi)有攻擊性指令行為,但是通過(guò)調(diào)用其他的指令組合達(dá)到了直接 的攻擊效果,例如某一個(gè)程序調(diào)用已知的或者未知的系統(tǒng)漏洞或者系統(tǒng)后門進(jìn)行有針對(duì)性的操作,就會(huì)產(chǎn)生直接的攻擊效果。程序的調(diào)用,即是很常見(jiàn)的也是很正常的技術(shù)手段,而 正常的程序很難免要使用程序的調(diào)用,如果將程序的調(diào)用行為存儲(chǔ)到所述攻擊識(shí)別規(guī)則庫(kù)中 ,將造成大面積的正常程序誤判斷成為病毒程序。如果將程序的調(diào)用行為不存儲(chǔ)到所述攻擊 識(shí)別規(guī)則庫(kù)中,可能會(huì)造成對(duì)病毒程序的漏判斷?,F(xiàn)實(shí)中,有人提出可以采用病毒行為感染實(shí)驗(yàn)的方法診斷一個(gè)待檢測(cè)程序是否為病毒程 序。該方法首先運(yùn)行待檢測(cè)程序,再運(yùn)行一些確切知道不帶毒的正常程序,然后觀察這些正 常程序的長(zhǎng)度和校驗(yàn)和是否發(fā)生變化,如果發(fā)現(xiàn)不帶毒的正常程序出現(xiàn)程序增長(zhǎng)、縮短,或 者校驗(yàn)和發(fā)生變化,就可判斷處該待檢測(cè)程序?yàn)椴《境绦颉,F(xiàn)實(shí)中,還有人提出對(duì)于加密、變形等采用了加殼技術(shù)的病毒體先對(duì)其進(jìn)行解密,還原 病毒體到原始狀態(tài),即病毒體采用了加殼技術(shù)以前的狀態(tài),這樣的做法會(huì)增大對(duì)病毒識(shí)別的 難度,并且增加了許多對(duì)病毒體解密失敗的事件,另外額外的增加了系統(tǒng)的負(fù)擔(dān)。發(fā)明內(nèi)容鑒于上述問(wèn)題,本發(fā)明要解決的技術(shù)問(wèn)題是提供一種減少誤判斷和漏判斷的防御未知病 毒程序的方法。為了解決上述的問(wèn)題,本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的 一種防御未知病毒程序的方法,包括獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù);根據(jù)獲得的所述待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)或運(yùn)行特 征數(shù)據(jù)集合,結(jié)合預(yù)置的病毒程序的病毒運(yùn)行特征數(shù)據(jù)或病毒運(yùn)行特征數(shù)據(jù)集合,判斷所述 待檢測(cè)程序是否為病毒程序。進(jìn)一步,所述方法還可以包括獲取待檢測(cè)程序的行為數(shù)據(jù)或行為數(shù)據(jù)集合;根據(jù)獲得的所述待檢測(cè)程序的行為數(shù)據(jù)或 行為數(shù)據(jù)集合,結(jié)合預(yù)置的病毒程序的行為數(shù)據(jù)或者行為數(shù)據(jù)集合,判斷所述待檢測(cè)程序是 否為病毒程序。所述方法還可以包括建立程序行為經(jīng)驗(yàn)庫(kù),用于存儲(chǔ)病毒程序的行為數(shù)據(jù)或者行為數(shù)據(jù)的集合,以及存儲(chǔ)病 毒程序從行為數(shù)據(jù)到結(jié)果數(shù)據(jù)的過(guò)程表達(dá)式,所述過(guò)程表達(dá)式包括行為數(shù)據(jù)和結(jié)果數(shù)據(jù)以及 從行為到結(jié)果的對(duì)應(yīng)關(guān)系數(shù)據(jù);以及,將獲得的所述待檢測(cè)程序的行為數(shù)據(jù)或行為數(shù)據(jù)集合與所述程序行為經(jīng)驗(yàn)庫(kù)中的行為數(shù)據(jù)進(jìn)行比較,獲得所述過(guò)程表達(dá)式,通過(guò)所述過(guò)程表達(dá)式 判斷所述待檢測(cè)程序是否為病毒程序。所述方法還可以包括,按照下列步驟建立病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)獲得已知病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù);記錄已知病毒程序運(yùn)行過(guò)程中相同或相似部 分的內(nèi)存數(shù)據(jù)或內(nèi)存數(shù)據(jù)的集合以及按序排列所述相同或相似部分的內(nèi)存數(shù)據(jù)片段,將所述 排列后的內(nèi)存數(shù)據(jù)片段存儲(chǔ)并形成病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù);以及,將對(duì)系統(tǒng)進(jìn)行惡意操作 的指令或指令集在被執(zhí)行過(guò)程中的內(nèi)存數(shù)據(jù)存儲(chǔ)到所述病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中,利用所 述特征經(jīng)驗(yàn)庫(kù)中的數(shù)據(jù)判斷所述待檢測(cè)程序是否為病毒程序。所述方法還可以包括,按照下列步驟建立原則庫(kù)將已知病毒程序的破壞性操作行為與該破壞性操作行為對(duì)應(yīng)的運(yùn)行結(jié)果,以及病毒程序 運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系表達(dá)式儲(chǔ)存到原則庫(kù)中 ;把對(duì)系統(tǒng)進(jìn)行惡意操作的指令或指令集與對(duì)應(yīng)的指令或指令集執(zhí)行后的結(jié)果,以及該指令 或指令集被執(zhí)行過(guò)程中的內(nèi)存數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系表達(dá)式儲(chǔ)存到原則庫(kù)中;利用所述原則庫(kù)中的數(shù)據(jù)判斷所述待檢測(cè)程序是否為病毒程序。 所述方法還可以包括獲得已知病毒程序的破壞性行為數(shù)據(jù),將待檢測(cè)程序的行為數(shù)據(jù)與建立的所述程序行為 經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷所述程序行為經(jīng)驗(yàn)庫(kù)中是否存儲(chǔ)有與待檢測(cè)程序的行為數(shù)據(jù)符合度大于指定的閥值;根據(jù)上述比較的結(jié)果,按照預(yù)置的判定規(guī)則,判斷待檢測(cè)程序 是否為病毒程序。所述方法還可以包括獲取待檢測(cè)程序運(yùn)行過(guò)程中的特征數(shù)據(jù),將獲取的所述待檢測(cè)程序運(yùn)行過(guò)程中的特征數(shù) 據(jù)與建立的病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中是否存儲(chǔ)有與待檢測(cè)程序運(yùn)行過(guò)程中的特征數(shù)據(jù)符合度大于指定的閥值;根據(jù)上述比較的 結(jié)果,按照預(yù)置的判定規(guī)則,判斷待檢測(cè)程序是否為病毒程序。所述方法還可以包括,按照下列條件定義所述預(yù)置的判定規(guī)則獲取待檢測(cè)程序的相應(yīng)數(shù)據(jù)分別與所述程序行為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)和所述病毒程序運(yùn) 行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,根據(jù)比較后的結(jié)果,確定是否需要再與建立的原則庫(kù) 進(jìn)行比較,判斷待檢測(cè)程序是否為病毒程序。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有以下的優(yōu)點(diǎn)本實(shí)施例所述防御未知病毒程序的方法通過(guò)技術(shù)人員分析已知病毒程序的破壞方式,按 照不同的破壞方式進(jìn)行不同種類的劃分,將采用相同或者相似破壞方式的病毒程序歸納到同 一種類。然后技術(shù)人員按照病毒程序種類的劃分,分析每一種類病毒程序在運(yùn)行過(guò)程中的相 同或相似之處。例如,技術(shù)人員分析每一種類病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù),將這些內(nèi)存數(shù)據(jù)具有相同或相似的部分提取出來(lái)并且進(jìn)行存儲(chǔ),形成病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)。設(shè)置一 個(gè)虛擬環(huán)境或者可以采用任何的公知技術(shù)將待檢測(cè)程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)或者待檢測(cè)程 序運(yùn)行過(guò)程中具有唯一特征的指紋特征提取出來(lái),并且與所述病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)進(jìn)行 比較。技術(shù)人員通過(guò)分析已知病毒程序的行為特征,將這些行為特征進(jìn)行存儲(chǔ),形成程序行為 經(jīng)驗(yàn)庫(kù)。建立原則庫(kù),將已知病毒程序的破壞性操作行為與該破壞性操作行為對(duì)應(yīng)的運(yùn)行結(jié) 果,以及病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系表達(dá) 式儲(chǔ)存到原則庫(kù)中;把對(duì)系統(tǒng)進(jìn)行惡意操作的指令或指令集與對(duì)應(yīng)的指令或指令集執(zhí)行后的 結(jié)果,以及該指令或指令集被執(zhí)行過(guò)程中的內(nèi)存數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系 表達(dá)式儲(chǔ)存到原則庫(kù)中。技術(shù)人員通過(guò)獲取待檢測(cè)程序的行為數(shù)據(jù)或行為數(shù)據(jù)集合,并且與所述程序行為經(jīng)驗(yàn)庫(kù) 進(jìn)行比較。根據(jù)以上兩次比較的結(jié)果,確定所述待檢測(cè)程序是否為病毒程序。如果兩次比較 的結(jié)果不一致,根據(jù)獲得的待檢測(cè)程序的相應(yīng)數(shù)據(jù)與建立的原則庫(kù)進(jìn)行比較,從而更進(jìn)一步 確定待檢測(cè)程序是否為病毒程序。將獲得的待檢測(cè)程序的行為數(shù)據(jù)與建立的原則庫(kù)中的對(duì)應(yīng) 關(guān)系表達(dá)式相應(yīng)部分進(jìn)行比較,對(duì)比較成功的次數(shù)進(jìn)行計(jì)數(shù);將獲得的待檢測(cè)程序的運(yùn)行過(guò) 程中的特征數(shù)據(jù)或者指紋特征與建立的原則庫(kù)中的對(duì)應(yīng)關(guān)系表達(dá)式相應(yīng)部分進(jìn)行比較,對(duì)比 較成功的次數(shù)進(jìn)行計(jì)數(shù);任意一次對(duì)比較成功的次數(shù)等于或者超過(guò)設(shè)定的閥值時(shí),判定所述 待檢測(cè)程序?yàn)椴《境绦?。根?jù)以上的技術(shù)過(guò)程,不但可以極大的降低將正常程序誤判斷為病毒程序,從而還可以 極大的提高對(duì)未知病毒的識(shí)別率,去除了現(xiàn)有技術(shù)單項(xiàng)比對(duì)的不足同時(shí)解決了現(xiàn)有的提升對(duì) 病毒的識(shí)別率就要增大誤判斷率的技術(shù)問(wèn)題。另外,任何的采用了加殼技術(shù)藏匿其病毒體的 病毒程序在內(nèi)存中運(yùn)行的時(shí)候都要還原到采用加殼技術(shù)前病毒體的原始的狀態(tài),所以本發(fā)明 能夠直接檢測(cè)待檢測(cè)程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù),不需要對(duì)加密病毒、變形病毒等采用了加 殼技術(shù)的病毒體進(jìn)行解密、脫殼或還原操作。


下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。 圖1是本發(fā)明防御未知病毒程序的方法的步驟流程圖; 圖2是本發(fā)明虛擬運(yùn)行環(huán)境獲取待檢測(cè)程序相關(guān)數(shù)據(jù)的圖示; 圖3是本發(fā)明中斷操作示意圖;圖4是本發(fā)明預(yù)置的判定規(guī)則另一實(shí)施方式示意圖;圖5是本發(fā)明原則庫(kù)示意圖。
具體實(shí)施方式
本發(fā)明的核心思想獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù),將獲得的待檢測(cè)程序的運(yùn)行特征 數(shù)據(jù)與已經(jīng)提取出的已知病毒程序運(yùn)行過(guò)程中具有典型特征的運(yùn)行特征數(shù)據(jù)或病毒運(yùn)行特征 數(shù)據(jù)集合進(jìn)行比較,判斷所述待檢測(cè)程序是否為病毒程序。參照?qǐng)Dl,是本發(fā)明防御未知病毒程序的方法的步驟流程圖,包括以下步驟步驟S1,獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)。技術(shù)人員可以利用現(xiàn)有公知技術(shù)或者現(xiàn)有的 自動(dòng)化工具(如勇芳內(nèi)存數(shù)據(jù)分析編輯器),將待檢測(cè)程序的內(nèi)存數(shù)據(jù)打印出來(lái)。如圖2 所示,技術(shù)人員還可以利用現(xiàn)有的技術(shù)設(shè)置一個(gè)虛擬環(huán)境,將待檢測(cè)程序放入虛擬環(huán)境中運(yùn) 行,讀取在虛擬環(huán)境中運(yùn)行的待檢測(cè)程序的內(nèi)存數(shù)據(jù)。此過(guò)程還可以使用虛擬工具來(lái)完成。在單獨(dú)的實(shí)施中,技術(shù)人員還可以按照下列方法獲取待檢測(cè)程序的內(nèi)存數(shù)據(jù),以windows系統(tǒng)為例進(jìn)行說(shuō)明(本例中涉及到的句柄、進(jìn)程id、進(jìn)程和內(nèi)存快照等詞匯均屬于本領(lǐng)域內(nèi)公知通用的技術(shù)名詞,其具體的含義在本領(lǐng)域內(nèi)教科書以及相關(guān)圖書資料中均有詳細(xì)說(shuō)明,在此不再贅述。) 例l:獲取待檢測(cè)程序a. exe運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù);Al步,使用函數(shù)createtoolhelp32snapshot ()創(chuàng)建內(nèi)存快照;A2步,將返回的句柄傳遞給函數(shù)process32first (),函數(shù)process32next ()來(lái)遍歷 內(nèi)存中的所有進(jìn)程,當(dāng)遇到待檢測(cè)程序a. exe的進(jìn)程,就將其進(jìn)程id保存下來(lái);A3步,使用函數(shù)openprocess ()打開a. exe的進(jìn)程,從而獲得該進(jìn)程的進(jìn)程句柄; A4步,使用函類ji;readprocessmemory ()讀耳又a. exe進(jìn)禾呈的句柄; A5步,獲得了待檢測(cè)程序a. exe運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)。例1說(shuō)明了實(shí)際中獲取待檢測(cè)程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù),本領(lǐng)域內(nèi)的一般技術(shù)人員可 以采用熟悉的或自動(dòng)化工具進(jìn)行實(shí)施,例l的說(shuō)明只是用于幫助理解本發(fā)明,對(duì)于本領(lǐng)域內(nèi) 的一般技術(shù)人員在具體實(shí)施方式
和具體應(yīng)用范圍上均會(huì)有所改變之處,本例的內(nèi)容不應(yīng)理解 為對(duì)本發(fā)明的限制。步驟S2,結(jié)合預(yù)置的病毒程序運(yùn)行特征數(shù)據(jù),判斷所述待檢測(cè)程序是否為病毒程序。 〈1 〉建立病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)技術(shù)人員可以將已知病毒程序根據(jù)其不同的破壞方式進(jìn)行不同的分類(如蠕蟲型病毒 程序、木馬型病毒程序),將同一分類的已知病毒程序采用步驟S1介紹的方法打印出此類病毒程序的內(nèi)存數(shù)據(jù),然后再比較已經(jīng)打印出已知病毒程序的內(nèi)存數(shù)據(jù),將這些已知病毒程序 的內(nèi)存數(shù)據(jù)相互間具有相同或相似的部分提取出來(lái)。如下例所說(shuō)明。 例2:假設(shè),有以下具有相同或相似破壞方式的已知病毒程序vl、 v2、 v3、 v4; Bl步,vl、 v2、 v3、 v4為某一類病毒程序,B2步,按照步驟S1介紹的方法,打印出上述病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù), 病毒程序vl的內(nèi)存數(shù)據(jù)00, 01, hl, 44, bl, al, 33, cl, bw, 0i, 22, 8i, 11, 2s, yy; 病毒程序v2的內(nèi)存數(shù)據(jù)00, cc, ae, 44, bl, q3, 33, cl, kh, al, 22, 8i, 11, s3, yy; 病毒程序v3的內(nèi)存數(shù)據(jù)00, 2c, 3e, 44, bl, w3, 33, cl, nh, a0, 22, 8i, 11, 13, yy; 病毒程序v4的內(nèi)存數(shù)據(jù)00, 24, 3o, 44, bl, wl, 33, cl, 0h, ui, 22, 8i, 11, 4n, yy; B3步,將這些已知病毒程序的內(nèi)存數(shù)據(jù)相互間具有相同或相似的部分提取出來(lái), 其中,該類病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)相互間具有相同的部分是 00\44, bl\33, cl\22, 8i\,該相同部分的有序排列表示為 ■#44, bl#33, cl#22, 8i#;其中,該類病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)相互間具有相似的部分是病毒程序vl的內(nèi)存數(shù)據(jù)末尾部分(11,2s,yy)相似于病毒程序v2的內(nèi)存數(shù)據(jù)末尾部分( 11,s3,yy)相似于病毒程序v3的內(nèi)存數(shù)據(jù)末尾部分(11,13,yy)相似于病毒程序v4的內(nèi)存數(shù) 據(jù)末尾部分(11,4n,yy),該相似部分可用ttl 1, **, yytt表示。本例中符號(hào)代表相同內(nèi) 存數(shù)據(jù)以外的內(nèi)存數(shù)據(jù),符號(hào)"*"代表相似內(nèi)存數(shù)據(jù)中的不同部分(用來(lái)標(biāo)示相似部分的 內(nèi)存數(shù)據(jù)的不同部分類似于這樣的設(shè)定方式能夠快速并精準(zhǔn)的在一長(zhǎng)串內(nèi)存數(shù)據(jù)中檢索出病 毒程序運(yùn)行特征數(shù)據(jù));B4步,將tt00糾4, bl#33, cl#22, 8itt存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù);將ttll,林,yytt存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù);技術(shù)人員可以將例2中提取出來(lái)的已知病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)相互間具有相同 或相似的部分存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù),形成病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù),另外病毒程序的運(yùn)行特征數(shù)據(jù) 是將已知病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)相互間具有相同或相似的部分提取出來(lái),并且按序 排列,被提取出來(lái)的部分不一定存在邏輯上的關(guān)聯(lián)或聯(lián)系?!?〉將待檢測(cè)數(shù)據(jù)與所述建立病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)進(jìn)行比較,判定所述待檢測(cè)程序 是否為病毒程序,具體以下例子進(jìn)行詳細(xì)說(shuō)明例3:Cl步,假設(shè)待檢測(cè)程序ca. exe、 cb. exe禾口cc. exe,獲取ca. exe、 cb. exe禾口cc. exe的運(yùn)行 特征數(shù)據(jù),貝U,ca. exe的運(yùn)行特征數(shù)據(jù)是:a0, qo, 9i, 80, 5h, 3h, jg, pq, ci, cl, 8k, 00, 0k, ab, c3, ck;cb. exe的運(yùn)行特征數(shù)據(jù)是la, 2b, c3, 4d, f5, 6h, 7k, j8, 9k, 10, 11, 22, 33, 44, 55, 6i;cc. exe的運(yùn)行特征數(shù)據(jù)是:3h, jg, pq, ci, 80, 5h, ab, c3, ck, ab, 70, cd, ef, gh, 53, 00; C2步,其中的i, 80, 5htt和tt8k, OOtt是病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù); 其中ttab, **, c他也是病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù);C3步,將待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)與病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)比較,ca. exe的運(yùn)行特征數(shù)據(jù):a0, qo, 9i, 80, 5h, 3h, jg, pq, ci, cl, 8k, 00, 0k, ab, c3, ck與病毒 程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)進(jìn)行比較,通過(guò)檢索病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù),發(fā)現(xiàn)ca. exe的運(yùn)行特征 數(shù)據(jù)中包含有與所述病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的某類病毒程序的運(yùn)行特征數(shù)據(jù)相同的 數(shù)據(jù),S口的i, 80, 5htt和tt8k, 00#;cb. exe的運(yùn)行特征數(shù)據(jù):la, 2b, c3, 4d, f5, 6h, 7k, j8, 9k, 10, 11, 22, 33, 44, 55, 6i與病毒 程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)進(jìn)行比較,通過(guò)檢索病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù),沒(méi)有發(fā)現(xiàn)cb. exe的運(yùn)行 特征數(shù)據(jù)中包含有所述病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的任何病毒程序的運(yùn)行特征數(shù)據(jù);cc. exe的運(yùn)行特征數(shù)據(jù):3h, jg, pq, ci, 80, 5h, ab, c3, ck, ab, 70, cd, ef, gh, 53, OO與病毒 程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)進(jìn)行比較,通過(guò)檢索病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù),發(fā)現(xiàn)cc. exe的運(yùn)行特征 數(shù)據(jù)中包含有與所述病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的某類病毒程序的運(yùn)行特征數(shù)據(jù)相似的 數(shù)據(jù),艮口 ttab,林,c他;C4步,判斷ca. exe與cc. exe是病毒程序,cb. exe不是病毒程序。技術(shù)人員在實(shí)際的實(shí)施過(guò)程中,還可能利用將已知的虛擬地址獲取其對(duì)應(yīng)的物理地址。 例如A1,使用函數(shù)GetPhyAddr ()進(jìn)行實(shí)施 paddr = GetPhyAddr(pvoid vaddr)// paddr的值是物理地址(paddr = physical address)〃 vaddr的值是虛擬地址或線性地址(vaddr = virtual address)技術(shù)人員在實(shí)際的實(shí)施過(guò)程中,仍然還可以使用DEBUG等自動(dòng)化工具獲得內(nèi)存數(shù)據(jù)的內(nèi)容例如A2,使用DEBUG的D命令査看內(nèi)存中的內(nèi)容假定將范圍限定在0000:OOOOH-FFFF:FFFFH中的任何一個(gè)單元的內(nèi)存,如果想知道內(nèi)存 10000H處的內(nèi)容,可以用〃d段地址偏移地址〃的格式來(lái)査看,輸入-d 1000:0;使用d 1000:9査看1000:9處的內(nèi)容; 使用d 1000:0 9査看1000:0-1000:9的內(nèi)容。具體實(shí)施過(guò)程中,技術(shù)人員可以根據(jù)實(shí)際的需要獲取對(duì)應(yīng)的值并得到相應(yīng)的運(yùn)行特征數(shù) 據(jù),另外技術(shù)人員還可以通過(guò)其他的方式或技術(shù)手段得到同樣的技術(shù)效果,在此不再贅述。通常的,獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)和獲取已知病毒程序的運(yùn)行特征數(shù)據(jù),本文以 上的例子都是以獲取待檢測(cè)程序和已知病毒程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù),但是無(wú)論是待檢測(cè) 程序或是病毒程序的運(yùn)行特征數(shù)據(jù)不僅僅只限于運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù),如某個(gè)程序被 CPU (中央處理器)執(zhí)行過(guò)程中的獨(dú)有的運(yùn)行特征數(shù)據(jù),包括寄存器中的某個(gè)地址指向到內(nèi) 存中某個(gè)位置的數(shù)據(jù)特征、進(jìn)行對(duì)中斷操作的運(yùn)行特征以及程序在被CPU執(zhí)行時(shí)由內(nèi)存調(diào)入 到高速緩存中的數(shù)據(jù)內(nèi)容等。具體的,再一個(gè)例子中的說(shuō)明例4, CIH類型的病毒利用中斷操作,從系統(tǒng)的用戶層(也稱作用戶態(tài),S卩RING 3)強(qiáng) 行到系統(tǒng)的內(nèi)核層(S卩RING 0),進(jìn)行對(duì)計(jì)算機(jī)主板上的BIOS芯片進(jìn)行破壞。因?yàn)镃IH類型的病毒用到是從系統(tǒng)的用戶層轉(zhuǎn)到系統(tǒng)的內(nèi)核層,因此在CPU內(nèi)的高速緩存 中存在從系統(tǒng)的用戶層到系統(tǒng)的內(nèi)核層的一些區(qū)別于運(yùn)行其他的程序的跡象(即正常的程 序被執(zhí)行的時(shí)候高速緩存順序的從內(nèi)存調(diào)取數(shù)據(jù)并且一般情況下應(yīng)用程序工作在系統(tǒng)的用戶 層〈RING 3>, CIH類型的病毒程序利用Intel處理器的中斷操作從系統(tǒng)的用戶層〈RING 3>強(qiáng)行 轉(zhuǎn)到系統(tǒng)的內(nèi)核層〈RING 0>),因此在高速緩存中存在一些從系統(tǒng)的用戶層轉(zhuǎn)到系統(tǒng)的內(nèi)核 層跳轉(zhuǎn)的數(shù)據(jù)(但是并非存在從系統(tǒng)的用戶層轉(zhuǎn)到系統(tǒng)的內(nèi)核層跳轉(zhuǎn)的數(shù)據(jù)都是病毒程序, 因?yàn)閭€(gè)別的正常程序也會(huì)用到此方式,注意的是我們本例中并不是說(shuō)明CIH類型病毒的行為 過(guò)程,而是想通過(guò)對(duì)CIH類型病毒程序的運(yùn)行原理說(shuō)明其固有的運(yùn)行特征),假設(shè)獲取其跳 轉(zhuǎn)到的內(nèi)存相應(yīng)的數(shù)據(jù),并且提取出CIH類型病毒對(duì)于這部分?jǐn)?shù)據(jù)所共有的部分,如下匯編指令out 70h,al; in al, 71h; xor ax, 926h;抑ttjmp 2000:003; add al, bl機(jī)器碼9i 7u 16 14 5h a7 3t ■ " el " 6c 00 d8〃假設(shè)"tt抑"左邊部分是利用中斷操作從系統(tǒng)的用戶層強(qiáng)行轉(zhuǎn)到系統(tǒng)的內(nèi)核層〃假設(shè)右邊部分是對(duì)BIOS芯片的破壞操作假定待檢測(cè)程序A的運(yùn)行特征,如下匯編指令mov ax, 1016h 機(jī)器碼b8 31 2e匯編指令out 70h, al 機(jī)器碼0e 21匯編指令in al, 71h 機(jī)器碼4d 8h匯編指令xchg ah, al 機(jī)器碼63 5h匯編指令:out70h, al機(jī)器碼:9i7u〃與病毒運(yùn)行特征相同;鄰分匯編指令:inal, 71h機(jī)器碼:1614〃與病毒運(yùn)行特征相同;鄰分匯編指令:xorax, 926h機(jī)器碼:5ha73t〃與病毒運(yùn)行特征相同;鄰分匯編指令:jnzdo—not—trigger 機(jī)器碼007c 2d匯編指令:movax, 4E20H機(jī)器碼:b8204e匯編指令:addbx, 1416H機(jī)器碼:051614匯編指令:addal, 9CH機(jī)器碼:049c匯編指令:movah, 0機(jī)器碼:b400匯編指令:jmp2000:003機(jī)器碼:77el77 6c〃與病毒運(yùn)行特征相同;鄰分匯編指令:addal, bl機(jī)器碼:00d8〃與病毒運(yùn)行特征相同;鄰分待檢測(cè)程序A的運(yùn)行特征,機(jī)器碼b8 31 2e 0e 21 4d 8h 63 5h 9i 7u 16 14 5h a7 3t 00 7c 2d b8 20 4e 05 16 14 04 9c b4 00 77 el 77 6c 00 d8其中,機(jī)器碼"9i 7u 16 14 5h a7 3t"是利用中斷操作從系統(tǒng)的用戶層強(qiáng)行轉(zhuǎn)到系統(tǒng) 的內(nèi)核層;其中,機(jī)器碼"77 el 77 6c 00 d8"是對(duì)BIOS芯片的破壞操作;待檢測(cè)程序B的運(yùn)行特征,機(jī)器碼9i 02 11 6h 8i u8 e3 9i 7u 16 14 5h a7 3t b8 31 2e 0e 21 4d 8h 63 7c 2d b8 20 9c b4雖然待檢測(cè)程序B的機(jī)器碼中也存在"9i 7u 16 14 5h a7 3t",也同樣利用中斷操作 從系統(tǒng)的用戶層強(qiáng)行轉(zhuǎn)到系統(tǒng)的內(nèi)核層,但是檢測(cè)程序B的機(jī)器碼中不存在對(duì)BIOS芯片進(jìn)行 破壞的數(shù)據(jù)。通過(guò)以上分析,待檢測(cè)程序A被執(zhí)行過(guò)程中,CPU內(nèi)寄存器存在明顯的非正常尋址以及其 CPU內(nèi)高速緩存中跳轉(zhuǎn)調(diào)取的破壞BIOS芯片的數(shù)據(jù),可以確定待檢測(cè)程序A是CIH類型的病毒 程序;雖然待檢測(cè)程序B也用到了從系統(tǒng)的用戶層轉(zhuǎn)到系統(tǒng)的內(nèi)核層跳轉(zhuǎn)的方式,但是其被 執(zhí)行過(guò)程中無(wú)論是內(nèi)存、高速緩存都不存在CIH病毒程序的完整運(yùn)行特征數(shù)據(jù),所以其不是 CIH類型的病毒程序。在本例中(例4),并不是說(shuō)明CIH類型病毒存在著哪些行為或者行為 過(guò)程,而是想通過(guò)對(duì)CIH類型病毒程序的運(yùn)行原理說(shuō)明其固有的運(yùn)行特征,關(guān)于病毒程序的 行為或者行為過(guò)程,將在后續(xù)的部分詳細(xì)說(shuō)明。從以上的所有實(shí)例中可以看出通過(guò)檢測(cè)待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)判定是否為病毒程序 的過(guò)程中,選取的已知病毒程序的運(yùn)行特征是很關(guān)鍵的,因?yàn)檫x取的已知病毒程序的運(yùn)行特 征直接關(guān)系到對(duì)病毒程序識(shí)別的準(zhǔn)確度。技術(shù)人員按照步驟S2的方法,在獲取某類型已知病 毒程序運(yùn)行過(guò)程中的特征數(shù)據(jù)時(shí),將該類型的病毒程序共有的并且是必要的運(yùn)行特征進(jìn)行提取,提取的已知病毒程序運(yùn)行過(guò)程中的運(yùn)行特征數(shù)據(jù)經(jīng)常是同一類型的病毒程序在運(yùn)行過(guò)程 中相同或相似部分的內(nèi)存數(shù)據(jù)或者是按照順序排列所述相同或相似部分的內(nèi)存數(shù)據(jù)片段,這 些內(nèi)存數(shù)據(jù)或者是按照順序排列的內(nèi)存數(shù)據(jù)片段相互之間不一定存在邏輯上的關(guān)聯(lián)或聯(lián)系, 如下例所示,例5:某一后門類型的病毒程序,該類型病毒程序的特點(diǎn)是調(diào)用一個(gè)名為E的系統(tǒng)漏洞。 假設(shè)該類型病毒程序運(yùn)行的關(guān)鍵過(guò)程是運(yùn)行過(guò)程l: if (drO == 0x474E4159) goto has—in—memory 〃獲取駐留內(nèi)存的設(shè)定, 其中drO是個(gè)變量,用來(lái)判斷程序體是否駐留進(jìn)了內(nèi)存; 運(yùn)行過(guò)程2: CALL E 〃調(diào)用系統(tǒng)漏洞;假設(shè)提取該類型病毒程序運(yùn)行過(guò)程中的運(yùn)行特征數(shù)據(jù),其中運(yùn)行過(guò)程l的內(nèi)存片段為17 9i 8b el 3d 5h 0k其中運(yùn)行過(guò)程2的內(nèi)存片段為3c fh 7i 9c 3t 5k運(yùn)行過(guò)程1的內(nèi)存片段與運(yùn)行過(guò)程2的內(nèi)存片段,按照順序進(jìn)行排列,并且運(yùn)行過(guò)程l的 內(nèi)存片段與運(yùn)行過(guò)程2的內(nèi)存片段不存在邏輯上的關(guān)聯(lián)或聯(lián)系。根據(jù)步驟S2,提取該類型病 毒程序的運(yùn)行特征數(shù)據(jù)為#17, 9i, 8b, el, 3d, 5h, 0k#3c, fh, 7i, 9c, 3t, 5ktt如果待檢測(cè)程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)按照順序包含17 9i 8b el 3d 5h 0k和3c fh 7i 9c 3t 5k,則該待檢測(cè)程序是此類型的病毒程序;假設(shè),待檢測(cè)程序運(yùn)行過(guò)程中的內(nèi)存數(shù)據(jù)是00 3c fh 7i 9c 3t 5k林17 9i 8b el 3d 5h 0k 22,雖然包含3c fh 7i 9c 3t 5k和17 9i 8b el 3d 5h 0k,但是內(nèi)存片段的順序與該類型病毒程序的運(yùn)行特征數(shù)據(jù)的內(nèi)存片段順序不一致,所以該 待檢測(cè)程序不是此類型的病毒程序。技術(shù)人員可以使用DEBUG等工具獲取某個(gè)程序被CPU (中央處理器)執(zhí)行過(guò)程中在寄存器 中的獨(dú)有的運(yùn)行特征數(shù)據(jù),技術(shù)人員還可以設(shè)置一個(gè)虛擬環(huán)境或采用虛擬機(jī)等工具模擬出 CPU,并將程序在模擬出的CPU中執(zhí)行,獲取待檢測(cè)程序在被執(zhí)行過(guò)程中的CPU內(nèi)部的運(yùn)行特 征數(shù)據(jù),如圖2所示。由于獲取程序在被執(zhí)行過(guò)程中的CPU內(nèi)部數(shù)據(jù)的現(xiàn)有方法很多也有不少 的工具,因此技術(shù)人員在具體實(shí)施過(guò)程中根據(jù)需要可以任意的選用達(dá)到此技術(shù)效果的途徑, 只要是通過(guò)獲取待檢測(cè)程序的運(yùn)行過(guò)程中的特征數(shù)據(jù)從而識(shí)別出病毒的方式,就屬于本發(fā)明 的構(gòu)思,在此不再贅述。步驟S3,獲取待檢測(cè)程序的行為數(shù)據(jù)或行為數(shù)據(jù)集合。所述待檢測(cè)程序的行為數(shù)據(jù),其實(shí)質(zhì)就是一系列能夠完成特定功能或結(jié)果的源代碼序列 塊,即能夠完成特定功能或結(jié)果的程序操作指令或以及程序操作指令和操作參數(shù)或具體的程 序操作指令的集合或程序操作指令以及操作參數(shù)的集合。所述的序列塊可以由反病毒技術(shù)人 員人工和借助輔助程序分析得出,采用一般分析病毒程序的方式對(duì)該待檢測(cè)程序進(jìn)行分析即 可。所述分析過(guò)程除了反病毒技術(shù)人員之外,還需要DEBUG、 PROVIEW等分析用工具程序和專 用的試驗(yàn)用計(jì)算機(jī)。因?yàn)樗龃龣z測(cè)程序?yàn)椴《境绦?,有可能在被分析階段繼續(xù)傳染甚至發(fā) 作,把存儲(chǔ)介質(zhì)內(nèi)的數(shù)據(jù)完全破壞,這就要求分析操作必須在專門設(shè)立的試驗(yàn)用PC機(jī)上進(jìn)行 , 一面帶來(lái)不必要的損失。通常的分析病毒程序的步驟可以分為動(dòng)態(tài)和靜態(tài)兩種。所述動(dòng)態(tài)分析則是指利用DEBUG 等程序調(diào)試工具在內(nèi)存加載病毒程序的情況下,對(duì)病毒程序做動(dòng)態(tài)跟蹤,觀察病毒程序的具 體工作過(guò)程,以理解病毒程序工作的原理。在病毒程序編碼比較簡(jiǎn)單時(shí),動(dòng)態(tài)分析不是必須 的。但當(dāng)病毒程序采用了較多的技術(shù)手段時(shí),則必須使用動(dòng)、靜態(tài)相結(jié)合的分析方法才能完 成整個(gè)分析過(guò)程。例如F—lip病毒程序采用隨機(jī)加密的手段,利用對(duì)病毒程序解密程序的動(dòng) 態(tài)分析才能完成解密工作,從而進(jìn)行下一步的靜態(tài)分析。所述靜態(tài)分析是指利用DEBUG等反 匯編程序?qū)⒉《境绦虼a形成反匯編后的程序清單進(jìn)行分析,看病毒程序可以分為哪些模塊 ,使用了哪些系統(tǒng)調(diào)用功能程序,采用了哪些技巧,如何將病毒程序感染文件的過(guò)程轉(zhuǎn)化為 清除病毒程序、修復(fù)文件的過(guò)程,哪些代碼可被用做特征碼以及如何防御這種病毒程序?qū)е?的破壞等。現(xiàn)有技術(shù)中,如果進(jìn)行上述分析,能夠獲得病毒程序的特征碼,存入病毒程序特征碼庫(kù) 中,以后即可根據(jù)特征碼實(shí)現(xiàn)病毒程序的識(shí)別。由于特征碼識(shí)別法只能識(shí)別已知的病毒程序 ,因此,為識(shí)別出未知病毒程序,在本實(shí)施方式中需要分析得出所述待檢測(cè)程序的行為操作 數(shù)據(jù),即一系列完成特定功能或結(jié)果的源代碼序列塊,根據(jù)所述源代碼序列塊判斷所述待檢 測(cè)程序是否為病毒程序。當(dāng)然,所述獲取待檢測(cè)程序行為數(shù)據(jù)的步驟也可以由計(jì)算機(jī)自行完 成,該部分的實(shí)施例在后面進(jìn)行詳述。步驟S4,結(jié)合預(yù)置的病毒程序的行為數(shù)據(jù)或行為數(shù)據(jù)集合,判斷所述待檢測(cè)程序是否為 病毒程序?!?〉建立程序行為經(jīng)驗(yàn)庫(kù)程序行為經(jīng)驗(yàn)庫(kù),用于存儲(chǔ)病毒程序的行為數(shù)據(jù)或者行為數(shù)據(jù)的集合,以及存儲(chǔ)病毒程 序從行為數(shù)據(jù)到結(jié)果數(shù)據(jù)的過(guò)程表達(dá)式,所述過(guò)程表達(dá)式包括行為數(shù)據(jù)和結(jié)果數(shù)據(jù)以及從行 為到結(jié)果的對(duì)應(yīng)關(guān)系數(shù)據(jù)。技術(shù)人員通過(guò)對(duì)病毒多年的觀察、研究,發(fā)現(xiàn)病毒有一些行為,是病毒的共同行為,而 且比較特殊。所述已知病毒程序的破壞性操作行為的分解和獲取可以通過(guò)人工完成也可以通 過(guò)計(jì)算機(jī)實(shí)現(xiàn)。所述的破壞性操作行為一般包括對(duì)計(jì)算機(jī)系統(tǒng)的非常規(guī)操作或者造成惡性結(jié) 果的操作。例如非常規(guī)讀寫操作、刪除某系統(tǒng)文件、導(dǎo)致內(nèi)存沖突、破壞硬盤分區(qū)表等等 。下面列舉一些可以用于監(jiān)測(cè)病毒的行為1、 占用INT13H(操作系統(tǒng)13H中斷)所有的引導(dǎo)型病毒都攻擊B00T (引導(dǎo))扇區(qū)或主引導(dǎo)扇區(qū)。系統(tǒng)啟動(dòng)時(shí),當(dāng)B00T扇區(qū)或 主引導(dǎo)扇區(qū)中的主控程序獲得執(zhí)行控制權(quán)時(shí),系統(tǒng)就開始工作。 一般引導(dǎo)型病毒都會(huì)占用 INT 13H中斷操作,系統(tǒng)引導(dǎo)時(shí)其它系統(tǒng)功能調(diào)用函數(shù)還未設(shè)置好,無(wú)法利用。引導(dǎo)型病毒 占據(jù)INT 13H中斷的系統(tǒng)功能操作,在其中放置病毒程序的代碼,即用病毒程序的代碼獲得 或替換INT 13H中斷的程序代碼的控制權(quán)。2、 修改系統(tǒng)數(shù)據(jù)區(qū)的內(nèi)存總量或覆蓋區(qū)的地址范圍,例如D0S系統(tǒng)。病毒常駐內(nèi)存后, 為了防止系統(tǒng)將其覆蓋,必須修改內(nèi)存總量。3、 對(duì)COM和EXE文件做寫入動(dòng)作。病毒要感染,而使病毒代碼寫入或嵌入COM和EXE文件 的操作。4、 病毒程序與宿主程序的切換。染毒程序運(yùn)行時(shí),先運(yùn)行病毒,而后執(zhí)行宿主程序; 在兩者切換時(shí),有一些典型的特征行為。除了上述較為明顯的破壞性操作行為,病毒程序一般還會(huì)包括較為正常的操作行為,如 果這些操作行為單獨(dú)或者組合起來(lái)有可能產(chǎn)生破壞數(shù)據(jù)的危險(xiǎn)操作,則也屬于本發(fā)明的范圍 內(nèi)。例如程序的一段死循環(huán)指令。還有一些程序雖然本身沒(méi)有攻擊性指令行為,但是通過(guò) 調(diào)用其他的指令組合達(dá)到了直接的攻擊效果,例如某一個(gè)程序調(diào)用已知的或者未知的系統(tǒng) 漏洞或者系統(tǒng)后門,從而達(dá)到直接的攻擊效果。程序的調(diào)用,即是很常見(jiàn)的也是很正常的技 術(shù)手段,正常的程序很難免要使用程序的調(diào)用,如果將程序的調(diào)用行為存儲(chǔ)到所述攻擊識(shí)別 規(guī)則庫(kù)中,將造成大面積的正常程序誤判斷成為病毒程序。如果將程序的調(diào)用行為不存儲(chǔ)到 所述攻擊識(shí)別規(guī)則庫(kù)中,可能會(huì)造成對(duì)病毒程序的漏判斷。具體的,以下例子進(jìn)行說(shuō)明例6,某CIH類型的病毒利用中斷操作,從系統(tǒng)的用戶層(也稱作用戶態(tài),S卩RING 3) 強(qiáng)行到系統(tǒng)的內(nèi)核層(即RING 0),進(jìn)行對(duì)計(jì)算機(jī)主板上的BIOS芯片進(jìn)行破壞。該病毒的 行為是行為l,通過(guò)中斷操作,從RING3轉(zhuǎn)到RING0操作;行為2,調(diào)用V麗功能—MapPhysToLinear將物理地址映射到虛擬地址(線性地址)并進(jìn)行修改;行為3,向BIOS芯片的Input/Output操作地址輸入數(shù)據(jù);該病毒的完整行為表達(dá)式行為l+行為2 +行為3其中,行為l導(dǎo)致了結(jié)果l:獲得了系統(tǒng)內(nèi)核級(jí)的操作權(quán)限;行為2導(dǎo)致了結(jié)果2:直接對(duì)虛擬地址進(jìn)行了操作,建立了讀寫B(tài)IOS芯片的邏輯通道; 行為3導(dǎo)致了結(jié)果3:成功的向BIOS芯片寫入了數(shù)據(jù);該病毒程序從行為到結(jié)果的邏輯表達(dá)式行為1 —結(jié)果l,行為2 —結(jié)果2,行為3—結(jié)果3;(行為1+行為2 +行為3)—(結(jié)果1 +結(jié)果2 +結(jié)果3)=病毒程序運(yùn)行后的最終結(jié)果,將以 上的該病毒的完整行為表達(dá)式存儲(chǔ)到所述的程序行為經(jīng)驗(yàn)庫(kù)中,根據(jù)需要也可以將該病毒程 序從行為到結(jié)果的邏輯表達(dá)式存儲(chǔ)到所述的程序行為經(jīng)驗(yàn)庫(kù)中。從本例中可以得知每一個(gè)行為之間都是存在著邏輯上的關(guān)聯(lián)或聯(lián)系,同樣每一個(gè)行為之 間都是按照順序進(jìn)行排列的,在上述的行為邏輯表達(dá)式中任何一個(gè)行為的缺省都是不成立的 ,都會(huì)對(duì)識(shí)別病毒程序有著極大的影響。通常, 一個(gè)病毒程序的破壞行為可以由一系列的執(zhí)行破壞性操作的指令或指令集構(gòu)成的 ,而且,每一個(gè)所述的指令或指令集至少產(chǎn)生一個(gè)獨(dú)立的破壞性操作行為。因此,分解現(xiàn)有 病毒程序的破壞性操作行為,即是將已經(jīng)存在的病毒程序中包含的獨(dú)立的破壞性操作行為涉 及的指令或指令集提取出來(lái)。例如,如圖3所示,假設(shè)13H中斷的03H或05H號(hào)功能調(diào)用涉及可 能的破壞數(shù)據(jù)的危險(xiǎn)操作,則13H中斷的03H或05H號(hào)功能調(diào)用對(duì)應(yīng)的指令就可以被看作是產(chǎn) 生一個(gè)獨(dú)立的破壞性操作行為的指令。假設(shè),1 OH中斷的02H號(hào)功能調(diào)用和11H的06H號(hào)功能調(diào) 用組合在一起涉及可能的破壞數(shù)據(jù)的危險(xiǎn)操作,貝U10H中斷的02H號(hào)功能調(diào)用和11H的06H號(hào)功 能調(diào)用對(duì)應(yīng)的指令集合就可以被看作是產(chǎn)生一個(gè)獨(dú)立的破壞性操作行為的指令集。如果一個(gè) 被檢測(cè)的程序具有這樣的指令代碼,就可以得知該被檢測(cè)程序存在一個(gè)可能破壞性其他程序 或數(shù)據(jù)的可疑操作行為,將這些行為收集起來(lái),就可以通過(guò)程序的行為集合判斷一個(gè)程序是 否為病毒程序以及如何最大限度地恢復(fù)相應(yīng)的病毒程序破壞的數(shù)據(jù)。獲取已知病毒程序的破壞性操作行為,也可以通過(guò)計(jì)算機(jī)輔助完成。例如采用申請(qǐng)?zhí)枮?01117726.8、名稱為"檢測(cè)和清除已知及未知計(jì)算機(jī)病毒的方法、系統(tǒng)和介質(zhì)"的中國(guó)發(fā)明 專利介紹的,以提供用于誘發(fā)病毒感染的感染對(duì)象來(lái)檢測(cè)病毒的方法,就可以獲得已知和未 知病毒程序的破壞性操作行為。由于申請(qǐng)?zhí)枮?1117726.8的發(fā)明已經(jīng)公開,在此不在贅述?!?〉結(jié)合建立的程序行為經(jīng)驗(yàn)庫(kù),判斷待檢測(cè)程序是否為病毒程序。例7,在例6中假定有個(gè)待檢測(cè)程序f.exe,通過(guò)獲取該待檢測(cè)程序的行為是行為l,通過(guò)査找指令搜索系統(tǒng)內(nèi)的進(jìn)程;行為2,在系統(tǒng)中通過(guò)創(chuàng)建進(jìn)程指令,創(chuàng)建f.exe的進(jìn)程;行為3, f. exe通過(guò)中斷操作,從RING3轉(zhuǎn)到RING0操作;行為4,調(diào)用V麗功能—MapPhysToLinear將物理地址映射到虛擬地址(線性地址)并進(jìn)行 修改;行為5,向BIOS芯片的Input/Output操作地址輸入數(shù)據(jù); 行為6,結(jié)束自身病毒程序創(chuàng)建的f.exe進(jìn)程; 行為7,刪除自身病毒體f.exe;f. exe的完整行為表達(dá)式行為l+行為2 +行為3 +行為4 +行為5 +行為6 +行為7 將f. exe與建立的程序行為經(jīng)驗(yàn)庫(kù)中的數(shù)據(jù)進(jìn)行比較,其中程序行為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的某 一數(shù)據(jù)是行為33 +行為44 +行為55,行為33是,通過(guò)中斷操作,從RING3轉(zhuǎn)到RING0操作;行為44是,調(diào)用V麗功能—MapPhysToLinear將物理地址映射到虛擬地址(線性地址)并 進(jìn)行修改;行為55是,向BIOS芯片的Input/Output操作地址輸入數(shù)據(jù); 該完整行為表達(dá)式行為33 +行為44 +行為55;f. exe的完整行為表達(dá)式包含行為3 +行為4 +行為5二行為33 +行為44 +行為55; 判斷f. exe是CIH類型的病毒。技術(shù)人員在進(jìn)行實(shí)施過(guò)程中,將獲得的所述待檢測(cè)程序的行為數(shù)據(jù)按照一定的順序進(jìn)行 排列如〈(行為A)與(行為B)....與(行為N) >,并與所述經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的行為信息進(jìn) 行比較。所述待檢測(cè)程序的行為數(shù)據(jù)按照一定的順序進(jìn)行排列后,即可以得到一系列的行為 序列,依次與所述經(jīng)驗(yàn)庫(kù)中的行為數(shù)據(jù)進(jìn)行比較。如果,所述經(jīng)驗(yàn)庫(kù)中存在相匹配的行為數(shù) 據(jù);如果,所述經(jīng)驗(yàn)庫(kù)中不存在任何相匹配的行為信息,則可以判定所述待檢測(cè)程序?yàn)楹戏?程序。另外技術(shù)人員在具體的實(shí)施過(guò)程中,可以根據(jù)需要進(jìn)行安排比較的過(guò)程以及比較的數(shù) 據(jù)。步驟S5,第一部分,獲取待檢測(cè)程序的相應(yīng)數(shù)據(jù)與所述程序行為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn) 行比較,確定待檢測(cè)程序與病毒程序的符合度(相近度或相似度),按照預(yù)置的判定規(guī)則, 判斷待檢測(cè)程序是否為病毒程序。具體的以下實(shí)施例詳細(xì)說(shuō)明,例8:〈1〉將獲得的待檢測(cè)程序的行為數(shù)據(jù)與建立的所述程序行為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷所述程序行為經(jīng)驗(yàn)庫(kù)中是否存儲(chǔ)有與所述待檢測(cè)程序的行為數(shù)據(jù)符合度大于指定的 閥值。待檢測(cè)程序hl. exe與待檢測(cè)程序h2. exe,分別獲取hl. exe與h2. exe的行為數(shù)據(jù); 獲得的hl.exe的行為數(shù)據(jù)是行為hll+行為hl2 +行為hl3 +行為hl4 +行為hl5 +行為hl6 +行為hl7 +行為h18 獲得的h2.exe的行為數(shù)據(jù)是行為h21+行為h22 +行為h23 +行為h24 +行為h25 +行為h26 +行為h27 +行為h28 某病毒程序v的行為數(shù)據(jù)存儲(chǔ)在程序行為經(jīng)驗(yàn)庫(kù)中,v的行為數(shù)據(jù)是 行為v3 +行為v4 +行為v5 +行為v6 +行為v7 假定,行為v3—于為hl3二行為h23,行為v4—于為hl4二行為h24,行為v5—于為hl5二行為h25, 行為v6—亍為h16,行為v7—亍為hl7;如果將所設(shè)定的閥值,令其值等于4,貝収=4; hl. exe的行為數(shù)據(jù)有5項(xiàng)行為與v的行為相符,則yl二5; h2. exe的行為數(shù)據(jù)有3項(xiàng)行為與v的行為相符,則y2二3; 根據(jù)以上過(guò)程,yl〉k, y2<k?!?〉如果大于指定的閥值,按照預(yù)置的判定規(guī)則判斷待檢測(cè)程序是否為病毒程序。 技術(shù)人員在實(shí)施過(guò)程中可以依照經(jīng)驗(yàn)并且根據(jù)需要設(shè)置所述判定規(guī)則,如技術(shù)人員可 以直接依照上述的yl〉k和y2〈k直接判定上述的待檢測(cè)程序hl.exe是病毒程序,上述的待檢 測(cè)程序h2. exe不是病毒程序。技術(shù)人員還可以建立另外一套判定規(guī)則判斷待檢測(cè)程序是否為病毒程序。 如,例9:建立原則庫(kù),獲取已知病毒程序的破壞性操作行為,將所述的破壞性操作行 為以及對(duì)應(yīng)的結(jié)果形成病毒程序從行為到結(jié)果的邏輯表達(dá)式或者建立從行為到結(jié)果的對(duì)照關(guān) 系,存儲(chǔ)到原則庫(kù)中。將病毒程序從行為到結(jié)果的邏輯表達(dá)式存儲(chǔ)到所述的原則庫(kù)中將, (行為1+行為2 +行為3)—(結(jié)果1 +結(jié)果2 +結(jié)果3)=最終結(jié)果,存儲(chǔ)到所述的原則庫(kù)中,同 時(shí)在原則庫(kù)中標(biāo)示出病毒程序的最終結(jié)果,所述的最終結(jié)果是技術(shù)人員依據(jù)多年的經(jīng)驗(yàn)總結(jié) 出來(lái)的病毒程序運(yùn)行后對(duì)系統(tǒng)造成的惡性結(jié)果。將獲得的待檢測(cè)程序的行為數(shù)據(jù)與建立的原則庫(kù)中的對(duì)應(yīng)關(guān)系表達(dá)式相應(yīng)部分進(jìn)行比較 ,對(duì)比較成功的次數(shù)進(jìn)行計(jì)數(shù),任意一次對(duì)比較成功的次數(shù)等于或者超過(guò)設(shè)定的閥值時(shí),判 定所述待檢測(cè)程序?yàn)椴《境绦?。在本例中所述的閥值包含兩個(gè)意義的閥值,第一個(gè)意義的閥值指的是假定獲得的待檢測(cè)程序的行為數(shù)據(jù)共包含X項(xiàng)行為,其中有Y項(xiàng)行為都符合原則庫(kù) 中存儲(chǔ)的某項(xiàng)數(shù)據(jù),貝収的值就是第一個(gè)意義的閥值,如獲得的待檢測(cè)程序行為數(shù)據(jù)是行為1+行為2 + ...行為X;原則庫(kù)中某項(xiàng)數(shù)據(jù)是行為11+行為22 + ...行為皿;假定,行為1=行為11,行為2 =行為22,貝収的值應(yīng)該等于2。第二個(gè)意義的閥值指的是待檢測(cè)程序的行為數(shù)據(jù)或行為數(shù)據(jù)的集合與所述的最終結(jié)果 有關(guān)聯(lián)關(guān)系或者待檢測(cè)程序的行為數(shù)據(jù)或行為數(shù)據(jù)的集合能夠?qū)е滤龅淖罱K結(jié)果,此為第 二個(gè)意義的閥值。如獲得的待檢測(cè)程序i. exe行為數(shù)據(jù)是行為il+行為i2 +行為i3;獲得的待檢測(cè)程序g. exe行為數(shù)據(jù)是行為gl+行為g2 +行為g3 +行為g4 +行為g5;原則庫(kù)中某項(xiàng)數(shù)據(jù)是(行為1+行為2 +行為3)—(結(jié)果1 +結(jié)果2 +結(jié)果3)=最終結(jié)果;其中,行為(gl+行為g2 +行為g3 +行為g4 +行為g5)二(行為l+行為2 +行為3)—(結(jié)果l +結(jié) 果2 +結(jié)果3)=最終結(jié)果;其中,(行為il+行為i2 +行為i3)^(行為l+行為2 +行為3);因此,待檢測(cè)程序i. exe判定為不是病毒程序,待檢測(cè)程序g. exe判定為病毒程序。步驟S5,第二部分,獲取待檢測(cè)程序的相應(yīng)數(shù)據(jù)與所述病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ) 的數(shù)據(jù)進(jìn)行比較,確定待檢測(cè)程序與病毒程序的符合度(相近度或相似度),按照預(yù)置的判 定規(guī)則,判斷待檢測(cè)程序是否為病毒程序。此過(guò)程與步驟S5,第一部分的過(guò)程相類似,唯獨(dú) 不同的是 一,獲取待檢測(cè)程序的相應(yīng)數(shù)據(jù)指的是獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)。二,把 對(duì)系統(tǒng)進(jìn)行惡意操作的指令或指令集與對(duì)應(yīng)的指令或指令集執(zhí)行后的結(jié)果,以及該指令或指 令集被執(zhí)行過(guò)程中的內(nèi)存數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,包括已知病毒程序被執(zhí)行過(guò)程中的內(nèi)存 數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系表達(dá)式儲(chǔ)存到原則庫(kù)中。例10:根據(jù)以往的實(shí)施例,分別獲取待檢測(cè)程序l. exe與m. exe的運(yùn)行特征數(shù)據(jù);1. exe的運(yùn)行特征數(shù)據(jù)是:a0, qo, 9i, 80, 5h, 3h, jg, pq, ci, cl, 8k, 00, 0k, ab, c3, ck;m. exe的運(yùn)行特征數(shù)據(jù)是la, 2b, c3, 4d, f5, 6h, 7k, j8, 9k, 10, 11, 22, 33, 44, 55, 6i;原則庫(kù)中某項(xiàng)數(shù)據(jù)是(ttqo, 9i, 80, **, 3h, jgtt)—病毒程序運(yùn)行后對(duì)系統(tǒng)造成的惡性結(jié)果; 待檢測(cè)程序l. exe判定為病毒程序,m. exe判定為不是病毒程序。技術(shù)人員在實(shí)施的過(guò)程中可以根據(jù)具體的需求選擇實(shí)施的過(guò)程,對(duì)病毒判斷的準(zhǔn)確度取 決于以上的所有實(shí)例中存儲(chǔ)病毒程序特性數(shù)據(jù)的數(shù)據(jù)庫(kù),如程序行為經(jīng)驗(yàn)庫(kù)、原則庫(kù)、病 毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)等。預(yù)置的判定規(guī)則也決定著識(shí)別病毒程序的準(zhǔn)確性,如圖4所示, 技術(shù)人員還可以對(duì)待檢測(cè)程序進(jìn)行綜合的分析,以達(dá)到較好的分析病毒的效果,原則庫(kù)中的 數(shù)據(jù)可參照?qǐng)D5所示。以上對(duì)本發(fā)明所提供的一種防御未知病毒程序的方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具 體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施 方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1. 一種防御未知病毒程序的方法,其特征在于,包括獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù);根據(jù)獲得的所述待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)或運(yùn)行特征數(shù)據(jù)集合,結(jié)合預(yù)置的病毒程序的病毒運(yùn)行特征數(shù)據(jù)或病毒運(yùn)行特征數(shù)據(jù)集合,判斷所述待檢測(cè)程序是否為病毒程序。
5,如權(quán)利要求4所述的防御未知病毒程序的方法,其特征在于,按照 下列步驟建立原則庫(kù)將已知病毒程序的破壞性操作行為與該破壞性操作行為對(duì)應(yīng)的運(yùn)行結(jié)果,以及病毒程 序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系表達(dá)式儲(chǔ)存到原則庫(kù)中;把對(duì)系統(tǒng)進(jìn)行惡意操作的指令或指令集與對(duì)應(yīng)的指令或指令集執(zhí)行后的結(jié)果,以及該 指令或指令集被執(zhí)行過(guò)程中的內(nèi)存數(shù)據(jù)形成對(duì)應(yīng)關(guān)系表達(dá)式,將所述對(duì)應(yīng)關(guān)系表達(dá)式儲(chǔ)存到 原則庫(kù)中;利用所述原則庫(kù)中的數(shù)據(jù)判斷所述待檢測(cè)程序是否為病毒程序。
6,如權(quán)利要求5所述的防御未知病毒程序的方法,其特征在于,按照 下述步驟獲取待檢測(cè)程序的行為數(shù)據(jù)獲得已知病毒程序的破壞性行為數(shù)據(jù);根據(jù)所述破壞性行為數(shù)據(jù)設(shè)置對(duì)應(yīng)的控制處理程序;使控制處理程序獲得對(duì)所述破壞性行為數(shù)據(jù)操作的控制權(quán);待檢測(cè)程序的破壞性行為數(shù)據(jù)調(diào)用相應(yīng)的控制處理程序,由所述控制處理程序記錄所 述待檢測(cè)程序的行為數(shù)據(jù)。
7,如權(quán)利要求4所述的防御未知病毒程序的方法,其特征在于,還包括建立虛擬裝置,將待檢測(cè)程序放入所述虛擬裝置中運(yùn)行,獲取待檢測(cè)程序運(yùn)行過(guò)程中 的特征數(shù)據(jù)。
8,如權(quán)利要求4所述的防御未知病毒程序的方法,其特征在于,還包括獲得已知病毒程序的破壞性行為數(shù)據(jù),將待檢測(cè)程序的行為數(shù)據(jù)與建立的所述程序行 為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷所述待檢測(cè)程序是否為病毒程序;建立虛擬裝置,將待檢測(cè)程序放入所述虛擬裝置中運(yùn)行,獲取待檢測(cè)程序運(yùn)行過(guò)程中 的特征數(shù)據(jù),將獲取的所述待檢測(cè)程序運(yùn)行過(guò)程中的特征數(shù)據(jù)與建立的病毒程序運(yùn)行特征經(jīng) 驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷所述待檢測(cè)程序是否為病毒程序。
9,如權(quán)利要求4所述的防御未知病毒程序的方法,其特征在于,還包括獲得已知病毒程序的破壞性行為數(shù)據(jù),將待檢測(cè)程序的行為數(shù)據(jù)與建立的所述程序行為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷所述程序行為經(jīng)驗(yàn)庫(kù)中是否存儲(chǔ)有與待檢測(cè)程序的行 為數(shù)據(jù)符合度大于指定的閥值;根據(jù)上述比較的結(jié)果,按照預(yù)置的判定規(guī)則,判斷待檢測(cè)程序是否為病毒程序。
10.權(quán)利要求IO如權(quán)利要求4所述的防御未知病毒程序的方法,其特征在于,還包括獲取待檢測(cè)程序運(yùn)行過(guò)程中的特征數(shù)據(jù),將獲取的所述待檢測(cè)程序運(yùn)行過(guò)程中的特征 數(shù)據(jù)與建立的病毒程序運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,判斷病毒程序運(yùn)行特征經(jīng)驗(yàn) 庫(kù)中是否存儲(chǔ)有與待檢測(cè)程序運(yùn)行過(guò)程中的特征數(shù)據(jù)符合度大于指定的閥值;根據(jù)上述比較的結(jié)果,按照預(yù)置的判定規(guī)則,判斷待檢測(cè)程序是否為病毒程序。
11.權(quán)利要求ll如權(quán)利要求9或10所述的防御未知病毒程序的方法,其特征在于 ,按照下列條件定義所述預(yù)置的判定規(guī)則獲取待檢測(cè)程序的相應(yīng)數(shù)據(jù)分別與所述程序行為經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)和所述病毒程序 運(yùn)行特征經(jīng)驗(yàn)庫(kù)中存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,根據(jù)比較后的結(jié)果,確定是否需要再與建立的原則 庫(kù)進(jìn)行比較,判斷待檢測(cè)程序是否為病毒程序。
12.權(quán)利要求12如權(quán)利要求4所述的防御未知病毒程序的方法,其特征在于,還包括獲取待檢測(cè)程序的行為數(shù)據(jù)和運(yùn)行過(guò)程中的特征數(shù)據(jù);將獲得的待檢測(cè)程序的行為數(shù)據(jù)與建立的原則庫(kù)中的對(duì)應(yīng)關(guān)系表達(dá)式相應(yīng)部分進(jìn)行比 較,對(duì)比較成功的次數(shù)進(jìn)行計(jì)數(shù);將獲得的待檢測(cè)程序的運(yùn)行過(guò)程中的特征數(shù)據(jù)或者指紋特征與建立的原則庫(kù)中的對(duì)應(yīng) 關(guān)系表達(dá)式相應(yīng)部分進(jìn)行比較,對(duì)比較成功的次數(shù)進(jìn)行計(jì)數(shù);任意一次比較成功的次數(shù)等于或者超過(guò)設(shè)定的閥值時(shí),判定所述待檢測(cè)程序?yàn)椴《境绦颉?br> 全文摘要
本發(fā)明公開了一種防御未知病毒程序的方法,包括獲取待檢測(cè)程序的運(yùn)行特征數(shù)據(jù);根據(jù)獲得的所述待檢測(cè)程序的運(yùn)行特征數(shù)據(jù)或運(yùn)行特征數(shù)據(jù)集合,結(jié)合預(yù)置的病毒程序的病毒運(yùn)行特征數(shù)據(jù)或病毒運(yùn)行特征數(shù)據(jù)集合,判斷所述待檢測(cè)程序是否為病毒程序。本發(fā)明采用檢測(cè)程序行為數(shù)據(jù)和程序的運(yùn)行特征數(shù)據(jù)的方式識(shí)別未知病毒。
文檔編號(hào)G06F21/00GK101281571SQ20081030123
公開日2008年10月8日 申請(qǐng)日期2008年4月22日 優(yōu)先權(quán)日2008年4月22日
發(fā)明者杰 白 申請(qǐng)人:白 杰;李 薇;魯征宇
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1