新四季網

檢測系統管理模式BIOS代碼的改變的製作方法

2023-07-25 11:57:56 1


計算系統可以包括諸如執行計算設備的各種啟動功能的基本輸入/輸出系統(BIOS)之類的代碼。BIOS代碼可以初始化並測試計算設備的硬體,照此BIOS代碼可以從計算設備的存儲器加載引導代碼和/或作業系統。

附圖說明

在附圖中,相似編號指示相似部件或塊。以下具體實施方式參考附圖,其中:

圖1是示例性系統的框圖,該系統包括運行來自存儲器的SMM BIOS代碼的處理器、以及在運行SMM BIOS代碼時監視預期功能以檢測指示SMM BIOS代碼已經被破壞的SMM BIOS代碼改變的控制器;

圖2是示例性系統的框圖,該系統包括在運行SMM BIOS代碼時控制器監視系統的預期功能之前完成引導數據的運行的處理器;

圖3是可由控制器運行的示例性方法的流程圖,該控制器在SMM BIOS代碼的運行期間監視計算系統的預期功能以檢測SMM BIOS代碼的改變,該改變指示SMM BIOS代碼被破壞;

圖4是可由控制器運行的示例性方法的流程圖,該控制器確定引導信息的運行是否完成,並且如果是,該控制器在運行SMM BIOS代碼時監視預期功能,該控制器通過監視預期功能來檢測SMM BIOS代碼的改變;

圖5是可由控制器運行的示例性方法的流程圖,該控制器在運行SMM BIOS代碼時監視至少一個預期功能,該控制器檢測SMM BIOS代碼的改變以檢測是否可能存在預期功能的偏差;以及

圖6是具有處理器的示例性計算設備的框圖,該處理器運行機器可讀存儲介質中的指令,以用於在SMM BIOS代碼的運行期間監視預期功能並檢測SMM BIOS代碼是否已改變。

具體實施方式

BIOS代碼可被運行以配置和測試計算設備中的硬體。照此,BIOS代碼可以包括系統管理模式(SMM)BIOS代碼。SMM BIOS代碼以最高權限等級運行,所以一旦SMM BIOS代碼被破壞,就可能不能檢測SMM BIOS代碼的漏洞。因此,這可能導致計算設備運行被破壞的SMM BIOS代碼,從而可能進一步導致BIOS代碼的不合規操作。當BIOS代碼從低上電狀態恢復而開始運行時,諸如在BIOS代碼的預運行期間,其他機制提供保護;但是這些機制可能在運行期間不提供保護以防攻擊,該攻擊將SMM BIOS代碼的修改作為目標。進一步,這些機制在計算設備處於低上電狀態時進行保護以防攻擊,而在計算設備保持在持續開機狀態一延長時段時可能不提供保護。

為了解決這些問題,本文公開的示例提供一種在通過處理器運行SMM BIOS代碼時監視預期功能的控制器。預期功能是由於SMM BIOS代碼的運行而可能發生的計算設備內的行為或功能。以這種方式,預期功能是可以在運行SMM BIOS代碼時預測的那些行為和/或功能。例如,開發人員可以包括此功能或行為以作為SMM BIOS代碼的一部分,因而創建SMM BIOS代碼的運行的透明度。進一步,監視此預期功能使得控制器能夠監視可在運行SMM BIOS代碼時產生的功能。

此外,在運行期間監視SMM BIOS代碼的預期功能使得控制器能夠檢測SMM BIOS代碼是否已發生改變。檢測SMM BIOS代碼的改變使能夠識別SMM BIOS代碼是否已被破壞。識別SMM BIOS代碼是否已被破壞指示SMM BIOS代碼可能被損毀和/或可能包括SMM BIOS代碼的未授權修改。運行被破壞的SMM BIOS代碼可能出現額外的易損性和/或導致BIOS代碼的不合規操作。此外,檢測SMM BIOS代碼是否被破壞可用於針對安全性更重要的功能(諸如監視管理程序並提供其他更重要的服務)增強SMM BIOS代碼。

