一種建立計算機中可信任運行環境的方法
2023-06-09 06:33:21 2
專利名稱::一種建立計算機中可信任運行環境的方法
技術領域:
:本發明涉及計算機安全
技術領域:
,特別是指一種建立計算機中可信任運行環境的方法。
背景技術:
:計算機作業系統由於自身的缺陷,在受到攻擊,特別是新的未知攻擊或病毒攻擊後,非常容易造成系統的崩潰,從而使整個系統無法繼續工作,即使能夠工作,也會出現這樣或那樣的問題。這樣,必將導致使用戶對計算機的運行環境是否可信產生懷疑,而不敢在計算機上進行機密的信息處理和交互,如電子支付,電子公文等操作,這對於社會的發展是沒有任何好處的。目前對上述問題的解決方式通常有以下幾種方法一應用防病毒軟體解決上述問題。具體方法為由防病毒軟體採用特徵匹配的方法對網絡病毒的攻擊進行檢測,發現病毒後將中毒文件進行隔離或對中毒文件進行殺毒操作,從而保證計算機的安全。該方法的缺陷是無法檢測未知病毒的攻擊。在新的病毒庫,規則庫和漏洞補丁發布前,計算機系統無法抵禦攻擊行為。同時,該防病毒軟體自身也容易受到攻擊。方法二應用主機入侵檢測軟體解決上述問題。具體方法為由主機入侵檢測軟體利用供給特徵規則庫對攻擊行為進行檢測,並報警。該方法的缺陷與方法一的缺陷類似無法檢測未知的攻擊,在新的病毒庫,規則庫和漏洞補丁發布前,計算機系統將無法抵禦攻擊行為。同時,該主機入侵檢測軟體自身也容易受到攻擊。方法三利用雙網物理隔離,或雙網物理隔離計算機,或雙模式作業系統切換的方法解決上述問題。具體方法為通過雙網或雙模式的切換來保證計算機運行環境的安全。該方法的缺陷是增加了計算機本身的成本,同時,用戶需要不斷地切換計算機模式,使用極不方便。方法四應用進程隔離技術解決上述問題。具體方法為為進程設置身份鑑別標識,並鑑別進程的訪問者,同時使不同進程之間實現隔離,監視進程池中的進程的物理內存使用情況,CPU利用情況,系統性能情況等,以防止進程間的內存溢出。該方法的缺陷是沒有對進程本身是否已受到攻擊進行檢測,仍然存在安全隱患。上述所有方法均是對各種攻擊的防護措施,並不能確保計算機中運行環境的安全與可信。
發明內容有鑑於此,本發明的目的在於提供一種建立計算機中可信任運行環境的方法,從根本上保證計算機中運行環境的安全與可信,且方便用戶應用。為達到上述目的,本發明的技術方案是這樣實現一種建立計算機中可信任運行環境的方法,預先在作業系統內設置可信文件驗證模塊、可信進程內存代碼驗證模塊,加載並運行安全的作業系統,該方法還包括以下步驟可信文件驗證模塊截獲所有文件操作行為,檢查當前待操作文件是否為可信任文件,如果是,則根據該文件操作類型進行處理,如果是不可信任文件,則對該文件驗證合格後,再對文件進行操作處理;可信進程內存代碼驗證模塊定時驗證所有進程代碼的運行狀態和完整性是否正常,如果不正常,則發出警告,保存該進程運行的現場數據後,關閉此進程,否則繼續正常運行。較佳地,所述加載並運行安全的作業系統的過程包括預先設置基本文件管理系統,包含用戶預先指定的作業系統核心文件,涉及啟動的文件,及用戶需要保護的應用軟體的文件名的可信文件列表,同時,在安全存儲部件內設置所有需要確保安全的數據及其完整性值,在計算機的底層固件中設置可信作業系統基礎軟體完整性驗證恢復模塊,具體加載並運行作業系統的過程包括以下步驟a、對計算機內的底層固件驗證成功並啟動後,由底層固件驗證基本文件管理系統的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果一致,則底層固件啟動該基本文件管理系統,然後執行步驟b,否則停止系統啟動;b、基本文件管理系統啟動可信作業系統基礎軟體完整性驗證恢復模塊,由該可信作業系統基礎軟體完整性驗證恢復模塊從磁碟扇區中讀取磁碟參數,驗證該磁碟參數的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟c,否則,可信作業系統基礎軟體完整性驗證恢復模塊從安全存儲部件中取出預先存儲的磁碟數據,將其寫到當前的磁碟扇區中後,執行步驟c;c、可信作業系統基礎軟體完整性驗證恢復模塊驗證可信文件列表的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟d,否則,從安全存儲部件中取出預先存儲的可信文件列表,覆蓋當前的可信文件列表,然後執行步驟d;d、可信作業系統基礎軟體完整性驗證恢復模塊讀取可信文件列表中的作業系統內核文件,驗證該作業系統內核文件的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則裝載並運行作業系統,否則,從安全存儲部件中取出預先存儲的作業系統內核文件覆蓋當前的作業系統內核文件後,裝載並運行作業系統。較佳地,所述基本文件管理系統位於安全存儲部件中,或底層固件中,或作業系統中;所述可信文件列表位於安全存儲部件中,或作業系統中。較佳地,所述安全存儲部件內所有需要確保安全的數據是根據系統運行的需要以及用戶的需要確定的;所述所有需要確保安全的數據包括但不限於底層固件,作業系統,各種應用軟體和文件的數據以及磁碟參數。較佳地,所述磁碟參數包括但不限於主引導扇區參數、分區引導扇區參數以及文件分配表參數。較佳地,所述可信文件驗證模塊檢查當前待操作文件是否為可信任文件的方法為檢查當前待操作文件是否為可信文件列表中的文件,如果是,則當前待操作文件為可信任文件,否則當前待操作文件為不可信任文件。較佳地,對於可信任文件,根據當前文件操作類型進行處理的過程為檢查當前文件操作行為的類型是讀操作還是修改操作,如果是讀操作,則驗證該當前待操作文件的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則加載該當前待操作文件到內存中,允許訪問者執行讀操作,否則,從安全存儲部件中取出預先存儲的該可信任文件,覆蓋當前文件後,再加載該當前待操作文件到內存中,允許訪問者執行讀操作;如果是修改操作,則檢查計算機當前處於安全狀態後,允許訪問者修改可信文件列表,之後,重新計算可信文件列表和所修改文件的完整性值,並將該新的可信文件列表的完整性值和修改後該文件的完整性值存儲在安全存儲部件中。較佳地,所述修改操作包括但不限於寫操作、和/或屬性修改操作,和/或刪除操作,和/或創建新文件操作;所述安全狀態為計算機當前與網絡沒有物理連接,且可信文件列表當前處於修改操作有效的狀態。較佳地,進一步包括,設置一使修改操作有效的物理開關,根據該物理開關的開或關的狀態,確定可信文件列表當前是否處於修改操作有效的狀態。較佳地,對於不可信任文件,對該文件驗證合格後,再對文件進行操作處理的過程為對不可信任文件進行病毒檢測完畢後,將該不可信任文件所對應的進程加載到虛擬機中,由虛擬機監視該進程的行為,如果發現該進程存在非法行為,則報警,並關閉該進程,否則,允許對該文件進行操作處理。較佳地,所述非法行為至少包括對作業系統文件的非法修改操作、和/或對磁碟的非法修改操作、和/或內存訪問非法越界、和/或執行非法跳轉操作。較佳地,所述可信進程內存代碼驗證模塊定時驗證所有進程代碼的運行狀態是否正常的過程為檢查進程程序指針是否超越進程規定的物理內存地址,和/或進程代碼是否跨越規定的物理內存地址;所述可信進程內存代碼驗證模塊定時驗證所有進程代碼的完整性是否正常的方法為在文件首次加載到內存時,計算該文件所對應進程的進程代碼在內存中的完整性值,並將該完整性值存儲在安全存儲部件中;可信進程內存代碼驗證模塊定時驗證當前所有進程代碼的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則進程代碼正常,否則不正常。較佳地,所述可信進程內存代碼驗證模塊驗證出進程代碼的運行狀態和/或完整性不正常後,該方法進一步包括由可信文件驗證模塊重新對不正常的進程所對應的文件進行驗證後,再次加載該文件到內存中,並計算該文件所對應進程在內存中的完整性值,將計算出的完整性值存儲到安全存儲部件中,之後,根據上次保存的進程運行的現場數據,使該進程恢復到上次運行的狀態。較佳地,所述文件操作行為包括但不限於讀寫文件操作,修改文件屬性操作,刪除文件操作,和創建文件操作。較佳地,所述安全存儲部件為以上所述安全存儲部件可以是具有強制訪問控制授權的硬碟存儲部件,也可以是具有強制訪問授權控制的晶片存儲部件,還可以是具有訪問控制機制的內存部件。較佳地,所述安全存儲部件為安全晶片,或具有安全保護功能的硬碟,或具有訪問控制功能的flash存儲器。本發明預先在作業系統內設置可信文件驗證模塊、可信進程內存代碼驗證模塊,加載並運行安全的作業系統,由可信文件驗證模塊截獲所有文件操作行為,如果是對可信任文件的操作行為,則根據該文件操作類型進行處理,如果是對不可信任文件的操作行為,則對該文件驗證合格後,再對文件進行操作處理;可信進程內存代碼驗證模塊定時驗證所有進程代碼的運行狀態和完整性是否正常,如果不正常,則發出警告,保存該進程運行的現場數據後,關閉此進程,否則繼續正常運行。應用本發明,基於可信計算機硬體平臺,從作業系統啟動開始,對作業系統內核、應用文件及進程本身是否受到攻擊進行檢測與恢復,而不是通過病毒庫、規則庫等信息檢測是否存在病毒,這樣,無論是否存在已知或未知病毒的攻擊,都能夠確保計算機中運行環境的安全與可信,從而為用戶提供了可信任的運行環境,而用戶只需確定需要確保安全的文件及數據即可,方便了應用,且實現成本低。圖1所示為應用本發明一實施例的加載並運行作業系統的流程示意圖;圖2所示為可信文件驗證模塊對當前待操作文件進行驗證的流程示意圖;圖3所示為可信進程內存代碼驗證模塊驗證對進程代碼進行驗證的流程示意圖;圖4所示為由物理開關控制修改操作有效的示意圖。具體實施例方式下面結合附圖對本發明進行詳細說明。本發明的思路是基於可信的計算機硬體平臺,通過對作業系統、應用軟體和進程的全面驗證,建立信任鏈,為用戶提供已證明的可信任的運行環境。圖1所示為應用本發明一實施例的加載並運行作業系統的流程示意圖。在本實施例中,預先在計算機內的底層固件中設置具備磁碟管理功能和文件管理功能的基本文件管理系統,以及可信作業系統基礎軟體完整性驗證恢復模塊,該模塊用於驗證作業系統中涉及啟動的核心文件。在計算機的安全存儲部件內設置根據系統運行的需要以及用戶的需要確定的所有需要確保安全的數據及其完整性值,該需要確保安全的數據包括底層固件,如BIOS,作業系統,各種應用軟體和文件等數據,以及磁碟參數。設置可信文件列表,該可信文件列表內包含用戶預先指定的作業系統核心文件,涉及啟動的文件,及用戶需要保護的應用軟體的文件名。具體加載並運行作業系統的過程包括以下步驟步驟101,對計算機內的底層固件驗證成功並啟動後,由底層固件驗證基本文件管理系統的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果一致,則執行步驟102,否則,停止系統啟動。步驟102~步驟103,底層固件啟動該基本文件管理系統,由基本文件管理系統啟動可信作業系統基礎軟體完整性驗證恢復模塊。步驟104,由該可信作業系統基礎軟體完整性驗證恢復模塊從磁碟扇區中讀取磁碟參數,驗證該磁碟參數的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟106,否則,執行步驟105。上述磁碟參數包括但不限於主引導扇區參數、分區引導扇區參數以及文件分配表(FATfileallocationtable)參數。步驟105,可信作業系統基礎軟體完整性驗證恢復模塊從安全存儲部件中取出預先存儲的磁碟數據,將其覆蓋當前的磁碟扇區的參數後,執行步驟106。步驟106,可信作業系統基礎軟體完整性驗證恢復模塊驗證可信文件列表的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟108,否則,執行步驟107。步驟107,可信作業系統基礎軟體完整性驗證恢復模塊從安全存儲部件中取出預先存儲的可信文件列表,覆蓋當前的可信文件列表,然後執行步驟108。步驟108,可信作業系統基礎軟體完整性驗證恢復模塊讀取可信文件列表中的作業系統內核文件,驗證該作業系統內核文件的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟110,否則,執行步驟109。步驟109,可信作業系統基礎軟體完整性驗證恢復模塊從安全存儲部件中取出預先存儲的作業系統內核文件覆蓋當前的作業系統內核文件後,執行步驟110。步驟110,裝載並運行作業系統。至此,可確保已運行的作業系統是安全的。在上述實施例中基本文件管理系統設置在底層固件中,這樣可以提高計算機啟動引導的速度。當然,基本文件管理系統也可以設置在安全存儲部件中,或作業系統中。可信文件列表可以設置在安全存儲部件中,也可以設置在作業系統中。在作業系統正常運行後,啟動可信文件驗證模塊對當前待操作文件進行驗證,啟動可信進程內存代碼驗證模塊對所有進程代碼的運行狀態和完整性進行驗證,以確保計算機運行環境的安全。下面分別說明可信文件驗證模塊和可信進程內存代碼驗證模塊的驗證方法。圖2所示為可信文件驗證模塊對當前待操作文件進行驗證的流程示意圖。步驟201,可信文件驗證模塊截獲所有文件操作行為,該文件操作行為包括讀寫文件,修改文件屬性,刪除文件,創建文件等。步驟202,檢查當前要操作的文件是否為可信文件列表中的文件,是則執行步驟203,否則,執行步驟208。步驟203,檢查所截獲文件操作行為的操作類型,如果是讀操作,則執行步驟204,如果是修改操作,則執行步驟207。步驟204,驗證該當前待操作文件的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟206,否則執行步驟205。步驟205,從安全存儲部件中取出預先存儲的該可信任文件,覆蓋當前文件。步驟206,加載該當前待操作文件到內存中,允許訪問者執行讀操作,結束本流程。步驟207,檢查計算機當前處於安全狀態後,允許訪問者修改可信文件列表,之後,重新計算可信文件列表和修改後文件的完整性值,並將該新的可信文件列表的完整性值和修改後該文件的完整性值存儲在安全存儲部件中,結束本流程。上述修改操作包括但不限於寫操作、和/或屬性修改操作,和/或刪除操作,和/或創建新文件;檢查計算機當前處於安全狀態的過程為檢測計算機當前是否與網絡沒有物理連接,且可信文件列表當前處於修改操作有效的狀態。所謂修改操作有效的狀態即使計算機上的安全物理開關處於有效狀態。參見圖4,圖4所示為由物理開關控制修改操作有效的示意圖。設置一使修改操作有效的物理開關,該物理開關一端接地,另一端聯結在計算機主板的I/O控制模塊上,該I/O控制模塊可以在晶片組中實現,也可以在CPU中實現。物理開關與I/O控制模塊之間的接口可以是GPIO,串口,並口或USB口,但並不限於此。在檢查可信文件列表當前是否處於修改操作有效的狀態時,從物理開關所在的I/O地址讀取該物理開關的「開」或「關」的狀態,如果該物理開關處於「關」的狀態,則可信文件列表當前處於修改操作有效的狀態,如果該物理開關處於「開」的狀態,則可信文件列表當前處於修改操作無效的狀態。步驟208,對不可信任文件進行病毒檢測完畢後,將該不可信任文件所對應的進程加載到虛擬機中,由虛擬機監視該進程的行為,如果發現該進程存在非法行為,則報警,並關閉該進程,否則,允許訪問者對該文件進行操作。上述虛擬機是運行在本計算機上的一個軟體,該虛擬機軟體模擬正常計算機的對該進程的行為進行監視。上述非法行為至少包括對作業系統文件進行非法修改操作、和/或對磁碟參數進行非法修改操作、和/或內存訪問非法越界、和/或執行非法跳轉操作。圖3所示為可信進程內存代碼驗證模塊驗證對進程代碼進行驗證的流程示意圖。步驟301,文件經驗證確認為可信任文件後,在可信任文件首次加載到內存時,計算該文件所對應進程的進程代碼在內存中的完整性值,並將該完整性值存儲在安全存儲部件中。步驟302,可信進程內存代碼驗證模塊定時檢查在內存中所有進程的運行狀態和進程代碼的完整性是否正常,如果不正常,則執行步驟303,否則,繼續正常執行,並定時重複執行步驟302。上述驗證所有進程代碼的運行狀態是否正常的過程為檢查進程程序指針是否超越進程規定的物理內存地址,和/或進程代碼是否跨越規定的物理內存地址;上述驗證所有進程代碼的完整性是否正常的方法為驗證當前所有進程代碼的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則進程代碼正常,否則不正常。其中,檢查進程程序指針是否超越進程規定的物理內存地址,和/或進程代碼是否跨越規定的物理內存地址的操作,可以由軟體模塊實現,也可以由CPU和晶片組實現。步驟303,發出警告,保存進程運行的現場數據,關閉此進程。之後,可以將該進程所對應的文件再次經可信文件驗證模塊驗證後,重新裝載該文件到內存中,並重新計算該文件的進程代碼在內存中的完整性值,然後存儲該新的完整性值到安全存儲部件中,同時,根據上次保存的進程運行的現場數據,使進程恢復到步上次運行的狀態。以上所述安全存儲部件可以是具有強制訪問控制授權的硬碟存儲部件,也可以是具有強制訪問授權控制的晶片存儲部件,還可以是具有訪問控制機制的內存部件。上述硬碟存儲部件的保護通過硬碟控制邏輯電路完成,與硬碟邏輯分區以及作業系統分區無關。其中,所謂強制訪問控制授權是指安全存儲部件能夠基於口令字對訪問者鑑別成功後,允許訪問者訪問自身;或者,安全存儲部件與訪問者利用預先共享的一對秘密信息,利用基於hash函數和隨機數參與運算的認證協議,完成對訪問者的身份認證,且認證成功後允許訪問者訪問自身。具體的以上所述安全存儲部件可以是安全晶片(TPM,TrustedPlatformModule),也可以是具有安全保護功能的硬碟,如具有HPA(HostProtectedArea)的硬碟,還可以是具有訪問控制功能的flash存儲器。具體有關安全晶片的描述已在本申請人提出的發明名稱為「一種安全晶片及基於該晶片的信息安全處理設備和方法」,申請號為「03138380.7」的中國專利中公開,在此不再詳細描述,同時在該申請中也已經說明了對計算機內底層固件驗證的方法,因此,在步驟101中,也不再詳細說明驗證底層固件的方法。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。權利要求1.一種建立計算機中可信任運行環境的方法,其特徵在於,預先在作業系統內設置可信文件驗證模塊、可信進程內存代碼驗證模塊,加載並運行安全的作業系統,該方法還包括以下步驟可信文件驗證模塊截獲所有文件操作行為,檢查當前待操作文件是否為可信任文件,如果是,則根據該文件操作類型進行處理,如果是不可信任文件,則對該文件驗證合格後,再對文件進行操作處理;可信進程內存代碼驗證模塊定時驗證所有進程代碼的運行狀態和完整性是否正常,如果不正常,則發出警告,保存該進程運行的現場數據後,關閉此進程,否則繼續正常運行。2.根據權利要求1所述的方法,其特徵在於,所述加載並運行安全的作業系統的過程包括預先設置基本文件管理系統,包含用戶預先指定的作業系統核心文件,涉及啟動的文件,及用戶需要保護的應用軟體的文件名的可信文件列表,同時,在安全存儲部件內設置所有需要確保安全的數據及其完整性值,在計算機的底層固件中設置可信作業系統基礎軟體完整性驗證恢復模塊,具體加載並運行作業系統的過程包括以下步驟a、對計算機內的底層固件驗證成功並啟動後,由底層固件驗證基本文件管理系統的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果一致,則底層固件啟動該基本文件管理系統,然後執行步驟b,否則停止系統啟動;b、基本文件管理系統啟動可信作業系統基礎軟體完整性驗證恢復模塊,由該可信作業系統基礎軟體完整性驗證恢復模塊從磁碟扇區中讀取磁碟參數,驗證該磁碟參數的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟c,否則,可信作業系統基礎軟體完整性驗證恢復模塊從安全存儲部件中取出預先存儲的磁碟數據,將其寫到當前的磁碟扇區中後,執行步驟c;c、可信作業系統基礎軟體完整性驗證恢復模塊驗證可信文件列表的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則執行步驟d,否則,從安全存儲部件中取出預先存儲的可信文件列表,覆蓋當前的可信文件列表,然後執行步驟d;d、可信作業系統基礎軟體完整性驗證恢復模塊讀取可信文件列表中的作業系統內核文件,驗證該作業系統內核文件的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則裝載並運行作業系統,否則,從安全存儲部件中取出預先存儲的作業系統內核文件覆蓋當前的作業系統內核文件後,裝載並運行作業系統。3.根據權利要求2所述的方法,其特徵在於,所述基本文件管理系統位於安全存儲部件中,或底層固件中,或作業系統中;所述可信文件列表位於安全存儲部件中,或作業系統中。4.根據權利要求2所述的方法,其特徵在於,所述安全存儲部件內所有需要確保安全的數據是根據系統運行的需要以及用戶的需要確定的;所述所有需要確保安全的數據包括但不限於底層固件,作業系統,各種應用軟體和文件的數據以及磁碟參數。5.根據權利要求2或4所述的方法,其特徵在於,所述磁碟參數包括但不限於主引導扇區參數、分區引導扇區參數以及文件分配表參數。6.根據權利要求2所述的方法,其特徵在於,所述可信文件驗證模塊檢查當前待操作文件是否為可信任文件的方法為檢查當前待操作文件是否為可信文件列表中的文件,如果是,則當前待操作文件為可信任文件,否則當前待操作文件為不可信任文件。7.根據權利要求6所述的方法,其特徵在於,對於可信任文件,根據當前文件操作類型進行處理的過程為檢查當前文件操作行為的類型是讀操作還是修改操作,如果是讀操作,則驗證該當前待操作文件的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則加載該當前待操作文件到內存中,允許訪問者執行讀操作,否則,從安全存儲部件中取出預先存儲的該可信任文件,覆蓋當前文件後,再加載該當前待操作文件到內存中,允許訪問者執行讀操作;如果是修改操作,則檢查計算機當前處於安全狀態後,允許訪問者修改可信文件列表,之後,重新計算可信文件列表和所修改文件的完整性值,並將該新的可信文件列表的完整性值和修改後該文件的完整性值存儲在安全存儲部件中。8.根據權利要求7所述的方法,其特徵在於,所述修改操作包括但不限於寫操作、和/或屬性修改操作,和/或刪除操作,和/或創建新文件操作;所述安全狀態為計算機當前與網絡沒有物理連接,且可信文件列表當前處於修改操作有效的狀態。9.根據權利要求8所述的方法,其特徵在於,進一步包括設置一使修改操作有效的物理開關,根據該物理開關的開或關的狀態,確定可信文件列表當前是否處於修改操作有效的狀態。10.根據權利要求6所述的方法,其特徵在於,對於不可信任文件,對該文件驗證合格後,再對文件進行操作處理的過程為對不可信任文件進行病毒檢測完畢後,將該不可信任文件所對應的進程加載到虛擬機中,由虛擬機監視該進程的行為,如果發現該進程存在非法行為,則報警,並關閉該進程,否則,允許對該文件進行操作處理。11.根據權利要求10所述的方法,其特徵在於,所述非法行為至少包括對作業系統文件的非法修改操作、和/或對磁碟的非法修改操作、和/或內存訪問非法越界、和/或執行非法跳轉操作。12.根據權利要求2所述的方法,其特徵在於,所述可信進程內存代碼驗證模塊定時驗證所有進程代碼的運行狀態是否正常的過程為檢查進程程序指針是否超越進程規定的物理內存地址,和/或進程代碼是否跨越規定的物理內存地址;所述可信進程內存代碼驗證模塊定時驗證所有進程代碼的完整性是否正常的方法為在文件首次加載到內存時,計算該文件所對應進程的進程代碼在內存中的完整性值,並將該完整性值存儲在安全存儲部件中;可信進程內存代碼驗證模塊定時驗證當前所有進程代碼的完整性值與預先存儲在安全存儲部件中的完整性值是否一致,如果是,則進程代碼正常,否則不正常。13.根據權利要求12所述的方法,其特徵在於,所述可信進程內存代碼驗證模塊驗證出進程代碼的運行狀態和/或完整性不正常後,該方法進一步包括由可信文件驗證模塊重新對不正常的進程所對應的文件進行驗證後,再次加載該文件到內存中,並計算該文件所對應進程在內存中的完整性值,將計算出的完整性值存儲到安全存儲部件中,之後,根據上次保存的進程運行的現場數據,使該進程恢復到上次運行的狀態。14.根據權利要求1所述的方法,其特徵在於,所述文件操作行為包括但不限於讀寫文件操作,修改文件屬性操作,刪除文件操作,和創建文件操作。15.根據權利要求2、3、4、7、12所述的方法,其特徵在於,所述安全存儲部件為以上所述安全存儲部件可以是具有強制訪問控制授權的硬碟存儲部件,也可以是具有強制訪問授權控制的晶片存儲部件,還可以是具有訪問控制機制的內存部件。16.根據權利要求2、3、4、7、12所述的方法,其特徵在於,所述安全存儲部件為安全晶片,或具有安全保護功能的硬碟,或具有訪問控制功能的flash存儲器。全文摘要本發明公開了一種建立計算機中可信任運行環境的方法,關鍵是在作業系統內設置可信文件驗證模塊、可信進程內存代碼驗證模塊,加載並運行安全的作業系統。可信文件驗證模塊截獲所有文件操作行為,如是對可信任文件的操作行為,則根據該文件操作類型進行處理,如是對不可信文件的操作行為,則對該文件驗證合格後再對文件進行操作;可信進程內存代碼驗證模塊定時驗證所有進程代碼的運行狀態和完整性是否正常,如不正常則發警告,保存該進程運行的現場數據後,關閉此進程並修復,否則正常運行。應用本發明,對文件及進程本身是否受到攻擊進行檢測,這樣無論是否存在已知或未知病毒的攻擊,都能確保計算機運行環境的安全,且方便用戶應用,實現成本低。文檔編號G06F1/00GK1702590SQ20041009557公開日2005年11月30日申請日期2004年12月2日優先權日2004年12月2日發明者韋衛,彭朝然,尹萍,劉永華申請人:聯想(北京)有限公司