当前位置: 首页 > 专利查询>英特尔公司专利>正文

针对推测性执行处理架构的基于边信道的攻击的有效缓解制造技术

技术编号:23049456 阅读:23 留言:0更新日期:2020-01-07 14:40
本公开针对用于缓解或消除基于边信道的攻击(诸如通常称为幽灵的一类或多类攻击)的有效性的系统和方法。可以提供新颖的指令前缀和在某些实施例中一个或多个对应的指令前缀参数,以强制执行对于具体指令的序列化执行顺序,而无需序列化整个指令流,由此相比现有解决方案改进了性能和缓解可靠性。此外,通过随机化执行分支历史以及每个易受攻击的间接分支的源地址两者来提供对这种攻击的改进的缓解,从而消除了对于这种攻击所要求的条件。

Effective mitigation of edge channel based attacks against speculative execution processing architecture

【技术实现步骤摘要】
针对推测性执行处理架构的基于边信道的攻击的有效缓解
本公开涉及计算机安全性,并且具体地说涉及阻止或缓解一类或多类基于边信道的攻击。
技术介绍
推测性执行被大多数现代计算处理器所利用以实现高性能。这种执行允许指令在知道它们将由预期的执行流程在架构上所需要之前被执行。推测性执行的重要部分涉及分支预测:代替等待分支指令的目标将被解析,处理器尝试预测控制流程,并且推测性地执行预测路径上的指令。在许多情况下,预测是正确的,并且在CPU周期方面提高了执行性能;当预测是错误的时候,将丢弃推测性地执行的路径的结果,使得没有架构状态受到影响。基于边信道的攻击包含基于从计算机系统的实现获得的信息的任何攻击,而不是所实现的算法本身中的弱点。这种基于边信道的攻击可以使用定时信息、功耗、电磁泄漏或甚至声音作为被利用来从系统获得信息和/或数据的额外信息源。基于边信道的攻击包含那些通常分别称为“幽灵(Spectre)”和“熔断(Meltdown)”的攻击,这两种攻击在2018年初获得了广泛的恶名,并且依赖于推断数据是否源自高速缓存或非高速缓存的位置。在很大程度上,确本文档来自技高网...

【技术保护点】
1. 一种用于缓解针对一个或多个基于边信道的攻击的漏洞的系统,所述系统包括:/n一个或多个处理器;以及/n存储装置,所述存储装置耦合到所述一个或多个处理器,所述存储装置包含机器可读指令,所述指令当由所述一个或多个处理器中的至少一个执行时促使所述至少一个处理器执行以下操作:/n提取包含推测性执行(SE)锁定前缀的用于执行的第一指令,并且发起所述第一指令的执行;/n在发起所述第一指令的执行之后,提取第二指令;以及/n响应于确定所述第二指令包含与所述第一指令的所述SE锁定前缀关联的SE前缀,阻止所述第二指令的推测性执行直到完成所述第一指令的执行为止。/n

【技术特征摘要】
20180629 US 16/0235641.一种用于缓解针对一个或多个基于边信道的攻击的漏洞的系统,所述系统包括:
一个或多个处理器;以及
存储装置,所述存储装置耦合到所述一个或多个处理器,所述存储装置包含机器可读指令,所述指令当由所述一个或多个处理器中的至少一个执行时促使所述至少一个处理器执行以下操作:
提取包含推测性执行(SE)锁定前缀的用于执行的第一指令,并且发起所述第一指令的执行;
在发起所述第一指令的执行之后,提取第二指令;以及
响应于确定所述第二指令包含与所述第一指令的所述SE锁定前缀关联的SE前缀,阻止所述第二指令的推测性执行直到完成所述第一指令的执行为止。


2.如权利要求1所述的系统,其中所述机器可读指令进一步促使所述至少一个处理器执行以下操作:
在发起所述第一指令的执行之后,提取第三指令;以及
响应于确定所述第三指令不包含SE锁定前缀并且在完成所述第一指令的所述执行之前,发起所述第三指令的推测性执行。


3.如权利要求1所述的系统,其中所述第一指令进一步包含与所述SE锁定前缀关联的SE锁定标识符,并且其中确定所述第三指令包含与所述第一指令的所述SE锁定前缀关联的SE锁定前缀包含确定所述第三指令包含所述SE锁定标识符。


4.如权利要求1到3中任一项所述的系统,其中发起所述第一指令的所述执行包含:响应于确定所述第一指令包含所述SE锁定前缀而设置与所述SE锁定前缀关联的一个或多个锁定位,并且其中所述机器可读指令进一步促使所述至少一个处理器响应于完成所述第一指令的执行而清除所述一个或多个锁定位。


5.如权利要求4所述的系统,其中所述第一指令进一步包含与所述SE锁定前缀关联的SE锁定标识符,并且其中所述一个或多个锁定位进一步与所述SE锁定标识符关联。


6.如权利要求4所述的系统,其中所述机器可读指令响应于确定所述一个或多个锁定位已经被清除而进一步促使所述至少一个处理器发起所述第二指令的执行。


7.一种用于缓解针对一个或多个基于边信道的攻击的漏洞的方法,包括:
提取包含推测性执行(SE)锁定前缀的用于执行的第一指令,并且发起所述第一指令的执行;
在发起所述第一指令的执行之后,提取第二指令;以及
响应于确定所述第二指令包含与所述第一指令的所述SE锁定前缀关联的SE前缀,阻止所述第二指令的推测性执行直到完成所述第一指令的执行为止。


8.如权利要求7所述的方法,进一步包括:
在发起所述第一指令的执行之后,提取第三指令;以及
响应于确定所述第三指令不包含SE锁定前缀并且在完成所述第一指令的所述执行之前,发起所述第三指令的推测性执行。


9.如权利要求7或8中任一项所述的方法,其中提取包含推测性执行(SE)锁定前缀的用于执行的第一指令,并且发起所述第一指令的执行还包括:
提取包含与所述SE锁定前缀关联的SE锁定标识符的第一指令,以及
确定所述第三指令包含与所述第一指令的所述SE锁定前缀关联的SE锁定前缀包含确定所述第三指令包含所述SE锁定标识符。


10...

【专利技术属性】
技术研发人员:R布兰科K胡K孙H卡瓦卡米
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1