挑選確保韌體安全性的合適記憶體架構

儘管連網 IoT 裝置的網路安全事件日益增加,但都要等到事後才會想起韌體安全性。隨著攻擊者滲透到系統堆疊,並鎖定開機流程與低階硬體配置,記憶體架構的選擇已成為建立可驗證信任鏈的關鍵決策。

因此,要保障韌體安全,就要在執行前對每個元件進行密碼驗證。此做法會從一個不可變的開機載入器開始,會載入並驗證主韌體。然而,每個步驟所用的記憶體技術,會決定韌體對非授權修改的弱點程度。

內部與外部快閃記憶體的比較

用於儲存韌體的非揮發性記憶體的實體位置,對於裝置的威脅模型來說,是最關鍵的因素之一。韌體工程師必須選擇要採用晶片上嵌入式快閃記憶體 (eFlash),或是透過 SPI 或 QSPI 等序列介面連接的外部快閃記憶體模組。

嵌入式快閃記憶體通常直接整合在微控制器或 SoC 裸晶上。此架構可提供最高等級的實體安全性,因為沒有外部匯流排會遭到攻擊者操控。即便是內部快閃記憶體的存取,也會受到專用暫存器和鎖定位元的控制。

此外,eFlash 可支援永久讀取保護。只要讓專用的安全保險絲短路,開發人員就可停用 JTAG 或 SWD 除錯介面,進而避免駭客修改韌體映像。然而,隨著 SoC 的製程節點逐漸縮小,此技術面臨明顯的擴充問題。

反之,外部快閃記憶體則放置在主控處理器之外,並透過高速序列介面進行通訊。這種架構選擇可輕鬆擴充儲存容量,但同時也擴大系統的攻擊面。在處理器與外部快閃記憶體之間傳輸的任何資料,在本質上都容易遭到竊聽、中間人攻擊以及實體竄改。

為了因應這些風險,韌體工程師必須實施穩健的軟硬體保護措施。許多外部 NOR 快閃記憶體裝置都配備有實體寫入保護引腳。當引腳保持在特定電壓時,晶片的內部邏輯會避免執行任何抹除或寫入命令。

圖 1:Winbond ElectronicsW77Q32JWSSIR TR 安全序列 NOR 快閃記憶體,具備精密的通訊通道密碼加密技術。(圖片來源:Winbond Electronics)

但如果資料可以讀取,僅僅鎖定快閃記憶體是不夠的。攻擊者仍然可以在執行期間存取位址與資料匯流排。此漏洞促使開發出專用且安全的快閃記憶體裝置,其中含有硬體式信任根機制、加密通訊通道,以及單調計數器以避免回滾攻擊。

然而,如果挑選了錯誤的記憶體架構,該裝置可能會留下根本性弱點,無法用軟體修補的方式完全修正。舉例而言,若設計將韌體儲存在外部 EEPROM,且未採用加密或驗證機制,就永遠容易受到硬體攻擊者的威脅。另一方面,挑選限制過多的記憶體可能會妨礙功能性。

因此,工程師必須瞭解最佳實務與設計技巧,以透過記憶體架構達到最大的韌體安全性。

安全韌體儲存設計的最佳實務

韌體工程師在設計從開機到執行階段的安全韌體儲存路徑時,必須遵循以下原則:

1. 硬體式信任根

務必永遠從不可變的記憶體區域開始執行。例如,開機 ROM 或永久安全式快閃記憶體區段,應含有用於驗證其他所有韌體的程式碼。這可確保攻擊者無法透過竄改初始程式碼的方式繞過驗證。

2. 使用加密簽章

實作一個安全開機載入器,且只能運行採用受信任私密金鑰簽署的韌體映像。如此一來,即便攻擊者能存取記憶體並修改位元,也可抵擋未授權程式碼的破壞。如果有保密需求,可將儲存中的韌體進行加密。

3. 利用硬體安全功能

如果系統架構採用外部記憶體,工程師應挑選可支援硬體安全功能的裝置,例如內建密碼保護或簡易加密。雖然不如完整的安全元件強大,但仍可添加另一層保護。

圖 2:MacronixMX25L3233FM2I-08Q 32 Mb 序列 NOR 快閃記憶體可支援序列周邊介面。(圖片來源:Macronix)

4. 隔離韌體與資料

記憶體區域要妥善整理,以便將最敏感的程式碼分隔。在 MCU 中,將關鍵的例行程式指令放在安全記憶體區段。即便使用韌體,在硬體支援下,要將特定快閃記憶體區塊劃分為純執行或純讀取。

5. 規劃安全韌體更新

確保更新過程本身經過驗證 (例如使用經過簽章的更新套件)。如果設計使用外部記憶體來暫存更新,也要用與主要韌體儲存相同的安全做法來處理。

結論

挑選合適的韌體記憶體是嵌入式 IoT 裝置安全與否的關鍵。若選擇的記憶體不安全,例如無保護的外部儲存,就會讓攻擊者有機可乘。相較之下,精心挑選的架構,結合了晶片上記憶體、可靠的外部儲存以及加密控制,能建立穩固的基礎,以抵禦複雜攻擊。

對韌體工程師而言,關鍵重點在於將信任根存放於防篡改記憶體中、將晶片外記憶體視為不受信任並採取對應的補償措施,以及充分運用現代記憶體技術提供的全套硬體安全功能。只要記憶體技術能配合裝置的安全要求,即便是最小的 IoT 感測器,都可加以保護,不受韌體層級的攻擊。

關於作者

More posts by Abhishek Jadhav
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum