【技术实现步骤摘要】
【国外来华专利技术】防止计算环境中的历史模式不一致的推测性访问
技术介绍
[0001]一般而言,一个或多个方面涉及计算环境内的处理,尤其涉及促进这样的处理。
[0002]为了改进处理,现代处理器包括推测性处理和/或乱序处理。在推测性处理期间,在知道是否将在处理期间需要一个或多个任务之前,执行所述一个或多个任务。如果确定需要任务,则这使延迟最小化。另外,对于乱序处理,某些任务被乱序地执行,并且任务的结果被保持直到处理期间的适当时间。
[0003]在推测性处理和/或乱序处理期间,存在某些漏洞。存在各种形式的漏洞,包括例如基于不可信数据(诸如作为函数参数传递的值或从文件读取的值等)来利用条件分支。该漏洞通常通过数组访问的方式而出现,对于该数组访问,不可信值被用作数组索引的一部分,该数组索引在推测性执行期间被迫进入越界状态。
[0004]另一形式的漏洞包括破坏分支目标预测,处理器使用该分支目标预测来预测性地执行在间接分支之后的代码,而无需等待实际分支目标被解析。通过恶意训练,可以诱导处理器跳转到目标位置,在该目标位置中,代码被执行使得加载在正常执行时原本不会被加载的高速缓存行。还存在其他形式的漏洞。
[0005]利用这些漏洞,可以加载在正常程序执行期间原本不会被加载的高速缓存行。通常通过高速缓存占用空间(footprint),进程被强制执行原本不会被执行并且对处理器具有状态影响的操作,该高速缓存占用空间可以被恶意程序检测到并且用来泄露信息。
技术实现思路
[0006]通过提供用于促进计算环境内的处理的计算机程序产品来克服现 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,所述计算机可读存储介质能由处理电路读取并且存储用于执行方法的指令,所述方法包括:确定所述计算环境的所选择的事件是否与所述计算环境的所选择的事件的历史模式一致;基于确定所选择的事件与所选择的事件的历史模式不一致,延迟与所选择的事件相关联的处理;基于延迟与所选择的事件相关联的处理,确定所选择的事件是否有效;以及基于确定所选择的事件有效,恢复与所选择的事件相关联的处理。2.根据权利要求1所述的计算机程序产品,其中,所选择的事件是由所述计算环境的程序请求的存储器访问,并且所选择的事件的历史模式包括由所述计算环境的另一程序执行的存储器访问。3.根据权利要求2所述的计算机程序产品,其中,确定所选择的事件是否与历史模式一致包括确定存储器访问是否是针对由所选择的事件的历史模式定义的地址范围内的地址或者针对与由所选择的事件的历史模式定义的地址范围的预定义偏差内的地址,其中,基于地址在由所选择的事件的历史模式定义的地址范围内或者在与由所选择的事件的历史模式定义的地址范围的预定义偏差内,所选择的事件与历史模式一致。4.根据权利要求1所述的计算机程序产品,其中,确定事件是否与历史模式一致包括确定所选择的事件是否与步幅的历史一致。5.根据权利要求1所述的计算机程序产品,其中,所述方法进一步包括保持数据结构,所述数据结构包括与所选择的事件的历史模式有关的信息。6.根据权利要求5所述的计算机程序产品,其中,所选择的事件的历史模式包括存储器访问,并且所述数据结构包括由存储器访问所访问的地址。7.根据权利要求5所述的计算机程序产品,其中,所述数据结构包括可配置数量的最近已验证的数据加载地址,其中,基于推测性地启动加载的指令成功退出来验证数据加载地址,并且其中,最近已验证的数据加载地址包括下界地址和上界地址。8.根据权利要求7所述的计算机程序产品,其中,所选择的事件包括由在推测性执行期间发出的加载指令指定的存储器访问,并且其中,确定所选择的事件是否与所选择的事件的历史模式一致包括:基于在推测性执行期间获得加载指令,确定加载指令的加载地址是否是在所述下界地址和所述上界地址内或者在与由所述下界地址和所述上界地址定义的地址范围的预定义偏差内,其中,基于加载地址在所述下界地址和所述上界地址内或者在与所述地址范围的预定义偏差内,所选择的事件与所选择的事件的历史模式一致。9.根据权利要求8所述的计算机程序产品,其中,延迟处理包括在推测性执行中延迟加载指令的执行。10.根据权利要求9所述的计算机程序产品,其中,恢复处理包括:基于确定所选择的事件有效,执行加载指令。11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:存储器;以及与所述存储器通信的处理器,其中,所述计算机系统被配置为执行方法,所述方法包
括:确定所述计算环境的所选择的事件是否与所述计算环境的所选择的事件的历史模式一致;基于确定所选择的事件与所选择的事件的历史模式不一致,延迟与所选择的事件相关联的处理;基于延迟与所选择的事件相关联的处理,确定所选择的事件是否有效;以及基于确定所选择的事件有效,恢复与所选择的事件相关联的处理。12.根据权利要求11所述的计算机系统,其中,所选择的事件是由所述计算环境的程序请求的存储器访问,并且所选择的事件的历史模式包括由所述计算环境的另一程序执行的存储器访问。13.根据权利要求12所述的计算机系统,其中,确定所选择的事件...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。