在本文討論的另一示例中,控制器通過檢測與預期功能的偏差來檢測SMM BIOS代碼的改變。該偏差是根據SMM BIOS代碼的運行無法預期的功能。照此,該偏差可包括基於SMM BIOS代碼的運行而預測的那些功能的缺失和/或改變。例如,假設預期功能包括向寄存器中的一個寫入指定值,因此控制器進行檢查以驗證在那個寄存器中是否存在該指定值。如果不存在指定值或者如果值為指定值之外的一些值,則這指示預期功能的偏差。根據SMM BIOS代碼的運行檢測功能和/或行為的偏差使得控制器能夠檢測SMM BIOS是否被破壞。

因此,本文公開的示例提供一種通過在SMM BIOS代碼的運行期間監視預期功能來檢測SMM BIOS代碼是否已經被破壞的機制。

現在參照附圖,圖1是示例性計算設備的框圖,該計算設備包括可以訪問存儲器106以在模塊104處運行SMM BIOS代碼的處理器102。當在模塊104處運行SMM BIOS代碼108時,控制器110監視根據SMM BIOS代碼108的運行而發生的預期功能。控制器110在模塊112處監視預期功能以在模塊114處檢測SMM BIOS代碼108的改變。存儲器106保存包括用於由處理器102運行的SMM BIOS代碼108的BIOS代碼116。在模塊114處通過檢測SMM BIOS代碼108的改變,控制器110檢測SMM BIOS代碼108是否已經被破壞。SMM BIOS代碼108的改變指示SMM BIOS代碼108已經被破壞,這表示SMM BIOS代碼108可能被損毀和/或可能包括SMM BIOS代碼108的未授權修改。因此,由處理器102運行被破壞的SMM BIOS代碼可能導致BIOS代碼116的不合規操作並且可能出現計算設備的額外的易損性。

圖1將處理器102、控制器110和存儲器106例示為計算設備內部的部件。計算設備是可以被編程以實施一系列操作和/或功能的電子設備。照此,計算設備的實施方式包括目標設備、行動裝置、個人計算機、臺式計算器、膝上型電腦、平板電腦、可攜式設備、智慧型手機、可穿戴計算設備、遊戲設備、智能電視、零售銷售點設備、或者包括處理器102、控制器110和存儲器106的其他類型的電子設備。

處理器102是計算設備內部的在模塊104處運行SMM BIOS代碼的硬體部件。儘管圖1將處理器102例示為在模塊104處運行SMM BIOS代碼,但實施方式不應被限制,因為這是為例示目的而做出的。例如,處理器102可以在SMM BIOS代碼108的運行之前從存儲器106取回BIOS代碼116並運行BIOS代碼116的引導信息。在此示例中,引導信息包括處理器102從低上電狀態進行上電的預運行信息。因此,當從運行引導信息過渡到在模塊104處運行SMM BIOS代碼108時,處理器102處於上電狀態。以示例的方式,處理器102的實施方式可以包括能夠從存儲器106取回SMM BIOS代碼108並且在模塊104處運行SMM BIOS代碼的處理單元、主機處理器、微處理器、半導體、集成電路、或其他類型的電子設備。

在模塊104處,處理器102運行來自存儲器106的SMM BIOS代碼108。相應地,模塊104包括處理器102從存儲器106取回SMM BIOS代碼108以供運行。當在模塊104處運行SMM BIOS代碼時,處理器102可以向控制器110傳送信號。該信號向控制器110指示監視由SMM BIOS代碼108的運行所產生的預期功能。因此,如果處理器102還未開始運行SMM BIOS代碼108,則控制器將不能監視在模塊104處產生的預期功能。模塊104可以包括可由處理器102運行以運行SMM BIOS代碼108的指令、指令集、過程、操作、邏輯、技術、功能、固件、和/或軟體。

存儲器106是計算設備內的保存BIOS代碼116並且照此可被處理器102訪問的存儲區域。在另一實施方式中,存儲器106可被處理器102訪問,但不能被控制器110訪問。處理器102訪問存儲器106來取回包括SMM BIOS代碼108的BIOS代碼116以供運行。儘管圖1將存儲器106例示為從處理器102分離的部件,但這是為了例示目的而做出的,因為存儲器106可作為處理器102的部分而被包括。以示例的方式,存儲器106的實施方式包括只讀存儲器、快閃記憶體、鐵電存儲器、鐵電RAM、磁性貯存存儲器、納米驅動、貯存驅動、存儲器部件、或用於保存BIOS代碼116和SMM BIOS代碼108的此類存儲器部件的組合。

