预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114266082A(43)申请公布日2022.04.01(21)申请号202111561806.4(22)申请日2021.12.16(71)申请人北京奕斯伟计算技术有限公司地址100176北京市北京经济技术开发区科创十街18号院3号楼1层101室(72)发明人陈伟杰(74)专利代理机构北京市立方律师事务所11330代理人张筱宁(51)Int.Cl.G06F21/73(2013.01)G06F21/72(2013.01)G06F21/54(2013.01)权利要求书3页说明书12页附图7页(54)发明名称防御控制流攻击的装置、方法、处理器、设备及存储介质(57)摘要本申请提供一种防御控制流攻击的装置、方法、处理器、设备及存储介质,涉及处理器技术领域。装置包括:密钥获取模块,用于获取物理不可克隆函数PUF模块对输入激励所输出的响应数据,并将该响应数据作为待的使用的密钥数据存储至寄存器中;加密模块,用于在处理器执行程序控制流过程中,基于该密钥数据对该程序控制流中的目标执行数据进行加密,该目标执行数据包括间接跳转目标地址处的目标指令或者函数调用返回地址中的至少一项;解密模块,用于当处理器执行该目标执行数据时,对加密后的目标执行数据进行解密;执行模块,用于基于解密后的目标执行数据,继续执行该程序控制流。增强处理器的安全能力,从而在处理器级有效防御控制流攻击。CN114266082ACN114266082A权利要求书1/3页1.一种防御控制流攻击装置,其特征在于,所述装置包括:密钥获取模块,用于获取物理不可克隆函数PUF模块对输入激励所输出的响应数据,并将所述响应数据作为待的使用的密钥数据存储至寄存器中;加密模块,用于在处理器执行程序控制流过程中,基于所述密钥数据对所述程序控制流中的目标执行数据进行加密,所述目标执行数据包括间接跳转目标地址处的目标指令或者函数调用返回地址中的至少一项;解密模块,用于当处理器执行所述目标执行数据时,对加密后的目标执行数据进行解密;执行模块,用于基于解密后的目标执行数据,继续执行所述程序控制流。2.根据权利要求1所述的防御控制流攻击的装置,其特征在于,所述目标执行数据为函数调用返回地址;相应的,所述加密模块,用于在处理器执行程序控制流过程中,当所述程序控制流包括函数调用指令时,通过硬件引擎从所述寄存器中读取密钥数据;基于所述密钥数据对所述函数调用返回地址进行加密,并将加密后的函数调用返回地址压入到程序栈中;相应的,所述解密模块,用于当所述函数调用指令的被调函数执行结束时,通过所述硬件引擎从所述程序栈中取出所述加密后的函数调用返回地址,并基于所述密钥数据对所取出的函数调用返回地址进行解密。3.根据权利要求2所述的防御控制流攻击的装置,其特征在于,所述执行模块,用于通过所述硬件引擎将解密后的函数调用返回地址发送至寄存器;通过所述处理器将程序控制流跳转至解密后的函数调用返回地址处,以继续执行所述程序控制流。4.根据权利要求1所述的防御控制流攻击的装置,其特征在于,所述目标执行数据为间接跳转目标地址处的目标指令;相应的,所述加密模块,用于在处理器执行程序控制流过程中,当所述程序控制流包括间接跳转指令时,通过硬件引擎从所述寄存器中读取密钥数据;在将所述间接跳转指令加载到内存过程中,通过所述硬件引擎基于所述密钥数据对所述间接跳转目标地址处的目标指令进行加密,并将加密后的目标指令加载到内存中。5.根据权利要求4所述的防御控制流攻击的装置,其特征在于,所述加密模块,用于通过所述硬件引擎对目标指令执行以下加密过程:在将所述间接跳转指令加载到内存过程中,基于所述密钥数据以及从所述寄存器中获取的加解密长度,对所述目标指令进行加密;相应的,所述解密模块,用于通过所述硬件引擎对加密后的目标指令执行以下解密过程:采用与加密过程相同的加解密长度和相同的密钥数据,对所述加密后的目标指令进行解密。6.根据权利要求4所述的防御控制流攻击的装置,其特征在于,所述执行模块,用于通过所述硬件引擎将解密后的目标指令发送至寄存器,并通过所述处理器执行解密后的目标指令。7.根据权利要求1所述的防御控制流攻击的装置,其特征在于,所述密钥获取模块,用于当目标系统的内存安全阈值不超过目标阈值时,获取所述PUF2CN114266082A权利要求书2/3页模块对输入激励所输出的响应数据,并将所述响应数据作为待使用的密钥数据存储至第一特定寄存器中、将加解密长度存储至第二特定寄存器中;当目标系统的内存安全阈值超过目标阈值时,基于异或加解密指令序列保护密钥得到密钥数据,并将所述密钥数据存储至第三特定寄存器中。8.一种防御控制流攻击的方法,其特征在于,所述方法包括:获取物理不可克隆函数PUF模块