System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 减轻基于处理器的设备中的指针认证码(PAC)攻击制造技术_技高网

减轻基于处理器的设备中的指针认证码(PAC)攻击制造技术

技术编号:45002015 阅读:10 留言:0更新日期:2025-04-15 17:16
本文公开了减轻基于处理器的设备中的指针认证码(PAC)攻击。就此而言,在一些示例性方面中,基于处理器的设备的处理器被配置为确定用于认证指针的指针认证指令正被推测性地执行。处理器还被配置为:响应于确定指针认证指令正被推测性地执行,基于指针的签名来确定指针无效。处理器还被配置为:响应于确定指针无效,执行减轻动作。

【技术实现步骤摘要】
【国外来华专利技术】

概括地说,本公开内容的技术涉及基于处理器的设备中的指针认证,具体而言,本公开内容的技术涉及基于在推测性执行期间对指针签名的重复尝试的授权来减轻攻击的可能性。


技术介绍

1、存储器损坏漏洞(memory corruption vulnerability)展现了影响现代基于处理器的设备的一个长期安全问题。存储器损坏漏洞可以包括内存损坏故障(memorycorruption bug)(例如,越界写入和读取、释放后使用和双倍释放故障、以及整数溢出和下溢),以及利用这样的故障的内存损坏攻击。特别值得关注的是被称为“控制流劫持攻击”的内存损坏攻击,其修改存储在存储器中的代码指针,以改变执行进程的程序流。使用控制流劫持攻击的攻击者可以改变执行进程用于重定向对进程的执行的代码指针,以及导致攻击者提供的潜在有害代码被执行。

2、为了保护指针的完整性以及抵御控制流劫持攻击,一些现代基于处理器的设备实现了包括指针签名指令和指针认证指令的指令集架构(isa)。使用这样的指令和相关的底层硬件,进程可以使用称为指针认证码(pac)的加密哈希(cryptographic hash)对指针进行签名,指针认证码是使用指针生成的,并且被存储在指针的未使用比特中。pac然后可以稍后用作指针的签名,以验证指针没有被不正确地修改,以及如果指针被篡改则引发软件可见的架构异常(architectural exception)。以这种方式,攻击者在执行对指针的未经授权的修改时所面临的困难可以显著增加。

3、然而,研究人员最近提出了一种类型的攻击,在本文中称为pac攻击,以及也被称为“pacman攻击”,这种攻击可以使攻击者使用可以避免引发架构异常的技术来穷举(brute-force)指针的签名。为了实现这一点,pac攻击使用推测性执行路径来尝试验证指针签名,以及使用微架构侧通道(例如,对高速缓存、翻译后备缓冲区(translationlookaside buffer)(tlb)、功能单元和芯片上网络的内容做出的改变,即使推测性执行路径被压碎(squash),这些改变也会保留)来泄露经尝试的签名验证的结果。以这种方式,理论上,使用pac攻击的攻击者甚至可以在isa提供指针签名指令和指针认证指令的基于处理器的设备上执行成功的控制流劫持攻击。


技术实现思路

1、详细描述中公开的方面包括减轻基于处理器的设备中的指针认证码(pac)攻击。还公开了相关的装置、方法和计算机可读介质。在这方面,在本文公开的一些示例性方面中,基于处理器的设备的处理器(例如,使用减轻电路)确定认证指针的指针认证指令正在被推测性地执行。在推测性地执行指针验证指令并且确定指针无效时,处理器执行减轻动作。如本文所使用的,作为非限制性示例,“指针认证指令”是指显式认证指令,例如arm指令aut,和/或包括认证微操作和另一微操作(例如加载微操作或分支微操作)的组合的指令。术语“pac攻击”和“pacman攻击”在本文中用于指代尝试使用指针认证指令的推测性执行来尝试验证指针签名,以及随后使用微架构侧通道来泄露经尝试的签名验证的结果。

