專利名稱::用于防止計算機系統(tǒng)被操控的方法和數據處理系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及計算機
技術領域:
,并且具體地涉及一種用于防止計算機系統(tǒng)中存儲的任一種計算機程序和數據被操控而且特別地用于防止計算機系統(tǒng)中的黑客攻擊和病毒感染的方法和系統(tǒng)以及設備。
背景技術:
:這里稱為計算機應用的計算機程序常常包括安全性關鍵(security-critical)的用例,其失效可能造成大量財務損失、環(huán)境污染或者甚至危及人類生命。通常引用的例子包括對軍用設備或者核電站進行控制的計算機系統(tǒng)。然而,比如基于互聯(lián)網的業(yè)務(例如在線銀行)這樣的新興領域也實質上依賴于計算機系統(tǒng)中存儲的和在計算機系統(tǒng)之間交換的數據的完整性。如今多數公司的運營也依賴于計算機系統(tǒng)的可用性和存儲于其中的數據的完整性。不利的是,現有技術的計算機系統(tǒng)容易遭受許多種所謂的黑客攻擊。這些攻擊尋求修改計算機程序、修改計算機系統(tǒng)中存儲的數據或者獲得該程序或者數據的副本。兩種主要的這樣的攻擊是病毒感染和通過黑客攻擊對程序或者數據進行的操控。計算機黑客試圖獲得以某種方式對受攻擊的計算機系統(tǒng)的訪問。這些攻擊包括竊取或者猜測口令或者利用計算機系統(tǒng)的安全機制中的一些錯誤。后一種黑客技術的典型例子是利用如下緩沖器溢出,這些緩沖器溢出在某些境況之下可能使計算機系統(tǒng)執(zhí)行由黑客提供的計算機程序。然而,這一獲得對計算機系統(tǒng)的未授權訪問的過程通?;ㄙM大量時間并且可能完全地依賴于運氣偶然性。而且,通常的情況是黑客在攻擊的第一階段期間僅實現有些受限的訪問權利。在已經首次進入計算機系統(tǒng)之后,黑客因此常常試圖以如下方式修改對計算機系統(tǒng)進行控制的系統(tǒng)軟件,該方式將在將來為黑客提供輕松訪問、向黑客批準附加權利并且隱藏黑客的修改和活動以免被系統(tǒng)管理員發(fā)現。這被理解為實施用于以后再次進入系統(tǒng)的"后門"。對于Linux操作系統(tǒng),在某些雜志中討論了這樣的技術,并且可從某些網站免費獲取支持黑客的軟件包。上述修改通常要求在受攻擊的計算機系統(tǒng)中存儲一些附加文件。黑客的部分活動是為了防止這些文件被發(fā)現。圖1和圖2示出了黑客將如何修改將Linux作為操作系統(tǒng)來運行的計算機系統(tǒng)以便隱藏他需要的文件的典型例子。用于獲得當前目錄中存儲的所有文件的列表的Linux命令是通常具有一些選項如"-alh,,的"ls"。圖1圖示了在步驟10中由用戶輸入命令之后Linux系統(tǒng)如何執(zhí)行這一命令。一旦操作員鍵入這一命令,對ls操作的執(zhí)行12將進行所謂的系統(tǒng)調用13,該系統(tǒng)調用13是針對由Linux內核提供的某些服務的Linux名稱。在這一情況下,在存儲器區(qū)域中存儲為某一數據結構(命名為"sys_call—table")即系統(tǒng)調用表15的、命名為"getdents64,,("獲得目錄條目"的縮寫)的系統(tǒng)調用將被執(zhí)行并且將當前目錄中發(fā)現的所有文件的列表16返回給它的調用程序、即Is程序。Is程序然后借助選項"-alh"如操作員要求的那樣在步驟17中進行對列表的一些格式化。最后,格式化的文件列表18出現在顯示器上。現在假設目錄包含黑客想要隱藏的文件之一,比如HACKER.TXT。如圖2中所示,這是通過修改Linux系統(tǒng)來完成的。這里,命名為"getdents64"的原有系統(tǒng)調用被黑客的命名為"hackers—getdents64"的版本21所替換。在Linux的情況下,通過修改系統(tǒng)調用列表15中的條目來完成替換系統(tǒng)調用。由1s程序發(fā)出的系統(tǒng)調用對"hackers—getdents64"進行調用。這一程序將在步驟21中執(zhí)行時然后調用原有系統(tǒng)調用14、即getdents64以便獲得文件列表16。原有系統(tǒng)調用將這一列表返回給它的調用程序、即hackers—getdents64,該調用程序然后在列表中搜索黑客想要抑制、即不予以顯示的文件的名稱。在這一例子中,hackers—getdents64將/人列表去除名稱HACKER.TXT并且將其余文件的列表返回給ls程序,該程序然后如前文參照圖l描述的那樣格式化并且最終顯示結果。病毒感染也涉及到修改計算機系統(tǒng)中存儲的程序。與黑客攻擊的主要不同在于自動地出現病毒操作。計算機病毒和類似程序也能夠經由網絡自動地擴散。它們通過以執(zhí)行屬于病毒的代碼序列這一方式操控一些可執(zhí)行代碼來感染計算機系統(tǒng)。病毒和黑客攻擊具有的共性在于改變某一儲存器的內容。用于防止病毒感染的現有技術是應用所謂的病毒掃描程序。這些程序進行對被認為標識病毒的某一模式的搜尋。病毒掃描程序可以檢驗非易失性儲存器如硬盤和易失性儲存器如計算機系統(tǒng)的RAM。遺憾的是,這一方式實現的保護程度有限。病毒掃描程序可以檢測病毒感染、但是一般并不防止它們。針對每種新病毒需要更新,這耗費財力和時間。病毒掃描程序僅能檢測已經由一些專家分析的已知病毒、即保護有限,因為即使配備有最新病毒掃描軟件的計算機系統(tǒng)仍然易于受到新開發(fā)的病毒的攻擊。對于被編程為蒙騙檢觀'J程序的"高技術"病毒更是如此。具體而言,這涉及自行修改、多形態(tài)病毒和力cr密病毒。與病毒掃描程序的使用有關的其它弊端在于,它們可能在歸結于病毒的字節(jié)序列作為非感染文件的部分而出現時進行誤報。從計算機系統(tǒng)去除病毒也棘手和易錯,因為去除工具必須操控二進制可執(zhí)行文件。用于防止病毒感染的又一方式是所謂的"受托計算"方式。這里,由附加硬件提供的服務為需要保護的所有文件或者存儲器區(qū)域計算散列值。這些值由附加硬件存儲。在某一以后時間可以再次計算散列值并且與附加硬件中存儲的值做比較。如果保護的文件或者存儲器位置在以后掃描期間產生不同的散列值,則它必然已經被修改。這一方法的一個弊端在于,計算散列值是多對一映射、即諸多不同文件將產生相同散列值。偶然地或者如果病毒的開發(fā)者得到對如何計算散列值的方式的充分了解,則病毒感染或者黑客攻擊可以不受影響地進行。另一弊端在于,可以檢測病毒感染、但是該方法并不防止感染。另一弊端在于,需要具有附加硬件,這增加了成本。用于檢測病毒感染的又一方式是重復存儲。使用這一方式,實際上將需要保護的任何文件存儲兩次一次是以正常方式存儲而第二次是存儲于在計算機系統(tǒng)的正常操作期間寫保護的存儲設備上。在初始化時將文件寫入到兩個目標。無論何時需要進行對病毒感染的檢驗都可以比較文件的兩個副本。兩個副本之間的任何不同表明對工作副本的修改。去除病毒頗為簡易用保護的副本替換感染的副本。這一方法的弊端在于,針對重復文件存儲的附加工作。比較也會耗時。該方法不能防止病毒感染。重復存儲方式的一種變形是在硬盤的一個寫保護分區(qū)中保存將受保護的內容。然而這并不安全,因為具有管理員權限的每個人都可以禁用寫保護。用于防止黑客攻擊的已知技術包括使用防火墻來保護計算機系統(tǒng)免于經由網絡的攻擊。然而,這一方式不會防止來自防火墻后面的人士的攻擊、即某個組織的計算機系統(tǒng)可能受到這一組織的雇員攻擊。防火墻本身也是計算機系統(tǒng)并且可能沒有如既定的那樣工作。只要計算機系統(tǒng)無論如何連接到與因特網或者甚至內部網連接的網絡都將防止黑客攻擊對執(zhí)行程序或者執(zhí)行操作系統(tǒng)進行操控的現有技術手段迄今為止是未知的
發(fā)明內容本發(fā)明的目的因此在于提供一種賦予存儲于計算機系統(tǒng)中的任一種計算機程序和數據免被操控并且具體是在黑客攻擊的過程中免被操控的改進防護的方法。本發(fā)明的這一目的通過所附獨立權利要求中陳述的特征來實現。在相應從屬權利要求中闡述本發(fā)明的更多有利布置和實施例?,F在應當參照所附權利要求。根據本發(fā)明的基本方面,一種用于防止計算機系統(tǒng)中的黑客攻擊和病毒感染的方法,其中計算機系統(tǒng)包括能夠從其讀取和向其寫入的儲存器裝置以及用于將儲存器裝置切換成寫保護模式的裝置,該方法包括以下步驟a)提示用戶進行允許向可寫保護儲存器區(qū)域暫時寫入的切換,其中相應物理寫保護機制包括僅可從所述計算機系統(tǒng)的操作系統(tǒng)外部操作的切換裝置,b)將與安全性相關的信息存儲到所述可寫保護儲存器區(qū)域中,曰,一、、、—、,。、術。—…r乂口、寫入,由此實現生成寫保護儲存器區(qū)域,d)在計算機系統(tǒng)的進一步運行時期間響應于人工切換來限制向所述寫保護儲存器區(qū)域的任何寫訪問,即禁止對其寫入。另外進行以下步驟在啟動對信息進行引用的程序之前管理哪個信息存儲于哪個區(qū)域中,d)通過訪問儲存器的相應專用區(qū)域來運行包括與安全性相關的信息和與安全性無關的信息的程序。因此,本發(fā)明的核心思想適用于可以向其寫入和從其讀取、即在讀—寫模式中的儲存器。本發(fā)明將用如下開關來擴展儲存器硬件,該開關使儲存器的某一部分變得只讀(圖3)。可以轉變成只讀模式的該存儲器部分命名為可保護存儲器。對計算機硬件和在計算機上執(zhí)行的軟件的實施的這些擴展實際上防止對所述軟件的未授權操控而不僅僅檢測操控。公開的本發(fā)明幫助防范任何病毒而且并不依賴于專家分析的病毒。本發(fā)明也防止黑客改變操作系統(tǒng)的內部以便能夠用管理員權限登錄。另外有利地,與安全性相關的信息是計算機系統(tǒng)的操作系統(tǒng)的組成,而儲存器是系統(tǒng)存儲器,其中當開始用于操作系統(tǒng)的引導過程時進行將信息存儲到寫保護存儲器區(qū)域中的步驟而不啟用寫保護,并且其中在完成向可寫保護存儲器區(qū)域寫入之后啟用對可寫保護存儲器區(qū)域有效的寫保護機制,并且通過將操作系統(tǒng)的剩余部分存儲到非可寫保護存儲器區(qū)域中來完成引導過程。這對于實現安全引導和安全操作系統(tǒng)是有用的。另外有利地,在從操作系統(tǒng)外部已經將所述保護暫時地且人工地去功能化之后,在安裝應用程序期間進行向可寫保護儲存器一常常是硬盤或者FLASHROM區(qū)域一的寫入過程,并且其中儲存器是連接到或者可連接到計算機系統(tǒng)的非易失性存儲器,這實現可以用安全方式安裝任何應用程序,因為任何一條可執(zhí)行代碼或者敏感數據、即具有只讀字符的任何exe-、dll、dat文件(比如.dot文件)或者僅保密或者敏感專用數據或者無論什么數據可以安裝于寫保護硬盤或者FLASH-ROM區(qū)域中。本發(fā)明因此適用于計算機系統(tǒng)的主存儲器和非易失性可重寫海量儲存器設備。如從以下更多具體描述中顯現的那樣以不同方式實施本發(fā)明用于這兩種情況的優(yōu)選實施例。舉例描述本發(fā)明,并且本發(fā)明不受以下附圖中的形式限制圖1是圖示了在執(zhí)行LINUX命令"ls"以便顯示關聯(lián)LINUX文件系統(tǒng)的一些文件時的控制流程的示意控制流程圖2是圖示了通過修改LINUX命令"Is"對LINUX操作系統(tǒng)的黑客攻擊的示意控制流程圖(現有技術);圖3是圖示了根據本發(fā)明的具有寫保護存儲器區(qū)域的一些存儲器設備的示意圖4是圖示了當應用本發(fā)明方法以便在引導過程期間將操作系統(tǒng)加載到存儲器的受保護區(qū)域和無保護區(qū)域中時,操作系統(tǒng)二進制映像的代碼位置的示意圖5是圖示了當用于進行受保護引導過程時本發(fā)明方法的一個優(yōu)選實施例的控制流程的示意圖;以及圖6是圖示了當用于為應用程序進行受保護安裝過程時本發(fā)明方法的一個優(yōu)選實施例的控制流程的示意圖。具體實施例方式主要參照附圖,并且現在具體參照圖3,更具體地描述用于保護系統(tǒng)主存儲器的本發(fā)明方法和系統(tǒng)的一個優(yōu)選實施例。保護主存儲器(RAM)使用本發(fā)明來保護計算機系統(tǒng)的主存儲器包括在不同級對現有技術的計算機系統(tǒng)的一些添加和擴展在第一級,計算機系統(tǒng)硬件需要提供具有如下性質的一些存儲器區(qū)域32:可以如同正常RAM—樣讀取它們,但是寫入僅在要求時才是可能的并且要求進行一些授權動作。出于安全原因而必需的是,在受保護的操作系統(tǒng)的范圍以外完成授權、即系統(tǒng)管理權限不可足以啟用寫入。只有軟件不是受保護的操作系統(tǒng)的部分,基于該軟件的授權才是可接受的。例如,當在Systemz中在VM客戶中運行Linux時,VM應用可以給予寫入授權或者在這一環(huán)境中使用所謂的如下"服務單元"來給予寫入授權,該服務單元用來操作現有技術的由IBM公司銷售的"Systemz"機器。如何訪問可保護存儲器區(qū)域32有若干可選方式。一種易于實施并且可能最有利的方式是保護僅一些地址范圍而對存儲器架構不進行其它修改。然而也有可能實施用于訪問存儲器受保護部分的特殊機器指令。易方法包括激勵機械開關36從而中斷一些存儲器芯片的寫啟用信號30。更完善的方式可以允許在系統(tǒng)設置期間配置將保護什么地址范圍。使用這樣的方式,系統(tǒng)會存儲將受保護的地址范圍的界限并且提供對寫入操作是否訪問來自該范圍的存儲器位置進行檢驗的某一邏輯。在第二級,將受保護的應用程序或者操作系統(tǒng)包括可執(zhí)行代碼和數據結構。數據結構根據本發(fā)明實施例分離成兩個不相交的類。第一類包含在正常操作期間需要修改的數據結構。第二類包含在正常操作期間無需修改而需要受保護以免于未授權寫入訪問的數據結構。操作系統(tǒng)的可能由病毒和/或黑客改變的安全性關鍵部分根據本發(fā)明實施例存儲于這樣的可保護存儲器區(qū)域中。將以這一方式保存的數據可以包括一些可執(zhí)行代碼(例如Windows或者Linux操作系統(tǒng)內核)以及關鍵數據結構(例如Linux系統(tǒng)調用表)。參照在
背景技術:
中使用的例子(圖1和圖2),實施系統(tǒng)調用表15的數據結構將根據本優(yōu)選發(fā)明實施例分類為"在正常操作期間無需改變"。由Linux操作系統(tǒng)內核用來管理用戶應用的執(zhí)行的任何數據結構將分類為"在正常操作期間需要修改"。許多編程語言允許指定某個變量或者某個子程序將位于某一開的保護機制。根據這一或者又一優(yōu)選發(fā)明實施例的又一個優(yōu)選方面包含對用于實施操作系統(tǒng)的編程語言(例如C)和實施該語言的編譯器的擴展。用來實施操作系統(tǒng)的編程語言然后將提供一種使變量存儲于安全存儲器區(qū)域中的附加屬性和一種使子例程存儲于安全存儲器區(qū)域中的屬性,也優(yōu)選地提供一種使由數據和代碼構成的程序部分存儲于安全數據區(qū)域中的附加屬性。以C語言為例,一種可能解決方案將是一種命名為"安全"的附加儲存器類屬性。既定為存儲于安全存儲器區(qū)域中的靜態(tài)整數變量然后將被聲明為"安全靜態(tài)整數i"。類似方法對于函數而言切實可行。用來編譯操作系統(tǒng)源代碼的編譯器需要為本發(fā)明的這些附加聲明賦值,并且它需要將相應數據和可執(zhí)行代碼映射到安全存儲器區(qū)域中??梢栽谔厥鈪R編器指令期間訪問這些區(qū)域,或者可以將它們存儲于系統(tǒng)的正常存儲器地址空間內的專用地址區(qū)域。另外根據本優(yōu)選發(fā)明實施例,修改操作系統(tǒng)的源代碼,使得可能受到攻擊影響的所有部分將存儲到安全存儲器區(qū)域中。在多平臺源代碼如Linux的情況下,可以使用一種使用由預處理器定義的如下符號來實施的屬性,這些符號在目標機器配置期間賦值給所述儲存器類屬性或者如果目標平臺并不支持安全存儲器區(qū)域則無賦值。在正常操作期間,可以如同這些受保護的存儲器區(qū)域恰是正常RAM—樣引用存儲于存儲器中的代碼和數據。然而根據本優(yōu)選發(fā)明實施例,除非已經從操作系統(tǒng)外部進行一些授權或者例如通過倒換機械開關來影響寫入,否則禁止寫入。當引導操作系統(tǒng)時將啟用寫入。一旦加栽和初始化操作系統(tǒng),就將禁用寫入。因此防止以修改操作系統(tǒng)的部分為目標的來自黑客的任何嘗試。此外,在寫保護特殊存儲器區(qū)域之時對寫入到該存儲器區(qū)域中的嘗試可以優(yōu)選地顯示為系統(tǒng)正受到攻擊這一指示。另外,組織操作系統(tǒng)的二進制版本,使得可以用某種方式區(qū)分"寫保護"和"寫允許"這兩類。接著并且參照圖5更具體地描述根據本優(yōu)選發(fā)明實施例的操作系統(tǒng)的啟動過程在配備有根據本優(yōu)選發(fā)明實施例的方法的計算機系統(tǒng)上啟動操作系統(tǒng),在保證無黑客影響的環(huán)境中、至少在系統(tǒng)首次使用本發(fā)明方法時進行如下1.在步驟510中將存儲器的可保護部分切換成讀-寫模式。2.在后續(xù)步驟520中將操作系統(tǒng)加載到存儲器中。圖4還更具體地闡明這一步驟。將操作系統(tǒng)的、分類為"可能在正常操作期間改變"的那些部分加載到存儲器的非可保護部分42中。然而,將操作系統(tǒng)的、分類為"在正常操作期間無需改變"或者"在正常操作期間不可改變"的那些部分加載到存儲器的可保護部分44中。3.然后在又一步驟530中執(zhí)行操作系統(tǒng)的初始化部分。4.立即隨后在步驟540中將存儲器的可保護部分切換成只讀模式。必需的是用硬件或者在為操作系統(tǒng)提供虛擬環(huán)境的軟件層中實施對寫入訪問的這一禁用。應當注意,基于軟件的方式在現有技術中已知由來已久并且具有如下主要弊端一旦黑客取得對將受保護的計算機系統(tǒng)的管理員權限就可以規(guī)避它們。定。然而,這一存儲器將總是能夠進行讀取或者寫入操作、因此將實施一種具備區(qū)分將執(zhí)行兩種操作中的哪種操作一讀取或者寫入一這一技術性質的硬件手段?,F有技術具有如下信號,該信號被分別設置成邏輯上為0或者1的電壓電平以區(qū)分讀取和寫入模式。圖3中所示開關然后是一種防止向存儲器設備發(fā)送的讀取或者寫入訪問信號被設置成與寫入模式對應的電壓的電子器件。接著描述前述實施例的一些變形從而由此公開本
發(fā)明內容的一些更多實施例。另一更多實施例是基于用如下屬性來增強操作系統(tǒng)的源代碼這一思想,這些屬性不是用來實施操作系統(tǒng)的編程語言的部分并且指定一些可執(zhí)行代碼或者數據結構是否在正常操作期間需要或者無需修改。用來編譯源代碼的編譯器被增強為接受這些屬性并且為這些屬性賦值。在將源代碼轉譯成二進制形式之時,編譯器以操作系統(tǒng)的受保護和非保護部分將加載到存儲器的適當相應部分中這樣的方式來組織該二進制形式。另一優(yōu)選實施例是基于用某一手段如新關鍵字增強用來實施操作系統(tǒng)的編程語言這一思想。編程語言的用于這些關鍵字的語義包括如下特殊注釋,這些特殊注釋使用來將這一語言轉譯成二進制形式的編譯器能夠組織二進制輸出,從而將它加載到存儲器的適當部分中。一種用于實現這一點的簡易方式包括如下教導必須擴展編程語言的規(guī)則,使得新關鍵字成為用于變量和/或子程序聲明的有效屬性。必須擴展編譯器,使得它知道采取什么動作以便使變量或者子程序存儲到可保護儲存器中并且它無論何時相應關鍵字作為用于變量或者子程序聲明的屬性來給出時都必須采取這一動作。另一優(yōu)選實施例包括如下特征用如下信息增強來自編譯器的輸出(由匯編器程序進一步處理的匯編器源代碼或者二進制代碼),該信息告知哪些部分將分別加載到儲存器的可保護或者非可保護部分中。此信息可以由開發(fā)者人工提供。另一可能變形在于,將操作系統(tǒng)的二進制加載到存儲器中的系統(tǒng)程序還接受與二進制的哪些部分必須加載到存儲器的可保護或者非可保護部分中有關的信息。另一優(yōu)選實施例包括用于不僅保護操作系統(tǒng)而且保護用戶應用程序的特征。另一優(yōu)選實施例包括如下特征,該特征具有用于在讀-寫模式與只讀模式之間倒換可保護存儲器區(qū)域的機械開關。另一優(yōu)選實施例包括由某一安全輸入設備如讀卡器或者指紋讀取器操作的、用于在讀-寫模式與只讀模式之間倒換可保護存儲器區(qū)域的開關這一特征。另一優(yōu)選實施例包括具有如下開關的計算機系統(tǒng)這一特征,該開關用于在讀-寫模式與只讀模式之間倒換可保護存儲器區(qū)域,其中這一開關由設計成對第一計算機系統(tǒng)的操作進行控制的單獨計算機系統(tǒng)控制;這是指上文進一步提到的所謂服務單元。另一優(yōu)選實施例包括具有如下附加裝置的運用本發(fā)明的計算機系統(tǒng)這一特征,該附加裝置用于檢測存儲器的可保護部分當前是否在只讀模式中、但是一些操作試圖執(zhí)行寫入操作。當檢測到這一事件時將適當信號發(fā)送到系統(tǒng)管理員或者采取某一其它動作。另一優(yōu)選實施例包括用于包括虛擬化操作系統(tǒng)的特征。如果將受保護的操作系統(tǒng)由另一主機操作系統(tǒng)執(zhí)行,則可以通過由主機操作系統(tǒng)發(fā)出的操作來控制第一操作系統(tǒng)的可保護存儲器。典型例子是IBMSystemz,其中Linux可以作為主機操作系統(tǒng)在z/VM的控制之下執(zhí)行。另一優(yōu)選實施例包括如下計算機系統(tǒng)這一特征,該計算機系統(tǒng)將屬于計算機的地址空間的某些地址范圍聲明為可保護的。另一優(yōu)選實施例包括如下計算機系統(tǒng)這一特征,該計算機系統(tǒng)提供其中一些地址空間可保護的單獨地址空間。保護非易失性儲存器設備接著將在可以與一個或者多個上述實施例組合的又一實施例中更具體地描述保護非易失性海量儲存器設備這一發(fā)明方面。術語"非易失性"海量存儲的存儲器包含比如硬盤、可重寫CD和DVD、可重寫ROM變形(比如EEPROM和FLASHROM)這樣的儲存器技術。如何對存儲于這樣的設備上的信息進行保護的核'G思想類似于上文針對存儲器描述的核心思想、即包括教導用如下機制增強它們,該機制可以將儲存器的部分改變成只讀模式而儲存器的其余部分保持于讀-寫模式。當在只讀模式中之時,安全存儲器設備既不能由操作系統(tǒng)寫入也不能由在計算機系統(tǒng)上執(zhí)行的任何程序寫入。安裝于計算機系統(tǒng)上的軟件劃分成兩個部分病毒感染所危及的那些可執(zhí)行文件存儲于可保護存儲器中,而可能在正常程序執(zhí)行期間需要改變的其它文件存儲在保持于讀-寫模式中的儲存器設備上。必需的是操作系統(tǒng)管理員權限不足以啟用寫入而實際上需要一些涉及到附加硬件的機制。這可以只是機械開關或者是由單獨操作員控制臺如Systemz"服務單元"(SE)發(fā)起的一些動作??杀Wo儲存器用來存儲可能受到病毒感染影響的文件。例如,這可以包括Windows操作系統(tǒng)的內核以及屬于某一應用程序的可執(zhí)行文件。理想地,可以設計軟件包,使得它的文件分類為"在正常執(zhí)行期間需要修改"或者"應當在正常操作期間保持不變的可執(zhí)行代碼"。安裝程序將相應地處理兩種文件。本發(fā)明這一具體方面的一個主要優(yōu)點在于,每個文件僅被存儲一次而無需計算和存儲附加信息。本發(fā)明既不使用備用副本也不要求計算和存儲根據散列值導出的文件"指紋"。此外,向硬盤添加寫保護易于處理,因為有可以分別使之可切換的一些內部線路或者信號硬盤的芯是信息存儲于其磁表面中的旋轉盤。當讀取時,線圈在表面附近移動而旋轉磁圖案感應電流,該電流然后被進一步處理并且最終產生所需二進制信息。然而當寫入時寫入電流施加到線圏以便生成磁場,該磁場然后改變線圈以下盤區(qū)域的磁性質并且因此在硬盤上寫入信息。因此,問題在于人工地或者至少從操作系統(tǒng)外部和從任何應用程序外部控制這一電流。根據本發(fā)明的一個優(yōu)選方面,本發(fā)明方法保護硬盤的整個分區(qū)或者整個硬盤?;旧先绺鶕F有技術已知的那樣組織文件分配表或者任何等效列表。接著更具體地描述在運用本發(fā)明方法的這一實施例時相關的一些安裝問題使用這一實施例的軟件包將把屬于軟件包的所有文件分離成上述兩個不同類。第一類由在正常操作期間無需用戶改變而是僅在安裝期間需要改變的文件構成,而第二類由可能在正常操作期間需要改變的文件構成。在圖6中描繪了在計算機系統(tǒng)上安裝這樣的軟件包的控制流程,并且該控制流程于是包括以下步驟步驟610:操作員通過激活進行物理切換的杠桿來為"安全硬盤部分"啟用寫入。步驟620:啟動用于軟件包的安裝例程并且將所有敏感文件拷貝到"安全部分"中。通過上文提到的分類對"敏感"進行編碼,例如當經由網絡(因特網)完成安裝時,向文件的頭部附加的位標志或者通過CD-ROM上用于安裝的預定存儲位置。然后在步驟630中提示用戶切換杠桿以便激活對硬盤安全部分的寫保護。然后在后續(xù)步驟640中,安裝例程再次根據所述分類將可能改變的不敏感文件(其中那些改變可視為不被應用操作嚴重地危及)拷貝到非保護硬盤部分上(步驟640)。另外,根據本發(fā)明的一個優(yōu)選方面,本發(fā)明方法也實現處理起初未設計成支持任一種可保護存儲器的軟件包對于這樣未設計成運用本7>開內容的軟件包,可以有利地應用以下過程。1.照常一即如同將在沒有應用本發(fā)明方法的計算機系統(tǒng)上安裝它們一樣一在計算機系統(tǒng)的硬盤上安裝操作系統(tǒng)和/或應用程序。2.然后啟動安全程序并且獲取滿足以下各性質的所有文件的列表作為輸入參數(a)在步驟1期間安裝文件;(b)文件可能受到計算機病毒感染;(c)在正常操作期間將不修改文件。安全程序將這些文件拷貝到可保護儲存器中。程序員人工創(chuàng)建文件列表。3.根據安裝的軟件的內部結構來調整訪問路徑,從而可以恰當地訪問移動到安全存儲器中的那些文件。注意,步驟3可能是不可能的,因此這一具體方法不能適用于每個軟件包。接著公開本發(fā)明實施例的更多變形如下另一優(yōu)選實施例包括配備有兩個單獨儲存器設備(其中之一是可保護的)的計算機系統(tǒng)這一特征。這些設備可以是硬盤、閃速ROM或者任何其它非易失性儲存器。另一優(yōu)選實施例包括如下特征將一個儲存器設備提供的儲存器區(qū)域分割成單獨部分,其中一些部分可以轉變成只讀模式并且因此使之可保護。本發(fā)明可以采用全硬件實施例、全軟件實施例或者包含硬件和軟件單元的實施例的形式。在一個優(yōu)選實施例中,利用包括但不限于固件、常駐軟件、微代碼等的軟件來實施本發(fā)明。另外,本發(fā)明可以采用可從計算機可用或者計算機可讀介質獲取的計算機程序產品的形式,該計算機可用或者計算機可讀介質提供用于由計算機或者任何指令執(zhí)行系統(tǒng)使用或者與計算機或者任何指令執(zhí)行系統(tǒng)結合使用的程序代碼。出于本說明書的目的,計算機可用或者計算機可讀介質可以是任何如下裝置,該裝置可以包含、存儲、傳達、傳播或者傳送用于由指令執(zhí)行系統(tǒng)、裝置或者設備使用或者與指令執(zhí)行系統(tǒng)、裝置或者設備結合使用的程序。介質可以是電子、磁、光、電磁、紅外線或者半導體系統(tǒng)(或者裝置或者設備)或者傳播介質。計算機可讀介質的例子包括半導體或者固態(tài)存儲器、磁帶、可拆卸計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當前例子包括光盤-只讀存儲器(CD-ROM)、光盤-讀/寫(CD-R/W)和DVD。適合于存儲和/或執(zhí)行程序代碼的數據處理系統(tǒng)將包括直接地或者通過系統(tǒng)總線間接地耦合到存儲器單元的至少一個處理器。存大容量儲:器和高速緩沖存儲器,這些高速i沖存儲器提供二i少一些程序代碼的暫時存儲以便減少在執(zhí)行期間必須從大容量儲存器取回代碼的次數。輸入/輸出或者1/0設備(包括但不限于鍵盤、顯示器、指示設備等)可以直接地或者通過居間1/0控制器耦合到系統(tǒng)。網絡適配器也可以耦合到系統(tǒng)以使數據處理系統(tǒng)能夠變得通過居間專用或者公用網絡耦合到其它數據處理系統(tǒng)或者遠程打印機或者存儲設備。調制解調器、有線調制解調器和以太網卡僅為當前可用網絡適配器類型的少數類型。如上所述電路是用于集成電路芯片的設計的一部分。用圖形計算機編程語言創(chuàng)建并且在計算機存儲介質(比如磁盤、磁帶、物理硬驅動或者比如存儲訪問網絡中的虛擬硬驅動)中存儲芯片設計。如果設計員沒有制作芯片或者用來制作芯片的光刻掩模,貝'J設計員通過物理手段(例如通過提供存儲所得設計的存儲介質的副本)或者以電子方式(例如通過因特網)直接地或者間接地將設計發(fā)送到這樣的實體。存儲的設計然后轉換成適當格式(例如GDSII)以便制作光刻掩模,這些掩模通常包括將在晶片上形成的相關芯片設計的多個副本。光刻掩模用來限定將要蝕刻或者以別的方式加工的晶片區(qū)域(和/或晶片上的層)。權利要求1.一種用于防止計算機系統(tǒng)中的黑客攻擊和病毒感染的方法,其中所述計算機系統(tǒng)包括能夠從其讀取和向其寫入的儲存器裝置以及用于將所述儲存器裝置切換成寫保護模式的裝置,所述方法包括以下步驟a)提示用戶進行允許向可寫保護儲存器區(qū)域(32)暫時寫入的切換,其中相應物理寫保護機制(34,36)包括僅可在所述計算機系統(tǒng)的操作系統(tǒng)外部操作的切換裝置(36),b)將與安全性相關的信息存儲(520,620)到所述可寫保護儲存器區(qū)域(32)中,c)提示用戶進行人工切換以限制向所述可寫保護儲存器區(qū)域(32)寫入,由此實現生成寫保護儲存器區(qū)域(32),d)在所述計算機系統(tǒng)的進一步運行時期間,響應于所述人工切換來限制向所述寫保護儲存器區(qū)域(32)的任何寫訪問。2.根據權利要求1所述的方法,其中所述與安全性相關的信息是計算機系統(tǒng)的操作系統(tǒng)的組成,其中所述儲存器是系統(tǒng)存儲器,并且其中當開始用于所述操作系統(tǒng)的引導過程時,進行所述將信息存儲(520,620)到所述可寫保護存儲器區(qū)域中的步驟,而不啟用任何寫保護,在完成向所述可寫保護存儲器區(qū)域寫入之后,啟用(540)對所述可寫保護存儲器區(qū)域有效的寫保護機制,通過將所述操作系統(tǒng)的剩余部分存儲到所述非可寫保護存儲器區(qū)域中來完成所述引導過程。3.根據權利要求1所述的方法,其中在已經人工地將所述寫保域(32)的寫入過程(620),并且其中所述儲存器是連接到或者可連接到所述計算機系統(tǒng)的非易失性存儲器。4.根據任一前述權利要求所述的方法,其中所述非易失性存儲器是所述計算機系統(tǒng)的硬盤。5.根據權利要求1所述的方法,其中所述機制包括激勵連接到或者可連接到所述計算機系統(tǒng)的機械開關(36)。6.根據權利要求1所述的方法,其中取代機械開關,利用為所述操作系統(tǒng)提供虛擬環(huán)境的軟件層來實施所述機制。7.根據權利要求1所述的方法,還包括以下步驟在已經啟用所述寫保護介質之后,當檢測到對向所述寫保護儲存器區(qū)域寫入的嘗試時發(fā)出報警。8.根據權利要求1所述的方法,其中所述可寫保護儲存器裝置包括以下儲存器裝置之一a)RAM存儲器,b)硬盤設備,c)閃速RAM設備,d)可重寫可拆卸儲存器設備,優(yōu)選為DVD-RW設備或者CD-RW儲存器介質。9.一種電子計算機系統(tǒng),包括能夠從其讀取和向其寫入的儲存器裝置以及用于將所迷儲存器裝置切換成寫保護模式的裝置,所述電子計算機系統(tǒng)還包括a)用于提示用戶進行允許向可寫保護儲存器區(qū)域(32)暫時寫入的切換的裝置,b)用于存儲(520,620)與安全性相關的信息的可寫保護儲存器區(qū)域(32),域(32)寫入的裝置,d)用于所述可寫保護儲存器區(qū)域(32)的物理寫保護機制(34,36),包括僅可從所述計算機系統(tǒng)的操作系統(tǒng)外部操作的切換裝置(36)。10.—種包括計算機可用介質的計算機程序產品,所述計算機可用介質包括計算機可讀程序,其中所述計算機可讀程序包括當在計算機上執(zhí)行時使所述計算機進行以下步驟的功能組成a)提示用戶進行允許向可寫保護儲存器區(qū)域(32)暫時寫入的切換,其中相應物理寫保護機制(34,36)包括僅可從所述計算機系統(tǒng)的操作系統(tǒng)外部操作的切換裝置(36),b)將與安全性相關的信息存儲(520,620)到所述可寫保護儲存器區(qū)域(32)中,(32)寫入,由此實現生成寫保護儲存器區(qū)域(32),d)在所述計算機系統(tǒng)的進一步運行時期間,響應于所述人工切換來限制向所述寫保護儲存器區(qū)域(32)的任何寫訪問。全文摘要本發(fā)明涉及計算機
技術領域:
,并且具體地涉及一種用于防止計算機系統(tǒng)中存儲的任一種計算機程序和數據被操控而且特別地用于防止計算機系統(tǒng)中的黑客攻擊和病毒感染的方法和系統(tǒng),其中所述計算機系統(tǒng)包括能夠從其讀取和向其寫入的儲存器裝置以及用于將所述儲存器裝置切換成寫保護模式的裝置。為了提供改進的防護,在引導期間或者在應用程序的安裝過程期間提出以下步驟包括步驟a)提示用戶進行允許向可寫保護儲存器區(qū)域(32)暫時寫入的切換,其中相應物理寫保護機制(34,36)包括僅可從所述計算機系統(tǒng)的操作系統(tǒng)外部操作的切換裝置(36);b)將與安全性相關的信息存儲(520,620)到所述可寫保護儲存器區(qū)域(32)中;c)提示用戶進行人工切換以限制向所述可寫保護儲存器區(qū)域(32)寫入,由此實現生成寫保護儲存器區(qū)域(32);d)在所述計算機系統(tǒng)的進一步運行時期間響應于所述人工切換而限制向所述寫保護儲存器區(qū)域(32)的任何寫訪問。文檔編號G06F21/53GK101632083SQ200880007701公開日2010年1月20日申請日期2008年3月4日優(yōu)先權日2007年5月9日發(fā)明者W·格勒里希申請人:國際商業(yè)機器公司