当前位置:问答库>论文摘要

题目:硬件支持嵌入式系统数据和代码完整性研究

关键词:FPGA;SOC;完整性;嵌入式系统安全

  摘要

随着嵌入式系统的广泛应用,其安全性问题变得日益突出。软件漏洞攻击(如缓冲区溢出攻击)和物理攻击成为嵌入式系统难以防范的威胁。传统的嵌入式系统安全解决方案大多是基于软件,难以避免安全漏洞,资源开销高,检测速度慢。新型的硬件保护技术,可以弥补这些缺点,正在成为国内外研究热点。本文提出了一种硬件保护方案,对程序运行过程中的数据和代码进行完整性保护。在程序交叉编译链接阶段,设计了自动分析软件,利用编译器和完整性算法分析可执行文件,生成指令代码和静态数据的完整性监控模型;在程序运行阶段,监控硬件完成动态数据代码的完整性信息计算以及与监控模型中数据值的实时的分析比较,一旦发现攻击则触发处理器中断应急响应;设计了影子堆栈技术,对堆栈中返回地址和基指针的完整性进行保护;对内存中各个段的读、写以及可执行属性进行监控,提出了安全标签方案,防止对内存中数据代码的完整性破坏;利用OpenRISC OR1200处理器与Xilinx FPGA搭建SOC硬件系统,来验证整体设计。试验结果表明,通过程序数据和代码的完整性硬件监控方案,增强了嵌入式系统的执行安全;运用SHA-1、SHA-256或CRC32算法对指令代码基本块进行完整性保护,达到了安全性和资源开销的平衡;通过硬件监控CPU load/store 操作,能快速检测出存储系统静态和动态数据的完整性;影子堆栈方法可在两个时钟检测到破坏堆栈中返回地址和基指针完整性的栈溢出攻击,且资源占用较小;安全标签技术运用2bits安全编码,可在两个时钟周期内检测到违反内存段的读、写及可执行属性的攻击,在攻击发生之前触发中断信号,防止对内存中数据代码的完整性破坏。通过运行攻击测试代码验证系统的性能可知,硬件保护技术与传统的软件技术相比具有更高的安全性、更快的检测速度和更低的资源开销。