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