2、在一些示例性方面中,减轻动作包括修改指针的签名以指示指针有效(即使指针实际上无效),并且还引发微架构异常以触发流水线(pipeline)刷新。此过程将防止关于指针的真实有效性的任何信息导致攻击者可能检测到的微架构副作用。根据一些方面,可以立即触发流水线刷新,而一些方面可以提供,当指针认证指令准备好隐退(retirement)时触发流水线刷新。在一些方面中,流水线刷新可以仅刷新比指针认证指令年轻的指令,在这种情况下,处理器将提供用于重新执行指针认证指令的机制,以获得关于指针的有效性的真实结果。一些方面可以提供,指针认证指令本身也被刷新。在这样的方面中,设置与指针认证指令相关联的指示器,使得处理器可以确定指针认证指令的后续迭代何时不再是推测性的。当指针认证指令的后续迭代被确定为不再是推测性的时,如果指针的签名指示指针无效,则处理器通过修改指针的签名来触发无效地址架构异常,从而以传统方式执行指针认证。以这种方式,这样的方面可以通过防止经由微架构侧通道的关于指针的真实有效性的泄露来使经尝试的pac攻击的效力降级(即,通过不将指针标记为有效,这导致攻击者对指针签名的穷举猜测总是返回相同的结果,无论猜测是正确的还是不正确的)。

3、根据一些方面,由处理器执行的减轻动作可以包括修改指针的签名以指示指针无效,以及递增无效指针计数器的值。在这样的方面中的处理器然后可以确定无效指针计数器的值是否超过无效指针计数门限。如果是,则处理器引发架构异常,以指示可能的攻击。因此,这样的方面提供了针对穷举pac攻击的保护,穷举pac攻击通常需要在正确猜测pac之前进行大量的指针认证指令推测性执行。

4、在另一方面中,提供了一种基于处理器的设备。基于处理器的设备包括处理器,该处理器包括执行流水线电路。处理器被配置为确定用于认证指针的指针认证指令正被推测性地执行。处理器还被配置为:响应于确定指针认证指令正被推测性地执行,基于指针的签名来确定指针无效。处理器还被配置为:响应于确定指针无效,执行减轻动作。

5、在另一方面中,提供了一种基于处理器的设备。基于处理器的设备包括用于确定用于认证指针的指针认证指令正被推测性地执行的单元。基于处理器的设备还包括用于响应于确定指针认证指令正被推测性地执行,基于指针的签名来确定指针无效的单元。基于处理器的设备还包括用于响应于确定指针无效而执行减轻动作的单元。

6、在另一方面中,提供了一种用于减轻pac攻击的方法。该方法包括:由基于处理器的设备的处理器确定用于认证指针的指针认证指令正被推测性地执行。该方法还包括,响应于确定指针认证指令正被推测性地执行,基于指针的签名确定指针无效。该方法还包括,响应于确定指针无效,执行减轻动作。

7、在另一示例性实施例中,提供了一种其上存储有计算机可执行指令的非暂时性计算机可读介质。当由处理器执行时,计算机可执行指令使处理器确定用于认证指针的指针认证指令正被推测性地执行。所述计算机可执行指令还使得所述处理器响应于确定所述指针认证指令正被推测性地执行,基于所述指针的签名来确定所述指针无效。计算机可执行指令还使得处理器响应于确定指针无效而执行减轻动作。

本文档来自技高网...

【技术保护点】

1.一种基于处理器的设备,包括:

2.根据权利要求1所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为进行以下操作来执行所述减轻动作:

3.根据权利要求2所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为引发所述微架构异常以触发立即的流水线刷新来引发所述微架构异常以触发流水线刷新。

4.根据权利要求2所述的基于处理器的设备,其中所述处理器被配置为通过被配置为在所述指针认证指令准备隐退时引发所述微架构异常以触发流水线刷新来引发所述微架构异常以触发流水线刷新。

5.根据权利要求2所述的基于处理器的设备,其中,所述处理器还被配置为执行所述流水线刷新。

6.根据权利要求5所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为刷新比所述指针认证指令年轻的全部指令来执行所述流水线刷新。

7.根据权利要求6所述的基于处理器的设备,其中,所述处理器还被配置为通过被配置为刷新所述指针认证指令来执行所述流水线刷新。

8.根据权利要求7所述的基于处理器的设备,其中,所述处理器还被配置为:>

9.根据权利要求1所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为进行以下操作来执行所述减轻动作:

10.根据权利要求1所述的基于处理器的设备,整合到从由以下各项组成的组选择的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(GPS)设备;移动电话;蜂窝电话;智能手机;会话发起协议(SIP)电话;平板电脑;平板手机;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(PDA);监视器;计算机监视器;电视机;调谐器;无线电单元;卫星无线电单元;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘(DVD)播放器;便携式数字视频播放器;汽车;车辆组件;航空电子系统;无人机;以及多旋翼机。

11.一种基于处理器的设备,包括:

12.一种用于减轻基于处理器的设备中的指针认证码(PAC)攻击的方法,所述方法包括:

13.根据权利要求12所述的方法,其中,执行所述减轻动作包括:

