一种防范分支历史注入攻击的方法和装置制造方法及图纸

技术编号:36264629 阅读:19 留言:0更新日期:2023-01-07 10:03
本发明专利技术公开了一种防范分支历史注入攻击的方法和装置,本发明专利技术防范分支历史注入攻击的方法包括为每一个特权级设置一个仅供该特权级单独使用的分支历史缓冲;当程序在某个特权级运行时,分支预测部件使用当前特权级所对应的分支历史缓冲进行分支预测,且在分支指令执行后更新当前特权级所对应的分支历史缓冲;此外,还可进一步不管任何原因切换了异常级,都切换分支预测部件所使用的分支历史缓冲。本发明专利技术能够在硬件上防止分支历史注入攻击,并防止由此带来的处理器性能下降,具有硬件开销小、使用灵活、不影响处理器性能的特点。不影响处理器性能的特点。不影响处理器性能的特点。

【技术实现步骤摘要】
一种防范分支历史注入攻击的方法和装置


[0001]本专利技术涉及微处理器安全领域,具体涉及一种防范分支历史注入攻击的方法和装置。

技术介绍

[0002]处理器安全在微处理器设计中及其重要,隐私和重要数据保护成为当前研究的热点和难点。2018年发现的“spectre”和“meltdown”漏洞影响了主流处理器厂商几乎所有的产品型号,只能通过软件补丁进行防护,安全防护带来的性能开销很大,严重影响了用户程序的运行性能。2022年初,研究人员与英特尔合作披露了另一个新的推测执行漏洞
‑‑
BHI,BHI是Branch History Injection的缩写,首次发现时被研究人员称为Spectre

BHB。BHI是一种影响大多数英特尔和Arm CPU的新型推测执行漏洞,它攻击分支全局历史而不是分支目标预测。不幸的是,这些公司以前对Spectre V2的缓解措施也无法保护BHI的威胁。
[0003]BHI的能够进行处理器攻击的主要原因是在处理器的分支预测单元全局共享的分支历史缓冲(Global History Buffer),分支历史在多个程序或者多个异常级执行的代码之间是共享的,攻击者可以为信息泄露的代码训练分支历史,当代码跳转到更高异常级时,由于处理器的前瞻执行,使用攻击者训练好的分支历史,就可能前瞻执行了一些可能泄露信息的代码。攻击者再通过边信道攻击获取到泄露的信息。当前的补丁措施是在进入高特权级代码时,先执行一段循环,将分支历史信息覆盖,然后再执行敏感代码。这种方式可以避免BHI带来的信息泄露,但是却因为执行无用代码造成性能下降。

技术实现思路

[0004]本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种防范分支历史注入攻击的方法和装置,本专利技术能够在硬件上防止分支历史注入攻击,并防止由此带来的处理器性能下降,具有硬件开销小、使用灵活、不影响处理器性能的特点。
[0005]为了解决上述技术问题,本专利技术采用的技术方案为:
[0006]一种防范分支历史注入攻击的方法,包括:
[0007]S101,为每一个特权级设置一个仅供该特权级单独使用的分支历史缓冲;
[0008]S102,当程序在某个特权级运行时,分支预测部件使用当前特权级所对应的分支历史缓冲进行分支预测,且在分支指令执行后更新当前特权级所对应的分支历史缓冲。
[0009]可选地,步骤S102中当程序在某个特权级运行时,还包括若在发生同一特权级下的进程切换,则采用清除指令将当前特权级所对应的分支历史缓冲清除。
[0010]可选地,所述采用清除指令将当前特权级所对应的分支历史缓冲清除时,清除指令将当前特权级所对应的分支历史缓冲全部恢复为固定默认值以实现清除。
[0011]可选地,所述固定默认值为1或0,且在恢复为1的硬件实现代价较低时选择恢复为1,在恢复为0的硬件实现代价较低时选择恢复为0。
[0012]可选地,步骤S102中当程序在某个特权级运行时,还包括若发生特权级切换,则将
分支预测所使用的分支历史缓冲从原特权级所对应的分支历史缓冲切换到目标特权级所对应的分支历史缓冲,以使得当程序在目标特权级运行时分支预测部件使用目标特权级所对应的分支历史缓冲进行分支预测,并在目标特权级切换返回原特权级时继续切换回原特权级所对应的分支历史缓冲使得当程序返回原特权级运行时分支预测部件重新使用原特权级所对应的分支历史缓冲进行分支预测。
[0013]可选地,步骤S102中当程序在某个特权级运行时,还包括针对可能访问敏感数据的敏感代码进行显式管理分支历史缓冲的步骤,所述显式管理分支历史缓冲包括:
[0014]S201,在执行敏感代码之前,通过执行冻结指令将当前特权级所对应的分支历史缓冲冻结,使得当前特权级所对应的分支历史缓冲不能被更新;
[0015]S202,执行敏感代码中的指令,当需要分支预测时分支预测部件不进行分支预测,或者使用一为固定默认值的分支历史缓冲进行分支预测;
[0016]S203,在执行敏感代码之后,通过执行解冻指令将当前特权级所对应的分支历史缓冲解冻,使得当前特权级所对应的分支历史缓冲可以被更新。
[0017]可选地,步骤S102中当程序在某个特权级运行时,还包括针对可能访问敏感数据的敏感代码进行显式管理分支历史缓冲的步骤,所述显式管理分支历史缓冲包括:
[0018]S301,在执行敏感代码之前,通过执行清除指令将当前特权级所对应的分支历史缓冲清除;
[0019]S302,执行敏感代码中的指令,当需要分支预测时分支预测部件使用当前特权级所对应的分支历史缓冲进行分支预测,且在分支指令执行后更新当前特权级所对应的分支历史缓冲;
[0020]S303,在执行敏感代码之后,通过执行清除指令将当前特权级所对应的分支历史缓冲清除。
[0021]此外,本专利技术还提供一种防范分支历史注入攻击的装置,包括相互连接的处理器和存储器,所述处理器被编程或配置以执行所述防范分支历史注入攻击的方法。
[0022]可选地,所述处理器为基于RISC

