新四季網

系統管理中斷的執行方法

2023-06-15 14:44:16

專利名稱:系統管理中斷的執行方法
技術領域:
本發明涉及一種系統管理中斷的執行方法,尤其涉及一種保護系統管理中斷的執行方法。
背景技術:
系統管理模式(System Management Mode, SMM)為現今一般電腦系統所用的中央處理單元(Central Processing Unit, CPU)的一種特別功能。當系統管理中斷(System Management hterrupt,SMI)被觸發到中央處理單元時,便會進入系統管理模式。在系統管理模式下,CPU將執行基本輸入輸出系統(Basic Input Output System,BIOS)的系統管理中斷處理程序(SiOhandler routine,以下簡SMI處理程序),以由SMI處理程序來服務此系統管理中斷,再者,此SMI處理程序位於系統管理隨機存取存儲器(SystemManagement Random Access Memory, SMRAM)內。近年來,BIOS大量使用軟體SMI (Software SMI,Sff SMI)以迴避作業系統 (Operating System, OS)來執行一些重要程序。例如執行BIOS的更新、致能或禁能先進組態與電源介面(Advanced Configuration and Powerlnterface,ACPI)、注入錯誤校正碼 (Error Correction Code,ECC)等。倘若軟體SMI使用不當將會破壞系統的穩定性,甚至破壞BIOS,造成無法開機。由於軟體SMI的輸入輸出埠(10 port)容易被得知,因而讓惡毒軟體便可利用軟體SMI來破壞系統。例如,軟體SMI的輸入輸出埠地址通常儲存於固定先進組態與電源介面描述表(Fixed ACPI Description Table, FACP)中,惡毒軟體由FACP表格中便能夠獲得軟體SMI的輸入輸出埠地址。或者,惡毒軟體也能夠由南橋晶片的製造商識別碼及裝置識別碼來獲得軟體SMI的輸入輸出埠地址。

發明內容
本發明提供一種系統管理中斷的執行方法,以避免惡毒軟體直接來使用系統管理中斷。本發明提出一種系統管理中斷的執行方法。在執行開機自我測試時,產生第一識別碼並儲存第一識別碼至存儲器的系統管理模式區塊。其中,該系統管理模式區塊在作業系統執行之下被隱藏。在啟動作業系統的過程中,從系統管理模式區塊中讀取第一識別碼來作為第二識別碼,而儲存第二識別碼至存儲器的作業系統區塊。當作業系統欲使用系統管理中斷時,分別從系統管理模式區塊與作業系統區塊讀取出第一識別碼與第二識別碼。 比較第一識別碼與第二識別碼是否相同。若第一識別碼與第二識別碼相同,執行系統管理中斷。在本發明的一實施例中,上述系統管理中斷的執行方法還包括在產生第一識別碼的步驟之後,將第一識別碼加密為第一加密識別碼。並且,在將第一識別碼當作第二識別碼的步驟之後,將第二識別碼加密為第二加密識別碼。
在本發明的一實施例中,上述系統管理中斷的執行方法中,當作業系統欲使用系統管理中斷時,分別從系統管理模式區塊與作業系統區塊讀取出該第一識別碼與該第二識別碼的步驟包括從作業系統區塊讀取第二加密識別碼,而解密為第二識別碼,並且,進入系統管理模式,從系統管理模式區塊讀取第一加密識別碼,而解密為第一識別碼。在本發明的一實施例中,上述系統管理中斷的執行方法中,當作業系統欲使用系統管理中斷時,將第二識別碼的存儲器地址寫入至暫存器中的步驟後,還包括當中央處理單元接收到系統管理中斷時,進入系統管理模式,將暫存器的值寫入至系統管理模式區塊。 接著,執行中斷處理程序,通過中斷處理程序從系統管理模式區塊中讀取第二識別碼的存儲器地址。並且,依據存儲器地址來取得第二識別碼。在本發明的一實施例中,第一識別碼為全域唯一識別碼(GlobalIyUnique Identifier, GUID)。在本發明的一實施例中,上述系統管理中斷的執行方法中,可建立識別碼讀取程序,通過識別碼讀取程序從系統管理模式區塊讀取第一識別碼。並且還可建立識別碼傳送程序,通過識別碼傳送程序將第一識別碼作為第二識別碼,而儲存第二識別碼至作業系統區塊。在本發明的一實施例中,上述通過識別碼讀取程序從系統管理模式區塊讀取第一識別碼的步驟包括在啟動作業系統的過程中,呼叫識別碼讀取程序以產生專用系統管理中斷。並且利用專用系統管理中斷從系統管理模式區塊中讀取第一識別碼。在本發明的一實施例中,上述儲存第二識別碼至作業系統區塊的步驟包括在啟動作業系統的過程中,呼叫識別碼傳送程序。並且,利用識別碼傳送程序將第一識別碼傳送至作業系統區塊來作為第二識別碼。基於上述,本發明在作業系統區塊與系統管理模式區塊分別儲存了一個識別碼。 當欲使用系統管理中斷時,比較兩個識別碼是否相同,以在兩個識別碼相同時才執行系統管理中斷。據此,可避免惡毒軟體輕易地來使用系統管理中斷。為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。


