一种处理器寄存器组的异常错误的实时恢复方法及系统技术方案

技术编号:33784255 阅读:14 留言:0更新日期:2022-06-12 14:39
本发明专利技术公开一种处理器寄存器组的异常错误的实时恢复方法及系统,应用于处理器内生安全领域,针对处理器寄存器组在运行过程中的软错误、瞬态故障注入与恶意篡改等安全问题,以及现有的错误恢复技术资源开销大、实时性低、缺乏针对寄存器组错误恢复的有效手段等问题,本发明专利技术基于处理器寄存器组的锁存备份与错误时刻对应的PC值的回滚替换,提出了一种处理器寄存器组的异常错误的实时恢复方法,该方法根据处理器寄存器组的异常错误的检测结果可实现对该异常错误的实时恢复,根据仿真测试结果,可知本发明专利技术的方法从检测错误时刻到异常错误完全恢复时刻,只需要几个时钟周期;本发明专利技术提出的方法在一定程度上保证了处理器硬件层面的可靠性与安全。面的可靠性与安全。面的可靠性与安全。

【技术实现步骤摘要】
一种处理器寄存器组的异常错误的实时恢复方法及系统


[0001]本专利技术属于处理器内生安全领域,特别涉及一种处理器异常状态的恢复技术。

技术介绍

[0002]基于硬件的故障注入攻击指的是:通过改变环境参数,干扰硬件或者通过改变集成电路芯片管脚输入来达到故障注入的效果;硬件木马指的是:在芯片或者电子系统中故意植入的特殊模块或者设计者无意留下的缺陷模块,在特殊条件触法下,该模块能够被攻击者利用而实现具有破坏性的功能。插入的硬件木马可能会导致泄露信息,改变电路功能,甚至破坏电路。处理器的通用寄存器组是处理器运行中的所有中间数据的载体,一旦寄存器组遭受了恶意攻击,这对于处理器将会是毁灭性的打击。这些攻击包括:硬件木马、隐藏后门、设计漏洞、电磁脉冲注入以及激光注入等。在一个安全处理器中,对故障的实时恢复可以有效的保证系统稳定可靠的运行,这与处理器的异常状态检测同等重要。
[0003]现有的处理器异常状态的恢复方法主要包括:
[0004](1)基于检查点和回滚的恢复方法:“X.Wang,et al.An M

Cache

Based Security Monitoring and Fault Recovery Architecture for Embedded Processor,IEEE Transactions on Very Large Scale Integration(VLSI)Systems,vol.28,no.11,pp.2314

2327,Nov.2020,(DOI:10.1109/TVLSI.2020.3021533).采用函数入口作为检查点执行备份和回滚技术对处理器异常状态进行恢复。主要缺点是:1)这是一种针对于处理器指令发生异常错误的恢复方法,无法应用于处理器寄存器组的异常状态的恢复;2)该方法由于是根据划分的程序块实时检测与恢复的,需要实时备份处理器寄存器、数据RAM、指令RAM、内存,因此需要耗费大量的资源,芯片面积开销可延迟开销都很大;3)其恢复的实时性不够高。
[0005](2)基于攻击探测和错误修复的方法:“A.Chaudhari,et al.A framework for low overhead hardware based runtime control flow error detection and recovery,IEEE 31st VLSI Test Symposium(2013),(DOI:10.1109/VTS.2013.6548908).”主要缺点是:1)这类方法主要是为了解决目前执行的基本块(Basic Block)发生的错误,而对非执行的基本块忽略;2)需要对所有执行程序提前进行分析并进行基本块的特征提取,这导致每次执行不同的程序都要重新进行特征提取,增加了很大工作量。

技术实现思路

