一种片上硬件支持的嵌入式系统程序多粒度恢复方法

    专利2026-02-27  7


    本发明属于嵌入式系统信息安全,具体涉及一种片上硬件支持的嵌入式系统程序多粒度恢复方法,尤其适用于嵌入式系统的安全防护和异常恢复。


    背景技术:

    1、嵌入式系统在人们的生产生活中扮演着重要角色,然而复杂多变的应用环境使其面临着众多安全威胁,系统设计人员在丰富和提高嵌入式系统功能的同时,还需要充分考虑嵌入式系统的安全防护问题。目前,软件攻击因其实施成本低、实现方式多样等特点,成为嵌入式系统遭到破坏的主要原因。软件攻击的本质是破坏嵌入式系统程序的正确执行过程。为了达到这一目的,衍生出了恶意软件、内存缓冲区溢出、代码篡改或注入等攻击方式。

    2、针对软件攻击,除了加强对其识别检测外,还需要建立起一套高效灵活的恢复机制,使嵌入式系统在遭到破坏后能够以较低的时间成本和系统开销恢复到破坏节点之前的状态。

    3、当前大部分嵌入式系统的恢复机制只是由调度软件进行简单的复位或重新加载进程,使系统回到初始状态。这种恢复方式的粒度较大,无法根据用户需求动态调节恢复节点,无论程序运行到什么阶段都需要重新在引导程序的引导下恢复到初始状态,再次运行所有程序,在过多消耗处理器资源和运行时长的同时,还增加了整个恢复过程中的安全风险。

    4、另外,目前很少有嵌入式安全防护软件能够实现对嵌入式系统备份和恢复粒度的自定义设置,即使能够实现自定义设置,但其支持的粒度仍然不够多,设置方式也不够灵活。而且,用软件的手段实现对嵌入式系统的多粒度备份和恢复需要时刻占用一部分处理器资源,降低了用户程序的执行效率,对此类安全防护软件的配置也增加了嵌入式程序开发的负担。


    技术实现思路

    1、本发明的目的在于提出一种片上硬件支持的嵌入式系统程序多粒度恢复方法,该方法以软硬件协同的方式实现指令级、函数级、基本块级和程序级4种恢复粒度的备份和恢复,通过硬件支持的方式利于减少程序恢复过程中对处理器资源和运行时长的消耗,降低恢复过程中的安全风险,实现对数据备份、恢复节点的动态调节,简化对多粒度恢复过程的配置。

    2、本发明为了实现上述目的,采用如下技术方案:

    3、一种片上硬件支持的嵌入式系统程序多粒度恢复方法,包括如下步骤:

    4、步骤1. 上电初始化,将搭载有片上多粒度恢复单元的嵌入式系统非易失存储器中存储的程序代码拷贝到指令存储器中,跳转到启动程序入口地址;

    5、其中片上多粒度恢复单元包括恢复粒度设定寄存器、同步译码模块、备份点检测控制模块、多粒度恢复控制模块、片内备份点地址存储器以及片内备份点数据存储器;

    6、步骤2. 通过硬件或软件的方式设置恢复粒度设定寄存器;

    7、步骤3. 继续执行用户程序;

    8、步骤4. 判断是否检测到程序执行异常,若检测到异常,执行步骤5,否则执行步骤7;

    9、步骤5. 判断备份点检测控制模块内的备份标志寄存器是否为0;若备份标志寄存器为0,则复位系统,即执行步骤1;否则,执行步骤6;

    10、步骤6. 由多粒度恢复控制模块读取恢复粒度设定寄存器的数值,获得预设程序恢复粒度,执行和预设程序恢复粒度对应的程序恢复方式,随后执行步骤3;

    11、步骤7. 由同步译码模块读取恢复粒度设定寄存器的数值,获得预设程序恢复粒度,随后对指令进行分析,并将获得的指令特征输入到备份点检测控制模块,执行步骤8;

    12、步骤8. 由备份点检测控制模块读取恢复粒度设定寄存器的数值,获取预设程序恢复粒度,执行和预设程序恢复粒度对应的比较策略,判断是否达到预设粒度备份点:

    13、如果是,备份返回地址到片内备份点地址存储器,备份寄存器和内存数据到片内备份点数据存储器,备份完成后将备份标志寄存器置1,执行步骤3;否则直接执行步骤3。

    14、本发明具有如下优点:

    15、如上所述,本发明述及了一种片上硬件支持的嵌入式系统程序多粒度恢复方法。本发明方法支持硬件和软件两种方式设置指令级、函数级、基本块级和程序级4种恢复粒度,在程序运行时,由同步译码模块分析处于译码阶段指令的特征,备份点检测控制模块和多粒度恢复控制模块通过判断是否到达预设粒度的备份节点,基于程序执行是否正常,以软硬件协同的方式实现指令级、函数级、基本块级和程序级4种恢复粒度的备份和恢复,简化了对整个多粒度恢复过程的配置,实现了对数据备份、恢复节点的动态调节。本发明方法通过硬件支持的方式,减少了程序恢复过程中对处理器资源和运行时长的消耗,降低了恢复过程中再次遭遇软件攻击的安全风险,达到了系统运行效率、安全防护和用户使用体验的平衡。



    技术特征:

    1.一种片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,包括如下步骤:

    2.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    3.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    4.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    5.根据权利要求4所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    6.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    7.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    8.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    9.根据权利要求1所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,

    10.根据权利要求8所述的片上硬件支持的嵌入式系统程序多粒度恢复方法,其特征在于,


    技术总结
    本发明属于嵌入式系统信息安全技术领域,具体公开了一种片上硬件支持的嵌入式系统程序多粒度恢复方法。本发明支持硬件和软件两种方式设置指令级、函数级、基本块级和程序级4种恢复粒度,在程序运行时,由同步译码模块分析处于译码阶段指令的特征,备份点检测控制模块和多粒度恢复控制模块通过判断是否到达预设粒度的备份节点,基于程序执行是否正常,以软硬件协同的方式实现指令级、函数级、基本块级和程序级4种恢复粒度的备份和恢复,简化了对整个多粒度恢复过程的配置,实现了对数据备份、恢复节点的动态调节。本发明通过硬件支持的方式,减少了程序恢复过程中对处理器资源和运行时长的消耗,降低了恢复过程中再次遭遇软件攻击的安全风险。

    技术研发人员:王维克,李秉正,崔建明,王伟,刘子旋,初寒兵
    受保护的技术使用者:山东科技大学
    技术研发日:
    技术公布日:2024/4/29
    转载请注明原文地址:https://wp.8miu.com/read-95830.html

    最新回复(0)