美國國家標(biāo)準(zhǔn)與技術(shù)研究院NIST SP800-193的《平臺(tái)固件彈性指南》
2024-10-17 12:01:48 華邦“物聯(lián)網(wǎng)”(IoT)這一術(shù)語大約誕生于二十年前,彼時(shí)正值網(wǎng)際網(wǎng)絡(luò)蓬勃發(fā)展時(shí)期。當(dāng)時(shí),專家們?cè)O(shè)想所有系統(tǒng)或設(shè)備可通過互聯(lián)網(wǎng)連接功能,提供高級(jí)且智能的功能。該術(shù)語的提出主要是為了將獨(dú)立的聯(lián)網(wǎng)設(shè)備與相對(duì)傳統(tǒng)且需要定期人工維護(hù)的計(jì)算機(jī)和服務(wù)器進(jìn)行區(qū)分。網(wǎng)絡(luò)安全在那時(shí)僅被視為屬于計(jì)算機(jī)和服務(wù)器的考慮范疇;對(duì)于其他類型的設(shè)備而言,網(wǎng)絡(luò)安全的概念鮮少使用或被理解,設(shè)備的可用性和創(chuàng)新性才是當(dāng)時(shí)人們的主要關(guān)注點(diǎn)。
隨著時(shí)間的推移,越來越多的設(shè)備開始聯(lián)網(wǎng),包括移動(dòng)設(shè)備、網(wǎng)絡(luò)連結(jié)、工業(yè)控制、家用電器以及始終在線的個(gè)人電腦。由于缺乏規(guī)范,每個(gè)供應(yīng)商在安全性方面都有自己的舉措,或者有的供應(yīng)商完全沒有考慮到安全性。隨著連接性的增加,網(wǎng)絡(luò)安全風(fēng)險(xiǎn)也隨之增加。功能強(qiáng)大的聯(lián)網(wǎng)設(shè)備成為黑客遠(yuǎn)程攻擊的目標(biāo),他們企圖利用這些設(shè)備的功能來滿足自己的需求。黑客攻擊可能是簡單的濫用聯(lián)網(wǎng)系統(tǒng),也可能是利用聯(lián)網(wǎng)設(shè)備進(jìn)行更復(fù)雜的攻擊,或者是通過創(chuàng)建機(jī)器人程序在某一日發(fā)動(dòng)大規(guī)模的網(wǎng)絡(luò)攻擊。
隨著聯(lián)網(wǎng)設(shè)備的不斷迭代升級(jí),社會(huì)經(jīng)濟(jì)發(fā)展對(duì)于其功能和運(yùn)行的依賴程度越來越高。曾經(jīng)的新奇事物現(xiàn)在已成為現(xiàn)代社會(huì)的主要支柱,基礎(chǔ)設(shè)施、公用事業(yè)、家庭和政府機(jī)構(gòu)都依賴聯(lián)網(wǎng)設(shè)備的正常運(yùn)行,以維持穩(wěn)定的日常生活。
這促使美國國家標(biāo)準(zhǔn)與技術(shù)研究院 (NIST)于 2018 年 5 月發(fā)布了 NIST SP800-193《平臺(tái)固件彈性指南》[?1]。該指南面向運(yùn)行任意類型固件的聯(lián)網(wǎng)設(shè)備,包括從大型復(fù)雜的服務(wù)器到小型的嵌入式控制器。本白皮書旨在為讀者介紹該指南涵蓋的內(nèi)容及原則。
NIST SP800-193(以下簡稱“193”)討論了“恢復(fù)力(Resiliency)”的概念,即系統(tǒng)或平臺(tái)抵抗惡意攻擊或自發(fā)錯(cuò)誤導(dǎo)致故障的能力。恢復(fù)力的基礎(chǔ)包括以下三大原則:
圖一: 華邦安全閃存提供保護(hù)、檢測(cè)及恢復(fù)內(nèi)存中代碼和關(guān)鍵數(shù)據(jù)遭未授權(quán)更改的方法。
保護(hù)即確保平臺(tái)代碼和數(shù)據(jù)保持完整狀態(tài)。完整狀態(tài)并不意味著這些代碼和數(shù)據(jù)沒有被修改,而是指其處于允許按照供應(yīng)商、用戶和基礎(chǔ)設(shè)施的要求進(jìn)行正確操作的狀態(tài)。對(duì)于代碼而言,這意味著正在運(yùn)行系統(tǒng)的是經(jīng)過驗(yàn)證、可信的代碼版本;對(duì)于數(shù)據(jù)而言,則意味著數(shù)據(jù)僅允許授權(quán)實(shí)體和進(jìn)程修改。
檢測(cè)即平臺(tái)識(shí)別代碼和關(guān)鍵數(shù)據(jù)損壞并發(fā)出警報(bào)的能力。檢測(cè)必須由單獨(dú)的分層來處理,因?yàn)槭軗p代碼無法信賴來自自身或相關(guān)數(shù)據(jù)的測(cè)試。
恢復(fù)力即系統(tǒng)在代碼和關(guān)鍵數(shù)據(jù)方面恢復(fù)到正確工作狀態(tài)的能力。
如果系統(tǒng)符合保護(hù)、檢測(cè)和恢復(fù)三大原則,便是值得信賴的系統(tǒng),亦即表示可以在受到網(wǎng)絡(luò)攻擊和各種自發(fā)錯(cuò)誤期間繼續(xù)運(yùn)行。
NIST SP800-193 僅涵蓋固件和關(guān)鍵數(shù)據(jù)的恢復(fù)力,并未涉及其他數(shù)據(jù)的丟失或損壞、或系統(tǒng)硬件的物理損壞。
華邦的安全閃存設(shè)備如何根據(jù) NIST SP800-193 指南提供恢復(fù)力
華邦的安全閃存設(shè)備系列以恢復(fù)力為核心進(jìn)行設(shè)計(jì),通過將復(fù)雜的邏輯直接內(nèi)置到閃存設(shè)備硬件中,符合NIST SP800-193 指南的三大原則,為處理恢復(fù)力提供了所需的單獨(dú)層。
1. 信任根
“信任根”是指保持固件處于完整狀態(tài),使其值得信任。用戶和基礎(chǔ)設(shè)施可以依靠固件的功能來正確操作系統(tǒng),并在執(zhí)行前驗(yàn)證固件其它部分的真實(shí)性和完整性。
2. 加密寫入保護(hù)
為實(shí)現(xiàn)保護(hù)并維持系統(tǒng)固件和關(guān)鍵數(shù)據(jù)的完整性,華邦的安全閃存設(shè)備采用了加密寫入保護(hù) (CWP)。加密寫入保護(hù)允許平臺(tái)設(shè)計(jì)者保護(hù)閃存設(shè)備的某些區(qū)域免受被擦除或編程操作。如果要進(jìn)行編程或擦除,唯一的方法是先通過加密認(rèn)證過程,這個(gè)要求可讓使用者了解加密密鑰是被安全地存儲(chǔ)在閃存設(shè)備不可訪問的地方。因?yàn)槊荑€在系統(tǒng)中不以明文形式存在,因此網(wǎng)絡(luò)攻擊者無法獲悉這些密鑰。而且每個(gè)系統(tǒng)的密鑰均是單獨(dú)設(shè)計(jì),可以防止在單個(gè)實(shí)例受到攻擊和破壞時(shí),導(dǎo)致系統(tǒng)大范圍的破壞。
3. 認(rèn)證更新機(jī)制
NIST SP800-193 指南要求及時(shí)更新系統(tǒng)固件以修補(bǔ)安全漏洞。指南要求應(yīng)通過身份驗(yàn)證的機(jī)制來進(jìn)行更新,以確保更新的真實(shí)可靠(來自正確來源)和完整(完整且未經(jīng)修改)。因此,固件更新必須提供簽名摘要,以便系統(tǒng)確保更新代碼的真實(shí)性、完整性且未經(jīng)修改。然而,這項(xiàng)要求帶來了“先有雞還是先有蛋”的問題。如果更新機(jī)制存在漏洞并需要修補(bǔ)怎么辦?如果更新機(jī)制存在漏洞,攻擊者就有可能加載危險(xiǎn)固件,那么固件是否值得信任?
為解決這個(gè)問題,華邦的安全閃存包含了一個(gè)內(nèi)置機(jī)制,為固件更新提供身份驗(yàn)證和完整性保護(hù)。除此之外,更新機(jī)制還提供回滾保護(hù)(Roll-back Protection)和原子操作(Atomic Operation)。這種更新機(jī)制允許將新的固件映像逐塊寫入閃存設(shè)備,以適應(yīng)速度較慢或不可靠的網(wǎng)絡(luò)。一旦整個(gè)更新映像寫入完成,安全閃存即對(duì)新映像進(jìn)行驗(yàn)證,檢查其是否完整、真實(shí),以及其版本是否比閃存中的現(xiàn)有版本更新。如果所有檢查都成功完成,則安全閃存交換新映像與舊映像,為系統(tǒng)提供真正的更新固件。整個(gè)過程都具備失效保護(hù)(Fail-safe)功能,防止在更新過程發(fā)生系統(tǒng)故障,從而進(jìn)一步提高了平臺(tái)的恢復(fù)力。
NIST SP800-193 指南要求系統(tǒng)在執(zhí)行或使用固件和關(guān)鍵數(shù)據(jù)之前檢測(cè)未經(jīng)授權(quán)的更改。一旦檢測(cè)到,系統(tǒng)可以啟動(dòng)恢復(fù)過程。
1. 自動(dòng)完整性檢查
華邦安全閃存在啟動(dòng)時(shí)或可根據(jù)用戶要求,對(duì)固件區(qū)域進(jìn)行自動(dòng)完整性檢查。這項(xiàng)檢查會(huì)掃描整個(gè)固件區(qū)域,查找任何未經(jīng)授權(quán)的更改。如果檢測(cè)到未經(jīng)授權(quán)的更改,安全閃存將執(zhí)行下文所述的恢復(fù)過程。
自動(dòng)完整性檢查全程在閃存硬件中實(shí)現(xiàn),因此提供了額外的、單獨(dú)的防護(hù)層。
2. 固件啟動(dòng)數(shù)據(jù)認(rèn)證
華邦安全閃存還支持專用的硬件認(rèn)證機(jī)制,以驗(yàn)證關(guān)鍵數(shù)據(jù)。這項(xiàng)機(jī)制可由固件隨時(shí)啟動(dòng),以確保關(guān)鍵數(shù)據(jù)不被破壞。它基于內(nèi)置的 SHA-256 引擎,無需將數(shù)據(jù)從閃存移至內(nèi)存,即可對(duì)大型數(shù)據(jù)集進(jìn)行超快速驗(yàn)證。
恢復(fù)機(jī)制可在檢測(cè)到平臺(tái)固件和關(guān)鍵數(shù)據(jù)損壞時(shí),將其恢復(fù)到有效且授權(quán)的狀態(tài)。
1. 自動(dòng)固件回滾防護(hù)機(jī)制
華邦的安全閃存設(shè)備專門分配了回滾防護(hù)機(jī)制的區(qū)域,以支持自動(dòng)固件恢復(fù)。該區(qū)域包含了備用固件,當(dāng)檢測(cè)到損壞時(shí),備用固件會(huì)自動(dòng)替換損壞的固件。此備用固件可以是原始固件的真實(shí)副本,也可以是專用于從損壞狀態(tài)恢復(fù)后系統(tǒng)的特殊固件版本。
自動(dòng)固件回滾防護(hù)機(jī)制與自動(dòng)完整性檢查協(xié)同工作。在系統(tǒng)啟用期間,閃存會(huì)在內(nèi)部檢查固件的完整性。在此期間,系統(tǒng)將處于重置狀態(tài)。如果未能通過完整性檢查,閃存會(huì)自動(dòng)重新映射回滾防護(hù)區(qū)域而不是損壞的固件區(qū)域,并允許系統(tǒng)執(zhí)行備份固件。
回滾防護(hù)固件可以是原始系統(tǒng)固件的副本,也可以支持從本地存儲(chǔ)的副本或通過遠(yuǎn)程存儲(chǔ)來恢復(fù)固件。
通過使用專用于該區(qū)域的唯一密鑰,回滾防護(hù)固件受到加密寫入保護(hù)。因此,即使其他區(qū)域的密鑰受到威脅也不會(huì)影響到回滾防護(hù)固件,符合NIST SP800-193 指南對(duì)恢復(fù)機(jī)制完整性的要求。
2. 關(guān)鍵數(shù)據(jù)的恢復(fù)
華邦的安全閃存允許為每個(gè)區(qū)域設(shè)置多種保護(hù)方案。關(guān)鍵數(shù)據(jù)保存在兩個(gè)單獨(dú)的區(qū)域中,每個(gè)區(qū)域都有唯一的密鑰,從而保護(hù)關(guān)鍵數(shù)據(jù)免受損壞或惡意攻擊。因此,數(shù)據(jù)的安全副本可以被完整保護(hù)且保存在本地,并在數(shù)據(jù)受損時(shí)使用該副本。
圖二: 華邦安全閃存在偵測(cè)到任何固件代碼或數(shù)據(jù)完整性遭到黑客攻擊或破壞時(shí),能自動(dòng)恢復(fù)平臺(tái)固件。
總結(jié)
NIST SP800-193 指南闡述了系統(tǒng)實(shí)現(xiàn)恢復(fù)力所需滿足的要求,以確保其能夠抵御因固件和關(guān)鍵數(shù)據(jù)遭到惡意攻擊,或發(fā)生故障時(shí)所導(dǎo)致的損壞。但這些要求只能通過專用的保護(hù)層才能實(shí)現(xiàn)。鑒于這個(gè)保護(hù)層需植根于恒定的代碼中,因此實(shí)現(xiàn)起來極具挑戰(zhàn)性。
華邦的安全閃存在硬件中提供了專用的保護(hù)層,滿足 NIST SP800-193 指南的恢復(fù)力要求。此外,華邦的安全閃存與標(biāo)準(zhǔn)NOR 閃存可實(shí)現(xiàn)百分百兼容,能夠高效將系統(tǒng)轉(zhuǎn)換為符合NIST SP800-193標(biāo)準(zhǔn)的恢復(fù)力系統(tǒng),且轉(zhuǎn)換過程僅需微乎其微的工作量。
圖三: 華邦的安全閃存與標(biāo)準(zhǔn) NOR 閃存可實(shí)現(xiàn)百分百兼容。
EETOP 官方微信
創(chuàng)芯大講堂 在線教育
半導(dǎo)體創(chuàng)芯網(wǎng) 快訊
相關(guān)文章