圖1是依照本發明第一實施例所示出的系統管理中斷的執行方法的流程圖。圖2是依照本發明第二實施例所示出的系統管理中斷的執行方法的流程圖。附圖標記S105 S120、S205 S255-步驟。
具體實施例方式第一實施例圖1是依照本發明第一實施例所示出的系統管理中斷的執行方法的流程圖。請參照圖1,在步驟S105中,在執行開機自我測試(Power On Self Test,POST)時,產生第一識別碼,並將第一識別碼儲存至存儲器的系統管理模式區塊。在本實施例中,存儲器包括作業系統區塊(讓作業系統所使用的區塊)、系統管理模式區塊以及給其他程序所使用的區塊。其中,系統管理模式區塊在作業系統執行之下是被隱藏而看不到。舉例來說,系統管理模式區塊例如為系統管理隨機存取存儲器(System Management Random Access Memory, SMRAM), SMRAM只有在進入系統管理模式(System Management Mode, S匪)時看得到,也就是說在進入SMM模式時,方會將SMRAM映射至存儲器地址空間。接著,在步驟SllO中,在執行作業系統的過程中,從系統管理模式區塊中讀取第一識別碼來作為第二識別碼,而將第二識別碼儲存至存儲器的作業系統區塊。例如,通過作業系統產生中斷編號為Flh的專用系統管理中斷(System Management Interrupt, SMI)以從系統管理模式區塊中取得第一識別碼。並且,將此第一識別碼作為第二識別碼而儲存至作業系統區塊中。另外,還可將此專用系統管理中斷設定在每次開機只能執行一次。另外,為了提高安全性,在POST過程中,在產生第一識別碼之後還可將第一識別碼加密為第一加密識別碼,再將第一加密識別碼儲存至系統管理模式區塊中。而當在執行作業系統的過程中,利用自訂SMI來取出第一加密識別碼並解密之後,將第一識別碼作為第二識別碼。此時,也可將第二識別碼加密為第二加密識別碼,再儲存至作業系統區塊。然後,在步驟S115中,當作業系統欲使用SMI時,分別從系統管理模式區塊與作業系統區塊讀取出第一識別碼與第二識別碼。當作業系統欲使用SMI時,作業系統將第二識別碼傳送給SMI處理程序(SMI Handler),並且SMI處理程序會從系統管理模式區塊取得第一識別碼。在此,儲存於作業系統區塊為第二加密識別碼,則作業系統會先將第二加密識別碼解密再傳送給SMI處理程序。最後,在步驟S120中,若第一識別碼與第二識別碼相同,執行系統管理中斷。由 SMI處理程序來比較第一識別碼與第二識別碼是否相同。在兩者吻合的狀況之下,才會執行作業系統所要求的SMI。據此,上述實施例是利用第一識別碼來當作是執行SMI的金鑰,也就是在系統管理模式區塊與作業系統區塊中各自儲存一個識別碼,當作業系統欲使用SMI時,若比較兩個識別碼相同,才允許執行SMI。由於要經過作業系統來讀取第二識別碼並傳送至SMI處理程序,因此只有知道第二識別碼的應用程式方能夠有效地執行SMI。如此一來,惡毒軟體便無法不經由作業系統而直接使用SMI。第二實施例為了避免每次開機時所產生的識別碼重複,在本實施例中,利用全域唯一識別碼 (Globally Unique Identifier,⑶ID)來作為識別碼。另外,在此所使用的SMI機制為軟體 SMI (Software SMI, Sff SMI)圖2是依照本發明第二實施例所示出的系統管理中斷的執行方法的流程圖。請參照圖2,在步驟S205中,基本輸入輸出系統(Basic Input OutputSystem, BIOS)於POST過程中產生一個⑶ID_1。接著,在步驟S210中,將⑶ID_1加密為⑶ID_1E。 之後,在步驟S215中,將⑶ID_1E儲存至存儲器的系統管理模式區塊(例如SMRAM)。當BIOS執行完POST之後,開始啟動作業系統。在啟動作業系統的過程中(作業系統尚未啟動完成),如步驟S220所示,產生專用SW SMI,以從系統管理模式區塊中讀取 ⑶ID_1E,並將其解密為⑶ID_1。舉例來說,建立識別碼讀取程序,例如AML (ACPI Machine Language)程序的程序 (method)_INI,以通過識別碼讀取程序從系統管理模式區塊讀取⑶ID_1。在啟動作業系統的過程中,呼叫(call)識別碼讀取程序,倘若為第一次呼叫識別碼讀取程序,則產生一專用SW SMI (例如,中斷編號為Flh),利用此專用SW SMI從系統管理模式區塊中讀取第一識別碼。在此,專用SW SMI只執行一次,以避免被惡毒軟體來利用。之後,在步驟S225中,將⑶ID_1當作⑶ID_2,並將⑶ID_2加密成為⑶ID_2E而儲存至作業系統區塊。具體而言,可建立一識別碼傳送程序,例如AML程序的程序(method)_ SffSK,以通過識別碼傳送程序將⑶ID_1作為⑶ID_2。也就是在啟動作業系統的過程中,呼叫識別碼傳送程序,利用識別碼傳送程序將⑶ID_1傳送至作業系統區塊來作為⑶ID_2,並且將⑶ID_2加密為⑶ID_2E。此時,將⑶ID_2E儲存至作業系統區塊之後,便可將⑶ID_2 清除。在作業系統啟動完成之後,當作業系統欲使用SW SMI時,如步驟S230所示,作業系統取出⑶ID_2E而解密為⑶ID_2,並將⑶ID_2的存儲器地址寫入至中央處理單元的暫存器(例如EAX)中,然後觸發SW SMI。例如,使用SMI命令埠(Command Port)B2h。當中央處理單元接收到SW SMI時,如步驟S235所示,進入SMM模式,並將暫存器的值(例如CPU Context,當中包括EAX)寫入至系統管理模式區塊。也就是將⑶ID_2的存儲器地址寫入至系統管理模式區塊。這是因為在進入SMM模式之後,中央處理單元會將現有的狀態儲存至系統管理模式區塊Hf^nSSMRAM)裡。接著,在步驟S240中,執行SMI處理程序時,依據系統管理模式區塊中儲存的 ⑶ID_2的存儲器地址去讀取⑶ID_2。並且,從系統管理模式區塊中取得⑶ID_1E,並將 GUID_1E 解密為 GUID_1。之後,在步驟S245中,SMI處理程序會比較⑶ID_1與⑶ID_2是否相同。倘若兩者相同,如步驟S250所示,執行SW SMI0倘若兩者不相同,如步驟S255所示,退出SMM模式。 據此,可保護SMI不被惡毒軟體所使用。綜上所述,本發明在作業系統區塊與系統管理模式區塊分別儲存了一個識別碼。 當欲使用系統管理中斷時,比較兩個識別碼是否相同,以在兩個識別碼相同時才執行系統管理中斷。在作業系統之下使用的系統管理中斷都會受到保護,應用程式只能通過作業系統來下達系統管理中斷。據此,可避免惡毒軟體直接來使用系統管理中斷。並且,在每次開機時都會動態產生一識別碼,減少被惡毒軟體破解的機會。雖然本發明已以實施例揭示如上,但並非用以限定本發明,任何所屬技術領域的技術人員,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,因此,本發明的保護範圍當以權利要求限定的範圍為準。
權利要求
1.一種系統管理中斷的執行方法,其特徵在於,包括在執行開機自我測試時,產生第一識別碼並儲存該第一識別碼至存儲器的系統管理模式區塊,其中該系統管理模式區塊在作業系統執行之下被隱藏;在啟動該作業系統的過程中,從該系統管理模式區塊中讀取該第一識別碼來作為第二識別碼,而儲存該第二識別碼至該存儲器的作業系統區塊;當該作業系統欲使用系統管理中斷時,分別從該系統管理模式區塊與該作業系統區塊讀取出該第一識別碼與該第二識別碼;比較該第一識別碼與該第二識別碼是否相同;以及若該第一識別碼與該第二識別碼相同,執行該系統管理中斷。
2.根據權利要求1所述的系統管理中斷的執行方法,其特徵在於,還包括 在產生該第一識別碼的步驟之後,將該第一識別碼加密為第一加密識別碼;以及在將該第一識別碼當作該第二識別碼的步驟之後,將該第二識別碼加密為第二加密識別碼。
3.根據權利要求2所述的系統管理中斷的執行方法,其特徵在於,其中當該作業系統欲使用該系統管理中斷時,分別從該系統管理模式區塊與該作業系統區塊讀取出該第一識別碼與該第二識別碼的步驟包括從該作業系統區塊讀取該第二加密識別碼,而解密為該第二識別碼;以及進入系統管理模式,從該系統管理模式區塊讀取該第一加密識別碼,而解密為該第一識別碼。
4.根據權利要求1所述的系統管理中斷的執行方法,其特徵在於,還包括當該作業系統欲使用該系統管理中斷時,將該第二識別碼的存儲器地址寫入至暫存器中。
5.根據權利要求4所述的系統管理中斷的執行方法,其特徵在於,其中在將該第二識別碼的該存儲器地址寫入至該暫存器中的步驟之後,還包括當中央處理單元接收到該系統管理中斷時,進入系統管理模式,將該暫存器的值寫入至該系統管理模式區塊;執行中斷處理程序,通過該中斷處理程序從該系統管理模式區塊中讀取該第二識別碼的存儲器地址;以及依據該存儲器地址來取得該第二識別碼。
6.根據權利要求1所述的系統管理中斷的執行方法,其特徵在於,其中該第一識別碼為全域唯一識別碼。
7.根據權利要求1所述的系統管理中斷的執行方法,其特徵在於,還包括建立識別碼讀取程序,通過該識別碼讀取程序從該系統管理模式區塊讀取該第一識別碼;以及建立識別碼傳送程序,通過該識別碼傳送程序將該第一識別碼作為該第二識別碼,而儲存該第二識別碼至該作業系統區塊。
8.根據權利要求7所述的系統管理中斷的執行方法,其特徵在於,其中通過該識別碼讀取程序從該系統管理模式區塊讀取該第一識別碼的步驟包括在啟動該作業系統的過程中,呼叫該識別碼讀取程序以產生專用系統管理中斷;以及利用該專用系統管理中斷從該系統管理模式區塊中讀取該第一識別碼。
9.根據權利要求7所述的系統管理中斷的執行方法,其特徵在於,其中儲存該第二識別碼至該作業系統區塊的步驟包括在啟動該作業系統的過程中,呼叫該識別碼傳送程序;以及利用該識別碼傳送程序將該第一識別碼傳送至該作業系統區塊來作為該第二識別碼。
全文摘要
本發明提供一種系統管理中斷的執行方法。在執行開機自我測試時,產生第一識別碼並儲存第一識別碼至存儲器的系統管理模式區塊。在啟動作業系統的過程中,從系統管理模式區塊中讀取第一識別碼來作為第二識別碼,而儲存第二識別碼至存儲器的作業系統區塊。當作業系統欲使用系統管理中斷時,分別從系統管理模式區塊與作業系統區塊讀取出第一識別碼與第二識別碼。比較第一識別碼與第二識別碼是否相同。若第一識別碼與第二識別碼相同,執行系統管理中斷。
文檔編號G06F21/22GK102467644SQ20101055169
公開日2012年5月23日 申請日期2010年11月17日 優先權日2010年11月17日
發明者盧盈志, 王鬱蕙 申請人:英業達股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