BIOS代碼116是作為作業系統(未示出)的一致性機制用於初始化並測試硬體部件的接口,以與鍵盤、顯示器、以及與計算設備相關聯的其他設備接合。BIOS代碼116被保存在存儲器106中,並且在運行時可以從存儲器106加載作業系統(未示出)。儘管圖1將BIOS代碼116例示為包括SMM BIOS代碼108,但實施方式不應當被限制,因為BIOS代碼116可以進一步包括引導信息和其他預運行代碼。

SMM BIOS代碼108是指定實施的固件中的由處理器102以高權限模式運行的操作模式。SMM BIOS代碼108處理諸如電力管理、系統硬體控制、或專有原始設備製造商設計的代碼之類的全系統功能。例如,SMM BIOS代碼108的使用包括如存儲器錯誤、晶片集錯誤的系統事件,管理包括處理器102的掉電的系統安全功能,控制電力管理操作等。SMM BIOS代碼108可以通過系統中斷向處理器102觸發,以指示來運行SMM BIOS代碼108。這可以在BIOS代碼116的引導信息的運行完成時發生。在後面的圖中詳細討論此實施方式。

控制器110是能夠在處理器102於模塊104處運行SMM BIOS代碼108時監視預期功能的硬體部件。在監視預期功能時,控制器110檢測SMM BIOS代碼108是否可能已經歷可破壞SMM BIOS代碼108的改變。以示例的方式,控制器110的實施方式可以包括能夠監視由SMM BIOS代碼108的運行產生的預期功能以檢測SMM BIOS代碼108的改變的嵌入式控制器、微控制器、半導體、電子設備、微晶片、晶片集、或其他類型的硬體部件。

在模塊112至114處,控制器110在通過處理器102運行SMM BIOS代碼108時監視預期功能。當在處理器102運行SMM BIOS代碼時監視預期功能時,控制器110檢測SMM BIOS代碼是否已經歷改變。檢測到SMM BIOS代碼108的改變表明SMM BIOS代碼108可能被破壞,這表示SMM BIOS代碼108可能被損毀和/或可能包括未授權的修改。在一實施方式中,檢測SMM BIOS代碼108的改變可以包括檢測預期功能的偏差。該偏差是在處理器102運行SMM BIOS代碼108時發生的非預期功能。例如,開發人員以如下這種方式生成SMM BIOS代碼108:當處理器102運行此代碼108時,在運行SMM BIOS代碼108時發生特定行為。偏差可包括那些特定行為的缺失和/或改變。這創建了SMM BIOS代碼108的運行的透明度。檢測到偏差指示SMM BIOS代碼108的改變,因此進一步指示被破壞的SMM BIOS代碼108。在後面的圖中詳細討論此實施方式。模塊112至114可以包括可由控制器110運行的用於在處理器102運行SMM BIOS代碼108時監視預期功能的指令、指令集、過程、操作、邏輯、技術、功能、固件和/或軟體。

圖2是示例性計算設備的框圖,該計算設備包括在模塊104處運行SMM BIOS代碼108之前在模塊220處完成對來自存儲器106的引導數據218的運行的處理器102。處理器102向控制器110傳送表示在模塊220處完成引導信息的信號。來自處理器102的信號向控制器110指示處理器102正進入SMM BIOS模式,以在模塊104處運行SMM BIOS代碼108。計算設備包括控制器110,控制器110在模塊112處監視SMM BIOS代碼108的預期功能。當處理器102在模塊104處運行SMM BIOS代碼108時,控制器110在模塊112處監視預期功能。在模塊112處監視預期功能使得控制器110能夠在模塊114處檢測SMM BIOS代碼108的改變,預期功能由在模塊104處運行SMM BIOS代碼108產生。檢測到這種改變指示SMM BIOS代碼108可能被破壞,這表示SMM BIOS代碼108可能被損毀和/或可能包括未授權的修改。運行被破壞的BIOS代碼可能導致BIOS代碼116的不合規操作並且可能出現計算設備的額外的易損性。

