專利名稱:基于程序行為分析的計(jì)算機(jī)防護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)防護(hù)方法,尤其涉及以程序的動(dòng)作行為為特征的計(jì)算機(jī)防護(hù)方法。
背景技術(shù):
現(xiàn)有的計(jì)算機(jī)病毒防范產(chǎn)品大體上可以分為兩類,一類用來是對(duì)入侵計(jì)算機(jī)的病毒程序進(jìn)行隔離,例如防火墻,通過對(duì)通訊端口、協(xié)議等進(jìn)行限制來防止入侵病毒程序的進(jìn)入;另一類用來對(duì)可能形成入侵的病毒程序文件進(jìn)行掃描,例如現(xiàn)有的殺毒軟件,利用入侵病毒程序的代碼特征,發(fā)現(xiàn)并清除該病毒程序。這兩類產(chǎn)品盡管能夠發(fā)現(xiàn)并消除某些病毒程序,但是也都具有一些無法克服的缺點(diǎn),例如(一)防火墻的防止病毒程序入侵主要通過對(duì)通信端口和/或協(xié)議的監(jiān)控實(shí)現(xiàn),需要由用戶自己設(shè)置使用某個(gè)通信端口或協(xié)議的程序要么允許、要么不允許通過的條件,因此,1.要求用戶對(duì)系統(tǒng)非常熟悉,才能對(duì)防火墻進(jìn)行有效設(shè)置;2.監(jiān)控顆粒太大,如果所禁止的端口和/或協(xié)議是正常程序也需要使用的,或者病毒程序采用了允許正常通過的端口或協(xié)議,則可能導(dǎo)致誤判或直接影響網(wǎng)絡(luò)的正常運(yùn)行。
(二)利用病毒特征碼的清楚病毒的方式將永遠(yuǎn)滯后于病毒的發(fā)展,因?yàn)橹挥胁东@到病毒樣本后,才能提取到病毒的特征碼,這使得這種殺毒軟件對(duì)新出現(xiàn)的未知病毒入侵無法防范。
發(fā)明內(nèi)容
本發(fā)明要解決的問題在于,提供一種能夠主動(dòng)對(duì)程序行為進(jìn)行判斷從而防止計(jì)算機(jī)被病毒程序破壞的方法。
本發(fā)明提供的基于程序行為分析的計(jì)算機(jī)防護(hù)方法,包括對(duì)計(jì)算機(jī)運(yùn)行的指令或指令集進(jìn)行分類,并為所述指令或指令集設(shè)置危險(xiǎn)系數(shù);
監(jiān)控運(yùn)行的程序行為,累計(jì)將要運(yùn)行或已經(jīng)運(yùn)行的指令或指令集的危險(xiǎn)系數(shù),在所述系數(shù)的和大于設(shè)定的閾值時(shí),中斷所述程序的運(yùn)行。
進(jìn)一步,選擇出可能危及計(jì)算機(jī)安全的指令或指令集進(jìn)行分類。
所述指令或指令集為下述操作的指令或指令集文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程或線程操作;注冊(cè)表操作;窗口、托盤操作;堆棧操作;注入線程操作;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號(hào)操作。
所述程序行為為下述程序戶行為調(diào)用操作系統(tǒng)外殼程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動(dòng)運(yùn)行其他程序;創(chuàng)建超過預(yù)定數(shù)量的相同線程;修改和創(chuàng)建用戶帳號(hào);向系統(tǒng)注冊(cè)表添加啟動(dòng)項(xiàng);修改系統(tǒng)啟動(dòng)文件;向其他進(jìn)程注入線程;堆棧操作;應(yīng)用級(jí)進(jìn)程自動(dòng)提升為系統(tǒng)級(jí)進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
進(jìn)一步,將監(jiān)控程序嵌入到操作系統(tǒng)的API函數(shù)中,實(shí)現(xiàn)對(duì)程序的動(dòng)作行為的監(jiān)控。
以及,通過被監(jiān)控程序運(yùn)行的指令,記錄被監(jiān)控程序的動(dòng)作行為。
所述方法還包括建立已知程序檔案庫,用于存儲(chǔ)已知程序的標(biāo)識(shí)和所述已知程序的特征數(shù)據(jù);以及,判斷被監(jiān)控的程序是否是已知程序,如果是,利用已知程序檔案庫中的特征數(shù)據(jù)判斷所述被監(jiān)控程序是否完好,如果完好,結(jié)束判斷,否則中止所述已知程序的執(zhí)行。
所述方法還包括建立攻擊識(shí)別規(guī)則庫,用于存儲(chǔ)明顯破壞計(jì)算機(jī)安全的計(jì)算機(jī)指令或指令集;以及,在被監(jiān)控的程序不是已知程序時(shí),利用攻擊識(shí)別規(guī)則庫中的特指令或指令集判斷所述被監(jiān)控程序是否為危險(xiǎn)程序,如果是,中止所述已知程序的執(zhí)行。
在本發(fā)明中,對(duì)計(jì)算機(jī)運(yùn)行的指令或指令集進(jìn)行分類,并為所述指令或指令集設(shè)置危險(xiǎn)系數(shù),這樣,將監(jiān)控到的指令或指令集對(duì)應(yīng)的危險(xiǎn)系數(shù)累加起來,就可以判斷被監(jiān)控程序的行為,進(jìn)而決定是否中斷所述程序的運(yùn)行。需要說明的是,本發(fā)明并沒有僅對(duì)危害計(jì)算機(jī)安全的指令或指令集設(shè)置危險(xiǎn)系數(shù),而是對(duì)全部的計(jì)算機(jī)指令包含的指令或指令集進(jìn)行分類進(jìn)行分類和設(shè)置危險(xiǎn)系數(shù),能夠避免多個(gè)無害指令結(jié)合后變?yōu)橛泻χ噶畹那闆r,例如無限次的循環(huán)、對(duì)重要存儲(chǔ)單元的讀寫等。可見,本發(fā)明能夠主動(dòng)對(duì)程序行為進(jìn)行判斷從而防止計(jì)算機(jī)被病毒程序破壞。
圖1為本發(fā)明所述方法的第一實(shí)施例流程圖;圖2為本發(fā)明所述方法的第二實(shí)施例流程圖;圖3為本發(fā)明所述方法的第三實(shí)施例流程圖。
具體實(shí)施例方式
下面參照附圖,并結(jié)合最常用的微軟Windows操作系統(tǒng),對(duì)本發(fā)明的實(shí)施例作詳細(xì)說明。
如圖1所示,為本發(fā)明所述方法的第一實(shí)施例流程圖。圖1所述的實(shí)施例的步驟11對(duì)計(jì)算機(jī)運(yùn)行的指令或指令集進(jìn)行分類,然后在步驟12為所述指令或指令集設(shè)置危險(xiǎn)系數(shù)。本實(shí)施例中,步驟11和步驟12可以通過一個(gè)指令或指令集表實(shí)現(xiàn)。該表可以稱為指令系數(shù)表,僅設(shè)置兩個(gè)字段,一個(gè)指令字段,用于存儲(chǔ)被分類出的指令或指令集合,一個(gè)字段為系數(shù)字段,用于存儲(chǔ)不同指令或指令集合對(duì)應(yīng)的危險(xiǎn)系數(shù)。其中,一個(gè)不同的指令,由于帶有不同參數(shù)或者不同作用范圍的參數(shù)可能使一個(gè)具體的指令由對(duì)計(jì)算機(jī)無害變?yōu)橛泻?,例如,?dāng)描述循環(huán)的指令的循環(huán)次數(shù)有限且合理時(shí)對(duì)計(jì)算機(jī)無害,但是當(dāng)循環(huán)次數(shù)無線時(shí),則可能由于陷入死循環(huán)而過渡消耗計(jì)算機(jī)的資源而變得有害。因此,一個(gè)指令可能由于帶有的參數(shù)不同,或者參數(shù)的范圍不同而具有不同的危險(xiǎn)系數(shù),一個(gè)指令由于帶有的參數(shù)不同,或者參數(shù)的范圍不同而變?yōu)椴煌闹噶?,在所述指令系?shù)表中占有較多的行。同理,當(dāng)不同的指令單獨(dú)存在時(shí)可能對(duì)計(jì)算機(jī)無害,但是當(dāng)該指令與其他指令結(jié)合構(gòu)成一個(gè)指令集合時(shí)卻可能變得有害。例如,一個(gè)讀存儲(chǔ)單元數(shù)據(jù)的指令時(shí)無害的,但是當(dāng)讀取的存儲(chǔ)單元為存儲(chǔ)堆棧指針的單元,則該“讀”指令與一個(gè)數(shù)值運(yùn)算指令和寫存儲(chǔ)單元指令結(jié)合時(shí),就可能構(gòu)成一個(gè)有害的指令集合。因此,可能要一組指令在所述指令系數(shù)表中占一行。在本發(fā)明的另一個(gè)實(shí)施例中,該指令系數(shù)表還包括一個(gè)類別字段,用于識(shí)別所述指令字段存儲(chǔ)的是一個(gè)單個(gè)的指令還是一個(gè)由多條指令構(gòu)成的指令集合。
然后在步驟13,監(jiān)控運(yùn)行的程序行為,即監(jiān)控將要運(yùn)行或已經(jīng)運(yùn)行的指令或指令集,找到所述指令或指令集對(duì)應(yīng)的危險(xiǎn)系數(shù),然后在步驟14累計(jì)將要運(yùn)行或已經(jīng)運(yùn)行的指令或指令集的危險(xiǎn)系數(shù),即將所述危險(xiǎn)系數(shù)作求和操作,然后在步驟15判斷所述求和操作的結(jié)果是否大于設(shè)定的閾值,如果大于,說明被監(jiān)控的程序已經(jīng)具有了足以危害計(jì)算機(jī)系統(tǒng)安全的行為,因此在步驟16中斷所述程序的運(yùn)行;否則,說明被監(jiān)控的程序具有足以危害計(jì)算機(jī)系統(tǒng)安全的行為,此時(shí)返回到步驟13繼續(xù)監(jiān)控。
圖1所述的方法可以靜態(tài)使用也可以動(dòng)態(tài)使用。所謂靜態(tài)使用,是對(duì)處于靜止?fàn)顟B(tài)或非激活狀態(tài)的被監(jiān)控程序進(jìn)行掃描判斷,從而獲得該程序是否是病毒程序或被病毒侵害;也可以在被監(jiān)控程序處于活動(dòng)狀態(tài),即運(yùn)行狀態(tài)時(shí)對(duì)其進(jìn)行監(jiān)控,尤其是在一個(gè)指令或指令集運(yùn)行之前對(duì)其進(jìn)行判斷,還有可能防止實(shí)際對(duì)計(jì)算機(jī)危害結(jié)果的發(fā)生。
在本發(fā)明的另一個(gè)實(shí)施例中,步驟13的監(jiān)控操作通過類別字段協(xié)助完成,即先判斷一個(gè)指令的類別,從而確定這是一個(gè)需要作單獨(dú)判斷的指令還是屬于一個(gè)指令集的指令,從而方便步驟13的操作。
在本發(fā)明的另一個(gè)實(shí)施例中,選擇出可能危及計(jì)算機(jī)安全的指令或指令集進(jìn)行分類,而不是對(duì)所有指令分類,排除一些明顯不能成生對(duì)計(jì)算機(jī)危害的指令,例如空操作指令,可以提高對(duì)被監(jiān)控程序的監(jiān)控效率。
圖2為本發(fā)明所述方法的第二實(shí)施例流程圖;與圖1所述實(shí)施例相比,本實(shí)施例增加了建立已知程序檔案庫的步驟21,所述已知程序檔案庫用于存儲(chǔ)已知程序的標(biāo)識(shí)和所述已知程序的特征數(shù)據(jù);還增加了一個(gè)判斷步驟22,判斷被監(jiān)控的程序是否是已知程序,如果是,利用已知程序檔案庫中的特征數(shù)據(jù)判斷所述被監(jiān)控程序是否完好(步驟23),如果完好,結(jié)束判斷(步驟24),否則中止所述已知程序的執(zhí)行。
圖3為本發(fā)明所述方法的第三實(shí)施例流程圖;與圖2所述實(shí)施例相比,增加了建立攻擊識(shí)別規(guī)則庫的步驟31,所述攻擊識(shí)別規(guī)則庫用于存儲(chǔ)明顯破壞計(jì)算機(jī)安全的計(jì)算機(jī)指令或指令集;以及,增加了在被監(jiān)控的程序不是已知程序時(shí),利用攻擊識(shí)別規(guī)則庫中的特指令或指令集判斷所述被監(jiān)控程序是否為危險(xiǎn)程序的步驟32,如果晶步驟32判斷被進(jìn)空的程序是危險(xiǎn)程序,直接經(jīng)步驟16中止所述已知程序的執(zhí)行。
在圖1、圖2和圖3所述的實(shí)施例中,還包括通過被監(jiān)控程序運(yùn)行的指令,記錄被監(jiān)控程序的動(dòng)作行為的步驟(圖中未繪出)。
在圖1、圖2和圖3所述的實(shí)施例中。將監(jiān)控程序嵌入到操作系統(tǒng)的API函數(shù)中,從而獲得對(duì)系統(tǒng)的監(jiān)控權(quán),實(shí)現(xiàn)對(duì)被監(jiān)控程序的動(dòng)作行為的監(jiān)控。
如果比較結(jié)果證明被監(jiān)控程序?yàn)槲kU(xiǎn)程序,不但中斷該程序的繼續(xù)運(yùn)行,而且向用戶報(bào)警,或等待進(jìn)一步處理。因此,采用如上所述的方法對(duì)已知程序進(jìn)行檢查,不但可以保證對(duì)已知程序是否正常運(yùn)行進(jìn)行判斷,而且可以檢查出已知程序是否受到攻擊,并且與現(xiàn)有技術(shù)采用病毒特征代碼比較的方法相比,不但檢查病毒攻擊的準(zhǔn)確性更好,而且執(zhí)行效率更高。
如上所述,根據(jù)將已知程序與程序行為知識(shí)庫中記錄的合法的動(dòng)作行為進(jìn)行比較,如果已知程序按照前述所記錄的合法的程序行為執(zhí)行,則說明所述已知程序運(yùn)行正常;如果一旦出現(xiàn)了該已知程序合法動(dòng)作行為以外的動(dòng)作行為,則可以確定所述已知程序收到攻擊,應(yīng)將其停止。
而且,在本發(fā)明的實(shí)施例中,根據(jù)被監(jiān)控程序的不同調(diào)用系統(tǒng)API函數(shù)結(jié)束當(dāng)前進(jìn)程;或者調(diào)用系統(tǒng)API函數(shù)結(jié)束當(dāng)前線程。
由于在已知程序中,有相當(dāng)一部分程序其功能是系統(tǒng)的底層服務(wù),如果直接將這些程序結(jié)束,會(huì)使系統(tǒng)重啟,以致系統(tǒng)癱瘓。因此,在本發(fā)明中對(duì)于那些不可以中斷,且已經(jīng)受到攻擊的程序,直接中斷執(zhí)行了非法操作的線程結(jié)束即可,即保證系統(tǒng)的安全,又可以不影響系統(tǒng)的工作,使系統(tǒng)穩(wěn)定運(yùn)行,避免了現(xiàn)有的病毒防火墻工具,由于對(duì)系統(tǒng)中的重要服務(wù)的程序病毒進(jìn)行檢查時(shí),殺滅病毒的同時(shí),使系統(tǒng)中重要的程序文件造成損壞,影響系統(tǒng)的穩(wěn)定性。例如微軟Windows操作系統(tǒng)中,Lsass.exe為系統(tǒng)服務(wù)程序,如果該程序受到病毒程序的攻擊,直接將該程序發(fā)生攻擊的線程結(jié)束,這樣,即可以保證系統(tǒng)安全,又能夠阻止有害程序?qū)ο到y(tǒng)的侵害。
在對(duì)被監(jiān)控程序的動(dòng)作行為是否為有害動(dòng)作行為進(jìn)行判斷的步驟中,要將捕獲到的該程序的動(dòng)作行為與攻擊識(shí)別規(guī)則庫中的攻擊識(shí)別規(guī)則進(jìn)行比較,從而判斷該程序是否為有害程序所述攻擊識(shí)別規(guī)則庫為是記錄了有害程序的攻擊行為特征的數(shù)據(jù)庫,每一記錄對(duì)應(yīng)一個(gè)動(dòng)作集,即對(duì)計(jì)算機(jī)的破壞性行為及這些行為或動(dòng)作之間特定的關(guān)聯(lián)關(guān)系。
所述指令或指令集為下述操作的指令或指令集文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程或線程操作;注冊(cè)表操作;窗口、托盤操作;堆棧操作;注入線程操作;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號(hào)操作。
所述程序行為為下述程序戶行為調(diào)用操作系統(tǒng)外殼程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動(dòng)運(yùn)行其他程序;創(chuàng)建超過預(yù)定數(shù)量的相同線程;修改和創(chuàng)建用戶帳號(hào);向系統(tǒng)注冊(cè)表添加啟動(dòng)項(xiàng);修改系統(tǒng)啟動(dòng)文件;向其他進(jìn)程注入線程;堆棧操作;應(yīng)用級(jí)進(jìn)程自動(dòng)提升為系統(tǒng)級(jí)進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
例如,程序自行改變運(yùn)行層級(jí),如在微軟Windows操作系統(tǒng)中,某程序自動(dòng)從應(yīng)用級(jí)提升系統(tǒng)級(jí)執(zhí)行,由于只有少數(shù)的正常程序才具有這一特征,因此,可以判斷得到很多具有這種特征分程序?yàn)椴《境绦蚧虮徊《竟暨^的程序。
本發(fā)明的實(shí)施例中,所述攻擊識(shí)別規(guī)則庫包括下述規(guī)則的任何單個(gè)或兩個(gè)以上任意的組合。
a)運(yùn)行于用戶層的程序,轉(zhuǎn)入系統(tǒng)核心層RINGO運(yùn)行;和/或;b)執(zhí)行修改其他程序文件的操作;和/或;c)通過監(jiān)聽端口接收數(shù)據(jù)后,立即調(diào)用操作系統(tǒng)的外殼程序;和/或;d)通過監(jiān)聽端口接收數(shù)據(jù)后,使系統(tǒng)緩沖區(qū)溢出;和/或;e)通過監(jiān)聽端口接收數(shù)據(jù)后,立即調(diào)用一般文件傳輸協(xié)議程序傳輸數(shù)據(jù);和/或;f)由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊(cè)表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始發(fā)送郵件;和/或;g)由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊(cè)表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始創(chuàng)建監(jiān)聽端口。
例如,對(duì)于一個(gè)已知程序,如果該程序行為不包括能修改其他程序文件的行為時(shí),而當(dāng)該程序運(yùn)行時(shí),卻修改了其他程序文件,上述危險(xiǎn)動(dòng)作就可以被監(jiān)控到,然后與已知程序檔案庫中存儲(chǔ)的該已知程序的特征數(shù)據(jù)相比較,就可以判斷該已知程序一定是被病毒感染。
通過上述的說明內(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ù)性范圍。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于對(duì)計(jì)算機(jī)運(yùn)行的指令或指令集進(jìn)行分類,并為所述指令或指令集設(shè)置危險(xiǎn)系數(shù);監(jiān)控運(yùn)行的程序行為,累計(jì)將要運(yùn)行或已經(jīng)運(yùn)行的指令或指令集的危險(xiǎn)系數(shù),在所述系數(shù)的和大于設(shè)定的閾值時(shí),中斷所述程序的運(yùn)行。
2.按照權(quán)利要求1所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于,選擇出可能危及計(jì)算機(jī)安全的指令或指令集進(jìn)行分類。
3.按照權(quán)利要求2所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于,所述指令或指令集為下述操作的指令或指令集文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程或線程操作;注冊(cè)表操作;窗口、托盤操作;堆棧操作;注入線程操作;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號(hào)操作。
4.按照權(quán)利要求3所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于,所述程序行為為下述程序戶行為調(diào)用操作系統(tǒng)外殼程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動(dòng)運(yùn)行其他程序;創(chuàng)建超過預(yù)定數(shù)量的相同線程;修改和創(chuàng)建用戶帳號(hào);向系統(tǒng)注冊(cè)表添加啟動(dòng)項(xiàng);修改系統(tǒng)啟動(dòng)文件;向其他進(jìn)程注入線程;堆棧操作;應(yīng)用級(jí)進(jìn)程自動(dòng)提升為系統(tǒng)級(jí)進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
5.按照權(quán)利要求1所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于將監(jiān)控程序嵌入到操作系統(tǒng)的API函數(shù)中,實(shí)現(xiàn)對(duì)程序的動(dòng)作行為的監(jiān)控。
6.按照權(quán)利要求5所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于通過被監(jiān)控程序運(yùn)行的指令,記錄被監(jiān)控程序的動(dòng)作行為。
7.按照權(quán)利要求1、2、3、4、5或6所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于還包括建立已知程序檔案庫,用于存儲(chǔ)已知程序的標(biāo)識(shí)和所述已知程序的特征數(shù)據(jù);以及,判斷被監(jiān)控的程序是否是已知程序,如果是,利用已知程序檔案庫中的特征數(shù)據(jù)判斷所述被監(jiān)控程序是否完好,如果完好,結(jié)束判斷,否則中止所述已知程序的執(zhí)行。
8.按照權(quán)利要求7所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于還包括建立攻擊識(shí)別規(guī)則庫,用于存儲(chǔ)明顯破壞計(jì)算機(jī)安全的計(jì)算機(jī)指令或指令集;以及,在被監(jiān)控的程序不是已知程序時(shí),利用攻擊識(shí)別規(guī)則庫中的特指令或指令集判斷所述被監(jiān)控程序是否為危險(xiǎn)程序,如果是,中止所述已知程序的執(zhí)行。
9.按照權(quán)利要求8所述基于程序行為分析的計(jì)算機(jī)防護(hù)方法,其特征在于,所述攻擊識(shí)別規(guī)則庫,包括下述規(guī)則及一個(gè)以上下述的規(guī)則的任意組合a)運(yùn)行于用戶層的程序,轉(zhuǎn)入系統(tǒng)核心層RING0運(yùn)行;和/或;b)執(zhí)行修改其他程序文件的操作;和/或;c)通過監(jiān)聽端口接收數(shù)據(jù)后,立即調(diào)用操作系統(tǒng)的外殼程序;和/或;d)通過監(jiān)聽端口接收數(shù)據(jù)后,使系統(tǒng)緩沖區(qū)溢出;和/或;e)通過監(jiān)聽端口接收數(shù)據(jù)后,立即調(diào)用一般文件傳輸協(xié)議程序傳輸數(shù)據(jù);和/或;f)由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊(cè)表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始發(fā)送郵件;和/或;g)由郵件系統(tǒng)自動(dòng)生成,且該程序運(yùn)行時(shí)修改注冊(cè)表的自啟動(dòng)項(xiàng),該程序無窗口、無托盤,并且立即開始創(chuàng)建監(jiān)聽端口。
全文摘要
本發(fā)明涉及一種基于程序行為分析的計(jì)算機(jī)防護(hù)方法,該方法對(duì)計(jì)算機(jī)運(yùn)行的指令或指令集進(jìn)行分類,并為所述指令或指令集設(shè)置危險(xiǎn)系數(shù);并且以此為基礎(chǔ),監(jiān)控運(yùn)行的程序行為,累計(jì)將要運(yùn)行或已經(jīng)運(yùn)行的指令或指令集的危險(xiǎn)系數(shù),在所述系數(shù)的和大于設(shè)定的閾值時(shí),中斷所述程序的運(yùn)行。因此,本發(fā)明能夠主動(dòng)對(duì)程序行為進(jìn)行判斷從而防止計(jì)算機(jī)被病毒程序破壞。
文檔編號(hào)G06F21/54GK101013461SQ20071008023
公開日2007年8月8日 申請(qǐng)日期2007年2月14日 優(yōu)先權(quán)日2007年2月14日
發(fā)明者白杰, 李薇, 魯征宇 申請(qǐng)人:白杰, 李薇, 魯征宇