CN112905995B - 一种处理器内部寄存器组异常行为实时检测方法及系统 - Google Patents
一种处理器内部寄存器组异常行为实时检测方法及系统 Download PDFInfo
- Publication number
- CN112905995B CN112905995B CN202110162587.6A CN202110162587A CN112905995B CN 112905995 B CN112905995 B CN 112905995B CN 202110162587 A CN202110162587 A CN 202110162587A CN 112905995 B CN112905995 B CN 112905995B
- Authority
- CN
- China
- Prior art keywords
- instruction
- register
- state
- register group
- processor
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Abstract
本发明公开了一种处理器内部寄存器组异常行为实时检测方法,包括以下步骤:S1、建指令集测试使用的处理器环境;S2、遍历处理器所有的公开指令集;S3、分析指令集在译码、执行、回写过程中的执行情况及处理器的内核结构,并获得相关信号;S4、获得寄存器组的状态;S5、获取每一条指令的特征信息;S6、对取指令操作后的指令流进行修正处理;S7、对寄存器组状态进行简化处理;S8、进行第一次检测与弱预警;S9、对寄存器组异常行为进行二次检测与强预警。本发明只需采样处理器内核的相关信号,就能在两个时钟周期后给出寄存器组状态的检测结果,在一定程度上保证了处理器硬件层面的可靠性与安全。
Description
技术领域
本发明属于本发明属于计算机和集成电路领域,特别涉及一种处理器内部寄存器组异常行为实时检测方法及系统。
背景技术
硬件木马指的是:在芯片或者电子系统中故意植入的特殊模块或者设计者无意留下的缺陷模块,在特殊条件触法下,该模块能够被攻击者利用而实现具有破坏性的功能。插入的硬件木马可能会导致泄露信息,改变电路功能,甚至破坏电路。处理器的通用寄存器组是处理器运行中的所有中间数据的载体,一旦寄存器组遭受了恶意攻击,这对于处理器将会是毁灭性的打击。这些攻击包括:硬件木马、隐藏后门和设计漏洞。
现有方法主要包括:
(1)检测技术:“L.Liu,et al.:A Hardware Security Enhanced ServerCPU withCores under Runtime Surveillance by an In-Package DynamicallyReconfigurable Processor,HCS Papers(2019)1(DOI:10.1109/HOTCHIPS.2019.8875682).”(基于动态可重构计算处理器实时监控的内核硬件安全增强服务器CPU芯片),通过动态可重构计算处理器采集CPU相关信息,并与参考模型进行对比,从而实现对CPU行为的检测。主要缺点是:1)资源开销很大;2)无法实时检测;3)定期采集数据进行分析,存在漏检风险;
(2)主动安全处理器(ASP):“D.Meng,et al.:Built-in Security Computer:Deploying Security-First Architecture Using Active Security Processor,IEEETransactions on Computers 69(2020)1571(DOI:10.1109/TC.2020.3011748).”。ASP通过不对称的地址空间与CPU进行物理隔离,ASP与CPU都可以在其各自的操作系统和应用程序中独立运行自己的内存空间。ASP具有整个系统的最高权限(超级根)。主要缺点是:1)对于硬件木马的恶意攻击(如:篡改通用寄存器的值),按照该论文的主动检测恶意行为的方法是无法检测与防御硬件木马的攻击的;2)成本高;3)无法实时检测;4)定期采集数据进行机器学习预测与分析,存在漏检风险。
发明内容
本发明的目的在于克服现有技术处理器寄存器组易遭受到硬件木马、处理器设计漏洞、隐藏后门的恶意攻击的问题,提供一种只需采样处理器内核的相关信号,就能在两个时钟周期后给出寄存器组状态的检测结果的处理器内部寄存器组异常行为实时检测方法,并提供一种对应的监测系统。
本发明的目的是通过以下技术方案来实现的:一种处理器内部寄存器组异常行为实时检测方法,包括以下步骤:
S1、搭建指令集测试使用的处理器环境;
S2、遍历处理器所有的公开指令集;
S3、分析指令集在译码、执行、回写过程中的执行情况及处理器的内核结构,并获得相关信号;
S4、获取处理器寄存器组模块的32个通用寄存器状态与其端口信号,并通过实时处理获得寄存器组的状态;
S5、根据指令集在处理器的遍历测试,获取每一条指令的特征信息;
S6、根据步骤S3获取的相关信号、步骤S4获取的寄存器组状态以及步骤S5获取的指令特征信息,对取指令操作后的指令流进行修正处理,使指令流的每一条指令与步骤S4实时获取的寄存器组状态匹配到一个时钟周期;
S7、根据修正后的指令流以及步骤S4获取的寄存器组状态和处理器寄存器组模块的写端口信号对步骤S4实时获取的寄存器组状态进行简化处理,使其用2Bit信号来表示;
S8、判决寄存器组状态是否异常:根据步骤S6修正后的指令流与步骤S5获取的指令特征信息,通过逻辑组合生成修正后的指令流中的指令对应的唯一的寄存器组状态值(2Bit表示),再将此寄存器组状态值与步骤S7获得的寄存器组状态值进行比较,当两者状态值不一致时,产生第一次预警,并执行步骤S9,若一致则结束操作;
S9、二次判决寄存器组状态是否异常:将步骤S4实时获取的寄存器组模块的写通道信号、指令信息和32个通用寄存器的值进行比较,若三者信息一致则结束操作,否则产生第二次预警。
进一步地,所述步骤S3中的相关信号具体包括:1)处理器每个流水阶段的valid信号;2)流水冲突与数据冲突指示信号。
进一步地,所述步骤S4具体包括以下分步骤:
S41、实时采样寄存器组的32个通用寄存器的值;
S42、将S41采集到的值通过时序逻辑延迟一个时钟周期,作为通用寄存器新的值;
S43、将步骤S41和步骤S42得到的值进行比较,若同一寄存器的两个值不同,则将该寄存器状态信号记为1,反之记为0,得到32Bit的寄存器组状态信号;
S44、实时采样处理器寄存器组模块的写通道信号,并使用写通道信号对步骤S43得到的寄存器组状态信号进行修正。
进一步地,所述步骤S5获得指令的特征信息包括:1)指令的生命周期;2)指令类型,记录指令是否为多周期指令,对于非定长周期指令按照其出现的最小周期数进行记录;3)指令对寄存器组的操作类型。
进一步地,步骤S6中对取指令操作后的指令流进行修正处理的目标为:还原处理器在运行过程中真正的指令执行顺序。
进一步地,所述步骤S7中信号简化表达指令对应的寄存器组状态的具体包括以下内容:
1)2’b00:指令没有对目标寄存器进行写操作,且其它寄存器没有被写入值;
2)2’b01:指令没有对目标寄存器进行写操作,且其它寄存器被写入了值;
3)2’b10:指令对目标寄存器进行写操作,且其它寄存器没有被写入值;
4)2’b11:指令对目标寄存器进行写操作,且其它寄存器被写入了值。
进一步地,所述步骤S9中写通道信号、指令信息以及寄存器组值的信息不一致的具体表现为:
1)指令信息指示对寄存器组进行写操作,而写通道的写使能未拉高;
2)指令信息指示的目标寄存器与写通道的地址信号的值不一致;
3)目标寄存器的值与写通道的数据信号的值不一致。
本发明的另一个目的是提供一种处理器内部寄存器组的异常行为的实时检测方法,包括以下模块:
指令执行周期译码模块:用于对处理器取指操作的指令流进行译码,得到程序运行中的指令的生命周期信息,辅助指令与寄存器组状态对齐模块完成对当前指令流的修正处理;
指令与寄存器组状态对齐模块:利用指令流修正规则来完成对取值操作后的指令流进行修正处理,以达到将指令流中的指令与其对应的寄存器组状态同步到一个时钟周期的目的;
寄存器组状态获取及其简化模块:将实时采样的寄存器组的值与上一个时钟周期的寄存器组的值进行比较,得到寄存器组的状态;
指令操作类型译码模块:对由指令与寄存器组状态对齐模块修正后的指令流进行译码,得到指令是否为多周期指令和是否会对寄存器组进行写值操作的信息,辅助寄存器组异常状态判决模块进行寄存器组的异常状态实时检测;
寄存器组异常状态判决模块:将修正后的指令流、指令的生命周期、指令是否会对寄存器进行写值操作与指令是否为多周期指令信息组合在一起生成修正后的指令流中的指令生命周期内对应的唯一的寄存器组状态;再将该寄存器组的2Bit状态值与实际采样处理的寄存器的2Bit状态值进行比较,并使用写端口信号进行辅助判断,实时的检测寄存器组的异常状态,并且可以将出现异常状态所对应的指令、PC值与所处的时钟周期数输出,供处理器进行故障预警与自我保护使用。
本发明的有益效果是:本发明的所提出的方法的有益效果主要表现在两个方面:(1)本发明的方法通过将修正后的指令流、指令的生命周期、指令的操作类型与指令的类型等信息组合在一起生成修正后的指令流的指令生命周期内对应的唯一的寄存器组的状态,再将本方法生成的寄存器状态与实时处理得到的寄存器状态进行比较,并通过处理器寄存器组模块的写端口信号进行辅助判断,可以实现实时检测,优于现有检测方案。(2)根据本发明提出的方法设计的寄存器组异常状态的实时检测模块可直接嵌入处理器,只需采样处理器内核的相关信号,就能在两个时钟周期后给出寄存器组状态的检测结果,简单高效,无需占用太多的硬件资源,在一定程度上保证了处理器硬件层面的可靠性与安全。
附图说明
图1为本发明的处理器内部寄存器组异常行为实时检测方法的流程图;
图2为本发明的指令流的修正处理情形二;
图3为本发明的指令流修正处理情形三;
图4为本发明的指令流修正处理情形四;
图5为根据本发明提出的处理器寄存器组的异常状态实时检测的方法设计的功能模块框图;其中信号左上角的sampling表示该信号来自于处理器运行过程中内部信号。
具体实施方式
下面结合附图进一步说明本发明的技术方案。
如图1所示,本发明的一种处理器内部寄存器组异常行为实时检测方法,包括以下步骤:
S1、搭建指令集测试使用的处理器环境;
S2、遍历处理器所有的公开指令集;
S3、分析指令集在译码、执行、回写过程中的执行情况及处理器的内核结构,并获得相关信号;相关信号具体包括:1)处理器每个流水阶段的valid信号;2)流水冲突与数据冲突指示信号。
S4、获取处理器寄存器组模块的32个通用寄存器状态与其端口信号,并通过实时处理获得寄存器组的状态;
具体包括以下分步骤:
S41、实时采样寄存器组的32个通用寄存器的值;
S42、将S41采集到的值通过时序逻辑延迟一个时钟周期,作为通用寄存器新的值;
S43、将步骤S41和步骤S42得到的值进行比较,若同一寄存器的两个值不同,则将该寄存器状态信号记为1,反之记为0,得到32Bit的寄存器组状态信号;
S44、实时采样处理器寄存器组模块的写通道信号,并使用写通道信号对步骤S43得到的寄存器组状态信号进行修正,以解决寄存器组在当前时钟周期写入与上一个时钟周期相同的值的问题。
S5、根据指令集在处理器的遍历测试,获取每一条指令的特征信息;获得指令的特征信息包括:1)指令的生命周期;2)指令类型,记录指令是否为多周期指令,对于非定长周期指令按照其出现的最小周期数进行记录;3)指令对寄存器组的操作类型。
S6、根据步骤S3获取的相关信号、步骤S4获取的寄存器组状态以及步骤S5获取的指令特征信息,对取指令操作后的指令流进行修正处理,使指令流的每一条指令与步骤S4实时获取的寄存器组状态匹配到一个时钟周期;
需要对处理器取值后的指令流进行修正处理的原因在于:顺序结构处理器中的指令都是顺序派遣的,因此在当前指令等待上一条指令完成操作期间,寄存器组状态对应的指令是当前指令。但是在实际上寄存器组状态对应的指令应该是上一条指令。因此需要步骤S6所述的4条指令流修正规则实现指令与寄存器状态的完全对齐。对取指令操作后的指令流进行修正处理的目标为:还原处理器在运行过程中真正的指令执行顺序;根据指令之间的相互影响,取指操作后的指令流的修正处理过程有如下4中情形:
1)连续单周期指令或者当前指令为单周期指令,下一条为执行周期大于1的指令,接着为单周期指令,则无需做修正;本发明对于load、store型指令,若其访问的是数据RAM,则视为单周期指令;
2)当前指令为load或store指令,下一条指令为单周期指令,接着为连续load或store指令,且load和store指令访问的是处理其的外围设备。以指令流lw、lui、sw|、lw为例,指令流的修正处理过程如图2所示,其示例指令流的相关信息如表1所示。
表1指令流的修正处理规则2所对应的示例指令流的相关信息
其指令流的修正的结果为:lw的下一个周期(回写阶段)为lui,接着lw处于回写阶段直到其执行完毕再执行下一条指令sw,在sw处于回写阶段的第一个周期,其下一条指令lw处于执行阶段,最后lw等待sw执行完毕再进入回写阶段进行执行未完成的操作。
3)当前指令为load或者store指令,下一条为执行周期大于1的指令,接着为单周期指令,且load和store指令访问的是处理其的外围设备。以指令流sw、jarl、addi为例,指令流的修正处理过程如图3所示,其示例指令流的相关信息如表2所示。
表2指令流的修正处理规则3所对应的示例指令流的相关信息
其指令流的修正的结果为:sw的下一个周期(回写阶段)为jarl处于执行阶段的第一个周期,接着jarl等待sw执行完毕后再执行未完成的操作,最后jarl执行完成之后才执行下一条单周期指令addi。
4)当前与下一条指令为load或者store指令,第三条为执行周期大于1的指令,第四条为单周期指令,且load和store指令访问的是处理其的外围设备。以指令流sw、lw、jarl、addi为例,指令流的修正处理过程如图4所示,其示例指令流的相关信息如表3所示。
表3指令流的修正处理规则2所对应的示例指令流的相关信息
其指令流的修正的结果为:sw的下一个周期(回写阶段)为lw指令的执行阶段,接着lw等待sw执行完毕后再进入回写阶段,同时lw的下一条指令jarl处于执行阶段的第一个周期,然后jarl等待lw执行完毕后再执行后续的操作,最后jarl执行完毕后,执行addi。
S7、根据修正后的指令流以及步骤S4获取的寄存器组状态和处理器寄存器组模块的写端口信号对步骤S4实时获取的寄存器组状态进行简化处理,使其用2Bit信号来表示;
信号简化表达指令对应的寄存器组状态的具体包括以下内容:
1)2’b00:指令没有对目标寄存器进行写操作,且其它寄存器没有被写入值;
2)2’b01:指令没有对目标寄存器进行写操作,且其它寄存器被写入了值;
3)2’b10:指令对目标寄存器进行写操作,且其它寄存器没有被写入值;
4)2’b11:指令对目标寄存器进行写操作,且其它寄存器被写入了值。
S8、判决寄存器组状态是否异常:根据步骤S6修正后的指令流与步骤S5获取的指令特征信息,通过逻辑组合生成修正后的指令流中的指令对应的唯一的寄存器组状态值(2Bit表示),再将此寄存器组状态值与步骤S7获得的寄存器组状态值进行比较,当两者状态值不一致时,产生第一次预警,并执行步骤S9,若一致则结束操作;由于寄存器组存在被连续写入相同的值的情况,因此该预警信号有可能是虚警,本发明把该信号称为弱预警;
S9、二次判决寄存器组状态是否异常:将步骤S4实时获取的寄存器组模块的写通道信号、指令信息和32个通用寄存器的值进行比较,若三者信息一致则结束操作,否则产生第二次预警;该预警信号解决了步骤S8存在虚警的问题,本发明把该信号称为强预警。由此可以有效的实时的检测寄存器组的异常状态,并且可以将出现异常状态所对应的指令、PC值与所处的时钟周期数输出,供处理器进行故障预警与自我保护使用。
写通道信号、指令信息以及寄存器组值的信息不一致的具体表现为:
1)指令信息指示对寄存器组进行写操作,而写通道的写使能未拉高;
2)指令信息指示的目标寄存器与写通道的地址信号的值不一致;
3)目标寄存器的值与写通道的数据信号的值不一致。
图5为根据本发明提出的处理器寄存器组的异常状态实时检测的方法设计的检测系统的功能模块框图;其中信号左上角的sampling表示该信号来自于处理器运行过程中内部信号。
指令执行周期译码模块:用于对处理器取指操作的指令流进行译码,得到程序运行中的指令的生命周期信息,辅助指令与寄存器组状态对齐模块完成对当前指令流的修正处理;
指令与寄存器组状态对齐模块:利用指令流修正规则来完成对取值操作后的指令流进行修正处理,以达到将指令流中的指令与其对应的寄存器组状态同步到一个时钟周期的目的;
寄存器组状态获取及其简化模块:将实时采样的寄存器组的值与上一个时钟周期的寄存器组的值进行比较,得到寄存器组的状态;由于指令对寄存器组的操作每个时钟周期有且仅会对一个寄存器进行读写操作,指令的11位到7位共5Bit,指示着指令将会寄存器组的哪个寄存器进行操作。因此对于每条指令来说,其对应的寄存器组状态有且只有一种是正确的。为了便于后续对寄存器组异常状态的判决,本文用2Bit信号来简化表示指令对应的GPRs状态情况。1)2’b00:指令没有对目标寄存器进行写操作,且其它寄存器没有被写入值;2)2’b01:指令没有对目标寄存器进行写操作,且其它寄存器被写入了值;3)2’b10:指令对目标寄存器进行写操作,且其它寄存器没有被写入值;4)2’b11:指令对目标寄存器进行写操作,且其它寄存器被写入了值。
指令操作类型译码模块:对由指令与寄存器组状态对齐模块修正后的指令流进行译码,得到指令是否为多周期指令和是否会对寄存器组进行写值操作的信息,辅助寄存器组异常状态判决模块进行寄存器组的异常状态实时检测;
寄存器组异常状态判决模块:将修正后的指令流、指令的生命周期、指令是否会对寄存器进行写值操作与指令是否为多周期指令信息组合在一起生成修正后的指令流中的指令生命周期内对应的唯一的寄存器组状态;再将该寄存器组的2Bit状态值与实际采样处理的寄存器的2Bit状态值进行比较,并使用写端口信号进行辅助判断,实时的检测寄存器组的异常状态,并且可以将出现异常状态所对应的指令、PC值与所处的时钟周期数输出,供处理器进行故障预警与自我保护使用。
按照本发明内容进行设计,并把所设计的检测电路集成到处理器代码中,进行流片制造或者FPGA编程,便把相应的检测功能集成在一个芯片中,可以实现对处理器内部寄存器的实时检测。
本发明提出的新方法,它通过将修正后的指令流、指令的生命周期、指令的操作类型与指令的类型等信息组合在一起生成修正后的指令流的指令生命周期内对应的唯一的寄存器组的状态,再将本方法生成的寄存器状态与实时处理得到的寄存器状态进行比较,并通过处理器寄存器组模块的写端口信号进行辅助判断,可以实现实时检测。本发明提出的方法,简单高效,无需占用的太多的硬件资源。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (7)
1.一种处理器内部寄存器组异常行为实时检测方法,其特征在于,包括以下步骤:
S1、搭建指令集测试使用的处理器环境;
S2、遍历处理器所有的公开指令集;
S3、分析指令集在译码、执行、回写过程中的执行情况及处理器的内核结构,并获得相关信号;
S4、获取处理器寄存器组模块的32个通用寄存器状态与其端口信号,并通过实时处理获得寄存器组的状态;具体包括以下分步骤:
S41、实时采样寄存器组的32个通用寄存器的值;
S42、将S41采集到的值通过时序逻辑延迟一个时钟周期,作为通用寄存器新的值;
S43、将步骤S41和步骤S42得到的值进行比较,若同一寄存器的两个值不同,则将该寄存器状态信号记为1,反之记为0,得到32Bit的寄存器组状态信号;
S44、实时采样处理器寄存器组模块的写通道信号,并使用写通道信号对步骤S43得到的寄存器组状态信号进行修正;
S5、根据指令集在处理器的遍历测试,获取每一条指令的特征信息;
S6、根据步骤S3获取的相关信号、步骤S4获取的寄存器组状态以及步骤S5获取的指令特征信息,对取指令操作后的指令流进行修正处理,使指令流的每一条指令与步骤S4实时获取的寄存器组状态匹配到一个时钟周期;
S7、根据修正后的指令流以及步骤S4获取的寄存器组状态和处理器寄存器组模块的写端口信号对步骤S4实时获取的寄存器组状态进行简化处理,使其用2Bit信号来表示;
S8、判决寄存器组状态是否异常:根据步骤S6修正后的指令流与步骤S5获取的指令特征信息,通过逻辑组合生成修正后的指令流中的指令对应的唯一的寄存器组状态值,用2Bit表示,再将此寄存器组状态值与步骤S7获得的寄存器组状态值进行比较,当两者状态值不一致时,产生第一次预警,并执行步骤S9,若一致则结束操作;
S9、二次判决寄存器组状态是否异常:将步骤S4实时获取的寄存器组模块的写通道信号、指令信息和32个通用寄存器的值进行比较,若三者信息一致则结束操作,否则产生第二次预警。
2.根据权利要求1所述的一种处理器内部寄存器组异常行为实时检测方法,其特征在于,所述步骤S3中的相关信号具体包括:1)处理器每个流水阶段的valid信号;2)流水冲突与数据冲突指示信号。
3.根据权利要求1所述的一种处理器内部寄存器组异常行为实时检测方法,其特征在于,所述步骤S5获得指令的特征信息包括:1)指令的生命周期;2)指令类型,记录指令是否为多周期指令,对于非定长周期指令按照其出现的最小周期数进行记录;3)指令对寄存器组的操作类型。
4.根据权利要求1所述的一种处理器内部寄存器组异常行为实时检测方法,其特征在于,步骤S6中对取指令操作后的指令流进行修正处理的目标为:还原处理器在运行过程中真正的指令执行顺序。
5.根据权利要求1所述的一种处理器内部寄存器组异常行为实时检测方法,其特征在于,所述步骤S7中信号简化表达指令对应的寄存器组状态的具体包括以下内容:
1)2’b00:指令没有对目标寄存器进行写操作,且其它寄存器没有被写入值;
2)2’b01:指令没有对目标寄存器进行写操作,且其它寄存器被写入了值;
3)2’b10:指令对目标寄存器进行写操作,且其它寄存器没有被写入值;
4)2’b11:指令对目标寄存器进行写操作,且其它寄存器被写入了值。
6.根据权利要求1所述的一种处理器内部寄存器组异常行为实时检测方法,其特征在于,所述步骤S9中写通道信号、指令信息以及寄存器组值的信息不一致的具体表现为:
1)指令信息指示对寄存器组进行写操作,而写通道的写使能未拉高;
2)指令信息指示的目标寄存器与写通道的地址信号的值不一致;
3)目标寄存器的值与写通道的数据信号的值不一致。
7.一种处理器内部寄存器组异常行为实时检测系统,其特征在于,包括以下模块:
指令执行周期译码模块:用于对处理器取指操作的指令流进行译码,得到程序运行中的指令的生命周期信息,辅助指令与寄存器组状态对齐模块完成对当前指令流的修正处理;
指令与寄存器组状态对齐模块:利用指令流修正规则来完成对取值操作后的指令流进行修正处理,以达到将指令流中的指令与其对应的寄存器组状态同步到一个时钟周期的目的;
寄存器组状态获取及其简化模块:将实时采样的寄存器组的值与上一个时钟周期的寄存器组的值进行比较,得到寄存器组的状态;
指令操作类型译码模块:对由指令与寄存器组状态对齐模块修正后的指令流进行译码,得到指令是否为多周期指令和是否会对寄存器组进行写值操作的信息,辅助寄存器组异常状态判决模块进行寄存器组的异常状态实时检测;
寄存器组异常状态判决模块:将修正后的指令流、指令的生命周期、指令是否会对寄存器进行写值操作与指令是否为多周期指令信息组合在一起生成修正后的指令流中的指令生命周期内对应的唯一的寄存器组状态;再将该寄存器组的2Bit状态值与实际采样处理的寄存器的2Bit状态值进行比较,并使用写端口信号进行辅助判断,实时的检测寄存器组的异常状态,并且可以将出现异常状态所对应的指令、PC值与所处的时钟周期数输出,供处理器进行故障预警与自我保护使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110162587.6A CN112905995B (zh) | 2021-02-05 | 2021-02-05 | 一种处理器内部寄存器组异常行为实时检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110162587.6A CN112905995B (zh) | 2021-02-05 | 2021-02-05 | 一种处理器内部寄存器组异常行为实时检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905995A CN112905995A (zh) | 2021-06-04 |
CN112905995B true CN112905995B (zh) | 2022-08-05 |
Family
ID=76123019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110162587.6A Active CN112905995B (zh) | 2021-02-05 | 2021-02-05 | 一种处理器内部寄存器组异常行为实时检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905995B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610519B (zh) * | 2022-03-17 | 2023-03-14 | 电子科技大学 | 一种处理器寄存器组的异常错误的实时恢复方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101156137A (zh) * | 2005-03-30 | 2008-04-02 | Arm有限公司 | 选择子例程返回机制 |
CN103984530A (zh) * | 2014-05-15 | 2014-08-13 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种提高store指令执行效率的流水线结构及方法 |
CN105528284A (zh) * | 2014-09-28 | 2016-04-27 | 华为技术有限公司 | 一种内核故障注入方法及电子设备 |
CN110135161A (zh) * | 2019-05-23 | 2019-08-16 | 电子科技大学 | 一种硬件木马的在片检测方法 |
CN110659458A (zh) * | 2019-10-10 | 2020-01-07 | 陈昶宇 | 支持软件代码数据保密可信执行的中央处理器设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599725B2 (en) * | 2016-12-28 | 2020-03-24 | Verisign, Inc. | Systems, devices, and methods for improved RDAP traffic analysis and mitigation |
CN111221573B (zh) * | 2018-11-26 | 2022-03-25 | 深圳云天励飞技术股份有限公司 | 一种寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质 |
CN112269597B (zh) * | 2020-10-23 | 2023-03-24 | 中国人民解放军战略支援部队信息工程大学 | 处理器指令异常行为检测方法及系统 |
-
2021
- 2021-02-05 CN CN202110162587.6A patent/CN112905995B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101156137A (zh) * | 2005-03-30 | 2008-04-02 | Arm有限公司 | 选择子例程返回机制 |
CN103984530A (zh) * | 2014-05-15 | 2014-08-13 | 中国航天科技集团公司第九研究院第七七一研究所 | 一种提高store指令执行效率的流水线结构及方法 |
CN105528284A (zh) * | 2014-09-28 | 2016-04-27 | 华为技术有限公司 | 一种内核故障注入方法及电子设备 |
CN110135161A (zh) * | 2019-05-23 | 2019-08-16 | 电子科技大学 | 一种硬件木马的在片检测方法 |
CN110659458A (zh) * | 2019-10-10 | 2020-01-07 | 陈昶宇 | 支持软件代码数据保密可信执行的中央处理器设计方法 |
Non-Patent Citations (3)
Title |
---|
Evaluation of In-vivo Kinematics of Cervical Spines by Co-Registering Dynamic Ultrasound with MRI;Mingxin Zheng等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8091608》;20171102;第1-4页 * |
基于XGBoost的硬件木马检测方法;高洪波等;《电子技术应用》;20190510;第45卷(第4期);第55-59页 * |
基于三层防护的CAN寄存器翻转恢复方法;宋智等;《国外电子测量技术》;20170216;第35卷(第12期);第32-35页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112905995A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI512520B (zh) | 偵測對數位電路之攻擊之系統與方法 | |
US10423474B2 (en) | Performing diagnostic tracing of an executing application to identify suspicious pointer values | |
CN103365776B (zh) | 基于确定性重放的并行系统弱一致性的验证方法和系统 | |
US10984096B2 (en) | Systems, methods, and apparatus for detecting control flow attacks | |
US11016773B2 (en) | Processor trace extensions to facilitate real-time security monitoring | |
CN112817787B (zh) | 中断驱动嵌入式系统数据竞争的自动检测方法 | |
CN104169888A (zh) | 运行时间仪表定向采样 | |
US20190303166A1 (en) | Operating a pipeline flattener in a semiconductor device | |
US20150067847A1 (en) | Malicious Activity Detection of a Processing Thread | |
JP2010257150A (ja) | 不正処理検知装置、不正処理検知方法及びプログラム | |
TWI515597B (zh) | 安全保護方法和處理器 | |
CN112905995B (zh) | 一种处理器内部寄存器组异常行为实时检测方法及系统 | |
Mirbagher-Ajorpaz et al. | Perspectron: Detecting invariant footprints of microarchitectural attacks with perceptron | |
US10684834B2 (en) | Method and apparatus for detecting inter-instruction data dependency | |
KR20200088760A (ko) | 체크섬 생성 | |
US10402201B2 (en) | Method and apparatus for detecting memory conflicts using distinguished memory addresses | |
Yuan et al. | Real-time detection of hardware trojan attacks on General-Purpose Registers in a RISC-V processor | |
CN114692162A (zh) | 处理器攻击检测方法、处理器及电子设备 | |
US11403108B2 (en) | Exception handling | |
US11263017B2 (en) | Exception register delay | |
Le et al. | Spectre attack detection with Neutral Network on RISC-V processor | |
RU2427883C2 (ru) | Окончание инструкции с учетом потребляемой энергии | |
KR20180064825A (ko) | 명시적 및 암시적 정보 흐름 추적 방법 및 그 장치 | |
US20210090677A1 (en) | Apparatus and method for executing debug instructions | |
Afzulpurkar | Forensic Memory Classification using Deep Recurrent Neural Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |