嵌入式系统的广泛应用,使得其安全要求也日益提高。软件漏洞、数据代码完整性破坏等,已成为嵌入式系统难以防范的威胁。本项目将设计一种新型可编程硬件模块,来增强系统安全性。通过静态和动态程序分析,优化生成新的执行行为监控模型;通过完整性验证算法,标记可执行文件,建立完整性监控模型;提出新的监控比较算法,并通过硬件实现,实时监控系统程序执行过程。利用处理器软核构建SoC平台,实现处理器与监控硬件模块实时通信;优化设计程序恢复机制,确保系统遭到攻击时程序的正常执行;选用流行的攻击代码、测试基准程序,以验证系统监控的灵敏度及资源消耗,并进一步优化整体设计。此课题的优势有硬件模块与处理器间属物理隔离,本身不易被攻击;模块本身几乎不占用处理器的运算消耗;具有低资源开销特点;可适用于不同的嵌入式处理器等。前期研究工作表明,硬件保护程序执行优势明显。
embedded system;program execution;integrity;information security;hardware protection
嵌入式系统日益广泛的网络化应用,使得其安全要求也日益提高。软件漏洞、数据与代码的完整性破坏等已成为严重的安全威胁。本项目设计了一种新型可编程硬件模块,来增强系统安全性。 通过静态和动态的程序分析方式,提取相关数据。结合正则表达式的自动化处理,收集重要的程序信息,作为判断程序行为的基础,提取监控处理器的执行过程的状态参数,优化生成新的监控参数及耦合参数,建立准确有效的执行行为监控模型,保证其对程序运行时可能的合法行为达到准确有效的描述。通过优化轻量级完整性验证算法,来标记可执行文件,并建立完整性监控模型并用硬件加速实现。对可执行文件中的代码段和静态数据段信息分别按照基本块和缓存块进行离线完整性状态标记。分析处理器流水线处理过程中的相关寄存器信息,选取能反映程序执行行为及完整性的相关参数信息。 提出了新的监控比较算法,并通过硬件实现,实时监控系统程序执行过程。通过进一步优化设计这种监控比较算法,使其具备硬件化后的可配置性。用硬件描述语言实现此种逻辑比较算法,对函数级、基本块级、指令级行为以及程序数据和代码完整性方面进行全方位的可配置保护监控,完成状态参数及耦合参数信息的实时分析和比较,保证参数实时调用的便捷性和有效性。 利用处理器软核构建SoC平台,通过总线,连接处理器IP软核与辅助硬件模块,从处理器中引出需要用到的参数信号,同时将辅助硬件模块的控制信号作为处理器中断信号,完成处理器与监控硬件的实时通信,构建嵌入式可编程系统。通过硬件化的快速查找算法和监控比较算法,实现动态和静态完整性值的实时比较。实现当监控到系统遭遇攻击时,触发程序应急响应,以保证程序的正常执行。进一步优化设计程序恢复机制,确保系统遭到攻击时程序的正常执行;选用流行的攻击代码、测试基准程序,以验证系统监控的灵敏度及资源消耗,并进一步优化了整体设计。 此课题的优势有硬件模块与处理器间属物理隔离,本身不易被攻击;模块本身几乎不占用处理器的运算消耗;具有低资源开销特点;可适用于不同的嵌入式处理器等。研究工作结果表明,硬件保护程序执行,比纯软件保护方式及软硬件协同保护方式的优势更加明显。