專利名稱:計算機(jī)程序識別的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機(jī)程序識別的方法和系統(tǒng),其目的在于,提供一種計算機(jī)程序識別的方法和系統(tǒng),通過在程序知識庫中查詢已知程序的信息,分別對已知程序和未知程序的動作行為進(jìn)行監(jiān)控,并將上述信息向用戶報告,以使用戶對計算機(jī)中運行的程序進(jìn)行了解,而且可以給用戶對程序的可靠進(jìn)行判斷提供依據(jù)。
背景技術(shù):
通常計算機(jī)中具有成千上萬的大大小小各種各樣的程序。用戶在使用計算機(jī)時,尤其是對于那些計算機(jī)專業(yè)知識了解較少的用戶,對于計算機(jī)中運行的程序并不了解,即使是專業(yè)的計算機(jī)專業(yè)人士,也存在相當(dāng)多的自己并不了解的程序。雖然一部分程序有其自己的幫助說明,但也是對于那些一個大的程序中的某些功能模塊的簡要說明,并不能使用戶了解該軟件中的所有程序的信息、功能。對于用戶,當(dāng)遇到自己不認(rèn)識的程序時,他們最想知道的是這個程序是作什么的,例如,計算機(jī)中有播放軟件,系統(tǒng)服務(wù)軟件等等,雖然對于主程序用戶可能會知道其功能,當(dāng)用戶遇到由上述主程序調(diào)用的子程序、子進(jìn)程時,就可能不是十分了解了,甚至?xí)詾楹蜕鲜鲋鞒绦蚝翢o關(guān)系,甚至還會以為是對計算機(jī)造成不良影響的有害程序。
因此,對于用戶來說,計算機(jī)中執(zhí)行的程序是不透明的,用戶并不知道這些程序都做了什么,例如,微軟視窗(Microsoft Windows)操作系統(tǒng)中,雖然提供了任務(wù)管理器功能,卻只能讓用戶知道,當(dāng)前正在運行的程序、進(jìn)程有哪些。但是,當(dāng)計算機(jī)出現(xiàn)異常時,用戶通常關(guān)心的是近期到底有什么程序侵入,這些程序調(diào)用了什么進(jìn)程,這些進(jìn)程是由誰調(diào)用,并且他們都做了些什么?什么時候做的?例如,程序的來源以及它是執(zhí)行了網(wǎng)絡(luò)操作,還是修改注冊表操作。但是,用戶是不可能從操作系統(tǒng)捆綁的軟件中獲得任何幫助;并且,現(xiàn)有的系統(tǒng)實時監(jiān)控軟件,也沒有向用戶提供有關(guān)上述方面的支持。
但是,對于一些有一定計算機(jī)知識的用戶,他們其實是可以通過程序所執(zhí)行的動作,對該程序是否是有害程序做出判斷的,例如,如果一個程序本來就不應(yīng)該執(zhí)行網(wǎng)絡(luò)操作,但是確不停向外部發(fā)送數(shù)據(jù)保,很明顯,該程序一定是收到的病毒的攻擊,因此用戶就可以自行將其結(jié)束。
而一些沒有計算機(jī)知識或計算機(jī)知識較少的用戶,他們迫切想知道某一程序其功能到底是什么,例如,這些用戶,對于微軟Office辦公軟件中包含的幾千個文件可能感覺不知所措,那么對于每個文件到底是用來作什么的這些用戶會產(chǎn)生很強的好奇心。因此,對于現(xiàn)有的技術(shù)來說,并不能滿足用戶需求。
發(fā)明內(nèi)容
為解決上述問題,滿足用戶的需要,本發(fā)明提供了一種計算機(jī)程序識別的方法和系統(tǒng)。其目的在于提供一種計算機(jī)程序識別的方法和系統(tǒng),使用戶了解計算機(jī)中的程序,并且能夠通過程序的來源和動作行為對計算機(jī)中的程序是否是有害程序進(jìn)行判斷。
通過本發(fā)明的計算機(jī)程序識別的方法,是對應(yīng)用程序進(jìn)行監(jiān)控并記錄其動作行為并向用戶報告該程序的動作行為;如果該程序為已知程序,則還要在程序知識庫中進(jìn)行查詢,并將該已知程序的信息連同該程序的動作行為一同報告給用戶;其中,所述程序知識庫為,存儲已知程序信息的數(shù)據(jù)庫;其內(nèi)容包括,程序ID、程序類別、程序說明。該程序知識庫中已經(jīng)由開發(fā)商收集大量已知程序的信息,但是對于每個用戶來說,并不是每個已知程序的信息都是有用的信息,因此在向用戶計算機(jī)安裝數(shù)據(jù)庫時,通過在程序知識庫中檢索,僅安裝用戶已經(jīng)安裝的程序的信息,或通過用戶自定義安裝哪些已知程序的信息。這樣,不但提高了用戶計算機(jī)上執(zhí)行的效率,而且也減少了用戶存儲空間的占用。對于那些沒有記錄在程序知識庫中的程序,在此稱之“未知程序”。
本發(fā)明的計算機(jī)程序識別的方法中,所述進(jìn)行監(jiān)控、記錄的動作行為包括監(jiān)控動作,該動作可能影響計算機(jī)安全、需要對其進(jìn)行實時監(jiān)控;并且所述監(jiān)控動作,是計算機(jī)程序所執(zhí)行的常見的動作,是多數(shù)的正常程序也必須執(zhí)行的動作。
所述監(jiān)控動作包括文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程、創(chuàng)建線程;注冊表操作;窗口、托盤操作;堆棧溢出;注入線程;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號。
危險動作,該動作首先是一個監(jiān)控動作,在程序運行中,該動作可能威脅計算機(jī)安全。并且所述危險動作為少數(shù)正常程序會執(zhí)行的動作,并且多數(shù)的病毒程序或木馬程序需要執(zhí)行的程序,因此執(zhí)行這樣的動作的程序具有危害性會更大,例如,程序自行改變運行層級,在微軟Windows操作系統(tǒng)中,某程序自動從應(yīng)用級(RING3)提升系統(tǒng)級(RING0)執(zhí)行,只有少數(shù)的正常程序才具有這一特征,但是卻是很多具有攻擊性的病毒程序所共同具有的特征。
所述危險動作包括調(diào)用SHELL程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動運行其他程序;創(chuàng)建大量相同線程;修改和創(chuàng)建用戶帳號;危險網(wǎng)絡(luò)操作;向系統(tǒng)注冊表添加啟動項;修改系統(tǒng)啟動文件;向其他進(jìn)程注入線程;堆棧溢出;應(yīng)用級進(jìn)程時自動提升為系統(tǒng)級進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
另外,還包括非監(jiān)控動作,即不影響計算機(jī)安全無需進(jìn)行監(jiān)控的動作。例如,修改顯示設(shè)置、對GDI資源的調(diào)用等,這些程序不會對計算機(jī)的安全造成影響,因此不進(jìn)行監(jiān)控,以減小系統(tǒng)開銷。
本發(fā)明的計算機(jī)程序識別的方法中,對程序的監(jiān)控、記錄通過勾掛系統(tǒng)的API函數(shù)調(diào)用來實現(xiàn)。現(xiàn)有的操作系統(tǒng),程序執(zhí)行時通常需要進(jìn)行系統(tǒng)提供的API的調(diào)用,因此,只需要通過勾掛程序的系統(tǒng)API調(diào)用,即可對程序所執(zhí)行的動作行為進(jìn)行監(jiān)控。
如上所述本發(fā)明的計算機(jī)程序識別的方法,包括如下步驟6.1)程序開始執(zhí)行;6.2)勾掛程序系統(tǒng)API調(diào)用;6.3)監(jiān)控程序的動作行為,捕獲監(jiān)控動作和危險動作;6.4)判斷該程序是否是已知程序。
所述步驟6.4)中,如果判斷結(jié)果是已知程序,則包括如下步驟7.1)通過程序知識庫查詢該已知程序的信息;
7.2)將捕獲到的該已知程序的動作行為和查詢到的程序信息一同向用戶報告。
所述步驟6.4)中,如果判斷為未知程序,則包括如下步驟8.1)將捕獲到的該程序的動作行為向用戶報告。
本發(fā)明的計算機(jī)程序識別的方法,通過升級的方式,向程序知識庫添加新的已知程序的信息。
利用本發(fā)明的計算機(jī)程序識別方法建立的計算機(jī)程序識別的系統(tǒng),包括如下部分勾掛模塊,勾掛程序系統(tǒng)API調(diào)用;監(jiān)控模塊,監(jiān)控程序動作行為,捕獲程序所執(zhí)行的監(jiān)控動作和危險動作;程序知識庫,存儲已知程序信息的數(shù)據(jù)庫;其內(nèi)容包括,程序ID、程序類別、程序說明;用戶接口模塊,將程序信息向用戶報告;程序知識庫維護(hù)模塊,向程序知識庫添加新程序的信息。
本發(fā)明的計算機(jī)程序識別的系統(tǒng)中,所述進(jìn)行監(jiān)控、記錄的動作行為包括如上所述監(jiān)控動作、危險動作。
另外,還包括如上所述非監(jiān)控動作,即不影響計算機(jī)安全無需進(jìn)行監(jiān)控的動作。
本發(fā)明的計算機(jī)程序識別的系統(tǒng),包括如下步驟14.1)程序開始執(zhí)行;14.2)利用勾掛模塊勾掛該程序系統(tǒng)API調(diào)用;
14.3)通過監(jiān)控模塊,監(jiān)控程序動作行為,捕獲程序所執(zhí)行的監(jiān)控動作和危險動作;14.4)在程序知識庫中檢索,判斷該程序是否為已知程序。
所述步驟14.4)中,如果檢索結(jié)果已知程序,則包括如下步驟15.1)從程序知識庫提取該程序的信息;15.2)通過用戶接口模塊,將程序知識庫中提取的該程序的信息以及捕獲到的該程序的動作行為向用戶報告。
所述步驟14.4)中,如果在程序知識庫中未檢索到該程序,則將該程序判斷為未知程序,并進(jìn)行如下步驟16.1)通過用戶接口模塊,將捕獲到的該未知程序的動作行為向用戶報告。
本發(fā)明的計算機(jī)程序識別的方法中,通過程序知識庫維護(hù)模塊,對程序知識庫進(jìn)行升級,向程序知識庫添加新的已知程序的信息。
如上所述本發(fā)明的計算機(jī)程序識別的方法和系統(tǒng),能夠向用戶提供完整的計算機(jī)程序的信息,包括已知程序的信息,已知程序和未知程序的來源以及動作行為的信息。如上所述的信息,不但可以幫助用戶更加了解計算機(jī)中各個程序的功能、來源,而且為那些有一定計算機(jī)知識的用戶提供了人工監(jiān)控計算機(jī)程序執(zhí)行的方法和系統(tǒng)。因此,本發(fā)明對于學(xué)習(xí)計算機(jī)使用、計算機(jī)軟件知識以及系統(tǒng)監(jiān)控等方面具有革命性的進(jìn)步,實現(xiàn)了現(xiàn)有技術(shù)所不能夠?qū)崿F(xiàn)的功能。
圖1為本發(fā)明的計算機(jī)程序識別方法的流程圖。
具體實施例方式
下面對本發(fā)明的具體實施例進(jìn)行詳細(xì)說明。
通過本發(fā)明的計算機(jī)程序識別的方法,是對應(yīng)用程序進(jìn)行監(jiān)控并記錄其動作行為并向用戶報告該程序的動作行為;如果該程序為已知程序,則還要在程序知識庫中進(jìn)行查詢,并將已知程序的信息,并將該已知程序的信息連同該程序的動作行為一同報告給用戶;其中,所述程序知識庫為,存儲已知程序信息的數(shù)據(jù)庫;其內(nèi)容包括,程序ID、程序類別、程序說明。該程序知識庫中已經(jīng)由開發(fā)商收集大量已知程序的信息,但是對于每個用戶來說,并不是每個已知程序的信息都是有用的信息,因此在向用戶計算機(jī)安裝數(shù)據(jù)庫時,通過在程序知識庫中檢索,僅安裝用戶已經(jīng)安裝的程序的信息,或通過用戶自定義安裝哪些已知程序的信息。這樣,不但提高了用戶計算機(jī)上執(zhí)行的效率,而且也減少了用戶存儲空間的占用。對于那些沒有記錄在程序知識庫中的程序,在此稱之“未知程序”。
本發(fā)明的計算機(jī)程序識別的方法中,所述進(jìn)行監(jiān)控、記錄的動作行為包括監(jiān)控動作,該動作可能影響計算機(jī)安全、需要對其進(jìn)行實時監(jiān)控;并且所述監(jiān)控動作,是計算機(jī)程序所執(zhí)行的常見的動作,是多數(shù)的正常程序也必須執(zhí)行的動作。
所述監(jiān)控動作包括文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程、創(chuàng)建線程;注冊表操作;窗口、托盤操作;堆棧溢出;注入線程;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號。
危險動作,該動作首先是一個監(jiān)控動作,在程序運行中,該動作可能威脅計算機(jī)安全。并且所述危險動作為少數(shù)正常程序會執(zhí)行的動作,并且多數(shù)的病毒程序或木馬程序需要執(zhí)行的程序,因此執(zhí)行這樣的動作的程序具有危害性會更大,例如,程序自行改變運行層級,在微軟Windows操作系統(tǒng)中,某程序自動從應(yīng)用級(RING3)提升系統(tǒng)級(RING0)執(zhí)行,只有少數(shù)的正常程序才具有這一特征,但是卻是很多具有攻擊性的病毒程序所共同具有的特征。
所述危險動作包括調(diào)用SHELL程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動運行其他程序;創(chuàng)建大量相同線程;修改和創(chuàng)建用戶帳號;危險網(wǎng)絡(luò)操作;向系統(tǒng)注冊表添加啟動項;修改系統(tǒng)啟動文件;向其他進(jìn)程注入線程;堆棧溢出;應(yīng)用級進(jìn)程時自動提升為系統(tǒng)級進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
另外,還包括非監(jiān)控動作,即不影響計算機(jī)安全無需進(jìn)行監(jiān)控的動作。例如,修改顯示設(shè)置、對GDI資源的調(diào)用等,這些程序不會對計算機(jī)的安全造成影響,因此不進(jìn)行監(jiān)控,以減小系統(tǒng)開銷。
本發(fā)明的計算機(jī)程序識別的方法中,對程序的監(jiān)控、記錄通過勾掛系統(tǒng)的API函數(shù)調(diào)用來實現(xiàn)?,F(xiàn)有的操作系統(tǒng),程序執(zhí)行時通常需要進(jìn)行系統(tǒng)提供的API的調(diào)用,因此,只需要通過勾掛程序的系統(tǒng)API調(diào)用,即可對程序所執(zhí)行的動作行為進(jìn)行監(jiān)控。
如圖1所示,為本發(fā)明的計算機(jī)程序識別方法的流程圖,本發(fā)明的計算機(jī)程序識別的方法,包括如下步驟6.1)程序開始執(zhí)行;
6.2)勾掛程序系統(tǒng)API調(diào)用;6.3)監(jiān)控程序的動作行為,捕獲監(jiān)控動作和危險動作;6.4)判斷該程序是否是已知程序。
所述步驟6.4)中,如果判斷結(jié)果是已知程序,則包括如下步驟7.1)通過程序知識庫查詢該已知程序的信息;7.2)將捕獲到的該已知程序的動作行為和查詢到的程序信息一同向用戶報告。
所述步驟6.4)中,如果判斷為未知程序,則包括如下步驟8.1)將捕獲到的該程序的動作行為向用戶報告。
本發(fā)明的計算機(jī)程序識別的方法,通過升級的方式,向程序知識庫添加新的已知程序的信息。
利用本發(fā)明的計算機(jī)程序識別方法建立的計算機(jī)程序識別的系統(tǒng),包括如下部分勾掛模塊,勾掛程序系統(tǒng)API調(diào)用;監(jiān)控模塊,監(jiān)控程序動作行為,捕獲程序所執(zhí)行的監(jiān)控動作和危險動作;程序知識庫,存儲已知程序信息的數(shù)據(jù)庫;其內(nèi)容包括,程序ID、程序類別、程序說明;用戶接口模塊,將程序信息向用戶報告;程序知識庫維護(hù)模塊,向程序知識庫添加新程序的信息。
本發(fā)明的計算機(jī)程序識別的系統(tǒng)中,所述進(jìn)行監(jiān)控、記錄的動作行為包括如上所述監(jiān)控動作、危險動作。
另外,還包括如上所述非監(jiān)控動作,即不影響計算機(jī)安全無需進(jìn)行監(jiān)控的動作。
本發(fā)明的計算機(jī)程序識別的系統(tǒng),包括如下步驟14.1)程序開始執(zhí)行;14.2)利用勾掛模塊勾掛該程序系統(tǒng)API調(diào)用;14.3)通過監(jiān)控模塊,監(jiān)控程序動作行為,捕獲程序所執(zhí)行的監(jiān)控動作和危險動作;14.4)在程序知識庫中檢索,判斷該程序是否為已知程序。
所述步驟14.4)中,如果檢索結(jié)果已知程序,則包括如下步驟15.1)從程序知識庫提取該程序的信息;15.2)通過用戶接口模塊,將程序知識庫中提取的該程序的信息以及捕獲到的該程序的動作行為向用戶報告。
所述步驟14.4)中,如果在程序知識庫中未檢索到該程序,則將該程序判斷為未知程序,并進(jìn)行如下步驟16.1)通過用戶接口模塊,將捕獲到的該未知程序的動作行為向用戶報告。
本發(fā)明的計算機(jī)程序識別的方法中,通過程序知識庫維護(hù)模塊,對程序知識庫進(jìn)行升級,向程序知識庫添加新的已知程序的信息。
如上所述本發(fā)明的計算機(jī)程序識別的方法和系統(tǒng),能夠向用戶提供完整的計算機(jī)程序的信息,包括已知程序的信息,和已知程序和未知程序的動作行為的信息。如上所述的信息,不但可以幫助用戶更加了解計算機(jī)中各個程序的功能、來源,而且為那些有一定計算機(jī)知識的用戶提供了人工監(jiān)控計算機(jī)程序執(zhí)行的方法和系統(tǒng)。
對于計算機(jī)知識很少的用戶,往往會對計算機(jī)中幾千個甚至上萬個文件感到不知所措,這些用戶,他們可以利用文件名在程序知識庫中檢索,得知該文件屬于什么程序,被什么程序調(diào)用,該程序得功能是什么,因此就會在很大程度上避免由于用戶對計算機(jī)不了解,而刪除、更改一些他們認(rèn)為沒有用的文件,而這些文件正是程序所要調(diào)用的重要文件,導(dǎo)致程序出現(xiàn)錯誤,或使操作系統(tǒng)崩潰。因此為用戶學(xué)習(xí)了解計算機(jī)軟件知識提供了良好的幫助。
對于有一定計算機(jī)知識的用戶,他們會對計算機(jī)中的軟件進(jìn)行理性的維護(hù),因此,這些用戶不但需要了解計算機(jī)中各程序的功能、調(diào)用等信息,而且更需要知道計算機(jī)中的程序都做了什么。對于這一部分用戶,會對一些來源不明的計算機(jī)程序產(chǎn)生懷疑,因此通過本發(fā)明的計算機(jī)程序識別系統(tǒng),不但可以使這些用戶特別注意那些不屬于已知程序的未知程序,并且能夠幫助用戶了解該未知程序的動作行為,因此,為用戶判斷該未知程序是否是有害程序提供了依據(jù)。
因此,本發(fā)明對于學(xué)習(xí)計算機(jī)使用、計算機(jī)軟件知識以及系統(tǒng)監(jiān)控等方面具有革命性的進(jìn)步,實現(xiàn)了現(xiàn)有技術(shù)所不能夠?qū)崿F(xiàn)的功能。
綜上所述,本發(fā)明領(lǐng)域相關(guān)工作人員完全可以在不偏離本項發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更以及修改。因此,本項發(fā)明的技術(shù)性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權(quán)利范圍來確定其技術(shù)性范圍。
權(quán)利要求
1.一種計算機(jī)程序識別的方法,其特征在于對應(yīng)用程序進(jìn)行監(jiān)控并記錄其動作行為并向用戶報告該程序的動作行為;如果該程序為已知程序,則還要在程序知識庫中進(jìn)行查詢,并將已知程序的信息,并將該已知程序的信息連同該程序的動作行為一同報告給用戶;所述程序知識庫為,存儲已知程序信息的數(shù)據(jù)庫;其內(nèi)容包括,程序ID、程序類別、程序說明。
2.按照權(quán)利要求1所述計算機(jī)程序識別的方法,其特征在于,所述進(jìn)行監(jiān)控、記錄的動作行為包括監(jiān)控動作,該動作可能影響計算機(jī)安全、需要對其進(jìn)行實時監(jiān)控;危險動作,該動作首先是一個監(jiān)控動作,在程序運行中,該動作可能威脅計算機(jī)安全;另外,還包括非監(jiān)控動作,即不影響計算機(jī)安全無需進(jìn)行監(jiān)控的動作。
3.按照權(quán)利要求2所述計算機(jī)程序識別的方法,其特征在于,所述監(jiān)控動作,包括文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程、創(chuàng)建線程;注冊表操作;窗口、托盤操作;堆棧溢出;注入線程;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號。
4.按照權(quán)利要求2所述計算機(jī)程序識別的方法,其特征在于,所述危險動作包括調(diào)用SHELL程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動運行其他程序;創(chuàng)建大量相同線程;修改和創(chuàng)建用戶帳號;危險網(wǎng)絡(luò)操作;向系統(tǒng)注冊表添加啟動項;修改系統(tǒng)啟動文件;向其他進(jìn)程注入線程;堆棧溢出;應(yīng)用級進(jìn)程時自動提升為系統(tǒng)級進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
5.按照權(quán)利要求1所述計算機(jī)程序識別的方法,其特征在于對程序的監(jiān)控、記錄通過勾掛系統(tǒng)的API函數(shù)調(diào)用來實現(xiàn)。
6.按照權(quán)利要求1所述計算機(jī)程序識別的方法,其特征在于,包括如下步驟6.1)程序開始執(zhí)行;6.2)勾掛程序系統(tǒng)API調(diào)用;6.3)監(jiān)控程序的動作行為,捕獲監(jiān)控動作和危險動作;6.4)判斷該程序是否是已知程序。
7.按照權(quán)利要求1或2所述計算機(jī)程序識別的方法,其特征在于,所述步驟6.4)中,如果判斷結(jié)果是已知程序,則包括如下步驟7.1)通過程序知識庫查詢該已知程序的信息;7.2)將捕獲到的該已知程序的動作行為和查詢到的程序信息一同向用戶報告。
8.按照權(quán)利要求1或6所述計算機(jī)程序識別的方法,其特征在于,所述步驟6.4)中,如果判斷為未知程序,則包括如下步驟8.1)將捕獲到的該程序的動作行為向用戶報告。
9.按照權(quán)利要求1所述計算機(jī)程序識別的方法,其特征在于通過升級的方式,向程序知識庫添加新的已知程序的信息。
10.一種計算機(jī)程序識別的系統(tǒng),其特征在于包括如下部分勾掛模塊,勾掛程序系統(tǒng)API調(diào)用;監(jiān)控模塊,監(jiān)控程序動作行為,捕獲程序所執(zhí)行的監(jiān)控動作和危險動作;程序知識庫,存儲已知程序信息的數(shù)據(jù)庫;其內(nèi)容包括,程序ID、程序類別、程序說明;用戶接口模塊,將程序信息向用戶報告;程序知識庫維護(hù)模塊,向程序知識庫添加新程序的信息。
11.按照權(quán)利要求10所述計算機(jī)程序識別的系統(tǒng),其特征在于,所述進(jìn)行監(jiān)控、記錄的動作行為包括監(jiān)控動作,該動作可能影響計算機(jī)安全、需要對其進(jìn)行實時監(jiān)控;危險動作,該動作首先是一個監(jiān)控動作,在程序運行中,該動作可能威脅計算機(jī)安全;另外,還包括非監(jiān)控動作,即不影響計算機(jī)安全無需進(jìn)行監(jiān)控的動作。
12.按照權(quán)利要求11所述計算機(jī)程序識別的系統(tǒng),其特征在于,所述監(jiān)控動作,包括文件操作;網(wǎng)絡(luò)操作;創(chuàng)建進(jìn)程、創(chuàng)建線程;注冊表操作;窗口、托盤操作;堆棧溢出;注入線程;攔截系統(tǒng)API調(diào)用以及訪問、修改和創(chuàng)建用戶帳號。
13.按照權(quán)利要求11所述計算機(jī)程序識別的系統(tǒng),其特征在于,所述危險動作包括調(diào)用SHELL程序;修改程序文件或?qū)懗绦蛭募?;調(diào)用FTP或TFTP;創(chuàng)建FTP或TFTP服務(wù);發(fā)送郵件;瀏覽器或郵件系統(tǒng)自動運行其他程序;創(chuàng)建大量相同線程;修改和創(chuàng)建用戶帳號;危險網(wǎng)絡(luò)操作;向系統(tǒng)注冊表添加啟動項;修改系統(tǒng)啟動文件;向其他進(jìn)程注入線程;堆棧溢出;應(yīng)用級進(jìn)程時自動提升為系統(tǒng)級進(jìn)程操作;攔截系統(tǒng)API調(diào)用。
14.按照權(quán)利要求10計算機(jī)程序識別的系統(tǒng),其特征在于包括如下步驟14.1)程序開始執(zhí)行;14.2)利用勾掛模塊勾掛該程序系統(tǒng)API調(diào)用;14.3)通過監(jiān)控模塊,監(jiān)控程序動作行為,捕獲程序所執(zhí)行的監(jiān)控動作和危險動作;14.4)在程序知識庫中檢索,判斷該程序是否為已知程序。
15.按照權(quán)利要求14所述計算機(jī)程序識別的系統(tǒng),其特征在于,所述步驟14.4)中,如果檢索結(jié)果為已知程序,則包括如下步驟15.1)從程序知識庫提取該程序的信息;15.2)通過用戶接口模塊,將程序知識庫中提取的該程序的信息以及捕獲到的該程序的動作行為向用戶報告。
16.按照權(quán)利要求14所述計算機(jī)程序識別的系統(tǒng),其特征在于,所述步驟14.4)中,如果在程序知識庫中未檢索到該程序,則將該程序判斷為未知程序,并進(jìn)行如下步驟16.1)通過用戶接口模塊,將捕獲到的該未知程序的動作行為向用戶報告。
17.按照權(quán)利要求10所述計算機(jī)程序識別的系統(tǒng),其特征在于,通過程序知識庫維護(hù)模塊,對程序知識庫進(jìn)行升級,向程序知識庫添加新的已知程序的信息。
全文摘要
本發(fā)明涉及一種計算機(jī)程序識別的方法和系統(tǒng),其目的在于,提供一種計算機(jī)程序識別的方法和系統(tǒng),通過在程序知識庫中查詢已知程序的信息,分別對已知程序和未知程序的動作行為進(jìn)行監(jiān)控,并將上述信息向用戶報告,以使用戶對計算機(jī)中運行的程序進(jìn)行了解,而且可以給用戶對程序的可靠性進(jìn)行判斷提供依據(jù)。對應(yīng)用程序進(jìn)行監(jiān)控并記錄其動作行為并向用戶報告該程序的動作行為;如果該程序為已知程序,則還要在程序知識庫中進(jìn)行查詢,并將已知程序的信息,并將該已知程序的信息連同該程序的動作行為一同報告給用戶。
文檔編號G06F11/30GK1818857SQ200510007680
公開日2006年8月16日 申請日期2005年2月7日 優(yōu)先權(quán)日2005年2月7日
發(fā)明者劉旭 申請人:福建東方微點信息安全有限責(zé)任公司