一种基于硬件的嵌入式系统程序执行安全增强模块技术方案

技术编号:4935002 阅读:309 留言:0更新日期:2012-04-11 18:40
一种基于硬件的嵌入式系统程序执行安全增强模块,它由一个存储器组和一个信息分析比较逻辑电路组成。所述存储器组是由3个静态随机存储器构成,其主要功能是存储监控模型和堆栈映射存储;所述信息分析比较逻辑电路是模块的主控制部分,它接收外部的处理器输出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行判定;它由信息调用、监控比较、堆栈映射3个功能电路组成。存储器组与信息分析比较逻辑电路之间的数据信号端口、地址信号端口及读写控制信号端口进行互连。该模块通过对处理器执行路径信息的分析,判定其执行行为的合法性,由此可以阻止任何被判定为非法的执行行为。它增强了系统程序的安全性。

【技术实现步骤摘要】

本专利技术涉及一种增强程序执行安全的模块,尤其涉及一种基于硬件的嵌入 式系统程序执行安全增强模块,它利用硬件辅助模式来进行程序执行监控,防 止软件攻击带来的恶意执行行为的发生,阻止恶意代码的执行。属于嵌入式系 统安全
(二)
技术介绍
嵌入式系统在当今社会中扮演了越来越重要的角色,从消费电子产品到航 空航天、军事产品,嵌入式系统和我们的关系越来越紧密了。然而在应用更为 广泛的同时,嵌入式系统的运行安全问题也变得更加的重要。但是其资源受限 特性使得相关的安全保护设计更加困难。通常的软件攻击都是利用程序漏洞,为了增强嵌入式系统程序执行的安全性,通常有3种技术可以采用,它们是基于软件的静态分析技术、基于软件 的实时保护技术以及基于硬件的实时保护技术。第一种技术利用离线代码分析 进行相关程序漏洞检测修复,避免攻击者在程序执行时利用这些漏洞进行攻击; 第二种技术则通过软件方式在程序中加入监测代码的方式对程序实时执行加以监控,防止攻击导致的错误的程序执行行为;最后一种就是从硬件的角度来保 障程序的执行行为的正确性,通过堆栈保护、安全协处理器等方式对程序的执 行过程进行保护。本专利技术属于最后一种技术,利用一个与处理器并行运行的监 控硬件模块来实现对处理器执行过程的实时监控,增强其安全性。(三)
技术实现思路
1、 目的本专利技术的目的是提供一种基于硬件的嵌入式系统程序执行安全增 强模块,它是一种针对处理器执行状态的实时监控模块。该模块涉及一个用于 监控的硬件,它与处理器并行运行,通过对处理器执行路径信息的分析,判定 其执行行为的合法性,由此可以阻止任何被判定为非法的执行行为。2、 技术方案 一种基于硬件的嵌入式系统程序执行安全增强模块,该模块由一个存储器组和一个信息分析比较逻辑电路组成。所述存储器组是由3个静态随机存储器SRAM1, SRAM2和SRAM3 (采用 现有器件)构成,其主要功能是存储监控模型和堆栈映射存储。其中监控模型 描述了程序的合法控制流行为的范围,是通过离线的程序分析得到的,包括函 数信息与基本块信息。3个静态随机存储器中,SRAM1用于存储监控模型中的 函数信息,SRAM2用于存储监控模型中的基本块信息,SRAM3则用于存储堆 栈映射信息。利用该存储器组中的信息,可以得到一个确定的程序合法控制流 行为描述。所述信息分析比较逻辑电路是模块的主控制部分,它接收外部的处理器输 出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制 流行为的合法性进行判定,如果发现了非法的控制流行为,该电路发出中断控 制信号输入到处理器相关的中断接口触发相应的中断应急响应。该部分主要由3 个功能电路组成,分别是1,信息调用;2,监控比较;3,堆栈映射。所述信 息调用,完成对存储器的数据读出,每次发生控制流转换后,将开始计算下一 次的控制流跳转可能目标所对应的SRAM中的信息地址。所述监控比较,是通 过对存储器输出的数据信息(包括函数信息和基本块信息)进行分析计算,计 算出下一次程序控制流跳转的可能的目标地址,即合法的执行路径,并且通过处 理器的执行控制流信息(程序计数器PC)进行控制流转换的判定。所述堆栈映射, 将模拟处理器中堆栈的运行过程,实时保存了函数调用的返回地址,并在函数 返回时可以对该返回地址进行冲交验。存储器组与信息分析比较逻辑电路之间的数据信号端口 、地址信号端口及 读写控制信号端口进行互连。信息分析比较逻辑电路通过输出读写控制信号及地址信号到存储器组,以对存储器组的相应地址进行读写控制。数据信号则是 一个双向信号,对于存储器组和信息分析比较逻辑电路而言,它可以是输入信号也可能是输出信号,这都取决于读写操作的类型。本专利技术可以检测出任何违背合法定义的程序执行行为。这种实时监控模块 主要具备以下几个优点(1) 本专利技术所涉及的硬件监控模块因为采用了基于程序控制流的设计,对任何 种类的攻击都有很好的监控效果。(2) 本专利技术所涉及的硬件监控模块,通过硬件优化,能够实现在一个时钟周期 内的实时检测,大大提高了检测效率。(3) 本专利技术所涉及的硬件监控模块具有独立性,监控模块本身具备软件攻击的不每丈感性。(4) 本专利技术所涉及的监控模块对硬件资源的占用少,在提高了可靠性的同时降 低了监测成本。(5) 本专利技术所涉及的硬件监控模块不需要改变原有嵌入式系统的开发程序,只 需对程序进行离线分析,将分析得到的监控模型存入监控硬件的存储器中,不 需修改硬件逻辑。(6) 本专利技术所涉及的硬件监控模块具有很好的可扩展性,能适应不同种类的嵌 入式系统。(四) 附图说明图l是本专利技术模块与传统嵌入式系统的关系示意图 图2是本专利技术模块结构示意图图3是具备本专利技术模块的系统的应用开发流程示意图 图中符号说明如下SRAM1 静态随机存储器l; SRAM2 静态随机存储器2; SRAM3 静态随机存 储器3。(五) 具体实施例方式见图l、图2、图3所示,其具体实施方式如下如图2所示为一种基于硬件的嵌入式系统程序执行安全增强模块的结构示 意图,由图中可以看出该模块由一个存储器组(右部分方框所示)和一个信息 分析比较逻辑电路(左部分方框所示)组成。所述模块接收控制流信息,输出 中断控制信号。该模块需要完成程序执行的实时状态监控及相应监控反馈信号 的生成。所述存储器组是包括3个静态随机存储器SRAM1, SRAM2和SRAM3, 当然也可以用其它类型存储器(如动态存储器DRAM等)来代替。这3个存储 器中的SRAM1和SRAM2的被用于存储监控模型中的函数信息和基本块信息。 所述监控模型是通过软件进行的离线的程序控制流分析而得到的,包括函数信 息和基本块信息。监控模型的功能则是对程序运行的合法控制流执行路径进行 描述,其中函数信息包括函数的首地址和对应基本块的索引;基本块信息包括 基本块类型、首地址、目标索引和对应函数索引。利用SRAM1和SRAM2中存 储的函数信息及基本块信息,可以对静态分析的程序合法控制流执行路径进行 描述。SRAM3被用于存储堆栈映射信息,该部分信息是实时动态跟新的,它模 拟了一个处理器堆栈存储功能,利用这个堆栈映射信息可以推断出函数返回地址,从而保证对整个程序的合法控制流路径进行完整描述。3个静态随机存储器 没有互连的接口。所述信息分析比较逻辑电路接收外部的嵌入式处理器输出的程序计数器信 号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行监控。所述电路主要由3个功能部分組成,分别是信息调用、监控比较和 堆栈映射控制。信息调用完成对存储器的数据读出,每次发生控制流转换后, 将开始计算下一次的控制流跳转可能目标所对应的SRAM中的信息地址。监控 比较是通过对存储器输出的数据信息(包括函数信息和基本块信息)进行分析 计算,计算出下一次程序控制流跳转的可能的目标地址,即合法的执行路径,并 且通过处理器的执行控制流信息(程序计数器PC)进行控制流转换的判定,如果 发生转换,则将实际跳转地址和之前计算出的地址进行比较,如果不一致则生 成一个反馈控制信号中断处理器的运行,并让其执行相应的安全响应机制。堆 栈映射将模拟处理器中堆栈的运行过程,当程序执行过程中发生了函数调用, 则将当前的函数信息索引和基本本文档来自技高网...

