上期我們談到了服務(wù)器固件的安全風(fēng)險和傳統(tǒng)保護方法的不足,談到了平臺固件保護恢復(fù)(PFR)這一全新的標(biāo)準(zhǔn)將為服務(wù)器提供全方位的保護。今天我們談?wù)勅绾螌崿F(xiàn)PFR解決方案 ,以及兩種典型方案的比較。
實現(xiàn)符合NIST標(biāo)準(zhǔn)的PFR解決方案
PLD上實現(xiàn)可信根的難點在于,實現(xiàn)方案的同時不給原始設(shè)備制造商帶來過大的負擔(dān)。可信根硬件解決方案(包 括基于PLD的解決方案)必須可擴展,也就意味著它能夠保護服務(wù)器上的所有固件,同時響應(yīng)時間達到毫微秒級。它還要能夠使用不可修改的加密模塊,通過加密檢測來確定固件是否遭到篡改。將PFR與服務(wù)器所有組件完整的啟動時序控制功能相結(jié)合,RoT就變得不可繞過。最后,解決方案還應(yīng)能夠自動切換回最近的黃金固件鏡像,以便在發(fā)現(xiàn)當(dāng)前固件被破壞時服務(wù)器可以繼續(xù)運行。
按照定義,基于硬件的RoT器件自然需要在芯片中實現(xiàn)。在此情況下,最常用的芯片平臺即微控制器(MCU)和現(xiàn) 場可編程門陣列(FPGA)。在充分考慮到FPGA和MCU的運行特點和特性后,我們發(fā)現(xiàn)FPGA在很大程度上更適用于PFR解決方案。
使用MCU實現(xiàn)可信根
MCU過去常在服務(wù)器硬件產(chǎn)品中用于構(gòu)建可信根。簡單來說,就是保留MCU層的一部分為可信執(zhí)行環(huán)境。MCU 的這一部分與芯片的其他區(qū)域保持物理隔離,并持續(xù)監(jiān)控固件,確保其獲得授權(quán)并正常工作。通常來說,服務(wù)器上的PFR功能是通過向現(xiàn)有的硬件架構(gòu)上添加RoT MCU實現(xiàn)的。
MCU通常難以支持驗證服務(wù)器中的多個固件實例。這是因為它無法在沒有外部設(shè)備(如PLD)的幫助下響應(yīng)對服務(wù)器所有固件實例的系統(tǒng)內(nèi)部攻擊(而PLD能實時監(jiān)控SPI存儲器的流量并同步檢測和響應(yīng)入侵行為)。如圖4所示,使用MCU實現(xiàn)PFR的三個組件為:
RoT MCU– RoT MCU執(zhí)行檢測、恢復(fù)和保護功能;它是實現(xiàn)RoT的核心組件。
保護PLD– 通過實時監(jiān)控所有組件處理器與其SPI存儲器設(shè)備之間的活動,大規(guī)模實現(xiàn)PFR,全面保護電路板。
控制PLD– 該器件集成了所有電路板級的上電和復(fù)位時序功能,包括風(fēng)扇控制、SGPIO、I2C緩沖、信號集成和帶外通信等啟動主板必須的功能。RoT MCU命令控制PLD為電路板上電。若需要在極端情況進行恢復(fù),RoT MCU則命令控制PLD僅為可信恢復(fù)過程中使用的部分電路板供電。
圖 4:如果需要各組件同時啟動,那么符合PFR標(biāo)準(zhǔn)、使用MCU作為可信根的服務(wù)器還需要額外的組件(FPGA)來提供必要的高性能;在大規(guī)模的服務(wù)器應(yīng)用場景下,此種解決方案不可擴展
這種基于MCU的PFR方案有諸多限制。例如,圖4電路中使用的控制PLD無法保護自身固件,也就意味著這種架構(gòu)并非完全符合NIST PFR的要求。控制PLD的代碼仍有可能被修改,讓RoT MCU失效。還有可能受到永久拒絕服務(wù)攻擊(PDoS),通過刪除這些PLD上的信息,讓系統(tǒng)無法運行,從而使讓服務(wù)器無法啟動。保護和控制PLD存在的安全漏洞使得組件在運輸或者系統(tǒng)集成過程中很難防止對固件的攻擊。為了達到NIST SP 800 193標(biāo)準(zhǔn),RoT MCU必須同時為控制PLD和保護PLD實現(xiàn)PFR功能。而使用MCU在這些器件上實現(xiàn)恢復(fù)和保護功能非常困難。最后,基于MCU的方案需要額外的系統(tǒng)級進程來檢測試圖繞過整個RoT電路的攻擊行為。
使用FPGA實現(xiàn)可信根
圖 5:RoT FPGA解決方案將RoT MCU、控制PLD和保護PLD的功能集成在單個芯片上,不僅可靠、易擴展,而且不可繞過。在擁有符合PFR標(biāo)準(zhǔn)的PLD的服務(wù)器上,PLD的性能足以并行監(jiān)測所有組件的固件而無需使用額外的FPGA
基于可信根FPGA的PFR解決方案優(yōu)勢
正如其名,可編程邏輯電路(PLD)是一種幾乎可以瞬時實現(xiàn)遠程重新編程的集成電路,以適應(yīng)不斷變化的場景。PLD可以在硬件層面上改變其電路,因此一旦檢測到未經(jīng)授權(quán)的固件,該固件就無法安裝。
由于PLD被設(shè)計為可重新編程,因此比MCU有更多的I/O接口,這讓它們可以并行運行多個功能而非按順序執(zhí)行。 因此它們在檢測未授權(quán)固件時,識別和響應(yīng)速度更快。
此外,PLD使用了先進的仿真軟件,讓工程師得以驗證其PLD設(shè)計的功能。工程師還可以使用這一工具來測試其針對各種固件的網(wǎng)絡(luò)攻擊的設(shè)計是否可以保護PLD自身。與PLD相比,MCU的固件更新需要更復(fù)雜的測試和驗證,因為MCU不能通過仿真支持功能驗證。相反,MCU固件的任何更新都必須經(jīng)過多次回歸(試錯過程)測試,以確保新固件不會對MCU中的其他功能產(chǎn)生不良影響;這一過程遠比運行PLD仿真軟件繁瑣。
當(dāng)我們對比PLD和MCU的特點時,會發(fā)現(xiàn)PLD能提供性能更優(yōu)、更為可靠的平臺實現(xiàn)基于硬件的可信根;它也成為滿足PFR標(biāo)準(zhǔn)的必要器件。
應(yīng)對供應(yīng)鏈攻擊:MCU與FPGA解決方案
如果出現(xiàn)固件攻擊,兩種不同類型的PFR系統(tǒng)將采取以下應(yīng)對措施(按照實施順序):
PFR開發(fā)套件簡化FPGA可信根的實現(xiàn)
萊迪思現(xiàn)提供一款PFR開發(fā)套件,可簡化FPGA RoT解決方案的實現(xiàn)。服務(wù)器組件的原始設(shè)備制造商和系統(tǒng)集成商如今可以快速實現(xiàn)基于FPGA的PFR,滿足上市時間的要求。該套件包括一個軟件功能庫、相關(guān)的IP和3個開發(fā)板,用于實現(xiàn)PFR(包括保護PLD功能)。用戶可以通過Lattice Diamond軟件工具將電路板控制PLD功能添加到 RoT FPGA設(shè)計中。萊迪思PFR開發(fā)套件和開發(fā)板包括:
★一個RoT FPGA開發(fā)板
★ 一塊運行Python腳本的ECP5 FPGA板,用于模擬服務(wù)器的BMC。開發(fā)人員可以通過Python腳本執(zhí)行命令來模擬對組件SPI存儲器的攻擊。
★ 一個PFR適配卡,用于在SPI存儲器中存儲BMC代碼。在開發(fā)板的RoT FPGA中實現(xiàn)的PFR功能可以保護PFR適 配卡固件免受攻擊(意味著基于FPGA的該解決方案符合NIST PFR標(biāo)準(zhǔn))。
萊迪思套件讓用戶能夠設(shè)計、實現(xiàn)和維護符合NIST標(biāo)準(zhǔn)的自定義PFR方案,而無需專門的安全專業(yè)知識。
圖 6:Lattice FPGA RoT開發(fā)套件擁有三塊開發(fā)板:RoT FPGA開發(fā)板,用于模擬服務(wù)器BMC的ECP5開發(fā)板和用于 存儲模擬BMC固件的SPI閃存板
小結(jié)
對于涉足數(shù)字領(lǐng)域的企業(yè)和組織而言,網(wǎng)絡(luò)安全是個至關(guān)重要的問題。如今黑客會通過攻擊企業(yè)服務(wù)器固件來獲取未經(jīng)授權(quán)訪問服務(wù)器數(shù)據(jù)的權(quán)限,或者直接讓服務(wù)器永久癱瘓。而通過基于FPGA的RoT器件實現(xiàn)的PFR則能有效解決這一難題,提供安全可靠、容易擴展、全套完備的方案,在供應(yīng)鏈的任何環(huán)節(jié)保護服務(wù)器組件的固件。全新的萊迪思PFR開發(fā)套件為加速和簡化RoT器件的開發(fā)提供了便捷途徑,確保你的服務(wù)器安全無虞。
-
微控制器
+關(guān)注
關(guān)注
48文章
7576瀏覽量
151721 -
存儲器
+關(guān)注
關(guān)注
38文章
7517瀏覽量
164072 -
電路板
+關(guān)注
關(guān)注
140文章
4979瀏覽量
98362
原文標(biāo)題:您的服務(wù)器安全可能面臨威脅!!(Part 2)
文章出處:【微信號:FPGAer_Club,微信公眾號:FPGAer俱樂部】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論