引導數據218被認為是從存儲器106獲取的BIOS代碼116的部分。在運行引導數據218時,處理器102從諸如休眠或睡眠等的低上電狀態過渡到諸如開機狀態的較高上電狀態。在此過渡期間,處理器102可以甦醒並過渡到操作狀態。引導數據218包括處理器102從低上電狀態恢復時運行的預運行信息。因此,引導數據218初始化計算設備的引導序列,並且以示例的方式,該引導序列可以包括用於執行自測試、加載配置設置、加載軟體和/或固件等的處理數據。當從執行引導數據218過渡到運行SMM BIOS代碼108時,處理器102保持在持續的上電狀態。這指示處理器102已經開機了一持續的時間段。如果控制器110確定處理器102還未在模塊220處完成引導數據218的運行,則這表示處理器102還未進入SMM BIOS模式來運行SMM BIOS代碼108。因此,控制器110將不能夠在模塊112處監視預期功能。

在模塊220處,處理器102完成了引導數據218的運行,因此使得處理器102能夠繼續進行以運行來自存儲器106的SMM BIOS代碼108。當在模塊220處完成引導數據的運行時,處理器102可以發送信號中斷,因此向控制器110指示在模塊112處監視預期功能。模塊220可以包括可由控制器110運行以完成引導數據218的運行的指令、指令集、過程、操作、邏輯、技術、功能、固件和/或軟體。

圖3是可由控制器運行的用於在處理器運行SMM BIOS代碼時監視預期功能的示例性方法的流程圖。控制器監視可以由SMM BIOS代碼的運行產生的預期功能,以檢測SMM BIOS代碼的改變。該改變指示SMM BIOS代碼可能已經被破壞,並且照此可能已經經歷指示SMM BIOS代碼可能已遭受攻擊和/或損毀的未授權修改。在討論圖3時可以參考圖1至圖2中的部件以提供承接上下文的示例。例如,圖1至圖2中的處理器102運行SMM BIOS代碼以產生預期功能。在另一示例中,圖1至圖2中的控制器110運行操作302至304,來在運行SMM BIOS代碼時監視預期功能,以用於檢測是否存在SMM BIOS代碼的改變。進一步,儘管圖3被描述為由控制器實施,但其可以在其他合適的部件上運行。例如,圖3可以以在如圖6中的機器可讀存儲介質604上的可運行指令的形式實施。

在操作302處,控制器在處理器運行SMM BIOS代碼時監視預期功能。在操作302處,處理器向控制器發送信號,以指示處理器何時進入SMM BIOS模式並且因此運行SMM BIOS代碼。響應於接收到此信號,控制器在SMM BIOS代碼的運行期間監視預期功能。預期功能是由運行SMM BIOS代碼的結果而發生的行為。照此,該行為可以在逐行遍歷SMM BIOS代碼時或在完成SMM BIOS代碼時來觀測。例如,開發人員可以將此特定行為創建為SMM BIOS代碼的部分,因此創建SMM BIOS代碼的運行的可觀測性或透明度。監視此特定行為使得控制器能夠監視在運行SMM BIOS代碼時產生的功能。在一個實施方式中,控制器在SMM BIOS代碼運行時監視預期功能之前確定處理器是否已完成引導信息的運行。在另一實施方式中,控制器監視以下中的至少一個:跟蹤處理器多久運行SMM BIOS代碼;處理器運行SMM BIOS代碼所花費的時間量;監視特定寄存器的設置;以及跟蹤由SMM BIOS代碼的運行所生成的I/O循環的數量。在後面的圖中詳細討論這些示例。在SMM BIOS代碼的運行期間監視預期功能,控制器檢測SMM BIOS代碼的改變,如在操作304處。