【技术保护点】
一种基于硬件的嵌入式系统程序执行安全增强模块,其特征在于:该模块由一个存储器组和一个信息分析比较逻辑电路组成; 所述存储器组是由3个静态随机存储器SRAM1,SRAM2和SRAM3构成,其主要功能是存储监控模型和堆栈映射存储;其中监控模型描述了程序的合法控制流行为的范围,是通过离线的程序分析得到的,包括函数信息与基本块信息;3个静态随机存储器中,SRAM1用于存储监控模型中的函数信息,SRAM2用于存储监控模型中的基本块信息,SRAM3则用于存储堆栈映射信息,利用该存储器组中的信息,可以得到一个确定的程序合法控制流行为描述; 所述信息分析比较逻辑电路是模块的主控制部分,它接收外部的处理器输出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行判定,如果发现了非法的控制流行为,该电路发出中断控制信号输入到处理器相关的中断接口触发相应的中断应急响应;该部分主要由3个功能电路组成,分别是:1,信息调用;2,监控比较;3,堆栈映射;所述信息调用,完成对存储器的数据读出,每次发生控制流转换后,将开始计算下一次的控制流跳转可能目标所对应的SRAM中的信息地址;所述监控比较,是通过对存储器输出的数据信息即包括函数信息和基本块信息进行分析计算,计算出下一次程序控制流跳转的可能的目标地址,即合法的执行路径,并且通过处理器的执行控制流信息即程序计数器PC进行控制流转换的判定;所述堆栈映射,将模拟处理器中堆栈的运行过程,实时保存了函数调用的返回地址,并在函数返回时可以对该返回地址进行校验; 存储器组与信息分析比较逻辑电路之间的数据信号端口、地址信号端口及读写控制信号端口进行互连;信息分析比较逻辑电路通过输出读写控制信号及地址信号到存储器组,以对存储器组的相应地址进行读写控制;数据信号则是一个双向信号,对于存储器组和信息分析比较逻辑电路而言,它可以是输入信号也可能是输出信号,这都取决于读写操作的类型。...

【技术特征摘要】

【专利技术属性】
技术研发人员:王翔雷伟
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1