CN101477605B - 一种基于硬件的嵌入式系统程序执行安全增强模块 - Google Patents
一种基于硬件的嵌入式系统程序执行安全增强模块 Download PDFInfo
- Publication number
- CN101477605B CN101477605B CN 200910076692 CN200910076692A CN101477605B CN 101477605 B CN101477605 B CN 101477605B CN 200910076692 CN200910076692 CN 200910076692 CN 200910076692 A CN200910076692 A CN 200910076692A CN 101477605 B CN101477605 B CN 101477605B
- Authority
- CN
- China
- Prior art keywords
- information
- memory set
- execution
- signal
- comparison logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
一种基于硬件的嵌入式系统程序执行安全增强模块,它由一个存储器组和一个信息分析比较逻辑电路组成。所述存储器组是由3个静态随机存储器构成,其主要功能是存储监控模型和堆栈映射存储;所述信息分析比较逻辑电路是模块的主控制部分,它接收外部的处理器输出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行判定;它由信息调用、监控比较、堆栈映射3个功能电路组成。存储器组与信息分析比较逻辑电路之间的数据信号端口、地址信号端口及读写控制信号端口进行互连。该模块通过对处理器执行路径信息的分析,判定其执行行为的合法性,由此可以阻止任何被判定为非法的执行行为。它增强了系统程序的安全性。
Description
(一)技术领域
本发明涉及一种增强程序执行安全的模块,尤其涉及一种基于硬件的嵌入式系统程序执行安全增强模块,它利用硬件辅助模式来进行程序执行监控,防止软件攻击带来的恶意执行行为的发生,阻止恶意代码的执行。属于嵌入式系统安全技术领域。
(二)背景技术
嵌入式系统在当今社会中扮演了越来越重要的角色,从消费电子产品到航空航天、军事产品,嵌入式系统和我们的关系越来越紧密了。然而在应用更为广泛的同时,嵌入式系统的运行安全问题也变得更加的重要。但是其资源受限特性使得相关的安全保护设计更加困难。
通常的软件攻击都是利用程序漏洞,为了增强嵌入式系统程序执行的安全性,通常有3种技术可以采用,它们是:基于软件的静态分析技术、基于软件的实时保护技术以及基于硬件的实时保护技术。第一种技术利用离线代码分析进行相关程序漏洞检测修复,避免攻击者在程序执行时利用这些漏洞进行攻击;第二种技术则通过软件方式在程序中加入监测代码的方式对程序实时执行加以监控,防止攻击导致的错误的程序执行行为;最后一种就是从硬件的角度来保障程序的执行行为的正确性,通过堆栈保护、安全协处理器等方式对程序的执行过程进行保护。本发明属于最后一种技术,利用一个与处理器并行运行的监控硬件模块来实现对处理器执行过程的实时监控,增强其安全性。
(三)发明内容
1、目的:本发明的目的是提供一种基于硬件的嵌入式系统程序执行安全增强模块,它是一种针对处理器执行状态的实时监控模块。该模块涉及一个用于监控的硬件,它与处理器并行运行,通过对处理器执行路径信息的分析,判定其执行行为的合法性,由此可以阻止任何被判定为非法的执行行为。
2、技术方案:一种基于硬件的嵌入式系统程序执行安全增强模块,该模块由一个存储器组和一个信息分析比较逻辑电路组成。
所述存储器组是由3个静态随机存储器SRAM1,SRAM2和SRAM3(采用现有器件)构成,其主要功能是存储监控模型和堆栈映射存储。其中监控模型描述了程序的合法控制流行为的范围,是通过离线的程序分析得到的,包括函数信息与基本块信息。3个静态随机存储器中,SRAM1用于存储监控模型中的函数信息,SRAM2用于存储监控模型中的基本块信息,SRAM3则用于存储堆栈映射信息。利用该存储器组中的信息,可以得到一个确定的程序合法控制流行为描述。
所述信息分析比较逻辑电路是模块的主控制部分,它接收外部的处理器输出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行判定,如果发现了非法的控制流行为,该电路发出中断控制信号输入到处理器相关的中断接口触发相应的中断应急响应。该部分主要由3个功能电路组成,分别是:1,信息调用;2,监控比较;3,堆栈映射。所述信息调用,完成对存储器的数据读出,每次发生控制流转换后,将开始计算下一次的控制流跳转可能目标所对应的SRAM中的信息地址。所述监控比较,是通过对存储器输出的数据信息(包括函数信息和基本块信息)进行分析计算,计算出下一次程序控制流跳转的可能的目标地址,即合法的执行路径,并且通过处理器的执行控制流信息(程序计数器PC)进行控制流转换的判定。所述堆栈映射,将模拟处理器中堆栈的运行过程,实时保存了函数调用的返回地址,并在函数返回时可以对该返回地址进行校验。
存储器组与信息分析比较逻辑电路之间的数据信号端口、地址信号端口及读写控制信号端口进行互连。信息分析比较逻辑电路通过输出读写控制信号及地址信号到存储器组,以对存储器组的相应地址进行读写控制。数据信号则是一个双向信号,对于存储器组和信息分析比较逻辑电路而言,它可以是输入信号也可能是输出信号,这都取决于读写操作的类型。
本发明可以检测出任何违背合法定义的程序执行行为。这种实时监控模块主要具备以下几个优点:
(1)本发明所涉及的硬件监控模块因为采用了基于程序控制流的设计,对任何种类的攻击都有很好的监控效果。
(2)本发明所涉及的硬件监控模块,通过硬件优化,能够实现在一个时钟周期内的实时检测,大大提高了检测效率。
(3)本发明所涉及的硬件监控模块具有独立性,监控模块本身具备软件攻击的不敏感性。
(4)本发明所涉及的监控模块对硬件资源的占用少,在提高了可靠性的同时降低了监测成本。
(5)本发明所涉及的硬件监控模块不需要改变原有嵌入式系统的开发程序,只需对程序进行离线分析,将分析得到的监控模型存入监控硬件的存储器中,不需修改硬件逻辑。
(6)本发明所涉及的硬件监控模块具有很好的可扩展性,能适应不同种类的嵌入式系统。
(四)附图说明
图1是本发明模块与传统嵌入式系统的关系示意图
图2是本发明模块结构示意图
图3是具备本发明模块的系统的应用开发流程示意图
图中符号说明如下:
SRAM1静态随机存储器1;SRAM2静态随机存储器2;SRAM3静态随机存储器3。
(五)具体实施方式
见图1、图2、图3所示,其具体实施方式如下:
如图2所示为一种基于硬件的嵌入式系统程序执行安全增强模块的结构示意图,由图中可以看出该模块由一个存储器组(右部分方框所示)和一个信息分析比较逻辑电路(左部分方框所示)组成。所述模块接收控制流信息,输出中断控制信号。该模块需要完成程序执行的实时状态监控及相应监控反馈信号的生成。
所述存储器组是包括3个静态随机存储器:SRAM1,SRAM2和SRAM3,当然也可以用其它类型存储器(如动态存储器DRAM等)来代替。这3个存储器中的SRAM1和SRAM2的被用于存储监控模型中的函数信息和基本块信息。所述监控模型是通过软件进行的离线的程序控制流分析而得到的,包括函数信息和基本块信息。监控模型的功能则是对程序运行的合法控制流执行路径进行描述,其中函数信息包括函数的首地址和对应基本块的索引;基本块信息包括基本块类型、首地址、目标索引和对应函数索引。利用SRAM1和SRAM2中存储的函数信息及基本块信息,可以对静态分析的程序合法控制流执行路径进行描述。SRAM3被用于存储堆栈映射信息,该部分信息是实时动态跟新的,它模拟了一个处理器堆栈存储功能,利用这个堆栈映射信息可以推断出函数返回地址,从而保证对整个程序的合法控制流路径进行完整描述。3个静态随机存储器没有互连的接口。
所述信息分析比较逻辑电路接收外部的嵌入式处理器输出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行监控。所述电路主要由3个功能部分组成,分别是:信息调用、监控比较和堆栈映射控制。信息调用完成对存储器的数据读出,每次发生控制流转换后,将开始计算下一次的控制流跳转可能目标所对应的SRAM中的信息地址。监控比较是通过对存储器输出的数据信息(包括函数信息和基本块信息)进行分析计算,计算出下一次程序控制流跳转的可能的目标地址,即合法的执行路径,并且通过处理器的执行控制流信息(程序计数器PC)进行控制流转换的判定,如果发生转换,则将实际跳转地址和之前计算出的地址进行比较,如果不一致则生成一个反馈控制信号中断处理器的运行,并让其执行相应的安全响应机制。堆栈映射将模拟处理器中堆栈的运行过程,当程序执行过程中发生了函数调用,则将当前的函数信息索引和基本块信息索引压入栈中,即将堆栈值存储在SRAM中之后,再将SRAM地址加一。如果当前的基本块跳转类型为函数返回,则将堆栈映射SRAM2中当前地址的数据推出,并将地址减一。这样就保存了函数的返回地址,并在函数返回时可以对该返回地址进行校验,如果程序时由于堆栈溢出攻击而导致返回地址破坏,则该模块可以很好的将其检测。
存储器组和信息分析比较逻辑电路的连接信号包括有数据信号,地址信号与读写控制信号。其中数据信号是一个双向信号,当进行存储器写操作时,数据信号走向由信息分析比较逻辑电路至存储器,当进行存储器读操作时,其信号走向则刚好相反。另外地址信号和读写控制信号的信号走向都是由信息分析比较逻辑电路至存储器。
实际应用中,该模块需要与嵌入式处理器相连接,如图1所示,传统的嵌入式处理器与安全增强模块之间通过硬线连接,交互执行流信息和中断控制信息,两者之间在实时运行时并行运行。对于采用了该模块的嵌入式系统,其相应的开发流程如图3所示:左上方的部分与一般的嵌入式系统软件开发流程一致,而差别仅仅在右上方部分,需要对目标代码及二进制代码进行程序分析,提取信息并生成描述程序合法控制流行为的监控模型,再将监控模型存储于相应的监控存储器中。当二进制代码程序和监控模型都已存好,就可以运行系统,处理器与监控硬件将并行运行,监控硬件接收处理器的执行信息并对其控制流进行验证。从整个开发流程可以看出,该系统开发流程并不改变处理器相关的传统开发流程,而只是增加了一些额外的与监控有关的流程,这对于其应用是有很大的好处的,因为其意味着它对以往的软件是有继承性的,即原有的软件要移植到这个系统中不用改变原来的设计。
Claims (1)
1.一种基于硬件的嵌入式系统程序执行安全增强模块,其特征在于:该模块由一个存储器组和一个信息分析比较逻辑电路组成;
所述存储器组是由3个静态随机存储器SRAM1,SRAM2和SRAM3构成,其主要功能是存储监控模型和堆栈映射存储;其中监控模型描述了程序合法控制流行为的范围,是通过离线的程序分析得到的,包括函数信息与基本块信息;3个静态随机存储器中,SRAM1用于存储监控模型中的函数信息,SRAM2用于存储监控模型中的基本块信息,SRAM3则用于存储堆栈映射信息,利用该存储器组中的信息,可以得到一个确定的程序合法控制流行为描述;
所述信息分析比较逻辑电路是模块的主控制部分,它接收嵌入式处理器输出的程序计数器信号,调用存储器组的信息,对嵌入式处理器的实时运行控制流行为的合法性进行判定,如果发现了非法的实时运行控制流行为,该信息分析比较逻辑电路发出中断控制信号输入到嵌入式处理器相关的中断接口触发相应的中断应急响应;该信息分析比较逻辑电路主要由3个功能电路组成,分别是:1,信息调用;2,监控比较;3,堆栈映射;所述信息调用,完成对存储器组的数据读出,每次发生程序合法控制流转换后,将开始计算下一次的程序合法控制流跳转可能目标所对应的存储器组中的信息地址;所述监控比较,是通过对存储器组输出的数据信息即包括函数信息和基本块信息进行分析计算,计算出下一次程序合法控制流跳转的可能的目标地址,即合法的执行路径,并且通过嵌入式处理器的执行实时运行控制流的执行信息进行实时运行控制流转换的判定;所述堆栈映射,将模拟嵌入式处理器中堆栈的运行过程,实时保存了函数调用的返回地址,并在函数返回时可以对该返回地址进行校验;
存储器组与信息分析比较逻辑电路之间的数据信号端口、地址信号端口及读写控制信号端口进行互连;信息分析比较逻辑电路通过输出读写控制信号及地址信号到存储器组,以对存储器组的相应地址进行读写控制;对于存储器组和信息分析比较逻辑电路而言,数据信号是一个双向信号,当进行存储器组写操作时,数据信号走向由信息分析比较逻辑电路至存储器组,当进行存储器组读操作时,数据信号走向则刚好相反。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910076692 CN101477605B (zh) | 2009-01-15 | 2009-01-15 | 一种基于硬件的嵌入式系统程序执行安全增强模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910076692 CN101477605B (zh) | 2009-01-15 | 2009-01-15 | 一种基于硬件的嵌入式系统程序执行安全增强模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101477605A CN101477605A (zh) | 2009-07-08 |
CN101477605B true CN101477605B (zh) | 2011-03-16 |
Family
ID=40838316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910076692 Expired - Fee Related CN101477605B (zh) | 2009-01-15 | 2009-01-15 | 一种基于硬件的嵌入式系统程序执行安全增强模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477605B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI492004B (zh) * | 2013-03-06 | 2015-07-11 | Mitsubishi Electric Corp | 可程式邏輯控制器、可程式邏輯控制系統及執行錯誤資訊作成方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161452A1 (en) * | 2009-12-24 | 2011-06-30 | Rajesh Poornachandran | Collaborative malware detection and prevention on mobile devices |
US9372991B2 (en) * | 2012-03-06 | 2016-06-21 | International Business Machines Corporation | Detecting malicious computer code in an executing program module |
CN104866767B (zh) * | 2015-05-11 | 2018-03-02 | 北京航空航天大学 | 一种安全机制的嵌入式模块 |
CN106022107A (zh) * | 2015-10-30 | 2016-10-12 | 北京中电华大电子设计有限责任公司 | 一种程序执行完整性保护方法和系统 |
CN105760762B (zh) * | 2016-03-10 | 2018-05-22 | 华中科技大学 | 一种嵌入式处理器的未知恶意代码检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941499B1 (en) * | 2001-06-18 | 2005-09-06 | Taiwan Semiconductor Manufacturing Company | Method to verify the performance of BIST circuitry for testing embedded memory |
CN101154186A (zh) * | 2007-10-11 | 2008-04-02 | 北京中星微电子有限公司 | 软硬件协调处理的自诊断系统和方法 |
CN101339519A (zh) * | 2008-08-13 | 2009-01-07 | 哈尔滨工程大学 | 面向嵌入式微处理器的软硬结合控制流检测方法 |
-
2009
- 2009-01-15 CN CN 200910076692 patent/CN101477605B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941499B1 (en) * | 2001-06-18 | 2005-09-06 | Taiwan Semiconductor Manufacturing Company | Method to verify the performance of BIST circuitry for testing embedded memory |
CN101154186A (zh) * | 2007-10-11 | 2008-04-02 | 北京中星微电子有限公司 | 软硬件协调处理的自诊断系统和方法 |
CN101339519A (zh) * | 2008-08-13 | 2009-01-07 | 哈尔滨工程大学 | 面向嵌入式微处理器的软硬结合控制流检测方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI492004B (zh) * | 2013-03-06 | 2015-07-11 | Mitsubishi Electric Corp | 可程式邏輯控制器、可程式邏輯控制系統及執行錯誤資訊作成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101477605A (zh) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101477605B (zh) | 一种基于硬件的嵌入式系统程序执行安全增强模块 | |
US20210365555A1 (en) | A method and system for detecting and preventing issues in smart contracts based on historical behavior analysis | |
US20070226551A1 (en) | Apparatus and method for checking an error recognition functionality of a memory circuit | |
EP3242214B1 (en) | Method and device for protecting information of mcu chip | |
CN101529385A (zh) | 用于修复应用程序的方法和系统 | |
CN104866767B (zh) | 一种安全机制的嵌入式模块 | |
CN102708013A (zh) | 程序语句控制的指令流控制 | |
CN103226499B (zh) | 一种恢复内部存储器中的异常数据的方法及装置 | |
WO2014203030A1 (en) | Detection of data corruption in a data processing device | |
CN112560114B (zh) | 调用智能合约的方法及装置 | |
CN117033164B (zh) | 一种智能合约安全漏洞检测方法和系统 | |
CN105164642A (zh) | 对合同的操作系统支持 | |
CN112202704A (zh) | 一种区块链智能合约安全防护系统 | |
WO2013168148A2 (en) | A method for dynamic generation and modification of an electronic entity architecture | |
Ruchkin et al. | Eliminating inter-domain vulnerabilities in cyber-physical systems: An analysis contracts approach | |
CN113987599B (zh) | 一种固件可信根的实现方法、装置、设备和可读存储介质 | |
CN102446253B (zh) | 一种网页木马检测方法及系统 | |
CN201364577Y (zh) | 一种基于硬件的嵌入式系统程序执行安全增强模块 | |
JP4913353B2 (ja) | ソフトウェア動作モデル化装置及びソフトウェア動作監視装置 | |
CN105404635A (zh) | 字符串匹配的方法、设备和异构计算系统 | |
Bresch et al. | A red team blue team approach towards a secure processor design with hardware shadow stack | |
CN106874796B (zh) | 系统运行中指令流的安全检测和容错方法 | |
CN107818034A (zh) | 监测计算机设备中的进程的运行空间的方法以及装置 | |
Shrobe et al. | AWDRAT: a cognitive middleware system for information survivability | |
Yang et al. | Robust corrective control against a class of actuator attacks in input/state asynchronous sequential machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20140115 |