[0006]为解决上述技术问题,本专利技术提出一种处理器寄存器组的异常错误的实时恢复方法,
[0007]本专利技术采用的技术方案之一为:一种处理器寄存器组异常状态的实时恢复方法,包括:
[0008]A1、采集处理器取指阶段进入译码阶段的指令流,并对采集的指令流进行重排序,从而得到指令流在执行阶段真正的执行顺序;
[0009]A2、根据步骤A1重排序后的指令流进行处理器寄存器组写通道信号的锁存;
[0010]A3、当发现处理器寄存器组的异常状态,则获取发生错误时刻对应的指令与PC值,并产生相应的错误预警信号;
[0011]A4、根据处理器寄存器组异常状态检测结果、发生异常状态时刻对应的指令与PC值以及锁存备份的寄存器组,实时恢复处理器寄存器组异常状态。
[0012]本专利技术采用的方案之二为:一种处理器寄存器组异常状态的实时恢复系统,包括:锁存备份模块、指令重排列模块、寄存器组异常状态检测模块、回滚恢复模块;
[0013]指令重排列模块采集处理器取指阶段进入译码阶段的指令流,并对采集的指令流进行重排序,从而得到指令流在执行阶段真正的执行顺序,最后将重排列后的指令流送往寄存器组异常检测模块和锁存备份模块;
[0014]所述锁存备份模块用于对处理器写入寄存器组的通道信号进行锁存备份,然后根据寄存器组异常检测模块的实时检测结果,选择进入“主”寄存器组和“次”寄存器组的写通道数据来源;
[0015]寄存器组异常状态检测模块完成实时检测寄存器组异常状态,然后输出实时检测结果的指示信号,同时输出寄存器组发生异常错误时刻对应的指令与指令PC值;
[0016]回滚恢复模块根据寄存器组异常状态检测结果、发生异常状态时刻对应的指令与PC值以及锁存备份的寄存器组,实时恢复处理器寄存器组异常状态,以保证处理器安全可靠的执行。
[0017]本专利技术的有益效果:本专利技术的所提出的方法的有益效果主要表现在两个方面:
[0018](1)本专利技术基于处理器寄存器组的锁存备份与错误时刻对应的PC值的回滚替换,实现对处理器寄存器组异常状态的有效恢复,验证了该方法的可靠性(100%处理器寄存器组异常状态的实时恢复)、资源开销(使用38个寄存器即可完成锁存备份的功能)以及延迟开销(12个时钟周期即可恢复异常状态)方面的效率。该处理器异常状态恢复方法无论是在实时性上还是资源消耗上都优于现有的处理器异常状态恢复方法;
[0019](2)根据本专利技术提出的方法设计的寄存器组异常状态的实时恢复模块可轻易的嵌入处理器中,只需要对处理器结构进行微小的修改,再结合处理器寄存器组异常状态检测模块,就能在12个时钟周期之内恢复异常状态,简单高效,无需占用太多的硬件资源,在一定程度上保证了处理器硬件层面的可靠性与安全。
附图说明
[0020]图1为本专利技术实施例提供的处理器寄存器组异常状态的实时恢复方法的流程图;
[0021]图2为本专利技术的处理器寄存器组异常状态的实时恢复系统模块框图;
[0022]图3为测试本专利技术有效性而植入的对寄存器组进行的恶意攻击的指示图;
[0023]图4为使用本专利技术的方法对由植入的对寄存器组进行恶意攻击产生的异常状态的实时恢复的仿真部分结果;
[0024]其中,(a)为植入的硬件木马篡改了寄存器的x15;(b)为步骤S13中插入的NOP指令;(c)为恢复时刻PC地址回滚到了发生错误时刻0x420,使用的备份寄存器组x15的值。
具体实施方式
[0025]为便于本领域技术人员理解本专利技术的
技术实现思路
,下面结合附图对本
技术实现思路
进一步阐释。
[0026]实施例1
[0027]本专利技术提供一种处理器寄存器组异常状态的实时恢复方法,包括以下步骤:
[0028]S1、搭建处理器寄存器组异常错误实时恢复的处理器仿真执行环境;
[0029]S2、获取处理器寄存器组写通道信号的所有信号;
[0030]S3、根据步骤S2获取的写通道的信号,采用触发器进行延迟3个时钟周期操作;
[0031]S4、实时采样本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器寄存器组异常状态的实时恢复方法,其特征在于,包括:A1、采集处理器取指阶段进入译码阶段的指令流,并对采集的指令流进行重排序,从而得到指令流在执行阶段真正的执行顺序;A2、根据步骤A1重排序后的指令流进行处理器写通道信号的锁存;A3、当发现处理器寄存器组的异常状态,则获取发生错误时刻对应的指令与PC值,并产生相应的错误预警信号;A4、根据处理器寄存器组异常状态检测结果、发生异常状态时刻对应的指令与PC值以及锁存备份的寄存器组,实时恢复处理器寄存器组异常状态。2.根据权利要求1所述的一种处理器寄存器组异常状态的实时恢复方法,其特征在于,步骤A2包括:A21、采用两个寄存器组,其中一个寄存器组作为处理器使用的寄存器组,另一个寄存器组作为备份寄存器组;A22、若当前时刻,处理器使用的寄存器组状态正常,将处理器写通道信号以Bypass方式写入处理器使用的寄存器组,将处理器写通道信号进行延迟锁存后写入备份寄存器组;A23、若当前时刻,处理器使用的寄存器组状态异常,将上一时刻的备份寄存器组作为当前处理器使用的寄存器组,将处理器写通道信号以Bypass方式写入当前的处理器使用的寄存器组;并将上一时刻的处理器使用的寄存器组作为当前的备份寄存器组,将处理器写通道信号进行延迟锁存后写入当前的备份寄存器组。3.根据权利要求2所述的一种处理器寄存器组异常状态的实时恢复方法,其特征在于,步骤A4包括:A41、若当前时刻,处理器使用的寄存器组状态异常,则获取发生错误时刻对应的指令与PC值;A42、暂停处理器取指阶段、译码阶段、执行阶段、回写阶段的流水线;A43、在取指阶段与译码阶段之间,插入若干NOP指令;A44、恢复处理器译码阶段、执行阶段与回写阶段的流水线,使得处理器执行步骤A43插入的NOP指令;A45、根据发生错误时刻对应的指令与PC值,将处理器取指阶段的取指RAM的取指PC值替换为由发生错误时刻对应的PC值;A46、恢复处理器取指阶段的流水线;A47、获取预取指FIFO的深度FIFO_Depth,生成持续FIFO_Depth个时钟周期长的选通信号,使得进入译码阶段的指令由取指RAM的指令输出直接提供。4.根据权利要求2所述的一种处理器寄存器组异常状态的实时恢复方法,其特征在于,将处理器写通道信号进行延迟锁存,具体为:将处理器写通道信号延时三个周期进行锁存操作。5.根据权利要求4所述的一种处理器寄存器组异常状态的实时恢复方法,其特征在于,根据重排列后的指令流来对延迟三个时钟周期的写通道信号进行锁存与释放;具体的:将重排列后指令流延迟一拍;将延迟一拍的指令流与未延迟的指令流进行对比,若处理器执行当前指令已完成,则对延迟三个时钟周期的写通道信号进行释放;若处理器仍然在执行当前指令,则对延迟三个时钟周期的写通道信号进行锁存操作。
6.一种处理器寄存器组异常状态的实时恢复系统,其特征在于,包括:锁存备份模块、指令重排列模块、寄存器组异常状态检测模块、回滚恢复模块;指令重排列模块采集处理器取指阶段进入译码阶段的指令流,并对采集的指令流进行重排序,从而得到指令流在执行阶段真正的执行顺序,最后将重排列后的指令流送往寄存器组异常检测模块和锁存备份模块;所述锁存备份模块用于对处理器写入寄存器组的通道信号进行锁存备份,并根据寄存器组异常检测模块的实时检测结果,确定输出的寄存器组;寄存器组异常状态检测模块完成实时检...

【专利技术属性】
技术研发人员:周婉婷李磊袁世伟
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1