在操作304處,控制器通過在SMM BIOS代碼的運行期間觀測預期功能來檢測SMM BIOS代碼的改變。該SMM BIOS代碼的改變指示SMM BIOS代碼已經被破壞,這意味著SMM BIOS代碼可能被損毀和/或可能包括SMM BIOS代碼的未授權修改。運行被破壞的代碼可能導致BIOS代碼的不合規操作。控制器在SMM BIOS代碼的間接監視期間檢測SMM BIOS代碼的改變。在間接監視中,開發人員將特定功能編程在BIOS代碼中。由於這些功能是根據SMM BIOS代碼的運行預測的,所以這些特定功能是預期功能。控制器通過跟蹤預期功能來預測這些預期功能。如果存在偏差或非預期功能,則這指示SMM BIOS代碼的改變並且因此指示被破壞的SMM BIOS代碼。在接下來的圖中詳細討論此實施方式。

圖4是可由控制器運行的用於確定處理器運行引導信息是否完成的示例性方法的流程圖。如果引導信息的運行完成,則處理器繼續進行以運行SMM BIOS代碼,同時其向控制器發信號以監視預期功能。控制器監視預期功能以檢測SMM BIOS代碼的改變。控制器通過監視是否可能存在預期功能的偏差來檢測SMM BIOS代碼的改變。如果控制器檢測到偏差,則控制器可以繼續進行以傳送偏差的警告。偏差指示SMM BIOS代碼的改變,SMM BIOS代碼的改變進一步指示SMM BIOS代碼已經被破壞。針對偏差監視預期功能是對SMM代碼的行為分析,使得功能可被觀測,以確認功能完整性並且檢測功能(並且因此SMM BIOS代碼)是否發生改變。在討論圖4時,可以參考圖1至圖2中的部件以提供承接上下文的示例。例如,圖1至圖2中的處理器102運行引導信息和SMM BIOS代碼。在另一示例中,圖1至圖2中的控制器110運行操作402至414,以檢測是否存在SMM BIOS代碼的改變。另外,儘管圖4被描述為由控制器實施,但其可以在其他合適的部件上運行。例如,圖4可以以在如圖6中的機器可讀存儲介質604上的可運行指令的形式來實施。

在操作402處,控制器確定處理器是否已完成引導信息的運行。引導信息包括處理器從低上電狀態恢復時運行的預運行信息。因此,引導信息初始化計算設備的引導序列,並且照此,引導序列指的是一旦處理器上電就向存儲器中加載BIOS代碼以供處理器運行的過程。以示例的方式,引導信息包括用於執行自測試、加載配置設置、加載軟體和/或固件等的處理數據。以此方式,計算設備通過它的引導拉起自身。具體地,引導信息還被稱為引導操作,該引導操作指的是向計算設備的存儲器中加載BIOS代碼以供處理器運行的過程。確定引導信息的運行是否完成表示:從運行引導信息到繼續運行SMM BIOS代碼,處理器處於持續的開機狀態。如果控制器確定處理器還未完成引導信息的運行,則如在操作404處那樣,控制器不繼續監視由SMM BIOSD代碼的運行引起的預期功能。如果控制器確定處理器已經完成引導信息的運行,則這指示處理器已經開機一持續的時間段,並且控制器可以繼續進行至操作406。

在操作404處,當在操作402處確定處理器還未完成BIOS代碼的引導信息的運行時,控制器不在操作406處在SMM BIOS代碼運行期間監視預期功能。SMM BIOS代碼是以高權限模式運行分離軟體的操作模式。在此模式期間,處理器保持開機以運行SMM BIOS代碼。如果控制器確定處理器正在運行引導信息,則這指示計算設備處於預運行模式,這表示處理器還未進入運行SMM BIOS的模式,因此使控制器不能監視作為運行SMM BIOS代碼的結果的預期功能。

在操作406處,當確定處理器完成了引導信息的運行時,控制器在通過處理器運行SMM BIOS代碼時監視預期功能。在引導信息的運行完成時,處理器向控制器發送完成信號。這向控制器發送了處理器正在繼續運行SMM BIOS代碼的信號。這轉而又指示控制器開始監視預期功能。在執行SMM BIOS代碼時監視預期功能表示:從運行引導信息到繼續運行SMM BIOS代碼,處理器保持上電。操作406涉及使用跟蹤SMM BIOS代碼的預期行為的機制。預期行為可由開發人員安置,以使得在運行SMM BIOS代碼時發生特定功能。包括特定功能使得能夠提供作為運行SMM BIOS代碼的結果的行為,因此使特定功能可由控制器觀測。因此,預期功能是在運行SMM BIOS代碼時預測的行為和/或功能。照此,由於該功能被認為是根據由開發人員安置到SMM BIOS代碼中的編程而預期或預測的。因此控制器監視此預期功能,以在操作410處檢測是否可能存在此預期功能的偏差。以示例的方式,控制器監視此類預期功能包括但不限於:處理器多久運行SMM BIOS代碼;處理器運行SMM BIOS代碼所花費的時間量;監視特定寄存器的設置;以及跟蹤由SMM BIOS代碼的運行生成的I/O循環的數量。在接下來的圖中詳細描述此示例。操作406可以與圖3中的操作302在功能上類似。

在操作408處,控制器響應於如在操作406處的監視預期功能而檢測SMM BIOS代碼的改變。在此實施方式中,控制器通過間接監視SMM BIOS代碼來檢測SMM BIOS代碼的改變。間接檢測SMM BIOS代碼包括監視作為運行SMM BIOS代碼的結果的預期功能、以及諸如在操作410處的檢測是否可能存在此預期功能的偏差。操作408可以與圖3中的操作304在功能上類似。

在操作410處,控制器確定是否存在預期功能的偏差。該偏差是控制器通過監視來自SMM BIOS代碼的運行的預期功能而檢測到的非預期功能。例如,假設預期功能包括向寄存器中的一個寫入指定值,因此控制器進行檢查以驗證在那個寄存器中是否存在該指定值。如果不存在指定值或者如果該值是指定值之外的某些值,則這指示預期功能的偏差。如果控制器確定不存在預期功能的偏差,則控制器繼續進行至操作414並且不傳送警告或通知。如果控制器確定存在預期功能的偏差,則這指示存在產生該偏差的SMM BIOS代碼的未授權改變。照此,控制器繼續進行至416以傳送偏差警告。

在操作412處,在檢測不到預期功能的偏差時,控制器不傳送警告。檢測不到預期功能的偏差表示控制器未檢測到SMM BIOS代碼的改變,這表示SMM BIOS代碼可能沒被破壞。

在操作414處,控制器傳送預期功能的偏差的警告。預期功能的偏差指示SMM BIOS代碼的改變,因此進一步指示SMM BIOS代碼已經被破壞。SMM BIOS代碼的被破壞的情況表示SMM BIOS代碼可能被損毀和/或可能包括SMM BIOS代碼的未授權修改。

圖5是可由控制器運行的用於在運行SMM BIOS代碼期間監視預期功能的示例性方法的流程圖。控制器通過監視以下功能中的至少一個來監視預期功能,該功能包括:監視計算設備的寄存器設置;跟蹤處理器進入SMM BIOS模式以進行運行的次數;跟蹤處理器運行SMM BIOS代碼所花費的時間量;以及跟蹤可在運行SMM BIOS代碼時生成的I/O循環的數量。此外,儘管圖5描述了以上提到的功能,但實施方式不應被限制,因為這是為了例示目的而做出的。例如,控制器還可以監視處理器處的指定時鐘信號或者監視其他類型的可觀測行為。

控制器監視這些功能中的至少一個以檢測指示SMM BIOS代碼已經被破壞的SMM BIOS代碼的改變。控制器通過檢測預期功能的偏差來檢測SMM BIOS代碼的改變。預期功能是在運行SMM BIOS代碼時發生的預期行為。偏差是非預期的行為,在某種意義上,偏差是被認為是異常的並且指示計算設備的功能完整性可能存在風險的行為。照此,使控制器能夠監視預期功能為控制器提供了這樣的機制:對行為進行跟蹤以觀測可能作為運行SMM BIOS的結果而產生的異常性。在討論圖5時,可以參考圖1至圖2中的部件以提供承接上下文的示例。例如,圖1至圖2中的處理器102運行SMM BIOS代碼,以使控制器在操作502處在SMM BIOS代碼運行期間監視預期功能。在另一示例中,圖1至圖2中的控制器110運行操作502至516,以檢測是否存在SMM BIOS代碼的改變。另外,儘管圖5被描述為由控制器實施,但其還可以在其他合適的部件上運行。例如,圖5可以以在如圖6中的機器可讀存儲介質604上的可運行指令的形式來實施。

