專利名稱:一種防止計算機病毒的方法及裝置的制作方法
技術領域:
本發(fā)明涉及計算機病毒防治技術,具體涉及一種防止計算機病毒的方法及裝置。
背景技術:
隨著計算機技術的發(fā)展,計算機病毒的種類及危害也越來越多,它造成硬件損壞、數(shù)據(jù)丟失,或不能正常使用等,已經(jīng)給計算機用戶帶來很大影響和損失。計算機病毒具有很強的傳播性和感染性,主要通過網(wǎng)絡傳播或是通過感染計算機中的可執(zhí)行程序進行傳播。目前對計算機病毒多采用防病毒軟件進行查殺,防病毒軟件一般由病毒檢查引擎(Scan Engine)和病毒特征庫(Virus Definition)組成。病毒檢查引擎對計算機文件按照病毒特征庫中的病毒特征碼對計算機協(xié)調中的文件進行檢查,如果發(fā)現(xiàn)有對應的特征碼存在,則表明該文件被特定的病毒感染,防病毒軟件采用相關措施對病毒進行清除。利用防病毒軟件進行計算機病毒的防治,需要頻繁更新病毒特征庫,因為每種新的計算機病毒都會有不同于已知病毒的特征碼,在新的病毒產生后,通過對其分析,才能找出它的特征碼,將其添加到原有病毒特征庫中,不斷地升級防病毒軟件才能查殺新的病毒。由此可見,這種方法總是滯后于新病毒的出現(xiàn),對于潛伏在正常的程序或數(shù)據(jù)文件中還未發(fā)作的新病毒則無法查找到,無法做到對新病毒的預防,一旦新的病毒達到發(fā)作條件,就會對計算機系統(tǒng)造成破壞,輕則影響系統(tǒng)的正常運行,重則導致系統(tǒng)癱瘓,甚至破壞系統(tǒng)硬件部分,造成嚴重的經(jīng)濟損失。
發(fā)明內容
本發(fā)明的目的在于克服上述現(xiàn)有技術的缺點,提供一種防止計算機病毒的方法和裝置,禁止被感染計算機病毒的應用程序運行,從而切斷病毒通過感染應用程序的程序文件而進行的傳播。
本發(fā)明提供了一種防止計算機病毒的方法,所述方法包括步驟建立包含未感染病毒的應用程序文件信息的原始信息文件;當所述應用程序文件請求運行時,提取所述應用程序文件的信息,以生成新的信息文件;判斷所述新的信息文件和所述原始信息文件是否相同;如果相同,則表明所述應用程序文件正常,正常啟動所述應用程序文件;如果不相同,則表明所述應用程序文件有可能感染病毒,禁止啟動所述應用程序文件運行。
優(yōu)選地,所述建立包含未感染病毒的應用程序文件信息的原始信息文件的步驟包括使用預定的算法為所述未感染病毒的應用程序文件生成一個校驗和文件,作為該應用程序文件的原始信息文件。
優(yōu)選地,所述當所述應用程序文件請求運行時,提取所述應用程序文件的信息,以生成新的信息文件的步驟包括步驟向系統(tǒng)登記需要獲取所述應用程序文件運行的通知;當所述應用程序文件請求運行時,獲取所述應用程序文件運行的通知;
根據(jù)所述通知建立所述應用程序文件的新的信息文件。
進一步地,所述根據(jù)所述通知建立所述應用程序文件的新的信息文件的步驟包括步驟判斷是否存在對應于所述應用程序文件的原始信息文件;如果存在所述應用程序文件的原始信息文件,則建立所述應用程序文件的新的信息文件;如果不存在所述應用程序文件的原始信息文件,則向所述系統(tǒng)返回錯誤信息。
優(yōu)選地,所述如果存在所述應用程序文件的原始信息文件,則建立所述應用程序文件的新的信息文件的步驟包括使用與建立所述應用程序文件的原始信息文件相同的算法為所述應用程序文件生成一個新的校驗和文件,作為該應用程序文件的新的信息文件。
優(yōu)選地,所述如果不存在所述應用程序文件的原始信息文件,則向所述系統(tǒng)返回錯誤信息的步驟包括所述系統(tǒng)收到所述錯誤信息后,禁止啟動所述應用程序文件。
本發(fā)明還提供了一種實現(xiàn)上述方法的裝置,所述裝置包括信息生成裝置,用于讀取所述應用程序文件,并按預定的算法生成包含所述應用程序文件信息的原始信息文件,當所述應用程序文件申請運行時,生成包含該應用程序文件信息的新的信息文件;檢測裝置,用于根據(jù)所述信息生成裝置中生成的所述信息文件檢測所述應用程序文件是否被改變;控制裝置,用于接收所述檢測裝置對需要檢測的所述應用程序文件的登記和撤消;并且當所述應用程序文件請求運行時,通知所述檢測裝置對所述應用程序文件進行檢測,并根據(jù)所述檢測裝置的檢測結果控制所述應用程序文件的運行。
其中,所述信息生成裝置進一步包括信息生成控制裝置,用于根據(jù)系統(tǒng)需要,按照預定的算法控制生成所述信息文件的內容。
優(yōu)選地,所述檢測裝置進一步包括登記/撤消裝置,用于在所述系統(tǒng)啟動時向所述控制裝置登記所述應用程序文件的原始信息文件,以使所述控制裝置在有應用程序文件請求運行時發(fā)送通知給所述檢測裝置,在所述系統(tǒng)停止運行時向所述控制裝置撤消該登記;消息交互/處理裝置,用于與所述控制裝置進行消息交互并根據(jù)所述控制裝置的消息完成對所述信息生成裝置的控制;校驗裝置,用于在應用程序文件請求運行時,比較所述信息生成裝置生成的所述應用程序文件的新的信息文件和對應于所述應用程序文件的原始信息文件。
優(yōu)選地,所述消息交互/處理裝置包括通知處理裝置,用于在所述檢測裝置收到所述控制裝置的應用程序文件運行通知后控制所述信息生成裝置調用所述信息生成控制裝置生成所述應用程序文件的新的信息文件;校驗結果傳送裝置,用于將所述校驗裝置的校驗結果傳送給所述控制裝置。
利用本發(fā)明,可以有效地控制通過感染計算機應用程序的程序文件進行傳播的病毒,無須頻繁升級,尤其是對還未發(fā)現(xiàn)的新病毒起到了很好的防護作用,簡單有效。
圖1是本發(fā)明的優(yōu)選實施例防止計算機病毒的方法的步驟的流程圖;圖2是本發(fā)明防止計算機病毒的裝置的組成方框圖。
具體實施例方式
為了使本技術領域的人員更好地理解本發(fā)明,下面結合附圖和實施方式對本發(fā)明作進一步的詳細說明由于通過感染可執(zhí)行程序進行傳播的病毒必須將自己寄生在可執(zhí)行程序的程序文件中,因此通過對未感染病毒前的可執(zhí)行程序文件生成對應的校驗和文件,在程序執(zhí)行時再校驗、比較,則可發(fā)現(xiàn)其是否受到病毒感染,從而控制阻止了病毒的發(fā)作。
參照圖1,圖1描繪了本發(fā)明的優(yōu)選實施例防止計算機病毒的方法的步驟的流程首先,在步驟10,在系統(tǒng)運行前,使用預定的算法為需要執(zhí)行的應用程序的程序文件生成一個校驗和文件,此時的應用程序文件為未感染病毒的文件;進到步驟11,向系統(tǒng)登記需要獲取該應用程序文件運行的通知;然后,到步驟12,等待獲取該應用程序文件運行的通知;進到步驟13,當所述應用程序文件請求運行時,收到該應用程序文件運行的通知;收到該應用程序文件運行的通知后,首先需要進到步驟14,搜索該應用程序文件對應的校驗和文件是否存在;如果該應用程序文件對應的校驗和文件不存在,則進到步驟18,向操作系統(tǒng)返回失敗消息,操作系統(tǒng)收到此消息后,禁止該應用程序文件,防止其中可能存在的病毒發(fā)作,從而防止計算機資源遭受破壞;然后,返回步驟12,等待下一個程序運行通知;如果該應用程序文件對應的校驗和文件存在,則進到步驟15,獲取該應用程序文件,按照既定的算法計算該應用程序文件的新的校驗和;
然后,進到步驟16,比較計算后的該應用程序文件的新的校驗和與該應用程序文件對應的校驗和文件中保存的校驗和是否一致;如果一致,則表明該應用程序文件沒有變化,進到步驟17,向操作系統(tǒng)返回成功消息,允許應用程序正常啟動運行;如果不一致,則表明該應用程序文件已經(jīng)改變,可能被病毒感染,進到步驟18,向操作系統(tǒng)返回失敗消息,操作系統(tǒng)收到此消息后,禁止該應用程序文件,防止其中可能存在的病毒發(fā)作,從而防止計算機資源遭受破壞。
本發(fā)明還提供了一種實現(xiàn)防止計算機病毒的方法相應的裝置,下面參照圖2做詳細描述。
圖2是本發(fā)明防止計算機病毒的裝置的組成方框圖該裝置由三部分組成,分別是控制裝置10、檢測裝置20和信息生成裝置30。其中,檢測裝置20包括登記/撤消裝置201、通知處理裝置202、校驗結果傳送裝置203和校驗裝置204,在本發(fā)明中,通知處理裝置202和校驗結果傳送裝置203集成為消息交互/處理裝置;信息生成裝置30包括信息生成控制裝置301。下面分別介紹各組成部分的技術特征控制裝置10,用于在系統(tǒng)啟動時接受檢測裝置20中的登記/撤消裝置201對包含應用程序文件原始信息的原始信息文件的登記及系統(tǒng)停止運行后對該登記的撤消;并且當有應用程序文件請求運行時,通知檢測裝置20對該應用程序文件進行檢測,并根據(jù)檢測裝置20中的校驗結果傳送裝置203傳送的檢測結果控制所述應用程序文件的運行。
信息生成裝置30,用于讀取應用程序文件,并按預定的算法生成包含該應用程序文件信息的信息文件;并且當有應用程序文件申請運行時,生成包含該應用程序文件信息的新的信息文件。其中,信息生成控制裝置301用于根據(jù)系統(tǒng)需要,按照預定的算法控制生成所述信息文件的內容。
檢測裝置20,用于根據(jù)信息生成裝置30中生成的信息文件檢測請求運行的應用程序文件是否已被改變。其中包括登記/撤消裝置201,耦合到控制裝置10,用于在系統(tǒng)啟動時向控制裝置10登記應用程序文件的原始信息文件,以使控制裝置10在有應用程序文件請求運行時發(fā)送通知給檢測裝置20,在系統(tǒng)停止運行時向控制裝置10撤消該登記;通知處理裝置202,耦合到控制裝置10,用于在檢測裝置20收到控制裝置10的應用程序文件運行通知后控制信息生成裝置30調用信息生成控制裝置301生成該應用程序文件的新的信息文件;校驗裝置204,耦合到信息生成裝置30,用于在應用程序文件請求運行時,比較信息生成裝置10生成的所述應用程序文件的新的信息文件和對應于所述應用程序文件的原始信息文件;校驗結果傳送裝置203,用于傳送校驗裝置204的比較結果給控制裝置10。
下面通過一個實例詳細說明本發(fā)明裝置的詳細工作過程首先,使用信息生成裝置30為未感染病毒的可執(zhí)行程序文件mspaint.exe由信息生成控制裝置301提供的CRC32算法計算生成校驗和文件mspaint.CRC32,并由登記/撤消裝置201向控制裝置10登記該文件;當啟動被感染的mspaint.exe文件時,由控制裝置10通知檢測裝置20,檢測裝置20收到通知后,查找是否存在mspaint.CRC32文件,如果不存在,則發(fā)送查找失敗消息給控制裝置10,控制裝置10收到此消息后,禁止mspaint.exe文件運行;如果mspaint.CRC32文件存在,則由通知處理裝置203控制信息生成裝置30讀取文件mspaint.exe的內容,并調用信息生成控制裝置301提供的CRC32算法對該文件內容進行CRC32校驗計算,將計算得出校驗和傳送給校驗裝置204,由校驗裝置204將該校驗和與保存在mspaint.CRC32中的校驗和進行比較。如果比較結果不一致,則發(fā)送失敗消息給控制裝置10,控制裝置10收到此消息后,通知操作系統(tǒng)禁止mspaint.exe運行;如果比較結果一致,則發(fā)送成功消息給控制裝置10,控制裝置10收到此消息后,允許mspaint.exe正常運行。該裝置退出時,調用登記/撤消模塊向操作系統(tǒng)取消登記。
該裝置可以檢測Kziz(圣誕CIH)、I-Worm.Klez.E蠕蟲等感染可執(zhí)行程序文件的病毒,他們在感染可執(zhí)行程序文件時都將改寫文件的內容,該裝置不區(qū)別具體是哪種病毒感染,安裝該裝置后,系統(tǒng)中需要執(zhí)行的應用程序文件必須在未感染病毒前使用該裝置中的信息生成裝置生成包含該應用程序文件信息的原始信息文件,每個應用程序文件對應一個唯一的原始信息文件,例如,上例中mspaint.exe文件對應的信息文件為mspaint.CRC32,并將這些原始信息文件保存在系統(tǒng)中。當有應用程序文件需要運行時,由該裝置中的信息生成裝置生成該請求運行的應用程序文件的新的信息文件時所采用的算法由信息生成裝置中的信息生成控制裝置提供,并且與生成該應用程序文件的原始信息文件時采用的算法保持一致。這樣,通過對該應用程序文件的新舊信息的比較,可以獲知該應用程序文件是否已被修改,從而控制該應用程序文件是否運行。有效地避免了一些計算機病毒通過感染應用程序而進行的傳播,以及病毒發(fā)作給系統(tǒng)造成的破壞。
雖然通過實施例描繪了本發(fā)明,本領域普通技術人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,例如,在本發(fā)明中由信息生成裝置生成應用程序的信息文件時可以有各種不同的方法,同樣,信息生成控制裝置所提供的算法也可以有多種形式,希望所附的權利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權利要求
1.一種防止計算機病毒的方法,其特征在于,所述方法包括步驟建立包含未感染病毒的應用程序文件信息的原始信息文件;當所述應用程序文件請求運行時,提取所述應用程序文件的信息,以生成新的信息文件;判斷所述新的信息文件和所述原始信息文件是否相同;如果相同,則表明所述應用程序文件正常,正常啟動所述應用程序文件;如果不相同,則表明所述應用程序文件有可能感染病毒,禁止啟動所述應用程序文件運行。
2.如權利要求1所述的防止計算機病毒的方法,其特征在于,所述建立包含未感染病毒的應用程序文件信息的原始信息文件的步驟包括使用預定的算法為所述未感染病毒的應用程序文件生成一個校驗和文件,作為該應用程序文件的原始信息文件。
3.如權利要求2所述的防止計算機病毒的方法,其特征在于,所述當所述應用程序文件請求運行時,提取所述應用程序文件的信息,以生成新的信息文件的步驟包括步驟向系統(tǒng)登記需要獲取所述應用程序文件運行的通知;當所述應用程序文件請求運行時,獲取所述應用程序文件運行的通知;根據(jù)所述通知建立所述應用程序文件的新的信息文件。
4.如權利要求3所述的防止計算機病毒的方法,其特征在于,所述根據(jù)所述通知建立所述應用程序文件的新的信息文件的步驟包括步驟判斷是否存在對應于所述應用程序文件的原始信息文件;如果存在所述應用程序文件的原始信息文件,則建立所述應用程序文件的新的信息文件;如果不存在所述應用程序文件的原始信息文件,則向所述系統(tǒng)返回錯誤信息。
5.如權利要求4所述的防止計算機病毒的方法,其特征在于,所述如果存在所述應用程序文件的原始信息文件,則建立所述應用程序文件的新的信息文件的步驟包括使用與建立所述應用程序文件的原始信息文件相同的算法為所述應用程序文件生成一個新的校驗和文件,作為該應用程序文件的新的信息文件。
6.如權利要求4所述的防止計算機病毒的方法,其特征在于,所述如果不存在所述應用程序文件的原始信息文件,則向所述系統(tǒng)返回錯誤信息的步驟包括所述系統(tǒng)收到所述錯誤信息后,禁止啟動所述應用程序文件。
7.一種防止計算機病毒的裝置,其特征在于,所述裝置包括信息生成裝置,用于讀取所述應用程序文件,并按預定的算法生成包含所述應用程序文件信息的原始信息文件,當所述應用程序文件申請運行時,生成包含該應用程序文件信息的新的信息文件;檢測裝置,用于根據(jù)所述信息生成裝置中生成的所述信息文件檢測所述應用程序文件是否被改變;控制裝置,用于接收所述檢測裝置對需要檢測的所述應用程序文件的登記和撤消;并且當所述應用程序文件請求運行時,通知所述檢測裝置對所述應用程序文件進行檢測,并根據(jù)所述檢測裝置的檢測結果控制所述應用程序文件的運行。
8.如權利要求7所述的防止計算機病毒的裝置,其特征在于,所述信息生成裝置進一步包括信息生成控制裝置,用于根據(jù)系統(tǒng)需要,按照預定的算法控制生成所述信息文件的內容。
9.如權利要求7所述的防止計算機病毒的裝置,其特征在于,所述檢測裝置進一步包括登記/撤消裝置,用于在所述系統(tǒng)啟動時向所述控制裝置登記所述應用程序文件的原始信息文件,以使所述控制裝置在有應用程序文件請求運行時發(fā)送通知給所述檢測裝置,在所述系統(tǒng)停止運行時向所述控制裝置撤消該登記;消息交互/處理裝置,用于與所述控制裝置進行消息交互并根據(jù)所述控制裝置的消息完成對所述信息生成裝置的控制;校驗裝置,用于在應用程序文件請求運行時,比較所述信息生成裝置生成的所述應用程序文件的新的信息文件和對應于所述應用程序文件的原始信息文件。
10.如權利要求9所述的防止計算機病毒的裝置,其特征在于,所述消息交互/處理裝置包括通知處理裝置,用于在所述檢測裝置收到所述控制裝置的應用程序文件運行通知后控制所述信息生成裝置調用所述信息生成控制裝置生成所述應用程序文件的新的信息文件;校驗結果傳送裝置,用于將所述校驗裝置的校驗結果傳送給所述控制裝置。
全文摘要
本發(fā)明提供了一種防止計算機病毒的方法,該方法包括步驟建立包含未感染病毒的應用程序文件信息的原始信息文件;當應用程序文件請求運行時,提取該應用程序文件的信息生成新的信息文件;比較新舊信息文件,并根據(jù)比較結果控制該應用程序文件運行。本發(fā)明還提供了一種實現(xiàn)上述方法的裝置,該裝置包括控制裝置、檢測裝置和信息生成裝置,當有應用程序文件請求運行時,由控制裝置控制檢測裝置調動信息生成裝置完成對該程序文件是否已被改變的檢測,并根據(jù)檢測結果控制該應用程序文件的運行。利用本發(fā)明,可以有效地控制通過感染計算機應用程序的程序文件進行傳播的病毒,無須頻繁升級,尤其是對還未發(fā)現(xiàn)的新病毒起到了很好的防護作用,簡單有效。
文檔編號G06F11/00GK1581088SQ0314379
公開日2005年2月16日 申請日期2003年8月6日 優(yōu)先權日2003年8月6日
發(fā)明者李剛, 夏泉源 申請人:華為技術有限公司