May 1, 2023 | 7 min read
By DENA
designing-electronics.com
引入一種新機制,用於檢測和緩解基於微控制器(MCU)應用程序中的記憶體破壞問題。
在實時操作系統(RTOS)層面工作的嵌入式軟件開發人員知道,記憶體破壞問題很容易引入,難以檢測,並且對應用程序的安全性和安全性往往具有毀滅性的影響。這使得在行業標準、測試工具和RTOS解決方案提供商中,預防這些問題成為一個熱門話題。儘管如此,在緩解微控制器(MCU)設備上的記憶體破壞方面仍存在顯著的限制,因為它們無法支持更複雜的編程和RTOS技術。作為全球數十億應用程序的核心,MCU面臨著獨特的安全挑戰。由於沒有記憶體管理單元(MMU)或記憶體保護單元(MPU),並且在代碼中很少包含記憶體保護功能的容量,MCU為嵌入式開發人員提供了很少的選擇來確保系統的穩健性。隨著MCU的部署持續增加並支持更多的連接系統,開發人員需要更好的方法來保護內存免受破壞問題的影響,同時又不損害這些硬實時系統的嚴格功能和性能要求。
基於MCU的應用程序中的安全性和安全性挑戰
為了減少處理器工作量和內存佔用,基於MCU的應用程序往往在共享的單一地址空間中運行,該地址空間在所有線程之間全局共享。與在更高級別的RTOS上運行的應用程序(例如嵌入式Linux)將內存劃分為不同的地址空間不同,MCU應用程序可以訪問整個內存範圍。這種整體的方法使開發人員需要自己找到方法來防止應用程序功能破壞其自己段之外的內存。當通過意外或不希望的方式更改內存位置中的數據時,就會發生破壞,例如將指標從有效地址更改為可疑地址。例如,功能指標的破壞可能導致程序執行跳轉到無效的內存位置,從而引起系統故障。如果黑客懷疑存在這種弱點,他們可以利用未受保護的指標通過一種稱為代碼注入的技術將執行引導到他們引入的惡意代碼。
功能指標的破壞
106 台灣台北市復興南路二段13號12F 電話:(02)27360586、0936137693 統一編號:16288015 email:orbstar@orbstar.com.tw