在操作502處,控制器在處理器運行SMM BIOS代碼時監視計算設備的預期功能。處理器向控制器傳送指示處理器在進入SMM BIOS模式的過程中的信號。此信號指示控制器在運行SMM BIOS代碼的過程期間監視預期功能。控制器可以使用指示處理器何時運行SMM BIOS代碼的指南被編程,控制器通過監視預期功能作出反應。預期功能是在運行SMM BIOS代碼期間發生的行為。照此,開發人員可以創建可由控制器觀測的行為。監視此特定行為使得控制器能夠作為觀看者來操作以監視預期功能。在操作502處,控制器可以操作以觀測在操作504至510處的功能中的至少一個。在此實施方式中,可以使這些功能中的至少一個可由開發人員進行觀測。以此方式,這些功能可以由控制器觀測,使得控制器能夠從這些功能中預期特定行為。操作502可以與圖3和圖4中的操作302和406在功能上類似。

在操作504處,控制器可以監視計算設備內部的寄存器中的一個寄存器的設置。該寄存器可以包括運行SMM BIOS代碼的處理器的寄存器或其他類型的硬體寄存器。這些寄存器提供值的佔位符,其可以包括存儲關於處理器的特定條件的信息或者存儲其他信息。控制器可以跟蹤在寄存器處的值,以在運行SMM BIOS代碼的特定部分時確定那個值是否應該是預期值。如果該值不是預期值,則這可以指示預期功能的偏差。例如,假設在運行SMM BIOS代碼時預期處理器寄存器存儲位「0」,但處理器寄存器存儲位「1」。這指示預期功能的偏差,該偏差指示SMM BIOS代碼的改變。

在操作506處,控制器跟蹤處理器進入SMM BIOS模式以運行SMM BIOS代碼的次數。照此,控制器確定處理器是否已經達到運行SMM BIOS代碼的閾值次數。在此實施方式中,如果處理器達到此進入SMM BIOS模式的閾值次數或超出該閾值次數,則這向控制器傳送偏差信號。

在操作508處,控制器跟蹤處理器運行SMM BIOS代碼的時間量。控制器使用指定的時間量作為閾值,以指示處理器運行SMM BIOS代碼所花費的時間量是否異常。如果處理器花費至少指定的時間量或更多時間量,則這向控制器指示異常性或預期功能的偏差。相應地,此偏差指示SMM BIOS代碼的改變。

在操作510處,控制器跟蹤由運行SMM BIOS代碼的處理器生成的I/O循環的數量。I/O循環的數量可以包括在運行SMM BIOS代碼時發生的至控制器的消息的數量。因此,向控制器發消息使得控制器能夠跟蹤在運行SMM BIOS代碼時生成的I/O循環的數量。因此,控制器可以跟蹤每次處理器運行SMM BIOS代碼時應當生成的I/O循環的數量。因此,如果未達到或超過此數量,則這指示運行SMM BIOS代碼的功能的偏差或異常性。

在操作512處,控制器根據如在操作502處的在運行SMM BIOS代碼期間監視預期功能來檢測SMM BIOS代碼的改變。在一個實施方式中,檢測SMM BIOS代碼的改變包括間接監視SMM BIOS代碼。在此實施方式中,控制器在操作514處檢測預期功能的偏差。間接監視包括監視預期功能以確定SMM BIOS代碼是否已經保存計算設備的功能完整性。操作512可以與圖4中的操作408在功能上類似。

