專利名稱:用于防止在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行流氓操作系統(tǒng)的方法和設備的制作方法
技術領域:
一般來說,本發(fā)明涉及一種改進的數(shù)據(jù)處理系統(tǒng),具體來說,涉及一種用于處理數(shù)據(jù)的方法、設備和計算機指令。更具體來說,本發(fā)明涉及用于管理邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的方法、設備和計算機指令。
背景技術:
越來越多的大型對稱多處理器數(shù)據(jù)處理系統(tǒng),如IBM公司所提供的IBM eServer P690、惠普公司所提供的DHP9000 SuperdomeEnterprise Server,以及Sun Microsystems,Inc.所提供的Sunfire15K server沒有被用作單個大型數(shù)據(jù)處理系統(tǒng)。相反,這些類型的數(shù)據(jù)處理系統(tǒng)可以被分區(qū)并用作較小的系統(tǒng)。這些系統(tǒng)被配置為啟用多分區(qū)的系統(tǒng)。換句話說,單個物理數(shù)據(jù)處理系統(tǒng)具有多個分區(qū),其中,每一個分區(qū)都具有操作系統(tǒng)。這些分區(qū)可以同時執(zhí)行。
當以邏輯方式進行分區(qū)時,這些系統(tǒng)也被稱為邏輯分區(qū)(LPAR)數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)內(nèi)的邏輯分區(qū)功能允許單個操作系統(tǒng)的多個副本或多個異構操作系統(tǒng)同時在單個數(shù)據(jù)處理系統(tǒng)平臺上運行。操作系統(tǒng)映像在其中運行的分區(qū),被分配了不相重疊的平臺資源的子集。這些平臺可分配的資源包括一個或多個在體系結構上不同的處理器,并具有中斷管理區(qū)域、系統(tǒng)內(nèi)存的區(qū)域,以及輸入/輸出(I/O)適配器總線插槽。分區(qū)的資源由平臺的固件到操作系統(tǒng)映像來代表。
在平臺內(nèi)運行的每一個不同的操作系統(tǒng)或操作系統(tǒng)的映像可以彼此被保護,以便一個邏輯分區(qū)上的軟件錯誤不能影響其他分區(qū)中的任何分區(qū)的正確操作。此保護是這樣提供的通過分配平臺資源的不相交集以直接由每一個操作系統(tǒng)映像進行管理,以及通過提供機制以便確保各種映像不能控制沒有分配給該映像的任何資源。此外,還防止操作系統(tǒng)的分配的資源的控制中的軟件錯誤影響任何其他映像的資源。如此,操作系統(tǒng)的每一個映像或每一個不同的操作系統(tǒng)都直接控制平臺內(nèi)的不同的可分配資源集。
對于邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件資源,這些資源在各種分區(qū)之間不相交地共享。這些資源可以包括,輸入/輸出(I/O)適配器、內(nèi)存DIMM、非易失性隨機存取存儲器(NVRAM)以及硬盤驅動器。LPAR數(shù)據(jù)處理系統(tǒng)內(nèi)的每一個分區(qū)都可以再三地啟動和關閉,而不必將整個數(shù)據(jù)處理系統(tǒng)啟動和關閉。
當前,系統(tǒng)管理員可以加載邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的操作系統(tǒng),但是,不能知道操作系統(tǒng)是否為流氓(rogue)或未經(jīng)授權的操作系統(tǒng),這是一個已經(jīng)被非法地修改的操作系統(tǒng)。在已經(jīng)被允許同時運行多個操作系統(tǒng)的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中,不允許流氓或未經(jīng)授權的操作系統(tǒng)加載并執(zhí)行是很關鍵的。此要求對于支持同時的多線程(SMT)和子處理器分區(qū)(SPP)的操作系統(tǒng)特別重要。如果允許未經(jīng)授權的操作系統(tǒng)加載,則此操作系統(tǒng)具有自動特權級別,這些特權級別足夠允許對平臺固件進行調(diào)用。
利用這些特權,未經(jīng)授權的操作系統(tǒng)可以試圖滲透到系統(tǒng)中,通過拒絕服務攻擊嘗試,至少會導致資源丟失。對于未經(jīng)授權的操作系統(tǒng)的問題是啟用SMT和SPP的系統(tǒng)更加關鍵,因為未經(jīng)授權的操作系統(tǒng)可以共享處理器功能,而不是使用隔離的處理器,并能夠在比較大的程度上影響其他分區(qū)。
當前,沒有任何機制可以用來限制未經(jīng)授權的操作系統(tǒng)的加載。因此,應該具有改進的方法、設備和計算機指令,用于防止未經(jīng)授權的操作系統(tǒng)在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行。
發(fā)明內(nèi)容
本發(fā)明提供了一種用于管理操作系統(tǒng)的方法、設備和計算機指令。在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中接收來自操作系統(tǒng)的注冊訪問邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求。請求包括操作系統(tǒng)的關鍵代碼。響應于接收到所述請求的情況,使用關鍵代碼就操作系統(tǒng)是否為授權的操作系統(tǒng)作出判斷。如果操作系統(tǒng)是授權的操作系統(tǒng),則注冊所述操作系統(tǒng)。否則,終止操作系統(tǒng)。
在所附的權利要求中闡述了本發(fā)明的新穎的特征。然而,本發(fā)明本身,以及優(yōu)選的使用模式,進一步的目標和優(yōu)點,通過參考對說明性的實施例的詳細描述并參考附圖,將得到最好的理解,其中圖1是可以在其中實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖;圖2是其中可以實現(xiàn)本發(fā)明的示范性邏輯分區(qū)平臺的方框圖;圖3是描述了一個說明在根據(jù)本發(fā)明的優(yōu)選實施例的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中防止未經(jīng)授權的操作系統(tǒng)的加載和執(zhí)行所使用的組件的圖表。
圖4是根據(jù)本發(fā)明的優(yōu)選實施例的創(chuàng)建授權的操作系統(tǒng)的列表的過程的流程圖;圖5是根據(jù)本發(fā)明的優(yōu)選實施例的處理來自操作系統(tǒng)的注冊請求的過程的流程圖;以及圖6是根據(jù)本發(fā)明的優(yōu)選實施例的處理對硬件服務的請求的過程的流程圖。
具體實施例方式
現(xiàn)在參考附圖,具體來說,參考圖1,該圖描述了其中可以實現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)100可以是包括連接到系統(tǒng)總線106的多個處理器101、102、103和104的對稱多處理器(SMP)系統(tǒng)。例如,數(shù)據(jù)處理系統(tǒng)100可以是IBM eServer,該系統(tǒng)是位于紐約Armonk的IBM公司的產(chǎn)品,是作為網(wǎng)絡內(nèi)的服務器來實現(xiàn)的?;蛘撸部梢允褂脝翁幚砥飨到y(tǒng)。連接到系統(tǒng)總線106的還有內(nèi)存控制器/緩存108,它提供了到多個本地內(nèi)存160-163的接口。I/O總線橋路110連接到系統(tǒng)總線106,并提供到I/O總線112的接口。如本文所述,內(nèi)存控制器/緩存108和I/O總線橋路110也可以集成在一起。
數(shù)據(jù)處理系統(tǒng)100是邏輯分區(qū)(LPAR)數(shù)據(jù)處理系統(tǒng)。如此,數(shù)據(jù)處理系統(tǒng)100可能具有同時運行的多個異構操作系統(tǒng)(或單個操作系統(tǒng)的多個實例)。這些多個操作系統(tǒng)中的每一個操作都可以具有任意數(shù)量的軟件程序在其內(nèi)執(zhí)行。數(shù)據(jù)處理系統(tǒng)100是在邏輯上分區(qū)的,以便不同的PCII/O適配器120-121、126-129和136、圖形適配器146和硬盤適配器149可以分配給不同的邏輯分區(qū)。在此情況下,圖形適配器148提供了到顯示設備(未顯示)的連接,而硬盤適配器149提供了連接,以控制硬盤150。
為此,例如假設數(shù)據(jù)處理系統(tǒng)100被分成三個邏輯分區(qū),P1、P2和P3。每一個PCII/O適配器120-121、128-129、136,圖形適配器148、硬盤適配器149、每一個主機處理器101-104,以及本地內(nèi)存160-163中的內(nèi)存,被分配給三個分區(qū)中的每一個分區(qū)。在這些示例中,內(nèi)存160-163可以呈現(xiàn)雙列直插式存儲器模塊(DIMM)的形式。DIMM通常不每個DIMM地分配到分區(qū)。相反,分區(qū)將獲得由平臺所看到的總內(nèi)存的一部分。例如,處理器101、本地內(nèi)存160-163中的部分內(nèi)存,以及I/O適配器120、128和129可以分配給邏輯分區(qū)P1;處理器102-103,本地內(nèi)存160-163中的部分內(nèi)存,以及PCII/O適配器121和136可以分配給分區(qū)P2;處理器104,本地內(nèi)存160-163中的部分內(nèi)存,圖形適配器148和硬盤適配器149可以分配給邏輯分區(qū)P3。
在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每一個操作系統(tǒng)都分配給不同的邏輯分區(qū)。如此,在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每一個操作系統(tǒng)只能訪問其邏輯分區(qū)內(nèi)的那些I/O單元。如此,高級交互執(zhí)行(AIX)操作系統(tǒng)的一個實例可以在分區(qū)P1內(nèi)執(zhí)行,AIX操作系統(tǒng)的第二個實例(映像)可以在分區(qū)P2內(nèi)執(zhí)行,Linux或OS/400操作系統(tǒng)可以在邏輯分區(qū)P3內(nèi)操作。
連接到I/O總線112的外圍組件互連(PCI)主機橋路114提供了到PCI本地總線115的接口。許多PCI輸入/輸出適配器120-121可以通過PCI到PCI橋路116、PCI總線118、PCI總線119、I/O插槽170和I/O插槽171連接到PCI總線115。PCI到PCI橋路116提供了到PCI總線118和PCI總線119的接口。PCII/O適配器120和121分別被插入I/O插槽170和171。典型的PCI總線實現(xiàn)方式將支持四個到八個I/O適配器(即,插入式連接器的擴展槽)。每一個PCII/O適配器120-121提供了數(shù)據(jù)處理系統(tǒng)100和輸入/輸出設備(如,作為數(shù)據(jù)處理系統(tǒng)100的客戶端的其他網(wǎng)絡計算機)。
其他PCI主機橋路122提供了其他PCI總線123的接口。PCI總線123連接到多個PCII/O適配器128-129。PCII/O適配器128-129可以通過PCI到PCI橋路124、PCI總線126、PCI總線127、I/O插槽172和I/O插槽173連接到PCI總線123。PCI到PCI橋路124提供了到PCI總線126和PCI總線127的接口。PCII/O適配器128和129分別被插入I/O插槽172和173。這樣,諸如調(diào)制解調(diào)器或網(wǎng)絡適配器之類的其他I/O設備可以通過PCII/O適配器128-129中的每一個適配器得到支持。如此,通過數(shù)據(jù)處理系統(tǒng)100,可以連接到多個網(wǎng)絡計算機。
插入到I/O插槽174的內(nèi)存映射圖形適配器148可以通過PCI總線144、PCI到PCI橋路142、PCI總線141和PCI主機橋路140連接到I/O總線112。硬盤適配器149可以插入I/O插槽175、該插槽175連接到PCI總線145。而此總線又連接到PCI到PCI橋路142,該橋路142通過PCI總線141連接到PCI主機橋路140。
PCI主機橋路130為PCI總線131提供了接口,以連接到I/O總線112。PCII/O適配器136連接到I/O插槽176,該插槽176通過PCI總線133連接到PCI到PCI橋路132。PCI到PCI橋路132連接到PCI總線131。此PCI總線還將PCI主機橋路130連接到服務處理器郵箱接口和ISA總線訪問通路邏輯194和PCI到PCI橋路132。服務處理器郵箱接口和ISA總線訪問通路邏輯194將轉發(fā)發(fā)往到PCI/ISA橋路193的PCI訪問。NVRAM存儲器192連接到ISA總線196。服務處理器135通過其本地PCI總線195連接到服務處理器郵箱接口和ISA總線訪問通路邏輯194。服務處理器135還通過多個JTAG/I2C總線134連接到處理器101-104。JTAG/I2C總線134是JTAG/掃描總線(請參見IEEE 1149.1)和Phillips I2C總線的組合。然而,或者,JTAG/I2C總線134只可以被Phillips I2C總線或只可以被JTAG/掃描總線替代。主機處理器101、102、103和104的所有SP-ATTN信號一起連接到服務處理器的中斷輸入信號。服務處理器135具有其自己的本地存儲器191,并可以訪問硬件OP面板190。
當數(shù)據(jù)處理系統(tǒng)100最初被通電時,服務處理器135使用JTAG/I2C總線134詢問系統(tǒng)(主機)處理器101-104、內(nèi)存控制器/緩存108,以及I/O橋路110。在完成此步驟時,服務處理器135具有數(shù)據(jù)處理系統(tǒng)100的統(tǒng)計和拓撲理解。服務處理器135還執(zhí)行Built-In-Self-Test(BIST)、基本保證測試(BAT)和通過查詢主機處理器101-104、內(nèi)存控制器/緩存108和I/O橋路110查找到的所有元素上的存儲器測試。在BIST、BAT和存儲器測試期間檢測到的故障的任何錯誤信息由服務處理器135收集和報告。
如果系統(tǒng)資源的有意義的/有效配置在提取了在BIST、BAT和存儲器測試期間發(fā)現(xiàn)有故障的元素仍是可能的,那么,數(shù)據(jù)處理系統(tǒng)100被允許繼續(xù)將可執(zhí)行代碼加載到本地(主機)存儲器160-163中。然后,服務處理器135釋放主機處理器101-104,以便執(zhí)行加載到本地存儲器160-163中的代碼。當主機處理器101-104執(zhí)行來自數(shù)據(jù)處理系統(tǒng)100內(nèi)的相應的操作系統(tǒng)的代碼時,服務處理器135進入監(jiān)視和報告錯誤的模式。被服務處理器135監(jiān)視的項目的類型包括,例如,冷風扇的速度和操作,熱傳感器、電源調(diào)節(jié)器、處理器101-104報告的可恢復的和不可恢復的錯誤,本地存儲器160-163,以及I/O橋路110。
服務處理器135負責保存和報告與數(shù)據(jù)處理系統(tǒng)100中的被監(jiān)視的所有項目相關的錯誤。服務處理器135還基于錯誤類型和定義的閾值執(zhí)行操作。例如,服務處理器135可能會注意到處理器的高速緩存上有過多的可恢復的錯誤,并判斷這是硬件故障的前兆?;诖伺袛?,服務處理器135可以標記該資源,以便在當前運行會話和未來的初始程序加載(IPL)期間取消配置。IPL有時也被稱為“啟動”或“自舉”。
數(shù)據(jù)處理系統(tǒng)100可以使用各種市場上買得到的計算機系統(tǒng)來實現(xiàn)。例如,數(shù)據(jù)處理系統(tǒng)100可以使用IBM公司所提供的IBMeServer iSeries Model 840系統(tǒng)來實現(xiàn)。這樣的系統(tǒng)可以支持使用OS/400操作系統(tǒng)(這也是IBM公司所提供的)的邏輯分區(qū)。
那些本領域技術人員將認識到,圖1所描述的硬件可以不同。例如,除了所描述的硬件,也可以使用諸如光盤驅動器之類的其他外圍設備,或者代替所描述的硬件。所描述的示例不對本發(fā)明的體系結構作出限制。
現(xiàn)在參考圖2,方框圖描述了在其中可以實現(xiàn)本發(fā)明的的示范性邏輯分區(qū)平臺的方框圖。邏輯分區(qū)平臺200中的硬件可以作為圖1中的數(shù)據(jù)處理系統(tǒng)100來實現(xiàn)。邏輯分區(qū)平臺200包括分區(qū)硬件230、操作系統(tǒng)202、204、206、208和分區(qū)管理固件210。操作系統(tǒng)202、204、206和208可以是同時在邏輯分區(qū)平臺200上運行的單個操作系統(tǒng)的多個副本或多個異構操作系統(tǒng)。這些操作系統(tǒng)可以使用OS/400來實現(xiàn),該操作系統(tǒng)是為諸如Hypervisor之類的分區(qū)管理固件連接而設計的。OS/400只用作這些說明性實施例中的示例。當然,諸如AIX和linux之類的其他操作系統(tǒng)類型,也可以使用,具體情況視特定的實現(xiàn)方式而定。操作系統(tǒng)202、204、206和208位于分區(qū)203、205、207和209中。Hypervisor軟件是可以用來實現(xiàn)分區(qū)管理固件210的軟件的示例,是IBM公司所提供的。固件是存儲在在沒有通電的情況下仍能保存其內(nèi)容的存儲器芯片(如只讀存儲器、可編程序只讀存儲器(PROM)、可擦可編程序只讀存儲器(EPROM)、電可擦可編程序只讀存儲器(EEPROM)、以及非易失性隨機存取存儲器(非易失性RAM)中的“軟件”。
另外,這些分區(qū)也包括分區(qū)固件211、213、215和217。分區(qū)固件211、213、215和217可以使用初始自舉代碼、IEEE-1275標準公開固件,以及運行時抽象軟件(RTAS)(這是IBM公司所提供的)來實現(xiàn)。當分區(qū)203、205、207和209被實例化時,自舉代碼的一個副本被平臺固件210加載到分區(qū)203、205、207和209上。此后,控制被傳輸?shù)阶耘e代碼,然后,自舉代碼加載公開固件和RTAS。然后,將與分區(qū)關聯(lián)的處理器或分配給分區(qū)的處理器派遣到分區(qū)的存儲器,以執(zhí)行分區(qū)固件。
分區(qū)硬件230包括多個處理器232-238、多個系統(tǒng)內(nèi)存單元240-246、多個輸入/輸出(I/O)適配器248-262和存儲單元270??梢詫⑻幚砥?32-238、內(nèi)存單元240-246、NVRAM存儲器296和I/O適配器248-262中的每一個分配給邏輯分區(qū)平臺200內(nèi)的多個分區(qū)中的某一個,其中每一個都對應于操作系統(tǒng)202、204、206和208中的某一個。
分區(qū)管理固件210為分區(qū)203、205、207和209執(zhí)行許多功能和服務,以創(chuàng)建和實施邏輯分區(qū)平臺200的分區(qū)。分區(qū)管理固件210是與基礎硬件相同的固件實現(xiàn)的虛擬機。如此,分區(qū)管理固件210通過虛擬化邏輯分區(qū)平臺200的所有硬件資源,允許同時執(zhí)行獨立的OS映像202、204、206和208。
可以使用服務處理器290來提供各種服務,如處理分區(qū)中的平臺錯誤。這些服務還可以充當服務代理,來將錯誤報告回諸如IBM公司之類的供應商。不同的分區(qū)的操作可以通過諸如硬件管理控制臺280之類的硬件管理控制臺來進行控制。硬件管理控制臺280是單獨的數(shù)據(jù)處理系統(tǒng),系統(tǒng)管理員可以從該系統(tǒng)執(zhí)行各種功能,包括將資源重新分配到不同的分區(qū)。
本發(fā)明提供了改進的方法、設備和計算機指令,用于防止未經(jīng)授權的操作系統(tǒng)的加載和執(zhí)行。此機制在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中特別有用。本發(fā)明的機制要求在激活分區(qū)之前通過硬件管理控制臺輸入密鑰或關鍵代碼,其中,此關鍵代碼必須與操作系統(tǒng)中包含的此關鍵代碼匹配。操作系統(tǒng)中的關鍵代碼被傳遞到諸如圖2中的平臺固件210之類的平臺固件。如果關鍵代碼匹配,則允許操作系統(tǒng)注冊和完成加載。否則,終止操作系統(tǒng)。
現(xiàn)在參考圖3,根據(jù)本發(fā)明的優(yōu)選實施例,描述了一個說明在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中防止未經(jīng)授權的操作系統(tǒng)的加載和執(zhí)行所使用的組件的圖表。在此說明性示例中,存在操作系統(tǒng)300、302、304和306。這些操作系統(tǒng)類似于圖2中的分區(qū)203、205、207和209中所說明的操作系統(tǒng)。這些說明性示例中的每一個被許可的操作系統(tǒng)包括代碼內(nèi)的標識序列號。此序列號被用作關鍵代碼。可以看出,關鍵代碼308、310、312和314在操作系統(tǒng)300、302、304和306內(nèi)存在。
這些操作系統(tǒng)中的每一個操作系統(tǒng)在加載和注冊階段都將它們的關鍵代碼傳遞到諸如hypervisor 316之類的平臺固件。在此階段,操作系統(tǒng)將其本身加載到分區(qū)中,并注冊其本身,以訪問硬件資源。在這些說明性示例中,hypervisor 316包括驗證過程318,用于驗證正在加載的操作系統(tǒng)是授權的操作系統(tǒng)。
在此說明性的實施例中,驗證過程318檢查操作系統(tǒng)提供的關鍵代碼,以便用關鍵代碼注冊授權的操作系統(tǒng)。這些關鍵代碼位于關鍵代碼列表322中的分區(qū)配置文件320中。分區(qū)配置文件320位于諸如圖1中的NVRAM 192之類的非易失性存儲器中。
如果操作系統(tǒng)提供的關鍵代碼有效,則hypervisor 316將注冊所述操作系統(tǒng),并允許它繼續(xù)訪問硬件資源。如果操作系統(tǒng)提供關鍵代碼不匹配關鍵代碼列表322中的關鍵代碼,則終止所述操作系統(tǒng)。
在這些說明性示例中,分區(qū)配置文件320和關鍵代碼列表322是由對HMC具有適當?shù)脑L問權限的系統(tǒng)管理員產(chǎn)生的。為將加載到LPAR數(shù)據(jù)處理系統(tǒng)的每一個操作系統(tǒng)輸入關鍵代碼。這些關鍵代碼存儲在分區(qū)配置文件320中的關鍵代碼列表322中。
在操作系統(tǒng)300、302、304和306的加載過程中,在操作系統(tǒng)向hypervisor 316注冊之前,這些操作系統(tǒng)將作為初始化過程的一部分,進行調(diào)用,以訪問硬件。在進行注冊之前,hypervisor 316中的驗證過程318判斷所進行的調(diào)用是否為加載和初始化操作系統(tǒng)所需要的。如果這些調(diào)用是需要的,則處理調(diào)用,并提供對硬件的訪問。否則,阻止對硬件進行訪問,并終止進行不需要的硬件調(diào)用的操作系統(tǒng)。
需要的調(diào)用的示例包括對操作系統(tǒng)的映射內(nèi)存的調(diào)用。內(nèi)存必須由操作系統(tǒng)進行映射,才能使資源發(fā)揮作用。在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中,諸如hypervisor之類的平臺固件控制包括內(nèi)存在內(nèi)的硬件。因此,內(nèi)存必須從物理地址映射到邏輯地址,以允許操作系統(tǒng)使用此內(nèi)存。所需要的調(diào)用的另一個示例包括對I/O的調(diào)用。需要I/O資源以便與外部世界進行通信。需要類似的映射,以將I/O適配器的物理地址映射到由操作系統(tǒng)使用的邏輯地址范圍。
相反,不需要的調(diào)用包括對諸如時刻或虛擬終端支持之類的設置或讀取項的調(diào)用。
如此,可以防止未經(jīng)過授權的操作在到注冊可以發(fā)生的那一點之前訪問初始化操作系統(tǒng)所需要的那些硬件之外的硬件??梢允褂么斯δ芙K止試圖避免注冊的未經(jīng)授權的操作系統(tǒng)。
現(xiàn)在參考圖4,根據(jù)本發(fā)明的優(yōu)選實施例,描述了創(chuàng)建被授權的操作系統(tǒng)的列表的過程的流程圖。圖4中所顯示的過程可以以軟件方式來實施,以便可以在諸如圖2中的硬件管理控制臺280之類的硬件管理控制臺中使用。
過程從接收添加或更改代碼密鑰的請求開始(步驟400)。接下來,接收關鍵代碼的用戶輸入(步驟402)。在步驟402中,輸入通過在硬件管理控制臺中提供的圖形用戶界面來進行。這些關鍵代碼可以作為創(chuàng)建或修改分區(qū)配置文件的一部分來輸入的。然后,關鍵代碼保存在分區(qū)配置文件中(步驟404)。接下來,判斷是否存在更多關鍵代碼添加或更改(步驟406)。如果沒有其他關鍵代碼添加或更改,那么,保存分區(qū)配置文件(步驟408),此后過程終止。
請回頭參看步驟406,如果存在其他關鍵代碼或更改,那么,過程返回到如上所述的步驟402。
在這些說明性示例中,分區(qū)配置文件保存在非易失性存儲器中的數(shù)據(jù)結構中,如圖1中的NVRAM 192。當LPAR數(shù)據(jù)處理系統(tǒng)啟動時,平臺固件使用此配置文件信息。利用此信息,本發(fā)明的機制可以防止未經(jīng)授權的操作系統(tǒng)加載并執(zhí)行。
現(xiàn)在參考圖5,根據(jù)本發(fā)明的優(yōu)選實施例,描述了處理來自操作系統(tǒng)的注冊請求的過程的流程圖。圖5中所顯示的過程可以以平臺固件實現(xiàn),如圖3中的管理程序316中的驗證過程318。
過程從接收來自操作系統(tǒng)的注冊請求開始(步驟500)。然后,就在注冊請求中是否存在關鍵代碼作出判斷(步驟502)。如果存在關鍵代碼,那么,將注冊請求中的關鍵代碼與關鍵代碼列表進行比較(步驟504)。關鍵代碼列表是通過諸如圖4中所顯示的過程來產(chǎn)生。
接下來,就是否有匹配作出判斷(步驟506)。如果存在匹配,則注冊操作系統(tǒng)(步驟508),此后終止該過程。
請回頭參看步驟502,如果在注冊請求中不存在關鍵代碼,那么,終止操作系統(tǒng)(步驟510)。接下來,發(fā)送安全消息(步驟512),過程此后終止。此安全消息可以包括有關試圖加載的操作系統(tǒng)的信息,進行嘗試的時間,及其他識別未經(jīng)授權的操作系統(tǒng)的來源所需要的信息。在步驟506中,如果在從操作系統(tǒng)接收到的關鍵代碼和關鍵代碼列表中的關鍵代碼之間不存在匹配,則過程進入如上所述的步驟510。
現(xiàn)在參考圖6,根據(jù)本發(fā)明的優(yōu)選實施例,描述了處理硬件服務的請求的過程的流程圖。圖6中所顯示的過程可以以平臺固件實現(xiàn),如圖3中的管理程序316中的驗證過程318。
過程以從操作系統(tǒng)接收硬件服務的調(diào)用開始(步驟600)。接下來,就操作系統(tǒng)是否已經(jīng)注冊作出判斷(步驟602)。在這些說明性示例中,注冊的操作系統(tǒng)是已經(jīng)被驗證作為授權的操作系統(tǒng)(如通過上面的圖5中顯示的過程)的操作系統(tǒng)。
如果操作系統(tǒng)沒有注冊,則就是否需要硬件服務來設置操作系統(tǒng)作出判斷(步驟604)。在步驟604中,所需要的硬件服務是操作系統(tǒng)加載并初始化到操作系統(tǒng)準備向平臺固件注冊其自己的那一點所需要的那些硬件服務。在這一點之前,操作系統(tǒng)需要一些硬件服務來加載并初始化其本身來完成正常的操作。所需要的硬件服務的示例有那些映射供操作系統(tǒng)使用的存儲器資源和I/O資源的硬件服務。如果需要硬件服務來設置操作系統(tǒng),則處理提供硬件服務的調(diào)用,(步驟606),過程此后終止。
請回頭參看步驟602,如果操作系統(tǒng)已經(jīng)注冊,則過程終止。在步驟604中,如果不需要硬件服務來設置或完成操作系統(tǒng)的初始化,則,終止操作系統(tǒng)(步驟608)。接下來,發(fā)送安全消息(步驟610),過程此后終止。如此,此過程防止操作系統(tǒng)在沒有向平臺固件注冊的情況下加載并執(zhí)行。
如此,本發(fā)明提供了改進的方法、設備和計算機指令,用于防止未經(jīng)授權的或流氓操作系統(tǒng)的加載。此功能是通過要求操作系統(tǒng)發(fā)送關鍵代碼或某些其他唯一標識符以便在驗證操作系統(tǒng)是否被授權時使用。維護了授權的關鍵代碼,并與向操作系統(tǒng)提供的關鍵代碼相比。如果發(fā)生匹配,則允許操作系統(tǒng)繼續(xù)執(zhí)行。否則,終止操作系統(tǒng)。
值得注意的是,盡管是在完全運轉的數(shù)據(jù)處理系統(tǒng)的上下文中描述本發(fā)明的,那些本領域技術人員將認識到,本發(fā)明的進程能夠以存儲了指令的計算機可讀的介質(zhì)的形式和各種各樣的形式進行分發(fā),本發(fā)明同樣適用,不管實際用于進行分發(fā)的承載信號的介質(zhì)的特定類型是什么。計算機可讀的介質(zhì)的示例包括可記錄類型的介質(zhì),如軟盤、硬盤驅動器、RAM、CD-ROM、DVD-ROM、傳輸類型的介質(zhì),例如使用諸如射頻和光波傳輸?shù)膫鬏斝问降臄?shù)字和模擬通信鏈路、有線或無線通信鏈路。計算機可讀的介質(zhì)可以采取編碼格式的形式,這些編碼在特定數(shù)據(jù)處理系統(tǒng)中實際使用時被解碼。
本發(fā)明的說明書只作說明,而不是詳盡的說明或限于所說明的形式。那些本領域技術人員將認識到,可以進行許多修改。所選擇的實施例只是為了最好地說明本發(fā)明的原理,實際應用,并使精通本技術的其他人懂得,帶有各種修改的各種實施例也是可以接受的。
權利要求
1.一種用于在多分區(qū)數(shù)據(jù)處理系統(tǒng)中管理操作系統(tǒng)的方法,該方法包括接收來自多分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求,其中,所述請求包括操作系統(tǒng)的關鍵代碼;響應于接收到所述請求,使用關鍵代碼判斷操作系統(tǒng)是否為授權的操作系統(tǒng),以及如果操作系統(tǒng)是授權的操作系統(tǒng),則注冊所述操作系統(tǒng)。
2.根據(jù)權利要求1所述的方法,進一步包括如果操作系統(tǒng)是未經(jīng)授權的操作系統(tǒng),則終止所述操作系統(tǒng)。
3.根據(jù)權利要求1所述的方法,其中,判斷步驟包括比較關鍵代碼與授權的操作系統(tǒng)的關鍵代碼集;以及判斷在所述關鍵代碼和關鍵代碼集中的任何關鍵代碼之間是否存在匹配。
4.根據(jù)權利要求3所述的方法,其中,關鍵代碼集位于分區(qū)配置文件中。
5.根據(jù)權利要求3所述的方法,其中,關鍵代碼集通過硬件管理控制臺來進行定義。
6.根據(jù)權利要求4所述的方法,其中,分區(qū)配置文件存儲在非易失性存儲器中。
7.根據(jù)權利要求1所述的方法,其中,操作系統(tǒng)的關鍵代碼嵌入在操作系統(tǒng)內(nèi),并且是唯一的關鍵代碼。
8.根據(jù)權利要求1所述的方法,其中,接收步驟、判斷步驟和注冊步驟是在平臺固件中執(zhí)行的。
9.根據(jù)權利要求1所述的方法,進一步包括響應于接收到訪問硬件的調(diào)用,判斷操作系統(tǒng)是否已經(jīng)注冊;響應于接收到訪問硬件的調(diào)用,判斷調(diào)用是否需要設置操作系統(tǒng);以及如果操作系統(tǒng)沒有注冊并且如果調(diào)用不需要設置操作系統(tǒng),則終止所述操作系統(tǒng)。
10.用于管理操作系統(tǒng)的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括接收裝置,用于接收來自多分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求,其中,所述請求包括操作系統(tǒng)的關鍵代碼;判斷裝置,響應于接收到所述請求,用于使用關鍵代碼判斷操作系統(tǒng)是否是授權的操作系統(tǒng);以及注冊裝置,用于如果操作系統(tǒng)是授權的操作系統(tǒng),則注冊所述操作系統(tǒng)。
11.根據(jù)權利要求10所述的數(shù)據(jù)處理系統(tǒng),進一步包括終止裝置,用于如果操作系統(tǒng)是未經(jīng)授權的操作系統(tǒng),則終止所述操作系統(tǒng)。
12.根據(jù)權利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,判斷步驟包括比較裝置,用于比較關鍵代碼與授權的操作系統(tǒng)的關鍵代碼集;以及用于判斷在所述關鍵代碼和關鍵代碼集中的任何關鍵代碼之間是否存在匹配的裝置。
13.根據(jù)權利要求12所述的數(shù)據(jù)處理系統(tǒng),其中,關鍵代碼集位于分區(qū)配置文件中。
14.根據(jù)權利要求12所述的數(shù)據(jù)處理系統(tǒng),其中,關鍵代碼集通過硬件管理控制臺來進行定義。
15.根據(jù)權利要求13所述的數(shù)據(jù)處理系統(tǒng),其中,分區(qū)配置文件存儲在非易失性存儲器中。
16.根據(jù)權利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,操作系統(tǒng)的關鍵代碼嵌入在操作系統(tǒng)內(nèi),并且是唯一的關鍵代碼。
17.根據(jù)權利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,接收裝置、判斷步驟和注冊步驟是在平臺固件中執(zhí)行的。
18.根據(jù)權利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,判斷裝置是第一判斷裝置,并進一步包括第二判斷裝置,響應于接收到訪問硬件的調(diào)用,用于判斷操作系統(tǒng)是否已經(jīng)注冊;第三判斷裝置,響應于接收到訪問硬件的調(diào)用,用于判斷調(diào)用是否需要設置操作系統(tǒng);以及終止裝置,用于如果操作系統(tǒng)沒有注冊并且如果不需要調(diào)用設置操作系統(tǒng),則終止所述操作系統(tǒng)。
19.用于管理操作系統(tǒng)的計算機可讀介質(zhì)中的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括第一指令,用于接收來自多分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求,其中,所述請求包括操作系統(tǒng)的關鍵代碼;第二指令,響應于接收到所述請求,用于使用關鍵代碼判斷操作系統(tǒng)是否是授權的操作系統(tǒng);以及第三指令,用于如果操作系統(tǒng)是授權的操作系統(tǒng),則注冊所述操作系統(tǒng)。
20.根據(jù)權利要求19所述的計算機程序產(chǎn)品,進一步包括第四指令,用于如果操作系統(tǒng)是未經(jīng)授權的操作系統(tǒng),則終止所述操作系統(tǒng)。
21.根據(jù)權利要求19所述的計算機程序產(chǎn)品,其特征在于,第二指令包括第一子指令,用于比較關鍵代碼與授權的操作系統(tǒng)的關鍵代碼集;以及第二子指令,用于判斷在所述關鍵代碼和關鍵代碼集中的任何關鍵代碼之間是否存在匹配。
22.根據(jù)權利要求21所述的計算機程序產(chǎn)品,其中,關鍵代碼集位于分區(qū)配置文件中。
23.根據(jù)權利要求21所述的計算機程序產(chǎn)品,其中,關鍵代碼集通過硬件管理控制臺來進行定義。
24.根據(jù)權利要求22所述的計算機程序產(chǎn)品,其中,分區(qū)配置文件存儲在非易失性存儲器中。
25.根據(jù)權利要求19所述的計算機程序產(chǎn)品,其中,操作系統(tǒng)的關鍵代碼嵌入在操作系統(tǒng)內(nèi),并且是唯一的關鍵代碼。
26.根據(jù)權利要求19所述的計算機程序產(chǎn)品,其中,第一指令、判斷步驟和注冊步驟是在平臺固件中執(zhí)行的。
27.根據(jù)權利要求19所述的計算機程序產(chǎn)品,進一步包括第四指令,響應于接收到訪問硬件的調(diào)用,用于判斷操作系統(tǒng)是否已經(jīng)注冊;第五指令,響應于接收到訪問硬件的調(diào)用,用于判斷調(diào)用是否需要設置操作系統(tǒng);以及第六指令,用于如果操作系統(tǒng)沒有注冊并且如果不需要調(diào)用設置操作系統(tǒng),則終止所述操作系統(tǒng)。
全文摘要
公開了用于防止在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行流氓操作系統(tǒng)的方法和設備。在多分區(qū)數(shù)據(jù)處理系統(tǒng)中接收來自操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求。請求包括操作系統(tǒng)的關鍵代碼。響應于接收到所述請求的情況,使用關鍵代碼就操作系統(tǒng)是否為授權的操作系統(tǒng)作出判斷。如果操作系統(tǒng)是授權的操作系統(tǒng),則注冊所述操作系統(tǒng)。否則,終止操作系統(tǒng)。
文檔編號G06F11/00GK1673924SQ20051005917
公開日2005年9月28日 申請日期2005年3月24日 優(yōu)先權日2004年3月25日
發(fā)明者喬治·約翰·道金斯, 高爾登·D·邁金托什 申請人:國際商業(yè)機器公司