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

計(jì)算機(jī)反病毒防護(hù)系統(tǒng)和方法

文檔序號:6625021閱讀:244來源:國知局
專利名稱:計(jì)算機(jī)反病毒防護(hù)系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)防護(hù)系統(tǒng)和方法,與現(xiàn)有技術(shù)相比較不同的是,不采用病毒特征代碼進(jìn)行比對,而是以程序的動(dòng)作行為為特征,是基于程序行為分析的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)和方法。
背景技術(shù)
一直以來,對計(jì)算機(jī)病毒的入侵和反入侵的斗爭都在激烈地進(jìn)行著,隨著計(jì)算機(jī)越來越廣泛地使用,這種斗爭的激烈程度也上升到一個(gè)新的高度。經(jīng)過長期的斗爭實(shí)踐,人們總結(jié)出許多的具體方法來防止對計(jì)算機(jī)病毒的入侵,研制出許多相應(yīng)的防范產(chǎn)品。這些產(chǎn)品大體上可以分為兩類,一類是對入侵病毒進(jìn)行隔離,例如防火墻,通過對通訊端口、協(xié)議等進(jìn)行限制來防止入侵病毒的進(jìn)入;另一類是對可能形成入侵的染病毒文件進(jìn)行搜尋,例如現(xiàn)有的殺毒軟件,利用可能形成入侵感染病毒文件的代碼特征,通過掃描發(fā)現(xiàn)并清除有害染病毒文件。這兩類產(chǎn)品雖然在反病毒入侵的斗爭中起了不少的作用,但都具有一些無法克服的缺點(diǎn),它們分別是(一)防火墻雖然能夠阻斷一些非法病毒或黑客的入侵,但防火墻的監(jiān)控對象為主要端口和協(xié)議,需要由用戶自己設(shè)置要么允許通過、要么不允許通過。其主要缺陷,1.要求用戶對系統(tǒng)非常熟悉,才能對它進(jìn)行有效設(shè)置;2.由于監(jiān)控顆粒太大,對于網(wǎng)絡(luò)應(yīng)用中必須用到的端口和協(xié)議基本無法設(shè)置,如果允許通過,則可能導(dǎo)致病毒或黑客入侵發(fā)生;若不允許通過,則可能又直接影響網(wǎng)絡(luò)的正常運(yùn)行。
(二)利用病毒特征碼的殺毒軟件將永遠(yuǎn)滯后于病毒的發(fā)展,因?yàn)橹挥胁东@到病毒樣本后,才能提取到病毒的特征碼,這使得這種殺毒軟件對新出現(xiàn)的未知病毒入侵無法防范,用戶即使裝備了殺毒軟件,也會再次受到該病毒的攻擊傷害,只有通過升級、更新病毒數(shù)據(jù)庫才可以解決,而這種解決是滯后于病毒發(fā)生的。
除上述各種被動(dòng)防護(hù)系統(tǒng)以外,本發(fā)明的發(fā)明人還提供了一種基于程序行為分析的計(jì)算機(jī)病毒防護(hù)方法,請參見題目為《基于程序行為分析的計(jì)算機(jī)防護(hù)方法》的專利申請,申請?zhí)枮?00510007682.X,在該申請中提出了一種嶄新的病毒防護(hù)方法,通過對程序的動(dòng)作行為進(jìn)行分析,從而判斷計(jì)算機(jī)中的程序是否是有害程序或受到病毒攻擊,可以克服前述被動(dòng)防護(hù)系統(tǒng)的不足之處。