14.根据权利要求13所述的方法,其中,引发所述微架构异常以触发流水线刷新包括:引发所述微架构异常以触发立即的流水线刷新。

15.根据权利要求13所述的方法,其中,引发所述微架构异常以触发流水线刷新包括:当所述指针认证指令准备隐退时,引发所述微架构异常以触发流水线刷新。

16.根据权利要求13所述的方法,还包括执行流水线刷新。

17.根据权利要求16所述的方法,其中,执行所述流水线刷新包括:刷新比所述指针认证指令年轻的全部指令。

18.根据权利要求17所述的方法,其中,执行所述流水线刷新包括:刷新所述指针认证指令。

19.根据权利要求18所述的方法,还包括:

20.根据权利要求12所述的方法,其中,执行所述减轻动作包括:

21.一种在其上存储有计算机可执行指令的非暂时性计算机可读介质,当由处理器执行时,所述计算机可执行指令通过使所述处理器进行以下操作来提供针对第一高速缓冲存储器设备的基于位置的预提取:

22.根据权利要求21所述的非暂时性计算机可读介质,其中,所述计算机可执行指令通过使所述处理器进行以下操作来使所述处理器执行所述减动作:

23.根据权利要求22所述的非暂时性计算机可读介质,其中,所述计算机可执行指令通过使所述处理器引发所述微架构异常以触发立即的流水线刷新来使所述处理器引发所述微架构异常以触发流水线刷新。

24.根据权利要求22所述的非暂时性计算机可读介质,其中,所述计算机可执行指令通过使所述处理器在所述指针认证指令准备隐退时引发所述微架构异常以触发流水线刷新来使所述处理器引发所述微架构异常以触发流水线刷新。

25.根据权利要求22所述的非暂时性计算机可读介质,其中,所述计算机可执行指令还使得所述处理器执行所述流水线刷新。

26.根据权利要求25所述的非暂时性计算机可读介质,其中,所述计算机可执行指令通过使所述处理器刷新比所述指针认证指令年轻的全部指令来使所述处理器执行所述流水线刷新。

27.根据权利要求26所述的非暂时性计算机可读介质,其中,所述计算机可执行指令通过使所述处理器刷新所述指针认证指令来使所述处理器执行所述流水线刷新。

28.根据权利要求27所述的非暂时性计算机可读介质,其中,所述计算机可执行指令还使...

【技术特征摘要】
【国外来华专利技术】

1.一种基于处理器的设备,包括:

2.根据权利要求1所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为进行以下操作来执行所述减轻动作:

3.根据权利要求2所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为引发所述微架构异常以触发立即的流水线刷新来引发所述微架构异常以触发流水线刷新。

4.根据权利要求2所述的基于处理器的设备,其中所述处理器被配置为通过被配置为在所述指针认证指令准备隐退时引发所述微架构异常以触发流水线刷新来引发所述微架构异常以触发流水线刷新。

5.根据权利要求2所述的基于处理器的设备,其中,所述处理器还被配置为执行所述流水线刷新。

6.根据权利要求5所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为刷新比所述指针认证指令年轻的全部指令来执行所述流水线刷新。

7.根据权利要求6所述的基于处理器的设备,其中,所述处理器还被配置为通过被配置为刷新所述指针认证指令来执行所述流水线刷新。

8.根据权利要求7所述的基于处理器的设备,其中,所述处理器还被配置为:

9.根据权利要求1所述的基于处理器的设备,其中,所述处理器被配置为通过被配置为进行以下操作来执行所述减轻动作:

10.根据权利要求1所述的基于处理器的设备,整合到从由以下各项组成的组选择的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;全球定位系统(gps)设备;移动电话;蜂窝电话;智能手机;会话发起协议(sip)电话;平板电脑;平板手机;服务器;计算机;便携式计算机;移动计算设备;可穿戴计算设备;台式计算机;个人数字助理(pda);监视器;计算机监视器;电视机;调谐器;无线电单元;卫星无线电单元;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘(dvd)播放器;便携式数字视频播放器;汽车;车辆组件;航空电子系统;无人机;以及多旋翼机。

11.一种基于处理器的设备,包括:

12.一种用于减轻基于处理器的设备中的指针认证码(pac)攻击的方法,所述方法包括:

13.根据权利要求12所述的方法,其中,执行所述减轻动作包括:

14.根据权利要求13所述的方法,其中,引发所述微架构异常以触发流水线刷新包括:引发所述微架构异常以触发立即的流水...

【专利技术属性】
技术研发人员:J·D·艾尔斯C·布拉斯科
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

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

1