在操作514處,如果控制器檢測到預期功能的偏差,則此偏差指示存在SMM BIOS代碼的改變。該偏差是在處理器運行SMM BIOS代碼時發生的非預期功能。開發人員以這樣的方式開發SMM BIOS代碼中的代碼:當處理器運行此代碼時,存在在運行SMM BIOS代碼時發生的特定行為。偏差可包括那些特定行為的缺失和/或改變。通過檢測預期功能的偏差來檢測改變指示SMM BIOS代碼可能被破壞。相應地,在操作516處,控制器可以傳送此改變的通知或警告。操作514可以與圖4中的操作410在功能上類似。

在操作516處,當在操作512處檢測到SMM BIOS代碼的改變時,控制器可以繼續進行至傳送SMM BIOS代碼的改變的警告。操作516可以與圖4中的操作414在功能上類似。

圖6是計算設備600的框圖,計算設備600具有用於運行機器可讀存儲介質604中的指令606至614的控制器602。具體地,具有控制器602的計算設備600用於運行指令606至614,以在SMM BIOS代碼的運行期間監視計算設備600的預期功能。控制器602用於在SMM BIOS代碼的運行期間監視預期功能,以檢測SMM BIOS代碼的改變。如果控制器602檢測到SMM BIOS代碼的改變,則由於該改變指示SMM BIOS代碼已經被破壞,所以控制器602還可以運行指令606至614以傳送警告。

儘管計算設備600包括控制器602和機器可讀存儲介質604,但其還可以包括對於本領域技術人員而言合適的其他部件。例如,計算設備600可以包括如圖1中的用於運行SMM BIOS代碼的處理器102。計算設備600是具有能夠運行指令606至614的控制器602的電子設備,並且照此,計算設備600的這種實施例包括能夠運行指令606至614的計算設備、行動裝置、客戶端設備、個人計算機、臺式計算機、膝上型計算機、平板、視頻遊戲操控臺、或其他類型的電子設備。指令606至614可被實施為方法、功能、操作、和被實施為存儲在存儲介質604上的機器可讀指令的其他過程,該存儲介質604可以是非暫時性的,諸如硬體存儲設備(例如,隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程ROM、電可擦除ROM、硬碟和快閃記憶體)。

控制器602可以提取、解碼和運行指令606至614,以通過在運行SMM BIOS代碼時監視預期功能來檢測SMM BIOS代碼是否已經被破壞。在一個實施方式中,控制器602運行指令606至608,以通過監視預期功能來檢測SMM BIOS代碼的改變,並且檢測是否存在此預期功能的偏差。在另一實施方式中,在運行指令606至612時,控制器602運行指令614,以通過在運行SMM BIOS代碼期間監視預期功能並檢測預期功能的偏差來檢測SMM BIOS代碼的改變。具體地,控制器602運行指令606至608以進行以下操作:在運行SMM BIOS時監視計算設備600的預期功能;以及通過監視預期功能來檢測SMM BIOS代碼的改變。控制器602繼續進行至通過運行指令610至612來檢測SMM BIOS的改變,以進行以下操作:檢測預期功能的偏差;以及在完成SMM BIOS代碼的運行之前檢測改變。控制器602繼續進行至在檢測到改變時,傳送SMM BIOS代碼已經被破壞的警告,處理器602運行指令614以進行以下操作:傳送指示SMM BIOS代碼已經被破壞的SMM BIOS代碼的改變的警告。

機器可讀存儲介質604包括供控制器602提取、解碼和運行的指令606至614。在另一實施例中,機器可讀存儲介質604可以是包含或存儲可運行指令的電子設備、磁性設備、光學設備、存儲器設備、貯存設備、快閃驅動設備、或其他實體設備。因此,機器可讀存儲介質604可以包括例如隨機存取存儲器(RAM)、電可擦除可編程只讀存儲器(EEPROM)、貯存驅動、存儲器高速緩存、網絡貯存器、壓縮盤只讀存儲器(CDROM)等。照此,機器可讀存儲介質604可包括可獨立使用和/或結合控制器602使用以提取、解碼、和/或運行機器可讀存儲介質604的指令的應用和/或固件。應用和/或固件可存儲在機器可讀存儲介質604上,和/或存儲在計算設備600的另一位置上。

因此,本文公開的示例提供一種通過在SMM BIOS代碼的運行期間監視預期功能來檢測SMM BIOS代碼是否已經被破壞的機制。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