,,,
(1.陸軍裝甲兵學院 信息通信系,北京 100071; 2.73630部隊)
一般嵌入式產品應用環境不會對硬件采取特殊的保護措施,而嵌入式系統的硬件又直接影響著系統工作的安全性,這為嵌入式系統帶來了許多安全隱患,同時近年來嵌入式設備信息安全事故頻發,系統的信息安全問題引起社會的廣泛關注[1-4],越來越多的學者投入嵌入式系統漏洞的挖掘和研究工作。
林郭安、黃強等人[5]根據STM32芯片的啟動特點,設計了一種由后至前遍歷獲取程序入口地址,通過修改程序入口地址實現源碼復制竊取的目的,但該方法的遍歷階段具有盲目性的特點,攻擊效率低。Frank Altschuler和Bruno Zoppis等人[6-7]提出通過向RAM緩存區傳送大量數據,造成緩存區溢出,從而覆蓋原程序跳轉地址以達到攻擊的目的,但這種方法并不適用于運行時直接從Flash區間讀取代碼的芯片。
本文針對STM32F10x系列控制芯片,根據其啟動原理,借助仿真器和下載接口,將惡意軟件載入目標芯片Flash空余扇區,在調試模式運行惡意軟件,并從中篡改原啟動文件的程序跳轉指針,從而改變原程序啟動時的運行順序,使得植入的惡意軟件得到執行,實現攻擊目的,實驗證明該方法具有針對性強、攻擊效率高、方法簡單易于實施的特點。
STM32F10x系列芯片采用32位的ARM Cortex-M3內核,主頻高達72 MHz,型號眾多、片上資源豐富,具有功耗低、性能強、性價比高的特點[8],可以很好地滿足各類中低端嵌入式產品市場需求,在ARM系列微控制器市場占有率高[9],對STM32F10x系列芯片的攻擊研究具有重要的市場價值和借鑒意義?!?br>