發(fā)明內(nèi)容
本發(fā)明正是為了解決現(xiàn)有技術(shù)的缺點(diǎn)而產(chǎn)生,并且更進(jìn)一步地完善了基于程序行為分析地計(jì)算機(jī)防護(hù)方法,并為之提供了更有力系統(tǒng)解決方案,通過對程序或程序間的關(guān)聯(lián)動(dòng)作組成有意義的邏輯行為進(jìn)行分析的方法,解決了現(xiàn)有殺毒軟件、防火墻不能對未知病毒以及木馬進(jìn)行有效的防護(hù)的弊病。其目的在于提供一種計(jì)算機(jī)反病毒防護(hù)系統(tǒng),能夠主動(dòng)有效的對新出現(xiàn)的病毒、木馬的攻擊進(jìn)行攔截,保證計(jì)算機(jī)的安全。
本發(fā)明反病毒防護(hù)系統(tǒng)從與現(xiàn)有技術(shù)完全不同的途徑,通過程序動(dòng)作行為來定義計(jì)算機(jī)病毒概念,因此根據(jù)程序的行為是否符合病毒定義可以判斷出病毒;并且通過人工分析程序行為是目前判斷新病毒的唯一有效方法;因此,本發(fā)明提出了一種采用動(dòng)態(tài)仿真方式的反病毒防護(hù)系統(tǒng),依據(jù)程序行為識別病毒的一種新思路和它的實(shí)現(xiàn)方法。
本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)包括程序判斷部、程序監(jiān)控部、關(guān)聯(lián)性分析部、病毒識別知識庫以及病毒防護(hù)識別部。
所述程序判斷部用于識別出用戶計(jì)算機(jī)中存在的程序,并將這些程序分成正常程序和異常程序。
其中,所述正常程序包括將計(jì)算機(jī)中的程序與后述已知程序知識庫進(jìn)行比對,識別出的所有的已知程序;計(jì)算機(jī)桌面上有圖標(biāo)的程序;出現(xiàn)在程序組中的程序以及由安裝程序安裝的程序;其中,所述安裝程序?yàn)椋\(yùn)行時(shí)有窗口,創(chuàng)建程序組或創(chuàng)建桌面圖標(biāo),并且創(chuàng)建反安裝項(xiàng)的程序。
所述異常程序?yàn)椋鲜稣3绦蛞酝獾某绦?。正常程序,多?shù)為已知程序,以及有確定來源的程序,因此其可靠性較高;但是異常程序,由于其來源不明,因此需要對其進(jìn)行重點(diǎn)監(jiān)控。
區(qū)分正常程序和異常程序其目的在于,模擬一個(gè)程序?qū)τ?jì)算機(jī)中的不同類型程序的影響。對于已知程序來說,由于其已經(jīng)記錄在本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)中的病毒識別知識庫中,因此其可靠性非常高;而且對于由本發(fā)明所定義的安裝程序創(chuàng)建的未知程序,由于其有可靠的來源,并且符合通常的程序安裝過程,因此也可以認(rèn)為該程序是正常程序。但是,對于其他的未知程序來說,由于可靠性無法估計(jì),因此應(yīng)該作為本發(fā)明重點(diǎn)監(jiān)控的對象,即認(rèn)為該程序有可能是有害程序,尤其是對于例如木馬程序,一個(gè)木馬程序一旦進(jìn)入到安裝有本發(fā)明的計(jì)算機(jī)反病毒識別系統(tǒng)的計(jì)算機(jī)中,或開始運(yùn)行,即可被捕獲,并根據(jù)本發(fā)明的區(qū)分正常程序和異常程序的方法被判斷為異常程序,從而可以對其進(jìn)行重點(diǎn)監(jiān)控,同樣蠕蟲在進(jìn)行遠(yuǎn)程攻擊時(shí),通常要攻擊一個(gè)已知程序,一旦攻擊成功,將生成一個(gè)程序,該程序也可以根據(jù)本發(fā)明被判斷為異常程序;因此,區(qū)分正常程序和異常程序是本發(fā)明的一個(gè)重要組成部分。
所述程序監(jiān)控部監(jiān)控、記錄程序動(dòng)作行為。該部分通過勾掛程序系統(tǒng)API(Application Programming Interface應(yīng)用編程接口)函數(shù)調(diào)用對程序進(jìn)行監(jiān)控、記錄。在現(xiàn)有的操作系統(tǒng)中,程序執(zhí)行時(shí)通常需要進(jìn)行系統(tǒng)提供的API的調(diào)用,因此,只需要通過勾掛程序的系統(tǒng)API調(diào)用,即可對程序所執(zhí)行的動(dòng)作行為進(jìn)行監(jiān)控。
進(jìn)行監(jiān)控、記錄動(dòng)作行為包括監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作。
所述監(jiān)控動(dòng)作,該動(dòng)作可能影響計(jì)算機(jī)安全、需要對其進(jìn)行實(shí)時(shí)監(jiān)控;并且所述監(jiān)控動(dòng)作是計(jì)算機(jī)程序所執(zhí)行的常見的動(dòng)作,是多數(shù)的正常程序也必須執(zhí)行的動(dòng)作;所述監(jiān)控動(dòng)作,包括文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程、創(chuàng)建線程;注冊表操作;窗口、托盤操作;堆棧溢出;注入線程;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號。
所述危險(xiǎn)動(dòng)作,該動(dòng)作首先是一個(gè)監(jiān)控動(dòng)作,在程序運(yùn)行中,該動(dòng)作可能威脅計(jì)算機(jī)安全;并且所述危險(xiǎn)動(dòng)作為少數(shù)正常程序會執(zhí)行的動(dòng)作,并且多數(shù)的病毒程序或木馬程序需要執(zhí)行的動(dòng)作,因此執(zhí)行這樣的動(dòng)作的程序具有危害性會更大,例如,程序自行改變運(yùn)行層級,在微軟Windows操作系統(tǒng)中,某程序自動(dòng)從應(yīng)用級(RING3)提升系統(tǒng)級(RING0)執(zhí)行,只有少數(shù)的正常程序才具有這一特征,但是卻是很多具有攻擊性的病毒程序所共同具有的特征。
所述危險(xiǎn)動(dòng)作包括調(diào)用SHELL程序;修改程序文件或?qū)懗绦蛭募徽{(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動(dòng)運(yùn)行其他程序;創(chuàng)建大量相同線程;修改和創(chuàng)建用戶悵號;危險(xiǎn)網(wǎng)絡(luò)操作;向系統(tǒng)注冊表添加啟動(dòng)項(xiàng);修改系統(tǒng)啟動(dòng)文件;向其他進(jìn)程注入線程;堆棧溢出;應(yīng)用級進(jìn)程自動(dòng)提升為系統(tǒng)級進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
此外,還包括非監(jiān)控動(dòng)作,即不影響計(jì)算機(jī)安全無需進(jìn)行監(jiān)控的動(dòng)作。
所述關(guān)聯(lián)性分析部創(chuàng)建關(guān)聯(lián)樹,并通過該關(guān)聯(lián)樹對程序動(dòng)作行為進(jìn)行關(guān)聯(lián)性分析;所述關(guān)聯(lián)樹包括加載關(guān)聯(lián)樹和創(chuàng)建關(guān)聯(lián)樹,其中所述加載關(guān)聯(lián)樹中,每個(gè)節(jié)點(diǎn)代表一個(gè)進(jìn)程,保存該進(jìn)程運(yùn)行時(shí)的動(dòng)作行為信息及其在創(chuàng)建關(guān)聯(lián)樹中的索引信息;并且每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其父進(jìn)程。所述加載關(guān)聯(lián)樹中每個(gè)節(jié)點(diǎn)所保存的信息包括PE文件的全路徑、加載者全路徑、文件有無描述、是否自啟動(dòng)、誰創(chuàng)建的自啟動(dòng)項(xiàng)、自身其他特征、是否被創(chuàng)建者啟動(dòng)、是否自己創(chuàng)建啟動(dòng)項(xiàng)、是否有窗口或托盤圖標(biāo)、父進(jìn)程pid號、修改注冊表項(xiàng)鏈表、網(wǎng)絡(luò)動(dòng)作鏈表。其中,所述注冊表鏈表包括如下結(jié)構(gòu)入口列表、鍵名、值名、值;所述網(wǎng)絡(luò)動(dòng)作鏈表包括如下結(jié)構(gòu)類型、本地端口、本地IP地址、遠(yuǎn)程端口、遠(yuǎn)程IP地址、使用協(xié)議。
所述創(chuàng)建關(guān)聯(lián)樹中,每個(gè)節(jié)點(diǎn)代表一個(gè)程序,保存有該程序文件創(chuàng)建時(shí)的相關(guān)信息及其在加載關(guān)聯(lián)樹中索引信息;并且每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其創(chuàng)建者。本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其中,所述創(chuàng)建關(guān)聯(lián)樹中每個(gè)節(jié)點(diǎn)所保存的信息包括PE文件全路徑、創(chuàng)建者的全路徑、創(chuàng)建者的特性、創(chuàng)建者有無窗口、與創(chuàng)建者是否同一文件、拷貝自身。
其中,所述創(chuàng)建者特性為對系統(tǒng)中所有程序的分類,包括未知程序、其它已知程序、郵件系統(tǒng)、網(wǎng)絡(luò)瀏覽器、網(wǎng)絡(luò)交流系統(tǒng),每個(gè)程序一定屬于上述分類中的一種且僅屬于上述分類中的一種。
由于計(jì)算機(jī)中的程序并不是僅僅通過一個(gè)程序的一個(gè)動(dòng)作完成特定的功能,而是通過一個(gè)程序的一系列動(dòng)作所組成的行為或是多個(gè)程序的一系列的動(dòng)作所組成的行為才能實(shí)現(xiàn),因此,基于這一特點(diǎn),在本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)中,也需要根據(jù)前后相關(guān)聯(lián)的多個(gè)進(jìn)程的前后多個(gè)相關(guān)聯(lián)的動(dòng)作所組成的動(dòng)作行為進(jìn)行分析、判斷。因此,本發(fā)明中建立了關(guān)聯(lián)性分析部,以此對程序之間關(guān)聯(lián)關(guān)系和程序的動(dòng)作行為進(jìn)行綜合的分析判斷。
所述病毒識別知識庫包括程序行為知識庫和攻擊識別規(guī)則庫;其中,所述程序行為知識庫為,通過前述程序監(jiān)控部,逐一對合法的已知程序所執(zhí)行的動(dòng)作行為進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。其結(jié)構(gòu)描述包括程序ID、程序類型、程序運(yùn)行層級、寫PE文件權(quán)限、調(diào)用系統(tǒng)SHELL權(quán)限、網(wǎng)絡(luò)行為和注冊表操作。并且所述程序類型為程序分類枚舉類型,分為可被緩沖區(qū)溢出攻擊的程序和普通應(yīng)用程序。其網(wǎng)絡(luò)行為,其結(jié)構(gòu)描述包括網(wǎng)絡(luò)連接動(dòng)作類型、使用端口數(shù)量以及連接描述;其中連接描述包括本地端口、本地地址、遠(yuǎn)程端口、遠(yuǎn)程地址以及使用協(xié)議。其注冊表操作,其結(jié)構(gòu)描述包括該程序所操作的注冊表項(xiàng)數(shù)、每項(xiàng)操作的鍵值。
并且,所述程序行為知識庫,通過對本地計(jì)算機(jī)使用軟件進(jìn)行檢查,添加與用戶已經(jīng)使用的已知程序相對應(yīng)的已知程序行為的記錄,作為本地計(jì)算機(jī)的程序行為知識庫,并按照用戶需要對用戶將要使用的已知程序進(jìn)行補(bǔ)充。
所述攻擊識別規(guī)則庫為,總結(jié)反病毒分析識別的規(guī)則,記錄了計(jì)算機(jī)病毒、木馬等有害程序的攻擊行為特征的數(shù)據(jù)庫,每一記錄對應(yīng)一類病毒,每一類病毒對應(yīng)一個(gè)動(dòng)作集,該動(dòng)作集包括一系列動(dòng)作及其之間特定的關(guān)聯(lián)關(guān)系,該關(guān)聯(lián)關(guān)系包括前后動(dòng)作之間的時(shí)間關(guān)系及調(diào)用和被調(diào)用關(guān)系。
所述攻擊識別規(guī)則庫,其結(jié)構(gòu)包括可執(zhí)行PE文件的全路徑、創(chuàng)建者全路徑、創(chuàng)建者的特性、創(chuàng)建者有無窗口、與創(chuàng)建者是否同一文件、是否拷貝自身、文件有無描述、是否自啟動(dòng)、誰創(chuàng)建的自啟動(dòng)項(xiàng)、是否被創(chuàng)建者啟動(dòng)、是否自己創(chuàng)建自啟動(dòng)項(xiàng)、是否有窗口或托盤圖標(biāo)、修改注冊表項(xiàng)鏈表和網(wǎng)絡(luò)動(dòng)作鏈表;所述修改注冊表項(xiàng)鏈表的子數(shù)據(jù)結(jié)構(gòu),包括入口列表、鍵名、值名和值;所述網(wǎng)絡(luò)動(dòng)作鏈表的子數(shù)據(jù)結(jié)構(gòu),包括類型、本地端口、本地地址、遠(yuǎn)程端口、遠(yuǎn)程地址和使用協(xié)議。
其中,所述攻擊識別規(guī)則庫,包括病毒規(guī)則一,a)運(yùn)行于用戶層RING3的程序,轉(zhuǎn)入系統(tǒng)核心層RING0運(yùn)行;病毒規(guī)則二,b)該程序且不是殺毒軟件,無窗口,并執(zhí)行修改其他與該程序無關(guān)的程序文件的操作;遠(yuǎn)程攻擊規(guī)則一,c)該程序通過監(jiān)聽端口接受數(shù)據(jù)后,立即調(diào)用SHELL程序;遠(yuǎn)程攻擊規(guī)則二,d)該程序通過監(jiān)聽端口接收數(shù)據(jù)后,發(fā)生緩沖區(qū)溢出;遠(yuǎn)程攻擊規(guī)則三,e)該程序通過監(jiān)聽端口接收數(shù)據(jù)后,立即調(diào)用一般文件傳輸協(xié)議TFTP程序;郵件蠕蟲規(guī)則一,
f)該程序由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始發(fā)送郵件;可疑木馬規(guī)則一,g)該程序由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始創(chuàng)建監(jiān)聽端口;網(wǎng)絡(luò)病毒規(guī)則h)如果一個(gè)異常程序運(yùn)行時(shí),其所有關(guān)聯(lián)程序均沒有窗口,且該異常程序復(fù)制自身,修改注冊表,使自己或自身的備份具有系統(tǒng)自啟動(dòng)功能,并且執(zhí)行了包括發(fā)送數(shù)據(jù)包、創(chuàng)建監(jiān)聽端口、將一個(gè)線程植入到其他進(jìn)程中、創(chuàng)建全局鉤子、發(fā)送郵件的動(dòng)作。
蠕蟲病毒規(guī)則i)一個(gè)異常程序,該程序文件是由郵件系統(tǒng)或即時(shí)通訊軟件接收到的,并且該程序運(yùn)行后,指揮鍵盤或鼠標(biāo),并模擬用戶的動(dòng)作通過郵件系統(tǒng)自動(dòng)發(fā)送郵件或通過即時(shí)通訊軟件自動(dòng)發(fā)送文件。
蠕蟲病毒規(guī)則j)一個(gè)異常的程序,該程序運(yùn)行時(shí)無窗口,它創(chuàng)建10個(gè)以上相同的線程,在1秒鐘內(nèi),每個(gè)線程均有發(fā)送數(shù)據(jù)包的動(dòng)作。
如上所述,由于本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)在程序啟動(dòng)后對程序進(jìn)行監(jiān)控的同時(shí),通過對程序進(jìn)行了關(guān)聯(lián)性分析,并建立了加載關(guān)聯(lián)樹和創(chuàng)建關(guān)聯(lián)樹,因此可以在以后在程序行為知識庫和攻擊規(guī)則識別庫中進(jìn)行比對的時(shí)候方便的進(jìn)行相關(guān)信息的查詢。
所述病毒防護(hù)識別部接收前述程序監(jiān)控部捕獲的程序動(dòng)作行為,結(jié)合前述程序判斷部的信息,將捕獲的動(dòng)作行為與程序行為知識庫或攻擊識別規(guī)則庫中的信息進(jìn)行比較,并調(diào)用關(guān)聯(lián)性分析部對該程序是否為病毒程序做出判斷。
因此,如上所述本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng),可以根據(jù)其各部分的不同功能,進(jìn)行相互間的通信,從而使病毒防護(hù)識別部對程序是否是病毒等有害程序作出準(zhǔn)確的判斷。
本發(fā)明的計(jì)算機(jī)反病毒防護(hù)方法,包括如下步驟17.1)計(jì)算機(jī)程序啟動(dòng)后,勾掛該程序的系統(tǒng)API函數(shù)調(diào)用;17.2)監(jiān)控將該程序的動(dòng)作,并將該程序的動(dòng)作記錄到加載關(guān)聯(lián)樹中;17.3)判斷該動(dòng)作是否為創(chuàng)建程序的動(dòng)作;17.4)如果該程序執(zhí)行了創(chuàng)建程序的動(dòng)作,則將程序創(chuàng)建信息添加到創(chuàng)建關(guān)聯(lián)樹中,判斷被創(chuàng)建程序是否為正常程序,并進(jìn)行記錄;如果該程序沒有執(zhí)行創(chuàng)建程序的動(dòng)作,則判斷該動(dòng)作是否為危險(xiǎn)動(dòng)作;17.5)如果該動(dòng)作不是危險(xiǎn)動(dòng)作,則返回步驟17.2);如果該程序執(zhí)行了危險(xiǎn)動(dòng)作,則通過病毒防護(hù)識別部判斷該動(dòng)作行為是否為有害程序行為;17.6)如果判斷結(jié)果不是有害程序行為,則返回步驟17.2);如果判斷結(jié)果是害程序行為,則由病毒防護(hù)識別部對該程序作相應(yīng)的處理。
本發(fā)明的計(jì)算機(jī)反病毒防護(hù)方法,所述步驟17.5)中,分別對已知程序和未知程序進(jìn)行判斷。
一方面,對于已知程序?qū)⑵鋱?zhí)行的危險(xiǎn)動(dòng)作與記錄在程序行為知識庫中的合法動(dòng)作行為進(jìn)行比較,判斷其是否受到攻擊;如果比較結(jié)果為合法程序則返回步驟17.2);如果比較結(jié)果為否,則證明該程序已經(jīng)受到病毒攻擊,并終止該程序繼續(xù)運(yùn)行。
另一方面,對于未知程序,將其執(zhí)行的危險(xiǎn)動(dòng)作與病毒識別知識庫的攻擊識別規(guī)則庫中所記錄的規(guī)則相比對,并判斷該程序是否為有害程序;如果判斷為是,則終止該程序運(yùn)行;如果判斷結(jié)果為否,則返回步驟17.2)。本發(fā)明的計(jì)算機(jī)反病毒防護(hù)方法,其中所述已知程序?yàn)橛涗浽谇笆龀绦蛐袨橹R庫中的程序,所述未知程序?yàn)槌阎绦蛞酝獾钠渌绦颉?br> 本發(fā)明的計(jì)算機(jī)反病毒防護(hù)方法中,對已知程序是否受到攻擊的判斷,包括如下步驟20.1)監(jiān)控并捕獲該已知程序執(zhí)行的危險(xiǎn)動(dòng)作;20.2)將捕獲的危險(xiǎn)動(dòng)作與程序行為知識庫中的信息比較,判斷是否為合法行為;20.3)如果判斷結(jié)果為是,則返回步驟20.1);如果判斷結(jié)果為否,則根據(jù)程序行為知識庫的定義,判斷是否結(jié)束進(jìn)程;20.4)如果判斷結(jié)果為是,則調(diào)用系統(tǒng)API結(jié)束該已知程序的當(dāng)前進(jìn)程;如果判斷結(jié)果為否,則調(diào)用系統(tǒng)API結(jié)束該已知程序的當(dāng)前線程。
其中,所述步驟20.3)中,知識庫可以定義為,當(dāng)系統(tǒng)進(jìn)程被溢出時(shí),調(diào)用系統(tǒng)API結(jié)束當(dāng)前線程。為了保證系統(tǒng)的安全,通常需要將受到攻擊的程序進(jìn)程結(jié)束,但是在系統(tǒng)進(jìn)程受到攻擊時(shí),則需要將當(dāng)前線程結(jié)束以保證系統(tǒng)的穩(wěn)定性。
本發(fā)明的計(jì)算機(jī)防病毒防護(hù)系統(tǒng)中,對未知程序是否為有害程序的判斷,包括如下步驟23.1)監(jiān)控并捕獲該未知程序執(zhí)行的危險(xiǎn)動(dòng)作;23.2)判斷是否為正常程序;
23.3)如果是正常程序,則將監(jiān)控到的動(dòng)作行為記錄到程序行為知識庫,并返回步驟23.1);如果不是正常程序,則與攻擊識別規(guī)則庫中的規(guī)則進(jìn)行比對,判斷是否為有害程序行為;23.4)如果判斷結(jié)果為否,則返回步驟23.1);如果判斷結(jié)果為有害程序行為,則由用戶確認(rèn)是否允許當(dāng)前動(dòng)作;23.5)如果用戶確認(rèn)允許當(dāng)前動(dòng)作,則將該程序標(biāo)識為正常程序,將該動(dòng)作行為記錄到程序行為知識庫,并返回步驟23.1);如果用戶不允許該動(dòng)作,則調(diào)用系統(tǒng)API函數(shù)結(jié)束該未知程序的當(dāng)前進(jìn)程。
另外,在步驟23.5)中,也可以根據(jù)用戶的需要,選擇直接調(diào)用系統(tǒng)API結(jié)束該未知程序的當(dāng)前進(jìn)程。
如上所述,為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的各組成部分及工作原理。
需要注意的是,本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)在分析有害程序行為時(shí),并非僅僅依據(jù)程序的一個(gè)動(dòng)作就作出判斷,他要依據(jù)程序的來源、程序或程序組的一系列動(dòng)作構(gòu)成有意義的行為,才能做出判斷是否是病毒。而這些信息早在程序開始運(yùn)行或創(chuàng)建的當(dāng)時(shí)就已經(jīng)被關(guān)聯(lián)性分析部記錄到了加載樹或創(chuàng)建樹中,例如,一個(gè)木馬,它為了在一臺計(jì)算機(jī)中長期存在,它通常將自身拷到系統(tǒng)目錄中,即它可能有兩個(gè)以上的副本程序,這些程序運(yùn)行時(shí),互相配合工作,對于單個(gè)副本程序而言,可能很難判斷出它是病毒行為,但是,如果結(jié)合其整體的加載和創(chuàng)建關(guān)系來判斷,就很容易判定是病毒。程序關(guān)聯(lián)性分析是本發(fā)明的一個(gè)重要組成部分。


圖1為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的結(jié)構(gòu)方框圖;圖2為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的加載關(guān)聯(lián)樹示意圖;
圖3為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的創(chuàng)建關(guān)聯(lián)樹示意圖;圖4為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)方法的流程圖;圖5為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的判斷已知程序是否受到攻擊的流程圖;圖6為本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的判斷未知程序是否為有害程序的流程圖;具體實(shí)施方式
下面結(jié)合具體實(shí)施例對本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)和方法進(jìn)行詳細(xì)說明,為了理解方便理解本發(fā)明的內(nèi)容,實(shí)施例中將以常用的微軟Windows操作系統(tǒng)為例進(jìn)行說明,但是本發(fā)明不僅僅局限于此。
本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的方框圖,如圖1所示,包括程序判斷部、監(jiān)控部、關(guān)聯(lián)性分析部、病毒識別知識庫、病毒防護(hù)識別部,每個(gè)部分都有其特定的功能。下面分別對各個(gè)部分進(jìn)行詳細(xì)的說明。
所述程序判斷部,用于識別出用戶計(jì)算機(jī)中存在的程序,并將這些程序分成正常程序和異常程序。其中正常程序包括將計(jì)算機(jī)中的程序與后述程序行為知識庫進(jìn)行比對識別出的所有的已知程序,計(jì)算機(jī)桌面上有圖標(biāo)的程序,出現(xiàn)在程序組中的程序以及由安裝程序安裝的程序,經(jīng)用戶確認(rèn)為正常的程序。其中所述安裝程序?yàn)?,運(yùn)行時(shí)有窗口,創(chuàng)建程序組或創(chuàng)建桌面圖標(biāo),并且創(chuàng)建反安裝項(xiàng)的程序。所述異常程序,即,除前述正常程序以外的全部程序。
如上所述正常程序既是安全性較好的、可靠性較高的程序,因此,對于正常程序和異常程序的區(qū)分,可以為系統(tǒng)安全性的判斷提供依據(jù)。
程序監(jiān)控部監(jiān)控、記錄程序動(dòng)作行為。該部分通過勾掛程序系統(tǒng)API(Application Programming Interface應(yīng)用編程接口)函數(shù)調(diào)用對程序進(jìn)行監(jiān)控、記錄?,F(xiàn)有的操作系統(tǒng),程序執(zhí)行時(shí)通常需要進(jìn)行系統(tǒng)提供的API的調(diào)用,因此,只需要通過勾掛程序的系統(tǒng)API調(diào)用,即可對程序所執(zhí)行的動(dòng)作行為進(jìn)行監(jiān)控。
計(jì)算機(jī)程序所執(zhí)行的動(dòng)作行為分為監(jiān)控動(dòng)作、危險(xiǎn)動(dòng)作和非監(jiān)控動(dòng)作。
所述監(jiān)控動(dòng)作為,可能影響計(jì)算機(jī)安全,需要對其進(jìn)行實(shí)時(shí)監(jiān)控的動(dòng)作;并且所述監(jiān)控動(dòng)作,是計(jì)算機(jī)程序所執(zhí)行的常見的動(dòng)作,是多數(shù)的正常程序也必須執(zhí)行的動(dòng)作。
并且所述監(jiān)控動(dòng)作包括文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程、創(chuàng)建線程;注冊表操作;窗口、托盤操作;堆棧溢出;注入線程;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號。
所述危險(xiǎn)動(dòng)作,該動(dòng)作首先是一個(gè)監(jiān)控動(dòng)作,在程序運(yùn)行中,該動(dòng)作可能成脅計(jì)算機(jī)安全;并且所述危險(xiǎn)動(dòng)作為少數(shù)正常程序會執(zhí)行的動(dòng)作,但多數(shù)的病毒程序或木馬程序需要執(zhí)行的動(dòng)作,因此執(zhí)行這樣的動(dòng)作的程序具有危害性會更大,例如,程序自行改變運(yùn)行層級,在微軟Windows操作系統(tǒng)中,某程序自動(dòng)從應(yīng)用級(RING3)提升系統(tǒng)級(RING0)執(zhí)行,只有少數(shù)的正常程序才具有這一特征,但是卻是很多具有攻擊性的病毒程序所共同具有的特征。
并且所述危險(xiǎn)動(dòng)作包括調(diào)用SHELL程序;修改程序文件或?qū)懗绦蛭募徽{(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動(dòng)運(yùn)行其他程序;創(chuàng)建大量相同線程;修改和創(chuàng)建用戶帳號;危險(xiǎn)網(wǎng)絡(luò)操作;向系統(tǒng)注冊表添加啟動(dòng)項(xiàng);修改系統(tǒng)啟動(dòng)文件;向其他進(jìn)程注入線程;堆棧溢出;應(yīng)用級進(jìn)程時(shí)自動(dòng)提升為系統(tǒng)級進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
關(guān)聯(lián)性分析部創(chuàng)建關(guān)聯(lián)樹,并通過該關(guān)聯(lián)樹對程序動(dòng)作行為進(jìn)行關(guān)聯(lián)性分析。其中,關(guān)聯(lián)樹包括加載關(guān)聯(lián)樹和創(chuàng)建關(guān)聯(lián)樹。
加載關(guān)聯(lián)樹中,樹中每個(gè)節(jié)點(diǎn)代表一個(gè)進(jìn)程,保存該進(jìn)程運(yùn)行時(shí)的動(dòng)作行為信息及其在創(chuàng)建關(guān)聯(lián)樹中的索引信息;并且每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其父進(jìn)程;其節(jié)點(diǎn)的實(shí)體結(jié)構(gòu)為struct RuntimePEFileInMem{Char FileName[MAX_PATH];//PE文件全路徑Char LoaderFileName[MAX_PATH];//加載者全路徑Char LoaderDescription;//文件有無描述CharAutoRun;//是否自啟動(dòng)Char WhoWriteAutoRun;//誰創(chuàng)建的自啟動(dòng)項(xiàng),0未知;1自己;創(chuàng)建者;Char CharacterOfSelf;//自身其他特性BOOLEAN RunByCreator;//是否被創(chuàng)建者啟動(dòng)BOOLEAN RunBySelf;//是否自己創(chuàng)建啟動(dòng)項(xiàng)BOOLEAN CreateWindow;//是否有窗口或托盤圖標(biāo)UNIT ppid;//父進(jìn)程pidLIST_ENTRY RegList;//修改注冊表項(xiàng)鏈表LIST_NET ListNetAction;//網(wǎng)絡(luò)動(dòng)作鏈表}其中RegList結(jié)構(gòu)如下struct REG_DATA
{:LIST_ENTRY List;char Key[];char ValueName[];char Value[];}struct LIST_NET{int type;short lport;IPADDR lipaddr;short dport;IPADDR dipaddr;short protocol;};并且,如圖2所示,以微軟Windows操作系統(tǒng)中加載MSN和ICQ軟件為例,對所述加載關(guān)聯(lián)樹的結(jié)構(gòu)進(jìn)行詳細(xì)說明。
如圖所示,顯示了系統(tǒng)進(jìn)程加載的關(guān)聯(lián)關(guān)系,對于本技術(shù)領(lǐng)域的工作人員可以清楚掌握各個(gè)進(jìn)程的加載關(guān)系,并且可以理解,從計(jì)算機(jī)啟動(dòng)開始首先加載system進(jìn)程然后逐步到各個(gè)用戶的軟件,因此,加載關(guān)聯(lián)樹是隨著系統(tǒng)各個(gè)時(shí)間的不同在不斷變化更新的。建立該加載關(guān)聯(lián)樹可以方便了解計(jì)算機(jī)中的各個(gè)進(jìn)程的運(yùn)行狀態(tài),并且方便進(jìn)程的管理。
所述創(chuàng)建關(guān)聯(lián)樹中,樹中每個(gè)節(jié)點(diǎn)代表一個(gè)程序,保存有該程序文件創(chuàng)建時(shí)的相關(guān)信息及其在加載關(guān)聯(lián)樹中索引信息;并且每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其創(chuàng)建者。
其中,所述創(chuàng)建關(guān)聯(lián)樹中每個(gè)節(jié)點(diǎn)所保存的信息包括PE文件全路徑、創(chuàng)建者的全路徑、創(chuàng)建者的特性、創(chuàng)建者有無窗口、與創(chuàng)建者是否同一文件、拷貝自身。
其中,所述創(chuàng)建者特性為,包括未知程序、其它已知程序、郵件系統(tǒng)、網(wǎng)絡(luò)瀏覽器、網(wǎng)絡(luò)交流系統(tǒng)在內(nèi)的一種。其實(shí)體結(jié)構(gòu)如下struct StaticPEFileInMem{Char FileName[MAX_PATH];//PE文件的全路徑Char CreatorName[MAX_PATH];//創(chuàng)建者全路徑Char CharacterOfCreator;//創(chuàng)建者特性-1未知程序;0其他已知程序;1郵件程序;2網(wǎng)絡(luò)瀏覽器;3網(wǎng)絡(luò)交流系統(tǒng)(如MSN、ICQ)Char NoWindowOfCreator;//創(chuàng)建者有無窗口Char SameAsCreator;//與創(chuàng)建者是同一個(gè)文件Char CopySelf;//拷貝自身}并且,如圖3所示,以微軟Windows操作系統(tǒng)為例,對所述創(chuàng)建關(guān)聯(lián)樹的結(jié)構(gòu)進(jìn)行詳細(xì)說明。
如圖所示,顯示了系統(tǒng)程序創(chuàng)建的關(guān)聯(lián)關(guān)系,對于本領(lǐng)域工作人員可以清楚掌握各個(gè)程序的創(chuàng)建關(guān)系,并且可以理解,該MSN以及OUTLOOK程序是由misexec程序創(chuàng)建的,該創(chuàng)建關(guān)系記錄了程序創(chuàng)建最初的父子關(guān)系,因此創(chuàng)建關(guān)聯(lián)樹一旦創(chuàng)建,即作為系統(tǒng)的日志被保存下來供以后使用,因此所述創(chuàng)建關(guān)聯(lián)樹在計(jì)算機(jī)運(yùn)行過程中是不變的。
病毒識別知識庫包括程序行為知識庫和攻擊識別規(guī)則庫。
其中,所述程序行為知識庫為,通過前述程序監(jiān)控部,逐一對合法的已知程序所執(zhí)行的動(dòng)作行為進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
其結(jié)構(gòu)描述包括程序ID、程序類型、程序運(yùn)行層級、寫PE文件權(quán)限、調(diào)用系統(tǒng)SHELL權(quán)限、網(wǎng)絡(luò)行為和注冊表操作。并且所述程序類型為程序分類枚舉類型,分為可被緩沖區(qū)溢出攻擊的程序和普通應(yīng)用程序。其網(wǎng)絡(luò)行為,其結(jié)構(gòu)描述包括網(wǎng)絡(luò)連接動(dòng)作類型、使用端口數(shù)量以及連接描述;其中連接描述包括本地端口、本地地址、遠(yuǎn)程端口、遠(yuǎn)程地址以及使用協(xié)議。其注冊表操作,其結(jié)構(gòu)描述包括該程序所操作的注冊表項(xiàng)數(shù)、每項(xiàng)操作的鍵值。
所述程序行為知識庫結(jié)構(gòu)實(shí)體描述如下struct Know{DWORD type1;//程序分類枚舉類型,目前暫時(shí)分為可被緩沖區(qū)溢出攻擊的程序和普通應(yīng)用程序兩類,描述為,enum KnowType{OVERFLOW,NORMAL}BOOL bAllowedWriteFile;//該程序是否可以寫可執(zhí)行PE文件BOOL bCreateShell;//該程序是否可以調(diào)用系統(tǒng)shell
DWORD NetOffset;//在知識庫文件中偏移多少的位置為對該程序網(wǎng)絡(luò)行為的描述DWORD RegOffset;//在知識庫文件中偏移多少的位置為對該程序注冊表操作行為的描述};在程序行為知識庫中使用以下分結(jié)構(gòu)描述該程序的網(wǎng)絡(luò)動(dòng)作行為的結(jié)構(gòu)實(shí)體描述為struct Net{short type2;//網(wǎng)絡(luò)連接的動(dòng)作類型,分為兩類,監(jiān)聽和連接,描述為,enum NetType{Listen,Connect}int num;//涉及到的端口數(shù)量ListenPort port[];};其中,ListenPort,針對每一個(gè)連接的具體描述,使用如下結(jié)構(gòu)表示,struct ListenPort{short lport;//使用的本地端口IPADDR lipaddr;//使用的本地地址short dport;//所連接的遠(yuǎn)程端口IPADDR dipaddr;//所連接的遠(yuǎn)程地址short protocol;//所使用的協(xié)議,使用TCP/IP協(xié)議定義};
在程序行為知識庫中使用以下分結(jié)構(gòu)描述該程序的注冊表操作動(dòng)作行為的結(jié)構(gòu)實(shí)體描述為struct Reg{int num;//操作的注冊表項(xiàng)數(shù)char fullregname[];//每一項(xiàng)操作的鍵值};并且,所述程序行為知識庫,通過對本地計(jì)算機(jī)使用軟件進(jìn)行檢查,添加與用戶已經(jīng)使用的已知程序相對應(yīng)的已知程序行為的記錄,作為本地計(jì)算機(jī)的程序行為知識庫,并按照用戶需要對用戶將要使用的已知程序進(jìn)行補(bǔ)充,從而可以節(jié)省系統(tǒng)資源的占用。
所述攻擊識別規(guī)則庫為,總結(jié)反病毒分析識別的規(guī)則,記錄了計(jì)算機(jī)病毒、木馬及有害程序的攻擊行為特征的數(shù)據(jù)庫,每一記錄對應(yīng)一類病毒,每一類病毒對應(yīng)一個(gè)動(dòng)作集,該動(dòng)作集包括一系列動(dòng)作及其之間特定的關(guān)聯(lián)關(guān)系,該關(guān)聯(lián)關(guān)系包括前后動(dòng)作之間的時(shí)間關(guān)系及調(diào)用和被調(diào)用關(guān)系。
所述攻擊識別規(guī)則庫,其結(jié)構(gòu)包括可執(zhí)行PE文件的全路徑、創(chuàng)建者全路徑、創(chuàng)建者的特性、創(chuàng)建者有無窗口、與創(chuàng)建者是否同一文件、是否拷貝自身、文件有無描述、是否自啟動(dòng)、誰創(chuàng)建的自啟動(dòng)項(xiàng)、是否被創(chuàng)建者啟動(dòng)、是否自己創(chuàng)建自啟動(dòng)項(xiàng)、是否有窗口或托盤圖標(biāo)、修改注冊表項(xiàng)鏈表和網(wǎng)絡(luò)動(dòng)作鏈表;所述修改注冊表項(xiàng)鏈表的子數(shù)據(jù)結(jié)構(gòu),包括入口列表、鍵名、值名和值;所述網(wǎng)絡(luò)動(dòng)作鏈表的子數(shù)據(jù)結(jié)構(gòu),包括類型、本地端口、本地地址、遠(yuǎn)程端口、遠(yuǎn)程地址和使用協(xié)議。
其中,每一記錄的數(shù)據(jù)結(jié)構(gòu)實(shí)體為
struct UnknowPEFileInMem{Char WeighofDanger;//危險(xiǎn)權(quán)值Char FileName[MAX_PATH];//新創(chuàng)建的PE文件的全路徑Char CreatorName[MAX_PATH];//創(chuàng)建者的全路徑Char CharacterOfCreator;//創(chuàng)建者的特性Char NoWindowOfCreator;//創(chuàng)建者有無窗口Char SameAsCreator;//與創(chuàng)建者是同一個(gè)文件Char CopySelf;//拷貝自身,對于創(chuàng)建者是CopySelf,對于被復(fù)制的文件是SameAsCreator,以此來區(qū)分兩者Char FileDescription;//文件有無描述Char AutoRun;//是否自啟動(dòng)Char WhoWriteAutoRun;//誰創(chuàng)建的自啟動(dòng)項(xiàng)BOOLEAN RunByCreator;//是否被創(chuàng)建者啟動(dòng)BOOLEAN RunBySelf;//是否自己創(chuàng)建啟動(dòng)項(xiàng)BOOLEAN bCreateWindow;//是否有窗口或托盤圖標(biāo)LIST_ENTRY RegList;//修改注冊表項(xiàng)鏈表LIST_NET ListNetAction;//網(wǎng)絡(luò)動(dòng)作鏈表}上述創(chuàng)建者的特性“CharacterOfCreator”的具體數(shù)據(jù)記錄及描述是-1未知程序;0其它已知程序;1郵件系統(tǒng);2網(wǎng)絡(luò)瀏覽器;3網(wǎng)絡(luò)交流系統(tǒng)(如QQ、MSN等);
上述誰創(chuàng)建的自啟動(dòng)項(xiàng)“WhoWriteAutoRun”的具體數(shù)據(jù)記錄及描述是0未知;1自己;2創(chuàng)建者;3自己,創(chuàng)建者都會寫其中修改注冊表項(xiàng)鏈表的子數(shù)據(jù)結(jié)構(gòu)實(shí)體為。
struct REG_DATA{LIST_ENTRY List;//入口列表char Key[];//鍵名char ValueName[];//值名char Value[];//值}其中網(wǎng)絡(luò)動(dòng)作鏈表的子數(shù)據(jù)結(jié)構(gòu)實(shí)體為struct LIST_NET{int type;//類型short lport;//本地端口IPADDR lipaddr;//本地IP地址short dport;//遠(yuǎn)程端口IPADDR dipaddr;//遠(yuǎn)程IP地址short protocol;//使用協(xié)議};其中,所述攻擊識別規(guī)則庫,包括
病毒規(guī)則一,a)運(yùn)行于用戶層RING3的程序,轉(zhuǎn)入系統(tǒng)核心層RING0運(yùn)行;病毒規(guī)則二,b)該程序且不是殺毒軟件,無窗口,并執(zhí)行修改其他與該程序無關(guān)的程序文件的操作;遠(yuǎn)程攻擊規(guī)則一,c)該程序通過監(jiān)聽端口接受數(shù)據(jù)后,立即調(diào)用SHELL程序;遠(yuǎn)程攻擊規(guī)則二,d)該程序通過監(jiān)聽端口接收數(shù)據(jù)后,發(fā)生緩沖區(qū)溢出;遠(yuǎn)程攻擊規(guī)則三,e)該程序通過監(jiān)聽端口接收數(shù)據(jù)后,立即調(diào)用一般文件傳輸協(xié)議TFTP程序;郵件蠕蟲規(guī)則一,f)該程序由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始發(fā)送郵件;可疑木馬規(guī)則一,g)該程序由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始創(chuàng)建監(jiān)聽端口;網(wǎng)絡(luò)病毒規(guī)則h)如果一個(gè)異常程序運(yùn)行時(shí),其所有關(guān)聯(lián)程序均沒有窗口,且該異常程序復(fù)制自身,修改注冊表,使自己或自身的備份具有系統(tǒng)自啟動(dòng)功能,并且執(zhí)行了包括發(fā)送數(shù)據(jù)包、創(chuàng)建監(jiān)聽端口、將一個(gè)線程植入到其他進(jìn)程中、創(chuàng)建全局鉤子、發(fā)送郵件的動(dòng)作。
蠕蟲病毒規(guī)則
i)一個(gè)異常程序,該程序文件是由郵件系統(tǒng)或即時(shí)通訊軟件接收到的,并且該程序運(yùn)行后,指揮鍵盤或鼠標(biāo),并模擬用戶的動(dòng)作通過郵件系統(tǒng)自動(dòng)發(fā)送郵件或通過即時(shí)通訊軟件自動(dòng)發(fā)送文件。
蠕蟲病毒規(guī)則j)一個(gè)異常的程序,該程序運(yùn)行時(shí)無窗口,它創(chuàng)建10個(gè)以上相同的線程,在1秒鐘內(nèi),每個(gè)線程均有發(fā)送數(shù)據(jù)包的動(dòng)作。
病毒防護(hù)識別部接收前述程序監(jiān)控部程序捕獲的動(dòng)作行為,結(jié)合前述程序判斷部的信息,將捕獲的程序動(dòng)作行為與病毒識別知識庫中的信息進(jìn)行比較,并在需要時(shí)調(diào)用關(guān)聯(lián)性分析部對該程序是否為病毒程序做出判斷。
值得注意的是,本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)是對程序動(dòng)作行為進(jìn)行分析,從而判斷該程序是否是有害程序,因此,在病毒識別知識庫中進(jìn)行查找時(shí),并不僅僅對該程序當(dāng)前動(dòng)作進(jìn)行查找,同時(shí)還需要結(jié)合該程序前一動(dòng)作,對程序整個(gè)的行為進(jìn)行分析判斷。
下面以病毒攻擊為例,對本發(fā)明的實(shí)施例作詳細(xì)說明。
對于一個(gè)已知程序,如果程序行為描述為不能修改程序文件,當(dāng)該程序運(yùn)行時(shí),卻修改了其他程序文件,上述危險(xiǎn)動(dòng)作被系統(tǒng)監(jiān)控,然后與程序行為知識庫中存儲的該已知程序的合法動(dòng)作行為相比較,產(chǎn)生不同的動(dòng)作,因此可以判斷該已知程序一定是被病毒感染。利用這一方法可以發(fā)現(xiàn)CIH等病毒,對于被CIH等病毒感染的已知程序運(yùn)行時(shí),該已知程序就會試圖感染其他PE文件,因此可以在對病毒并不了解的情況下,將其阻止,從而避免了由于病毒代碼更新的滯后性而使新生的病毒有機(jī)可乘。
下面利用攔截震蕩波病毒,對本發(fā)明的實(shí)施例作以說明震蕩波蠕蟲病毒與其他蠕蟲病毒不同,并不發(fā)送郵件,其工作原理為,在本地開辟后門。監(jiān)聽TCP 5554端口,做為FTP服務(wù)器等待遠(yuǎn)程控制命令。病毒以FTP的形式提供文件傳送。黑客可以通過這個(gè)端口偷竊用戶機(jī)器的文件和其他信息。病毒開辟128個(gè)掃描線程,以本地IP地址為基礎(chǔ),取隨機(jī)IP地址,瘋狂的試探連接445端口,試圖利用windows操作系統(tǒng)中的LSASS中存在一個(gè)緩沖區(qū)溢出漏洞進(jìn)行攻擊,一旦攻擊成功會導(dǎo)致對方機(jī)器感染此病毒并進(jìn)行下一輪的傳播。
當(dāng)感染了震蕩波病毒的的計(jì)算機(jī)發(fā)出攻擊包至使用了本發(fā)明的防護(hù)系統(tǒng)時(shí),本地計(jì)算機(jī)的LSASS進(jìn)程溢出,溢出代碼會調(diào)用GetProcAddress,就會被本發(fā)明的監(jiān)控機(jī)制捕獲,判斷為緩沖區(qū)溢出,而且在溢出前,LSASS進(jìn)程會從系統(tǒng)的139,445端口接收數(shù)據(jù),這與上述d)規(guī)則所提供的規(guī)則相符;因此本發(fā)明可以準(zhǔn)確判斷出該遠(yuǎn)程攻擊,于是系統(tǒng)調(diào)用ExitThread,將這個(gè)線程結(jié)束,從而使震蕩波蠕蟲無法進(jìn)入下一步的動(dòng)作,有效保護(hù)了本地計(jì)算機(jī)。
下面再利用截獲著名的反彈行木馬黑洞對本發(fā)明的實(shí)施例作以說明由于其屬于未知程序,該進(jìn)程啟動(dòng)即被本發(fā)明的監(jiān)控系統(tǒng)捕獲,同時(shí)該程序沒有創(chuàng)建應(yīng)用程序窗口及系統(tǒng)托盤區(qū)圖標(biāo);并且該程序啟動(dòng)后會修改注冊表啟動(dòng)項(xiàng),以保證自己可以在下次用戶登錄時(shí)自動(dòng)啟動(dòng),此動(dòng)作行為也是危險(xiǎn)動(dòng)作,因此也被本發(fā)明的監(jiān)控系統(tǒng)捕獲,該進(jìn)程繼續(xù)執(zhí)行將會連接遠(yuǎn)端web服務(wù)器以獲得客戶端服務(wù)的地址、端口信息,以便與其建立連接進(jìn)行信息傳輸,此連網(wǎng)動(dòng)作被捕獲后,將上述動(dòng)作一同與攻擊識別規(guī)則庫中的規(guī)則比較,符合攻擊識別規(guī)則庫中的規(guī)則g),便可判斷為可疑木馬,并向用戶報(bào)警,同時(shí)說明該非法程序的屬性為可疑木馬,以便用戶更準(zhǔn)確的了解信息,避免了現(xiàn)有防火墻系統(tǒng)只要發(fā)生網(wǎng)絡(luò)動(dòng)作便報(bào)警,而且需要用戶對報(bào)警動(dòng)作安全性做出判斷,避免了計(jì)算機(jī)知識較少的用戶在使用防護(hù)系統(tǒng)時(shí)產(chǎn)生麻煩。
網(wǎng)絡(luò)神偷系木馬軟件,通過郵件等形式進(jìn)入用戶計(jì)算機(jī)系統(tǒng)。它首次運(yùn)行時(shí),會將自己拷貝到系統(tǒng)目錄下,并設(shè)置隱含屬性。然后將其系統(tǒng)目錄下的副本啟動(dòng),自己就退出了。其副本運(yùn)行時(shí)發(fā)現(xiàn)在自己在系統(tǒng)目錄下,則不做拷貝動(dòng)作,直接修改注冊表啟動(dòng)項(xiàng),把自己設(shè)置為自啟動(dòng),然后根據(jù)自身攜帶的遠(yuǎn)端服務(wù)器信息,連接遠(yuǎn)端服務(wù)器,提供當(dāng)前計(jì)算機(jī)信息,并接受遠(yuǎn)程控制。當(dāng)此副本試圖將本機(jī)信息傳送到遠(yuǎn)程服務(wù)器時(shí),觸發(fā)本發(fā)明的反病毒防護(hù)系統(tǒng)對此程序的判斷,首先它是異常程序,通過創(chuàng)建關(guān)系發(fā)現(xiàn)其創(chuàng)建者也是異常程序,并且創(chuàng)建此副本時(shí)沒有窗口,且拷貝自身。通過進(jìn)程關(guān)聯(lián)樹發(fā)現(xiàn)其加載者與創(chuàng)建者是同一個(gè)程序,且此副本設(shè)置了自啟動(dòng)項(xiàng),那么我們可以知道這是該程序首次運(yùn)行,如果不是首次運(yùn)行,則其加載者應(yīng)為Explorer,同時(shí)其嘗試向一個(gè)遠(yuǎn)程地址發(fā)送數(shù)據(jù)包,則可準(zhǔn)確判斷該病毒是與規(guī)則h)相符合,并且可以根據(jù)此病毒的創(chuàng)建關(guān)系,知道該病毒的來源,比如來自郵件系統(tǒng),則可根據(jù)這個(gè)信息進(jìn)一步查找肇事者。
MSN性感雞病毒,此病毒模擬聯(lián)系人向用戶發(fā)送自身,用戶誤操作將其保存并運(yùn)行,該病毒的創(chuàng)建者即為MSN,其通過指揮鍵盤或鼠標(biāo),模擬用戶向MSN聯(lián)系人發(fā)送自身,完成病毒傳播。因此該病毒符合規(guī)則i),可以確定為有害程序。
并且,由于本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)在程序啟動(dòng)后對程序進(jìn)行監(jiān)控的同時(shí),通過對程序進(jìn)行了關(guān)聯(lián)性分析,并建立了加載關(guān)聯(lián)樹和創(chuàng)建關(guān)聯(lián)樹,因此可以方便的在對程序行為進(jìn)行分析時(shí)對相關(guān)信息進(jìn)行調(diào)用,實(shí)現(xiàn)在病毒識別知識庫中進(jìn)行高效的查找,也節(jié)省了系統(tǒng)開銷。
由于病毒的多樣性,但是作為有害程序,該病毒程序的破壞方法每一類病毒都有其共同點(diǎn),因此只要掌握一類病毒程序其破壞的動(dòng)作行為的共同點(diǎn),就可以有效的發(fā)現(xiàn)并在其破壞計(jì)算機(jī)系統(tǒng)之前將其停止。本發(fā)明正是根據(jù)病毒程序的這一特點(diǎn)而產(chǎn)生的,不但具有與現(xiàn)有殺毒軟件相比更高的執(zhí)行效率更少的系統(tǒng)開銷,而且最重要的是可以有效地保護(hù)計(jì)算機(jī)系統(tǒng)不被那些新產(chǎn)生的病毒、木馬等有害程序破壞。
為了使本發(fā)明的實(shí)現(xiàn)方法更加清晰,現(xiàn)對本發(fā)明的計(jì)算機(jī)防護(hù)方法進(jìn)行詳細(xì)說明。
如圖1所示本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的方框圖。如圖所示,程序監(jiān)控部將捕獲的程序監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作發(fā)送至關(guān)聯(lián)性分析部以建立加載樹和創(chuàng)建樹;同時(shí)通過危險(xiǎn)動(dòng)作觸發(fā)病毒防護(hù)識別部對程序行為進(jìn)行分析;在分析過程中,病毒防護(hù)識別部還需要調(diào)用程序判斷部、病毒識別規(guī)則庫和關(guān)聯(lián)性分析部中的信息完成對程序動(dòng)作行為是否有害的判斷。
如圖4所示,本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)的方法包括如下步驟17.1)計(jì)算機(jī)程序啟動(dòng)后,勾掛該程序的系統(tǒng)API函數(shù)調(diào)用;17.2)監(jiān)控將該程序的動(dòng)作,并將該程序的動(dòng)作記錄到加載關(guān)聯(lián)樹中;17.3)判斷該動(dòng)作是否為創(chuàng)建程序的動(dòng)作;17.4)如果該程序執(zhí)行了創(chuàng)建程序的動(dòng)作,則將程序創(chuàng)建信息添加到創(chuàng)建關(guān)聯(lián)樹中,判斷被創(chuàng)建程序是否為正常程序,并進(jìn)行記錄;如果該程序沒有執(zhí)行創(chuàng)建程序的動(dòng)作,則判斷該動(dòng)作是否為危險(xiǎn)動(dòng)作;17.5)如果該動(dòng)作不是危險(xiǎn)動(dòng)作,則返回步驟17.2);如果該程序執(zhí)行了危險(xiǎn)動(dòng)作,則通過病毒防護(hù)識別部判斷該動(dòng)作行為是否為有害程序行為;
17.6)如果判斷結(jié)果不是有害程序行為,則返回步驟17.2);如果判斷結(jié)果是害程序行為,則由病毒防護(hù)識別部對該程序作相應(yīng)的處理。
本發(fā)明的計(jì)算機(jī)反病毒防護(hù)方法中,所述步驟17.5)采用,對已知程序和未知程序分別進(jìn)行判斷的方法,對于已知程序,將該程序的動(dòng)作行為與程序行為知識庫記錄的已知程序的合法動(dòng)作行為進(jìn)行比對;對于未知程序,將該程序的動(dòng)作行為與攻擊識別規(guī)則庫中記錄的規(guī)則進(jìn)行比對;從而可以分別判斷出已知程序是否受到病毒攻擊以及未知程序是否為有害程序。下面將對病毒防護(hù)識別部中對已知程序和未知程序進(jìn)行判斷以及處理的步驟進(jìn)行詳細(xì)說明。
如圖5所示,判斷已知程序是否受到攻擊,包括如下步驟20.1)監(jiān)控并捕獲該已知程序執(zhí)行的危險(xiǎn)動(dòng)作;20.2)將捕獲的危險(xiǎn)動(dòng)作與程序行為知識庫中的信息比較,判斷是否為合法行為;20.3)如果判斷結(jié)果為是,則返回步驟20.1);如果判斷結(jié)果為否,則根據(jù)程序行為知識庫的定義,判斷是否結(jié)束進(jìn)程;20.4)如果判斷結(jié)果為是,則調(diào)用系統(tǒng)API結(jié)束該已知程序的當(dāng)前進(jìn)程;如果判斷結(jié)果為否,則調(diào)用系統(tǒng)API結(jié)束該已知程序的當(dāng)前線程。
其中,所述步驟20.3)中,知識庫的定義為,當(dāng)系統(tǒng)進(jìn)程被溢出時(shí),調(diào)用系統(tǒng)API結(jié)束當(dāng)前線程。
由于在已知程序中,有相當(dāng)一部分程序其功能是系統(tǒng)的底層服務(wù),如果直接將這些程序結(jié)束,會使系統(tǒng)重啟,以致系統(tǒng)癱瘓。因此,在本發(fā)明中,對于程序行為知識庫中的程序進(jìn)行了定義,僅當(dāng)那些系統(tǒng)程序被溢出攻擊的時(shí)候才結(jié)束其當(dāng)前線程。如上所述,即保證系統(tǒng)的安全,又可以不影響系統(tǒng)的工作,使系統(tǒng)穩(wěn)定運(yùn)行,避免了現(xiàn)有的病毒防火墻工具,由于對系統(tǒng)中的重要服務(wù)的程序病毒進(jìn)行檢查時(shí),殺滅病毒的同時(shí),使系統(tǒng)中重要的程序文件造成損壞,影響系統(tǒng)的穩(wěn)定性。例如微軟Windows操作系統(tǒng)中,Lsass.exe為系統(tǒng)服務(wù)程序,如果該程序可能受到溢出攻擊,則不能將其進(jìn)程結(jié)束,這樣會使系統(tǒng)重啟造成系統(tǒng)不穩(wěn)定;因此,按照本發(fā)明的方法及程序行為知識庫中對其定義,將該程序發(fā)生溢出攻擊的線程結(jié)束,這樣,即可以保證系統(tǒng)安全,又能夠組織有害程序?qū)ο到y(tǒng)的侵害;又如微軟Word文字編輯軟件,也存在溢出攻擊的危險(xiǎn),但是由于其不是系統(tǒng)服務(wù)軟件,因此根據(jù)本發(fā)明的方法及程序行為知識庫的定義,可以將整個(gè)Word進(jìn)程結(jié)束,以此保護(hù)了系統(tǒng)的安全。
如圖6所示,判斷未知程序是否為有害程序,包括如下步驟23.1)監(jiān)控并捕獲該未知程序執(zhí)行的危險(xiǎn)動(dòng)作;23.2)判斷該未知程序是否為正常程序;23.3)如果是正常程序,則將監(jiān)控到的動(dòng)作行為記錄到程序行為知識庫,并返回步驟23.1);如果不是正常程序,則與攻擊識別規(guī)則庫中的規(guī)則進(jìn)行比對,判斷是否為有害程序行為;23.4)如果判斷結(jié)果為否,則返回步驟23.1);如果判斷結(jié)果為有害程序行為,則由用戶確認(rèn)是否允許當(dāng)前動(dòng)作;23.5)如果用戶確認(rèn)允許當(dāng)前動(dòng)作,則將該程序標(biāo)識為正常程序,將該動(dòng)作行為記錄到程序行為知識庫,并返回步驟23.1);如果用戶不允許該動(dòng)作,則調(diào)用系統(tǒng)API函數(shù)結(jié)束該未知程序的當(dāng)前進(jìn)程。
另外,在步驟23.5)中,也可以根據(jù)用戶的需要,選擇直接調(diào)用系統(tǒng)API結(jié)束該未知程序的當(dāng)前進(jìn)程。這樣,更方便了那些計(jì)算機(jī)知識較少的用戶的使用。
如上所述,本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng),不但可以有效的對已知的病毒程序進(jìn)行攔截,同樣可以主動(dòng)檢測出未知的病毒、木馬等有害程序的存在并將其攔截,從而保證計(jì)算機(jī)系統(tǒng)的安全。
并且,本發(fā)明的計(jì)算機(jī)反病毒防護(hù)系統(tǒng)從根本上避免了現(xiàn)有的殺毒軟件只能識別出已有病毒,且對于病毒庫更新永遠(yuǎn)落后于新病毒產(chǎn)生的弊端,建立嶄新的計(jì)算機(jī)反病毒防護(hù)體系,對于計(jì)算機(jī)安全領(lǐng)域具有劃時(shí)代的意義。
通過上述的說明內(nèi)容,本發(fā)明領(lǐng)域相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。因此,本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權(quán)利范圍來確定其技術(shù)性范圍。
權(quán)利要求
1.一種計(jì)算機(jī)反病毒防護(hù)系統(tǒng)其特征在于,包括如下部分程序判斷部用于識別出用戶計(jì)算機(jī)中存在的程序,并將這些程序分成正常程序和異常程序;程序監(jiān)控部監(jiān)控、記錄程序動(dòng)作行為;關(guān)聯(lián)性分析部創(chuàng)建關(guān)聯(lián)樹,并通過該關(guān)聯(lián)樹對程序動(dòng)作行為進(jìn)行關(guān)聯(lián)性分析;所述關(guān)聯(lián)樹包括加載關(guān)聯(lián)樹和創(chuàng)建關(guān)聯(lián)樹;病毒識別知識庫包括程序行為知識庫和攻擊識別規(guī)則庫;病毒防護(hù)識別部接收前述程序監(jiān)控部程序捕獲的動(dòng)作行為,結(jié)合前述程序判斷部的信息,將捕獲的動(dòng)作行為與病毒識別知識庫中的信息進(jìn)行比較,并在需要時(shí)調(diào)用關(guān)聯(lián)性分析部對該程序是否為病毒程序做出判斷。
2.按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述程序監(jiān)控部通過勾掛程序系統(tǒng)API函數(shù)調(diào)用捕獲程序動(dòng)作行為,并進(jìn)行記錄。
3.按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于,所述正常程序包括將計(jì)算機(jī)中的程序與已知程序知識庫進(jìn)行比對,識別出的所有的已知程序;計(jì)算機(jī)桌面上有圖標(biāo)的程序;出現(xiàn)在程序組中的程序以及由安裝程序安裝的程序;所述異常程序?yàn)?,上述正常程序以外的程序?br> 4.按照權(quán)利要求3所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述安裝程序的判斷依據(jù)為,該程序運(yùn)行時(shí)有窗口,創(chuàng)建程序組或創(chuàng)建桌面圖標(biāo),并且該安裝程序創(chuàng)建反安裝項(xiàng)。
5.按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述加載關(guān)聯(lián)樹中,每個(gè)節(jié)點(diǎn)代表一個(gè)進(jìn)程,保存該進(jìn)程運(yùn)行時(shí)的動(dòng)作行為信息及其在創(chuàng)建關(guān)聯(lián)樹中的索引信息;并且每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其父進(jìn)程。
6.按照權(quán)利要求5所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于,所述加載關(guān)聯(lián)樹中每個(gè)節(jié)點(diǎn)所保存的信息包括PE文件的全路徑、加載者全路徑、文件有無描述、是否自啟動(dòng)、誰創(chuàng)建的自啟動(dòng)項(xiàng)、自身其他特征、是否被創(chuàng)建者啟動(dòng)、是否自己創(chuàng)建啟動(dòng)項(xiàng)、是否有窗口或托盤圖標(biāo)、父進(jìn)程pid號、修改注冊表項(xiàng)鏈表、網(wǎng)絡(luò)動(dòng)作鏈表。
7.按照權(quán)利要求6所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述注冊表鏈表包括如下結(jié)構(gòu)入口列表、鍵名、值名、值。
8.按照權(quán)利要求6所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述網(wǎng)絡(luò)動(dòng)作鏈表包括如下結(jié)構(gòu)類型、本地端口、本地IP地址、遠(yuǎn)程端口、遠(yuǎn)程IP地址、使用協(xié)議。
9.按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述創(chuàng)建關(guān)聯(lián)樹中,每個(gè)節(jié)點(diǎn)代表一個(gè)程序,保存有該程序文件創(chuàng)建時(shí)的相關(guān)信息及其在加載關(guān)聯(lián)樹中索引信息;并且每個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)是其創(chuàng)建者。
10.按照權(quán)利要求9所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于,所述創(chuàng)建關(guān)聯(lián)樹中每個(gè)節(jié)點(diǎn)所保存的信息包括PE文件全路徑、創(chuàng)建者的全路徑、創(chuàng)建者的特性、創(chuàng)建者有無窗口、與創(chuàng)建者是否同一文件、拷貝自身。
11.按照權(quán)利要求10所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述創(chuàng)建者特性為對系統(tǒng)中所有程序的分類,包括未知程序、郵件系統(tǒng)、網(wǎng)絡(luò)瀏覽器、網(wǎng)絡(luò)交流系統(tǒng)、其他已知程序。
12.按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述程序行為知識庫為,通過勾掛計(jì)算機(jī)系統(tǒng)的API函數(shù),逐一對合法的已知程序所執(zhí)行的動(dòng)作行為進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫;所述攻擊識別規(guī)則庫為,通過勾掛計(jì)算機(jī)系統(tǒng)的API函數(shù),記錄了計(jì)算機(jī)病毒、木馬及有害程序的攻擊動(dòng)作行為特征的數(shù)據(jù)庫,每一記錄對應(yīng)一類病毒,每一類病毒對應(yīng)一個(gè)動(dòng)作集,該動(dòng)作集包括一系列動(dòng)作及其之間的關(guān)聯(lián)關(guān)系。
13.按照權(quán)利要求12所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于,所述攻擊識別規(guī)則庫包括,網(wǎng)絡(luò)病毒規(guī)則h)如果一個(gè)異常程序運(yùn)行時(shí),其所有關(guān)聯(lián)程序均沒有窗口,且該異常程序復(fù)制自身,修改注冊表,使自己或自身的備份具有系統(tǒng)自啟動(dòng)功能,并且執(zhí)行了包括發(fā)送數(shù)據(jù)包、創(chuàng)建監(jiān)聽端口、將一個(gè)線程植入到其他進(jìn)程中、創(chuàng)建全局鉤子、發(fā)送郵件的動(dòng)作。
14.按照權(quán)利要求12所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于,所述攻擊識別規(guī)則庫包括,蠕蟲病毒規(guī)則i)一個(gè)異常程序,該程序文件是由郵件系統(tǒng)或即時(shí)通訊軟件接收到的,并且該程序運(yùn)行后,指揮鍵盤或鼠標(biāo),并模擬用戶的動(dòng)作通過郵件系統(tǒng)自動(dòng)發(fā)送郵件或通過即時(shí)通訊軟件自動(dòng)發(fā)送文件。
15.按照權(quán)利要求12所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于,所述攻擊識別規(guī)則庫包括,蠕蟲病毒規(guī)則j)一個(gè)異常的程序,該程序運(yùn)行時(shí)無窗口,它創(chuàng)建10個(gè)以上相同的線程,在1秒鐘內(nèi),每個(gè)線程均有發(fā)送數(shù)據(jù)包的動(dòng)作。
16.按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)系統(tǒng),其特征在于所述病毒防護(hù)識別部,分別對已知程序和未知程序進(jìn)行判斷;對已知程序所執(zhí)行的危險(xiǎn)動(dòng)作,與記錄在上述程序行為知識庫中的動(dòng)作行為進(jìn)行比對,判斷其是否為合法動(dòng)作;對未知程序所執(zhí)行的危險(xiǎn)動(dòng)作,與記錄在上述攻擊識別規(guī)則庫中的病毒規(guī)則進(jìn)行比對,判斷是否為有害動(dòng)作行為。
17.一種按照權(quán)利要求1所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于,包括如下步驟17.1)計(jì)算機(jī)程序啟動(dòng)后,勾掛該程序的系統(tǒng)API函數(shù)調(diào)用;17.2)監(jiān)控將該程序的動(dòng)作,并將該程序的動(dòng)作記錄到加載關(guān)聯(lián)樹中;17.3)判斷該動(dòng)作是否為創(chuàng)建程序的動(dòng)作;17.4)如果該程序執(zhí)行了創(chuàng)建程序的動(dòng)作,則將程序創(chuàng)建信息添加到創(chuàng)建關(guān)聯(lián)樹中,判斷被創(chuàng)建程序是否為正常程序,并進(jìn)行記錄;如果該程序沒有執(zhí)行創(chuàng)建程序的動(dòng)作,則判斷該動(dòng)作是否為危險(xiǎn)動(dòng)作;17.5)如果該動(dòng)作不是危險(xiǎn)動(dòng)作,則返回步驟17.2);如果該程序執(zhí)行了危險(xiǎn)動(dòng)作,則通過病毒防護(hù)識別部判斷該動(dòng)作行為是否為有害程序行為;17.6)如果判斷結(jié)果不是有害程序行為,則返回步驟17.2);如果判斷結(jié)果是害程序行為,則由病毒防護(hù)識別部對該程序作相應(yīng)的處理。
18.按照權(quán)利要求17所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于所述步驟17.5)中,分別對已知程序和未知程序進(jìn)行判斷。
19.按照權(quán)利要求17或18所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于對于已知程序?qū)⑵鋱?zhí)行的危險(xiǎn)動(dòng)作與記錄在程序行為知識庫中的合法動(dòng)作行為進(jìn)行比較,判斷其是否受到攻擊;如果比較結(jié)果為合法動(dòng)作行為則返回步驟17.2);如果比較結(jié)果為否,則證明該已知程序已經(jīng)受到病毒攻擊,終止該程序繼續(xù)運(yùn)行。
20.按照權(quán)利要求19所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于,對已知程序是否受到攻擊的判斷,包括如下步驟20.1)監(jiān)控并捕獲該已知程序執(zhí)行的危險(xiǎn)動(dòng)作;20.2)將捕獲的危險(xiǎn)動(dòng)作與程序行為知識庫中的信息比較,判斷是否為合法行為;20.3)如果判斷結(jié)果為是,則返回步驟20.1);如果判斷結(jié)果為否,則根據(jù)程序行為知識庫的定義,判斷是否結(jié)束進(jìn)程;20.4)如果判斷結(jié)果為是,則調(diào)用系統(tǒng)API結(jié)束該已知程序的當(dāng)前進(jìn)程;如果判斷結(jié)果為否,則調(diào)用系統(tǒng)API結(jié)束該已知程序的當(dāng)前線程。
21.按照權(quán)利要求20所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于所述步驟20.3)中,知識庫的定義為,當(dāng)系統(tǒng)進(jìn)程被溢出時(shí),調(diào)用系統(tǒng)API結(jié)束當(dāng)前線程。
22.按照權(quán)利要求17或18所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于對于未知程序,將其執(zhí)行的危險(xiǎn)動(dòng)作與所述攻擊識別規(guī)則庫中所記錄的病毒規(guī)則進(jìn)行比對,并判斷該程序是否為有害程序;如果判斷為是,則終止該程序運(yùn)行;如果判斷結(jié)果為否,則返回步驟17.2)。
23.按照權(quán)利要求18所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于,對未知程序是否為有害程序的判斷,包括如下步驟23.1)監(jiān)控并捕獲該未知程序執(zhí)行的危險(xiǎn)動(dòng)作;23.2)判斷是否為正常程序;23.3)如果是正常程序,則將監(jiān)控到的動(dòng)作行為記錄到程序行為知識庫,并返回步驟23.1);如果不是正常程序,則與攻擊識別規(guī)則庫中的規(guī)則進(jìn)行比對,判斷是否為有害程序行為;23.4)如果判斷結(jié)果為否,則返回步驟23.1);如果判斷結(jié)果為有害程序行為,則由用戶確認(rèn)是否允許當(dāng)前動(dòng)作;23.5)如果用戶確認(rèn)允許當(dāng)前動(dòng)作,則將該程序標(biāo)識為正常程序,將該動(dòng)作行為記錄到程序行為知識庫,并返回步驟23.1);如果用戶不允許該動(dòng)作,則調(diào)用系統(tǒng)API函數(shù)結(jié)束該未知程序的當(dāng)前進(jìn)程。
24.按照權(quán)利要求23所述計(jì)算機(jī)反病毒防護(hù)方法,其特征在于在所述步驟23.5)中根據(jù)用戶的需要,采用直接調(diào)用系統(tǒng)API結(jié)束該未知程序的當(dāng)前進(jìn)程的。
全文摘要
本發(fā)明涉及一種計(jì)算機(jī)反病毒防護(hù)系統(tǒng)和方法,采用基于程序行為分析的計(jì)算機(jī)防護(hù)系統(tǒng)和方法。其特征在于包括如下部分程序判斷部用于識別出用戶計(jì)算機(jī)中存在的程序,并將這些程序分成正常程序和異常程序;程序監(jiān)控部監(jiān)控、記錄程序動(dòng)作行為;關(guān)聯(lián)性分析部創(chuàng)建關(guān)聯(lián)樹,并通過該關(guān)聯(lián)樹對程序動(dòng)作行為進(jìn)行關(guān)聯(lián)性分析;所述關(guān)聯(lián)樹包括加載關(guān)聯(lián)樹和創(chuàng)建關(guān)聯(lián)樹;病毒識別知識庫包括程序行為知識庫和攻擊識別規(guī)則庫;病毒防護(hù)識別部將捕獲的動(dòng)作行為與病毒識別知識庫中的信息進(jìn)行比較,對該程序是否為病毒程序做出判斷。利用本發(fā)明的方法不但提高了效率,避免了病毒代碼更新的滯后性,可以有效的對未知的病毒、木馬進(jìn)行攔截。
文檔編號G06F1/00GK1885224SQ200510079638
公開日2006年12月27日 申請日期2005年6月23日 優(yōu)先權(quán)日2005年6月23日
發(fā)明者劉旭 申請人:福建東方微點(diǎn)信息安全有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1