專利名稱:運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)病毒、攻擊防護(hù)方法,特別是運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法。
背景技術(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)行搜尋,例如殺毒軟件,利用可能形成入侵染病毒文件的代碼特征,通過掃描發(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)的未知病毒入侵無法防范,用戶即使裝備了殺毒軟件,也會(huì)再次受到該病毒的攻擊傷害,只有通過升級、更新病毒數(shù)據(jù)庫才可以解決,而這種解決是滯后于病毒發(fā)生的。
發(fā)明內(nèi)容
本發(fā)明就是為了解決上述問題,其目的在于提供一種能夠快速、有效的檢查出已知程序是否遭到攻擊或破壞的方法,本發(fā)明就是提供了一種使用程序行為知識庫,來檢查已知程序是否正常運(yùn)行,從而判斷已知程序是否受到攻擊。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,就是通過監(jiān)控已知程序的動(dòng)作行為,與程序行為知識庫中記錄的合法行為相比較,判斷已知程序是否被攻擊;所述程序行為知識庫為,利用自動(dòng)化工具,逐一對合法的已知程序所執(zhí)行的可能影響計(jì)算機(jī)安全動(dòng)作行為進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述動(dòng)作行為分為監(jiān)控動(dòng)作,指該動(dòng)作可能影響計(jì)算機(jī)安全、需要對其進(jìn)行實(shí)時(shí)監(jiān)控;危險(xiǎn)動(dòng)作,該動(dòng)作首先是一個(gè)監(jiān)控動(dòng)作,在程序運(yùn)行中,該動(dòng)作可能威脅計(jì)算機(jī)安全;非監(jiān)控動(dòng)作,不影響計(jì)算機(jī)安全無需進(jìn)行監(jiān)控的動(dòng)作。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述程序行為知識庫為,利用自動(dòng)化工具,逐一對合法的已知程序所執(zhí)行的可能影響、危害計(jì)算機(jī)安全的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
監(jiān)控并記錄已知程序運(yùn)行時(shí)的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并與程序行為知識庫中記錄的已知程序合法行為進(jìn)行比較。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述程序行為知識庫結(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)操作的鍵值。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,還包括對于未記錄在程序行為知識庫中的程序,由用戶自定義添加到程序行為知識庫。因此在使用過程中,可以按照用戶需要,對程序行為知識庫進(jìn)行不斷擴(kuò)充。
因此,可以對于未記錄在程序行為知識庫的程序,通過使用過程中用戶對其監(jiān)控動(dòng)作與危險(xiǎn)動(dòng)作進(jìn)行授權(quán),并按照程序行為知識庫的結(jié)構(gòu)添加到所述程序行為知識庫。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,將未記錄在程序行為知識庫中的程序添加到程序行為知識庫,包括如下步驟12.1)運(yùn)行該程序;12.2)判斷是否為已知程序?是,則利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并與程序行為知識庫中的記錄進(jìn)行比較;否,則進(jìn)入下一步;12.3)判斷是否有程序來源?是,則利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并在所述程序行為知識庫中添加新紀(jì)錄;否,則進(jìn)入下一步;12.4)利用自動(dòng)化工具監(jiān)控并記錄該程序所執(zhí)行的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并向用戶報(bào)警;12.5)用戶確認(rèn)是否允許該動(dòng)作進(jìn)行?是,則作為合法程序,利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并在所述程序行為知識庫中添加該程序的新紀(jì)錄;否,則不對該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作進(jìn)行記錄。
并且,在步驟12.5)中,當(dāng)用戶不允許所述動(dòng)作進(jìn)行時(shí),還包括終止該動(dòng)作進(jìn)行,并阻止該程序繼續(xù)執(zhí)行的步驟。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述合法程序包括已知程序和經(jīng)過用戶確認(rèn)的無程序來源信息的未知程序。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述利用自動(dòng)化工具收集程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,是通過勾掛系統(tǒng)的API函數(shù),對程序進(jìn)程進(jìn)行監(jiān)控并記錄。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,判斷已知程序是否被攻擊,包括如下步驟16.1)程序運(yùn)行;16.2)是否為已知程序;是,則進(jìn)入下一步;否,則轉(zhuǎn)到12.3);16.3)勾掛程序API函數(shù),監(jiān)控程序行為動(dòng)作,捕獲到監(jiān)控動(dòng)作或危險(xiǎn)動(dòng)作;16.4)將捕獲到的監(jiān)控動(dòng)作或危險(xiǎn)動(dòng)作與程序行為知識庫中的信息相比較,判斷是否為合法動(dòng)作;是,則進(jìn)入下一步;16.5)程序繼續(xù)運(yùn)行,返回16.3)。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述步驟16.4)中,還包括判斷為非法動(dòng)作后,阻止該程序繼續(xù)運(yùn)行的步驟。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所勾掛的API函數(shù)為可能影響計(jì)算機(jī)安全的API函數(shù)。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,可以應(yīng)用于基于程序行為方式的病毒防護(hù)實(shí)時(shí)監(jiān)控系統(tǒng)中,對已知程序進(jìn)行實(shí)時(shí)監(jiān)控,保證已知程序正常運(yùn)行。
圖1為本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法的流程圖。
具體實(shí)施例方式
下面將結(jié)合實(shí)例對本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法作以詳細(xì)說明。
所述程序行為知識庫為,利用自動(dòng)化工具,逐一對合法的已知程序所執(zhí)行的可能影響計(jì)算機(jī)安全動(dòng)作行為進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述動(dòng)作行為分為監(jiān)控動(dòng)作,指該動(dòng)作可能影響計(jì)算機(jī)安全、需要對其進(jìn)行實(shí)時(shí)監(jiān)控;危險(xiǎn)動(dòng)作,該動(dòng)作首先是一個(gè)監(jiān)控動(dòng)作,在程序運(yùn)行中,該動(dòng)作可能威脅計(jì)算機(jī)安全。此外對不影響計(jì)算機(jī)安全無需進(jìn)行監(jiān)控的非監(jiān)控動(dòng)作,不進(jìn)行監(jiān)控和記錄。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述程序行為知識庫為,利用自動(dòng)化工具,逐一對合法的已知程序所執(zhí)行的可能影響、危害計(jì)算機(jī)安全的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
監(jiān)控并記錄已知程序運(yùn)行時(shí)的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并與程序行為知識庫中記錄的已知程序合法行為進(jìn)行比較。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述程序行為知識庫結(jié)構(gòu)實(shí)體描述如下
struct Know{DWORD type1;
BOOL bAllowedWriteFile;
BOOL bCreateShell;
DWORD NetOffset;
DWORD RegOffset;
};
其中type1為程序分類枚舉類型,目前暫時(shí)分為可被緩沖區(qū)溢出攻擊的程序和普通應(yīng)用程序兩類,描述如下,enum KnowType{OVERFLOW,NORMAL};
bAllowedWriteFile,表示該程序是否可以寫可執(zhí)行PE文件。
bCreateShell,表示該程序是否可以調(diào)用系統(tǒng)shell。
NetOffset,表示在知識庫文件中偏移多少的位置為對該程序網(wǎng)絡(luò)行為的描述。
RegOffset,表示在知識庫文件中偏移多少的位置為對該程序注冊表操作行為的描述。
在程序行為知識庫中使用以下分結(jié)構(gòu)描述該程序的網(wǎng)絡(luò)動(dòng)作行為的結(jié)構(gòu)實(shí)體描述為struct Net{short type2;
int num;
ListenPort port[];
};
其中,Type2,用來描述網(wǎng)絡(luò)連接的動(dòng)作類型,分為兩類,監(jiān)聽和連接,使用如下枚舉量描述,enum NetType{Listen,Connect};num,為涉及到的端口數(shù)量;ListenPort,針對每一個(gè)連接的具體描述,使用如下結(jié)構(gòu)表示,struct ListenPort{short lport;
IPADDR lipaddr;
short dport;
IPADDR dipaddr;
short protocol;
};
lport使用的本地端口;lipaddr使用的本地地址;dport所連接的遠(yuǎn)程端口;dipaddr所連接的遠(yuǎn)程地址;protocol所使用的協(xié)議,使用TCP/IP協(xié)議定義。
在程序行為知識庫中使用以下分結(jié)構(gòu)描述該程序的注冊表操作動(dòng)作行為的結(jié)構(gòu)實(shí)體描述為struct Reg{int num;
char*fullregname[];
};
num,表示該程序所操作的注冊表項(xiàng)數(shù)。
fullregname,每一項(xiàng)操作的鍵值。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,還包括對于未記錄在程序行為知識庫中的程序,由用戶自定義添加到程序行為知識庫。因此在使用過程中,可以按照用戶需要,對程序行為知識庫進(jìn)行不斷擴(kuò)充。
如圖1所示,為本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法的流程圖。
因此,可以對于未記錄在程序行為知識庫的程序,通過使用過程中用戶對其監(jiān)控動(dòng)作與危險(xiǎn)動(dòng)作進(jìn)行授權(quán),并按照程序行為知識庫的結(jié)構(gòu)添加到所述程序行為知識庫。
根據(jù)本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,將未記錄在程序行為知識庫中的程序添加到程序行為知識庫,包括如下步驟12.1)運(yùn)行該程序;12.2)判斷是否為已知程序?是,則利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并與程序行為知識庫中的記錄進(jìn)行比較;否,則進(jìn)入下一步;12.3)判斷是否有程序來源?是,則利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并在所述程序行為知識庫中添加新紀(jì)錄;否,則進(jìn)入下一步;
12.4)利用自動(dòng)化工具監(jiān)控并記錄該程序所執(zhí)行的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并向用戶報(bào)警;12.5)用戶確認(rèn)是否允許該動(dòng)作進(jìn)行?是,則作為合法程序,利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并在所述程序行為知識庫中添加該程序的新紀(jì)錄;否,則不對該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作進(jìn)行記錄。
并且,在步驟12.5)中,當(dāng)用戶不允許所述動(dòng)作進(jìn)行時(shí),還包括終止該動(dòng)作進(jìn)行,并阻止該程序繼續(xù)執(zhí)行的步驟。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所述利用自動(dòng)化工具收集程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,是通過勾掛系統(tǒng)的API函數(shù),實(shí)現(xiàn)對程序進(jìn)程進(jìn)行監(jiān)控并記錄。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,判斷已知程序是否被攻擊,包括如下步驟16.1)程序運(yùn)行;16.2)是否為已知程序;是,則進(jìn)入下一步;否,則轉(zhuǎn)到12.3);16.3)勾掛程序API函數(shù),監(jiān)控程序行為動(dòng)作,捕獲到監(jiān)控動(dòng)作或危險(xiǎn)動(dòng)作;16.4)將捕獲到的監(jiān)控動(dòng)作或危險(xiǎn)動(dòng)作與程序行為知識庫中的信息相比較,判斷是否為合法動(dòng)作;是,則進(jìn)入下一步;16.5)程序繼續(xù)運(yùn)行,返回16.3)。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述步驟16.4)中,還包括判斷為非法動(dòng)作后,阻止該程序繼續(xù)運(yùn)行的步驟。
本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法中,所勾掛的API函數(shù)為可能影響計(jì)算機(jī)安全的API函數(shù)。
下面以病毒攻擊為例,對本發(fā)明作詳細(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í),該已知程序就會(huì)試圖感染其他PE文件,因此可以在對病毒并不了解的情況下,將其阻止,從而避免了由于病毒代碼更新的滯后性而使新生的病毒有機(jī)可乘。
綜上所述,本發(fā)明的運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,可以應(yīng)用于基于程序行為方式的病毒防護(hù)實(shí)時(shí)監(jiān)控系統(tǒng)中,對已知程序進(jìn)行實(shí)時(shí)監(jiān)控,保證已知程序正常運(yùn)行。
通過上述的說明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項(xiàng)發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。因此,本項(xiàng)發(fā)明的技術(shù)性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權(quán)利范圍來確定其技術(shù)性范圍。
權(quán)利要求
1.一種運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于監(jiān)控已知程序的動(dòng)作行為,與程序行為知識庫中記錄的合法行為相比較,判斷已知程序是否被攻擊;所述程序行為知識庫為,利用自動(dòng)化工具,逐一對合法的已知程序所執(zhí)行的可能影響計(jì)算機(jī)安全動(dòng)作行為進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
2.按照權(quán)利要求1所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述動(dòng)作行為分為監(jiān)控動(dòng)作,指該動(dòng)作可能影響計(jì)算機(jī)安全、需要對其進(jìn)行實(shí)時(shí)監(jiān)控;危險(xiǎn)動(dòng)作,該動(dòng)作首先是一個(gè)監(jiān)控動(dòng)作,在程序運(yùn)行中,該動(dòng)作可能威脅計(jì)算機(jī)安全;非監(jiān)控動(dòng)作,不影響計(jì)算機(jī)安全無需進(jìn)行監(jiān)控的動(dòng)作。
3.按照權(quán)利要求2所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于所述程序行為知識庫為,利用自動(dòng)化工具,逐一對合法的已知程序所執(zhí)行的可能影響、危害計(jì)算機(jī)安全的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作進(jìn)行分析列表,并將所述分析列表進(jìn)行存儲的數(shù)據(jù)庫。
4.按照權(quán)利要求2所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于記錄已知程序運(yùn)行時(shí)的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并與程序行為知識庫中記錄的已知程序合法行為進(jìn)行比較。
5.按照權(quán)利要求4所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述程序行為知識庫結(jié)構(gòu)包括程序ID、程序類型、程序運(yùn)行層級、寫PE文件權(quán)限、調(diào)用系統(tǒng)SHELL權(quán)限、網(wǎng)絡(luò)行為和注冊表操作。
6.按照權(quán)利要求5所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于所述程序行為知識庫中,所述程序類型為程序分類枚舉類型,分為可被緩沖區(qū)溢出攻擊的程序和普通應(yīng)用程序。
7.按照權(quán)利要求5所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述網(wǎng)絡(luò)行為,其結(jié)構(gòu)描述包括網(wǎng)絡(luò)連接動(dòng)作類型、使用端口數(shù)量以及連接描述。
8.按照權(quán)利要求7所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述連接描述包括本地端口、本地地址、遠(yuǎn)程端口、遠(yuǎn)程地址以及使用協(xié)議。
9.按照權(quán)利要求5所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述注冊表操作,其結(jié)構(gòu)描述包括該程序所操作的注冊表項(xiàng)數(shù)、每項(xiàng)操作的鍵值。
10.按照權(quán)利要求1所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,還包括對于未記錄在程序行為知識庫中的程序,由用戶自定義添加到程序行為知識庫。
11.按照權(quán)利要求10所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于對于未記錄在程序行為知識庫的程序,通過使用過程中用戶對其監(jiān)控動(dòng)作與危險(xiǎn)動(dòng)作進(jìn)行授權(quán),并按照程序行為知識庫的結(jié)構(gòu)添加到所述程序行為知識庫。
12.按照權(quán)利要求1、10或11所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,將未記錄在程序行為知識庫中的程序添加到程序行為知識庫,包括如下步驟12.1)運(yùn)行該程序;12.2)判斷是否為已知程序?是,則利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并與程序行為知識庫中的記錄進(jìn)行比較;否,則進(jìn)入下一步;12.3)判斷是否有程序來源?是,則利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并在所述程序行為知識庫中添加新紀(jì)錄;否,則進(jìn)入下一步;12.4)利用自動(dòng)化工具監(jiān)控并記錄該程序所執(zhí)行的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并向用戶報(bào)警;12.5)用戶確認(rèn)是否允許該動(dòng)作進(jìn)行?是,則作為合法程序,利用自動(dòng)化工具收集該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,并在所述程序行為知識庫中添加該程序的新紀(jì)錄;否,則不對該程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作進(jìn)行記錄。
13.按照權(quán)利要求12所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述步驟12.5)中,當(dāng)用戶不允許所述動(dòng)作進(jìn)行時(shí),還包括終止該動(dòng)作進(jìn)行,并阻止該程序繼續(xù)執(zhí)行的步驟。
14.按照權(quán)利要求12所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述合法程序包括已知程序和經(jīng)過用戶確認(rèn)的無程序來源信息的未知程序。
15.按照權(quán)利要求2或12所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于所述利用自動(dòng)化工具收集程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作,通過勾掛系統(tǒng)的API函數(shù),對程序進(jìn)程進(jìn)行監(jiān)控并記錄。
16.按照權(quán)利要求1或15所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述判斷已知程序是否被攻擊,包括如下步驟16.1)程序運(yùn)行;16.2)是否為已知程序;是,則進(jìn)入下一步;否,則轉(zhuǎn)到12.3);16.3)勾掛程序API函數(shù),監(jiān)控程序行為動(dòng)作,捕獲到監(jiān)控動(dòng)作或危險(xiǎn)動(dòng)作;16.4)將捕獲到的監(jiān)控動(dòng)作或危險(xiǎn)動(dòng)作與程序行為知識庫中的信息相比較,判斷是否為合法動(dòng)作;是,則進(jìn)入下一步;16.5)程序繼續(xù)運(yùn)行,返回16.3)。
17.按照權(quán)利要求16所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于,所述步驟16.4)中,還包括判斷為非法動(dòng)作后,阻止該程序繼續(xù)運(yùn)行的步驟。
18.按照權(quán)利要求16所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于所述API函數(shù)為可能影響計(jì)算機(jī)安全的API函數(shù)。
19.按照權(quán)利要求1所述運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,其特征在于將所述方法應(yīng)用于基于程序行為方式的病毒防護(hù)實(shí)時(shí)監(jiān)控系統(tǒng)中,判斷已知程序是否被攻擊,并收集新的合法應(yīng)用程序的監(jiān)控動(dòng)作和危險(xiǎn)動(dòng)作。
全文摘要
本發(fā)明涉及一種運(yùn)用程序行為知識庫判斷已知程序被攻擊的方法,該方法通過將已知程序的動(dòng)作行為與程序行為知識庫中存儲的已知程序的合法行為相比較,判斷已知程序是否受到攻擊。因此無需使用現(xiàn)有技術(shù)的病毒特征代碼,以及防火墻工具,具有高效、準(zhǔn)確的優(yōu)點(diǎn),并且可以在使用中,根據(jù)用戶自定義對程序行為知識庫進(jìn)行擴(kuò)充。
文檔編號G06F1/00GK1801031SQ200410103149
公開日2006年7月12日 申請日期2004年12月31日 優(yōu)先權(quán)日2004年12月31日
發(fā)明者劉旭 申請人:福建東方微點(diǎn)信息安全有限責(zé)任公司