根據新的NIST SP 800 193標準、在硬件上使用基于FPGA的可信根器件來實現平臺硬件保護和恢復(PFR), 可讓服務器固件免受網絡攻擊,保護性能更上一層樓。萊迪思全新PFR開發工具套件能夠簡單快速實現基于FPGA的PFR解決方案。
概述
典型的企業服務器包含多個處理組件,每個組件使用各自的非易失性SPI Flash緩存來保存其固件(即上電后處理組件立即啟動所需的軟件)。盡管使用閃存很方便現場升級和修復問題,但同時也容易遭受惡意攻擊。黑客可以未經授權就訪問固件,在組件的閃存中植入惡意代碼。這些代碼能夠輕易躲過標準的系統檢測手段,即便是進行更新或更換硬盤也無法解決,從而對系統造成永久性破壞。
為解決這一問題,一些處理組件采用集成在芯片上的硬件電路來檢測未經授權的固件修改。然而,電路板上其他未采用此種方案的處理組件還是缺乏有效保護,整個服務器仍然易受攻擊。美國國家標準與技術研究所(NIST)最近發布了2018年NISTSP800193標準,定義了一種標準的安全機制,稱為平臺固件保護恢復(PFR), 它主要基于以下三個指導原則:
PFR功能主要依賴外部的硬件(芯片)帶有“可信根”(RoT)的器件。使用基于FPGA的RoT器件實現PFR解決方案比使用基于MCU的可信根器件更安全、擴展性更好、系統可靠性更高。萊迪思推出的全新PFR開發套件能讓服務器的原始設備制造商快速為其現有設計增加PFR功能,并充分利用這一強大的安全技術帶來的優勢。系統架構師和系統集成商如今可以更為方便地設計、實現和維護符合PFR標準的FPGA RoT器件,而無需擁有專門的安全專業知識。預計到2021年,網絡攻擊犯罪造成的損失將達到6萬億美元1。網絡黑客不斷尋找規避安全措施的新方法,旨在:
? 偷看或竊取存儲在服務器上的專有數據(信用卡號、公司知識產權等)
? 繞過服務器偷看或竊取數據
? 劫持服務器,對其他目標進行DDoS攻擊
? 通過讓服務器的一個或多個硬件組件無法運行,從而對其造成破壞(稱之為“變磚頭”)
由于操作系統和應用會定期更新,以便加入新功能或修復漏洞,它們很容易成為黑客入侵服務器的最大目標。于是,組織的安防資源和戰略一般會傾向于保護操作系統和應用軟件。然而,入侵服務器還有另外一個較少為人所知的攻擊載體:固件。
固件是指服務器組件(即CPU、網絡控制器,片上RAID解決方案等)率先上電后立即執行的第一個啟動代碼。組件的處理器假定固件為一個有效可靠的起點,從中啟動并根據服務器的配置使用它來分階段驗證和加載更高級別的功能。在某些情況下,處理組件在其整個運行周期內使用固件執行所需的功能。
國際信息系統審計協會(ISACA)2016年的一份調查顯示,在那些聲稱將硬件安全視作組織頭等大事的受訪者中,超過半數“報告了至少一起受惡意軟件影響的固件被引入公司系統的事件”,并且17%的受訪者表示“這些事件造成了實質性影響。2”
固件安全狀態
服務器固件可能在供應鏈的各個不同階段遭到入侵,包括:
? 在原始設備制造商處:在生產過程中操作人員惡意植入受感染的固件
? 在系統集成商處:在根據客戶要求配置服務器時安裝未經授權的固件
? 轉運到客戶的過程中:黑客可以打開服務器包裝,通過線纜下載未經授權的固件,將惡意代碼植入組件的SPI存儲器中
? 現場運行過程中:黑客可以利用固件的自動更新,將可繞過任何現有保護機制的偽造固件替代正常的更新典型的服務器主板目前都使用至少兩種標準的固件實例:統一可擴展固件接口(UEFI)和基板管理控制器(BMC)。盡管這些接口能對固件起到一定的保護作用,但也非常有限。
統一可擴展固件接口(UEFI)
UEFI(之前稱為BIOS)是負責將服務器固件載入操作系統的軟件程序。UEFI在生產過程中就已經安裝就緒,用于檢查服務器有哪些硬件組件、喚醒這些組件并將其交給操作系統3。這一標準通過一種稱之為安全啟動的過程檢測未經授權的固件,如果檢測到未經授權的固件,該安全機制就會阻止硬件組件啟動4。然而,安全啟動的實現和支持因組件和供應商而異,這會導致組件安全性能出現漏洞,從而被黑客利用。此外,如果非法固件設法繞過了安全啟動,UEFI就無法將組件的固件恢復到上一個經授權的版本并繼續運行。
基板管理控制器
基板管理控制器是母板上的一種專用微控制器(MCU),通過獨立的連接與系統管理員通信以及使用傳感器來監控“計算機、網絡服務器或其他硬件設備5”。許多BMC會篩查各自的固件安裝情況以確保固件的合法性,但是對于其他的服務器固件則無能為力。BMC無法阻止惡意代碼攻擊電路板上的其他固件。例如,如果惡意代碼被植入組件的SPI存儲器未使用的分區,那么BMC則無法阻止代碼進入服務器的整個代碼流。
?
圖 1:統一可擴展固件接口和基板管理控制器接口只能提供有限的固件保護
平臺固件保護恢復(NIST SP 800 193標準)
為解決當前固件標準的安全問題,美國國家標準技術研究所(NIST)于2018年5月發布了一項新標準,為包括UEFI和BMC在內的所有固件提供全面保護。這一被稱為PFR的NIST SP 800新標準旨在“提供技術指導和建議, 支持平臺固件和數據的恢復,預防潛在的破壞性入侵。6”它提供了一種保護系統中所有固件的統一方法,并且可以配置為對正常系統操作不具有侵入性。一旦確定未經授權的固件正在嘗試安裝,它則會停止任何相關組件。并且PFR還相對于各個組件可能支持的任何安全功能獨立運行。
該標準概括了保護固件的三大關鍵原則:
? 保護? –?? 通過阻止對組件SPI存儲器的保護區域實施未經授權的寫入或者清除全部或部分固件的惡意行為,從而確保組件的固件處于穩定狀態。在有些情況下,甚至對保護區的讀取的操作也是禁止的。
? 檢測 – 在組件的處理器從固件啟動之前,可以先驗證來自原始設備制造商的固件更新包。若檢測到固件有破壞或未經授權,則啟動恢復過程。
? 恢復 – 若檢測到固件被篡改或被破壞,處理器將從上一個可信固件版本(即“黃金鏡像”)啟動,或者通過可信進程獲得新的固件,啟動全系統的恢復。
PFR需要基于硬件的可信根
根據NIST的這一標準,實現安全的PFR功能需要可信根(RoT)器件對服務器的固件執行保護、檢測和恢復操作。符合NIST標準的RoT器件必須在啟動之前、且不借助任何其他外部組件的情況下對其固件進行以上操作。
硬件RoT解決方案必須擁有以下特點:
? 可擴展?? – RoT器件必須通過外部SPI鏡像實現保護、檢測和恢復功能,同時具備毫微秒級響應速度。這需要專用處理和I/O接口,保證服務器的性能不受影響。
? 不可繞過 – 未經授權的固件不能繞過RoT器件,從而無法從受損的固件啟動服務器。
? 自我保護?? – RoT器件必須動態地應對不斷變化的攻擊面(設備或系統中未經授權的用戶可以訪問的所有節點),保護自身免受外部攻擊。
? 自我檢測 – RoT器件必須能夠使用不可繞過的加密硬件模塊檢測未授權的固件。
? 自我恢復 – 當設備發現未經授權的固件時,RoT器件必須能夠自動切換到上一個黃金固件映像,確保服務器繼續運行。
圖 2:NIST SP 800-193標準:平臺固件保護恢復
如圖3所示,RoT器件首先上電,并通過加密方式檢查所有組件的固件,以及是否有未經授權的修改。若RoT器件檢測到任何破壞,則啟動可信固件恢復過程。在極端情況下,若電路板上的所有固件全部受損,RoT器件還可以利用存儲在該器件中的可信固件進行全系統恢復(通過BMC)。BMC從可信固件啟動后,從系統外部取得已知可?????? 信的固件替代被破壞的固件版本。RoT器件隨后再次驗證所有固件,然后啟動電路板的上電程序,在此過程中板上所有組件都將上電,并強制從已知的完好固件鏡像中啟動,最后開始正常工作。
為保證SPI存儲器不再遭受入侵,RoT將主動監測SPI存儲器和對應處理器之間的所有活動,發現惡意更新固件的行為后,阻止安裝更新。
實現符合NIST標準的PFR解決方案
PLD上實現可信根的難點在于,實現方案的同時不給原始設備制造商帶來過大的負擔??尚鸥布鉀Q方案(包括基于PLD的解決方案)必須可擴展,也就意味著它能夠保護服務器上的所有固件,同時響應時間達到毫微秒 級。它還要能夠使用不可修改的加密模塊,通過加密檢測來確定固件是否遭到篡改。將PFR與服務器所有組件完整的啟動時序控制功能相結合,RoT就變得不可繞過。最后,解決方案還應能夠自動切換回最近的黃金固件鏡像,以便在發現當前固件被破壞時服務器可以繼續運行。
按照定義,基于硬件的RoT器件自然需要在芯片中實現。在此情況下,最常用的芯片平臺即微控制器(MCU)和現場可編程門陣列(FPGA)。在充分考慮到FPGA和MCU的運行特點和特性后,我們發現FPGA在很大程度上更適用于PFR解決方案
使用MCU實現可信根
MCU過去常在服務器硬件產品中用于構建可信根。簡單來說,就是保留MCU層的一部分為可信執行環境。MCU 的這一部分與芯片的其他區域保持物理隔離,并持續監控固件,確保其獲得授權并正常工作。通常來說,服務器上的PFR功能是通過向現有的硬件架構上添加RoTMCU實現的。
MCU通常難以支持驗證服務器中的多個固件實例。這是因為它無法在沒有外部設備(如PLD)的幫助下響應對服????? 務器所有固件實例的系統內部攻擊(而PLD能實時監控SPI存儲器的流量并同步檢測和響應入侵行為)。
如圖4所示,使用MCU實現PFR的三個組件為:
? RoTMCU– RoT MCU執行檢測、恢復和保護功能;它是實現RoT的核心組件。
? 保護PLD– 通過實時監控所有組件處理器與其SPI存儲器設備之間的活動,大規模實現PFR,全面保護電路板。
? 控制PLD– 該器件集成了所有電路板級的上電和復位時序功能,包括風扇控制、SGPIO、I2C緩沖、信號集成和帶外通信等啟動主板必須的功能。RoTMCU命令控制PLD為電路板上電。若需要在極端情況進行恢復,RoTMCU則命令控制PLD僅為可信恢復過程中使用的部分電路板供電。
圖 3:如果需要各組件同時啟動,那么符合PFR標準、使用MCU作為可信根的服務器還需要額外的組件(FPGA) 來提供必要的高性能;在大規模的服務器應用場景下,此種解決方案不可擴展
這種基于MCU的PFR方案有諸多限制。例如,圖4電路中使用的控制PLD無法保護自身固件,也就意味著這種架構并非完全符合NIST PFR的要求??刂芇LD的代碼仍有可能被修改,讓RoTMCU失效。還有可能受到永久拒絕服務攻擊(PDoS),通過刪除這些PLD上的信息,讓系統無法運行,從而使讓服務器無法啟動。保護和控制PLD 存在的安全漏洞使得組件在運輸或者系統集成過程中很難防止對固件的攻擊。為了達到NIST SP 800 193標準,RoTMCU必須同時為控制PLD和保護PLD實現PFR功能。而使用MCU在這些器件上實現恢復和保護功能非常困難。最后,基于MCU的方案需要額外的系統級進程來檢測試圖繞過整個RoT電路的攻擊行為。
使用FPGA實現可信根
?
Root-of-TrustFPGA
圖 4:RoT FPGA解決方案將RoTMCU、控制PLD和保護PLD的功能集成在單個芯片上,不僅可靠、易擴展,而且不可繞過。在擁有符合PFR標準的PLD的服務器上,PLD的性能足以并行監測所有組件的固件而無需使用額外的FPGA
基于可信根FPGA的PFR方案的優勢
正如其名,可編程邏輯電路(PLD)是一種幾乎可以瞬時實現遠程重新編程的集成電路,以適應不斷變化的場景。PLD可以在硬件層面上改變其電路,因此一旦檢測到未經授權的固件,該固件就無法安裝。
由于PLD被設計為可重新編程,因此比MCU有更多的I/O接口,這讓它們可以并行運行多個功能而非按順序執行。 因此它們在檢測未授權固件時,識別和響應速度更快。
此外,PLD使用了先進的仿真軟件,讓工程師得以驗證其PLD設計的功能。工程師還可以使用這一工具來測試其針對各種固件的網絡攻擊的設計是否可以保護PLD自身。與PLD相比,MCU的固件更新需要更復雜的測試和驗證,因為MCU不能通過仿真支持功能驗證。相反,MCU固件的任何更新都必須經過多次回歸(試錯過程)測試, 以確保新固件不會對MCU中的其他功能產生不良影響;這一過程遠比運行PLD仿真軟件繁瑣。
當我們對比PLD和MCU的特點時,會發現PLD能提供性能更優、更為可靠的平臺實現基于硬件的可信根;它也成為滿足PFR標準的必要器件。
應對供應鏈攻擊:MCU vs. FPGA PFR解決方案
如果出現固件攻擊,兩種不同類型的PFR系統將采取以下應對措施(按照實施順序):
RoT MCU
RoT FPGA
檢測:RoTMCU對所有的SPI存儲器設備按順序執行加密檢測,以檢測是否存在未經授權的固件。 遭受入侵的控制PLD(在供應鏈環節)可以繞過RoTMCU的檢測,讓BMC從受損的鏡像啟動。
檢測:RoT FPGA對所有的SPI存儲器設備按順序執行加密檢測,以檢測是否存在未經授權的固件。FPGA在 其片上非易失性存儲器中記錄故障情況用于之后的分析。RoTFPGA可保護自身免受來自供應鏈環節的攻擊。
若檢測到受損的固件,恢復過程則由管理啟動源SPI存 儲器的保護PLD,或通過控制或保護PLD啟動并由RoTMCU監控。
基于FPGA的系統將此功能集成到其硬件中。RoT和ControlPLD之間不需要進行外部通信。這使得解決方案更加可靠且不再受外部攻擊影響。
服務器完全啟動后,保護PLD會主動實時監視所有的SPI活動以阻止后續攻擊,并在檢測到入侵時通知RoT MCU。
最終的解決方案更簡單,完全符合NIST的標準。
PFR開發套件簡化FPGA可信根方案的實現
萊迪思現提供一款PFR開發套件,可簡化FPGA RoT解決方案的實現。服務器組件的原始設備制造商和系統集成商如今可以快速實現基于FPGA的PFR,滿足上市時間的要求。該套件包括一個軟件功能庫、相關的IP和3個開發板,用于實現PFR(包括保護PLD功能)。用戶可以通過Lattice Diamond軟件工具將電路板控制PLD功能添加到RoTFPGA設計中。萊迪思PFR開發套件和開發板包括:
? 一個RoTFPGA開發板
? 一塊運行Python腳本的ECP5FPGA板,用于模擬服務器的BMC。開發人員可以通過Python腳本執行命令來模擬對組件SPI存儲器的攻擊。
? 一個PFR適配卡,用于在SPI存儲器中存儲BMC代碼。在開發板的RoTFPGA中實現的PFR功能可以保護PFR適配卡固件免受攻擊(意味著基于FPGA的該解決方案符合NISTPFR標準)。
萊迪思套件讓用戶能夠設計、實現和維護符合NIST標準的自定義PFR方案,而無需專門的安全專業知識。
圖 5:Lattice FPGA RoT開發套件擁有三塊開發板:RoTFPGA開發板,用于模擬服務器BMC的ECP5開發板和用于存儲模擬BMC固件的SPI閃存板
小結
對于涉足數字領域的企業和組織而言,網絡安全是個至關重要的問題。如今黑客會通過攻擊企業服務器固件來獲取未經授權訪問服務器數據的權限,或者直接讓服務器永久癱瘓。而通過基于FPGA的RoT器件實現的PFR則能有效解決這一難題,提供安全可靠、容易擴展、全套完備的方案,在供應鏈的任何環節保護服務器組件的固件。全新的萊迪思PFR開發套件為加速和簡化RoT器件的開發提供了便捷途徑,確保你的服務器安全無虞。
評論
查看更多