V指令集的处理器,所述处理器共有三个特权级:机器模式、监督模式以及用户模式,所述处理器设有三个分支历史缓冲,分别包括机器模式对应的分支历史缓冲GHB_M,监督模式对应的分支历史缓冲GHB_S和用户模式对应的分支历史缓冲GHB_U。
[0023]此外,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述防范分支历史注入攻击的方法。
[0024]和现有技术相比,本专利技术主要具有下述优点:本专利技术防范分支历史注入攻击的方法包括为每一个特权级设置一个仅供该特权级单独使用的分支历史缓冲;当程序在某个特权级运行时,分支预测部件使用当前特权级所对应的分支历史缓冲进行分支预测,且在分支指令执行后更新当前特权级所对应的分支历史缓冲,本专利技术通过将分支历史缓冲、特权级进行对应绑定,从而能够有效解决一个全局分支历史造成的分支历史注入攻击的问题,能够在硬件上防止分支历史注入攻击,并防止由此带来的处理器性能下降,具有硬件开销小、使用灵活、不影响处理器性能的特点。
附图说明
[0025]图1为本专利技术实施例方法的基本流程示意图。
[0026]图2为本专利技术实施例装置的分支历史缓冲结构示意图。
[0027]图3为本专利技术实施例方法的异常级切换的实施例流程示意图。
具体实施方式
[0028]下文将以RISC

V指令集的处理器为例,对本专利技术进行进一步的详细说明。
[0029]如图1所示,本实施例提供一种防范分支历史注入攻击的方法,包括:
[0030]S101,为每一个特权级设置一个仅供该特权级单独使用的分支历史缓冲;
[0031]S102,当程序在某个特权级运行时,分支预测部件使用当前特权级所对应的分支历史缓冲进行分支预测,且本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防范分支历史注入攻击的方法,其特征在于,包括:S101,为每一个特权级设置一个仅供该特权级单独使用的分支历史缓冲;S102,当程序在某个特权级运行时,分支预测部件使用当前特权级所对应的分支历史缓冲进行分支预测,且在分支指令执行后更新当前特权级所对应的分支历史缓冲。2.根据权利要求1所述的防范分支历史注入攻击的方法,其特征在于,步骤S102中当程序在某个特权级运行时,还包括若在发生同一特权级下的进程切换,则采用清除指令将当前特权级所对应的分支历史缓冲清除。3.根据权利要求2所述的防范分支历史注入攻击的方法,其特征在于,所述采用清除指令将当前特权级所对应的分支历史缓冲清除时,清除指令将当前特权级所对应的分支历史缓冲全部恢复为固定默认值以实现清除。4.根据权利要求3所述的防范分支历史注入攻击的方法,其特征在于,所述固定默认值为1或0,且在恢复为1的硬件实现代价较低时选择恢复为1,在恢复为0的硬件实现代价较低时选择恢复为0。5.根据权利要求1所述的防范分支历史注入攻击的方法,其特征在于,步骤S102中当程序在某个特权级运行时,还包括若发生特权级切换,则将分支预测所使用的分支历史缓冲从原特权级所对应的分支历史缓冲切换到目标特权级所对应的分支历史缓冲,以使得当程序在目标特权级运行时分支预测部件使用目标特权级所对应的分支历史缓冲进行分支预测,并在目标特权级切换返回原特权级时继续切换回原特权级所对应的分支历史缓冲使得当程序返回原特权级运行时分支预测部件重新使用原特权级所对应的分支历史缓冲进行分支预测。6.根据权利要求1所述的防范分支历史注入攻击的方法,其特征在于,步骤S102中当程序在某个特权级运行时,还包括针对可能访问敏感数据的敏感代码进行显式管理分支历史缓冲的步骤,所述显式管理分支历史缓冲包括:S201,在执行敏感代码之前,通过执行冻结指令将当前特权级所对...

【专利技术属性】
技术研发人员:郑重黄立波隋兵才郭辉郭维孙彩霞王永文倪晓强雷国庆王俊辉邓全沈俊忠
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1