防止计算环境中的历史模式不一致的推测性访问制造技术

技术编号:33122103 阅读:19 留言:0更新日期:2022-04-17 00:25
检测并防止计算环境内的所选择的事件。确定计算环境的所选择的事件是否与计算环境的所选择的事件的历史模式一致。基于确定所选择的事件与所选择的事件的历史模式不一致,延迟与所选择的事件相关联的处理。基于延迟与所选择的事件相关联的处理,确定所选择的事件是否有效。基于确定所选择的事件有效,恢复与所选择的事件相关联的处理。择的事件相关联的处理。择的事件相关联的处理。

【技术实现步骤摘要】
【国外来华专利技术】防止计算环境中的历史模式不一致的推测性访问

技术介绍

[0001]一般而言,一个或多个方面涉及计算环境内的处理,尤其涉及促进这样的处理。
[0002]为了改进处理,现代处理器包括推测性处理和/或乱序处理。在推测性处理期间,在知道是否将在处理期间需要一个或多个任务之前,执行所述一个或多个任务。如果确定需要任务,则这使延迟最小化。另外,对于乱序处理,某些任务被乱序地执行,并且任务的结果被保持直到处理期间的适当时间。
[0003]在推测性处理和/或乱序处理期间,存在某些漏洞。存在各种形式的漏洞,包括例如基于不可信数据(诸如作为函数参数传递的值或从文件读取的值等)来利用条件分支。该漏洞通常通过数组访问的方式而出现,对于该数组访问,不可信值被用作数组索引的一部分,该数组索引在推测性执行期间被迫进入越界状态。
[0004]另一形式的漏洞包括破坏分支目标预测,处理器使用该分支目标预测来预测性地执行在间接分支之后的代码,而无需等待实际分支目标被解析。通过恶意训练,可以诱导处理器跳转到目标位置,在该目标位置中,代码被执行使得加载在正常执行时原本不会被加载的高速缓存行。还存在其他形式的漏洞。
[0005]利用这些漏洞,可以加载在正常程序执行期间原本不会被加载的高速缓存行。通常通过高速缓存占用空间(footprint),进程被强制执行原本不会被执行并且对处理器具有状态影响的操作,该高速缓存占用空间可以被恶意程序检测到并且用来泄露信息。

技术实现思路

[0006]通过提供用于促进计算环境内的处理的计算机程序产品来克服现有技术的缺点并且提供附加的优点。所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质能由处理电路读取并且存储用于执行方法的指令。所述方法包括确定计算环境的所选择的事件是否与计算环境的所选择的事件的历史模式一致。基于确定所选择的事件与所选择的事件的历史模式不一致,延迟与所选择的事件相关联的处理。基于延迟与所选择的事件相关联的处理,确定所选择的事件是否有效。基于确定所选择的事件是有效的,恢复与所选择的事件相关联的处理。
[0007]通过延迟被认为是不一致的事件直到其被确定为有效,防止恶意事件。
[0008]作为示例,所选择的事件是存储器访问,并且所选择的事件的历史模式是存储器访问的模式。例如,所选择的事件是由计算环境的程序请求的存储器访问,并且所选择的事件的历史模式包括由计算环境的另一程序执行的存储器访问。通过基于确定存储器访问与存储器访问的历史模式不一致来延迟与存储器访问相关联的处理,防止潜在的恶意存储器访问。这也防止了不希望的信息泄漏。
[0009]在一个示例中,确定所选择的事件是否与历史模式一致包括确定存储器访问是否是针对由所选择的事件的历史模式定义的地址范围内的地址或者针对与由所选择的事件的历史模式定义的地址范围的预定义偏差内的地址。基于地址在由所选择的事件的历史模式定义的地址范围内或者在与由所选择的事件的历史模式定义的地址范围的预定义偏差
内,所选择的事件与历史模式一致。这提供了用于确定所选择的事件是否与历史模式一致以及用于至少延迟可能是不期望的事件的有效机制。
[0010]在另一示例中,确定事件是否与历史模式一致包括确定所选择的事件是否与步幅(stride)的历史一致。
[0011]在一个实施例中,保持数据结构,该数据结构包括与所选择的事件的历史模式有关的信息。例如,所选择的事件的历史模式包括存储器访问,并且数据结构包括由存储器访问所访问的地址。数据结构包括例如可配置数量的最近已验证的数据加载地址。例如,基于推测性地启动加载的指令成功退出(retire)来验证数据加载地址。在一个示例中,最近已验证的数据加载地址包括下界地址和上界地址。
[0012]作为一个实例,所选择的事件包括由在推测性执行期间发出的加载指令指定的存储器访问。确定所选择的事件是否与所选择的事件的历史模式一致包括:基于在推测性执行期间获得加载指令,确定加载指令的加载地址是否是在下界地址和上界地址内或者在与由下界地址和上界地址定义的地址范围的预定义偏差内。基于加载地址在下界地址和上界地址内或者在与地址范围的预定义偏差内,所选择的事件与所选择的事件的历史模式一致。延迟处理包括例如在推测性执行中延迟加载指令的执行,并且恢复处理包括:例如基于确定所选择的事件有效(例如,推测是正确的),执行加载指令。
[0013]本文中还描述并要求保护与一个或多个方面有关的计算机实现的方法和系统。另外,本文中还描述并可要求保护与一个或多个方面有关的服务。
[0014]通过本文中描述的技术来实现附加特征和优点。其他实施例和方面在本文中被详细描述,并且被认为是所要求保护的方面的一部分。
附图说明
[0015]一个或多个方面被特别指出并且被清楚地要求保护作为说明书结尾处的权利要求书中的示例。从下面结合附图的详细描述中,一个或多个方面的上述目标、特征以及优点是明显的,在附图中:
[0016]图1描绘了合并和使用本专利技术的一个或多个方面的计算环境的一个示例;
[0017]图2描绘了根据本专利技术的一个或多个方面的在正常程序操作期间的数据访问的一个示例;
[0018]图3描绘了根据本专利技术的一个或多个方面的恶意数据访问的一个示例;
[0019]图4A描绘了根据本专利技术的方面的应用滤波器来检测并防止恶意数据访问的一个示例;
[0020]图4B描绘了根据本专利技术的方面的来自应用滤波器的结果的一个示例;
[0021]图5A描绘了根据本专利技术的方面的使用滤波器来检测并防止恶意访问的一个示例;
[0022]图5B描绘了根据本专利技术的方面的由图5A的滤波器保留的访问的指示的一个示例;
[0023]图6A

图6B描绘了根据本专利技术的方面的与应用滤波器以使恶意事件最小化相关联的处理的示例;
[0024]图7A

图7B描述了根据本专利技术的方面的促进处理的一个示例;
[0025]图8A描述了合并和使用本专利技术的一个或多个方面的计算环境的另一个示例;
[0026]图8B描绘了图8A的存储器的进一步细节;
[0027]图9描绘了云计算环境的一个实施例;以及
[0028]图10描绘了抽象模型层的一个示例。
具体实施方式
[0029]根据本专利技术的方面,提供了能力来确定要在计算环境内执行的事件是否是可疑的,并且因此应当被延迟直到确定其是有效的。作为示例,正常的执行流程导致事件的预期模式(例如,存储器访问(又名数据访问)、输入/输出(I/O)事件、盘访问等)。如果启动了与模式(例如,程序执行的历史)不一致的事件,则该事件被检测到并且至少在处理中被暂时延迟。执行进一步的检查以确定事件是否有效。如果确定该事件有效,则执行该事件;否则,终止和/或丢弃该事件。
[0030]要被监视并被潜在地延迟的事件的示例是存储器访问,诸如高速缓存访问。基于获得存储器访问,确定该访问是否可疑(例如,与先前执行的访问本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,所述计算机可读存储介质能由处理电路读取并且存储用于执行方法的指令,所述方法包括:确定所述计算环境的所选择的事件是否与所述计算环境的所选择的事件的历史模式一致;基于确定所选择的事件与所选择的事件的历史模式不一致,延迟与所选择的事件相关联的处理;基于延迟与所选择的事件相关联的处理,确定所选择的事件是否有效;以及基于确定所选择的事件有效,恢复与所选择的事件相关联的处理。2.根据权利要求1所述的计算机程序产品,其中,所选择的事件是由所述计算环境的程序请求的存储器访问,并且所选择的事件的历史模式包括由所述计算环境的另一程序执行的存储器访问。3.根据权利要求2所述的计算机程序产品,其中,确定所选择的事件是否与历史模式一致包括确定存储器访问是否是针对由所选择的事件的历史模式定义的地址范围内的地址或者针对与由所选择的事件的历史模式定义的地址范围的预定义偏差内的地址,其中,基于地址在由所选择的事件的历史模式定义的地址范围内或者在与由所选择的事件的历史模式定义的地址范围的预定义偏差内,所选择的事件与历史模式一致。4.根据权利要求1所述的计算机程序产品,其中,确定事件是否与历史模式一致包括确定所选择的事件是否与步幅的历史一致。5.根据权利要求1所述的计算机程序产品,其中,所述方法进一步包括保持数据结构,所述数据结构包括与所选择的事件的历史模式有关的信息。6.根据权利要求5所述的计算机程序产品,其中,所选择的事件的历史模式包括存储器访问,并且所述数据结构包括由存储器访问所访问的地址。7.根据权利要求5所述的计算机程序产品,其中,所述数据结构包括可配置数量的最近已验证的数据加载地址,其中,基于推测性地启动加载的指令成功退出来验证数据加载地址,并且其中,最近已验证的数据加载地址包括下界地址和上界地址。8.根据权利要求7所述的计算机程序产品,其中,所选择的事件包括由在推测性执行期间发出的加载指令指定的存储器访问,并且其中,确定所选择的事件是否与所选择的事件的历史模式一致包括:基于在推测性执行期间获得加载指令,确定加载指令的加载地址是否是在所述下界地址和所述上界地址内或者在与由所述下界地址和所述上界地址定义的地址范围的预定义偏差内,其中,基于加载地址在所述下界地址和所述上界地址内或者在与所述地址范围的预定义偏差内,所选择的事件与所选择的事件的历史模式一致。9.根据权利要求8所述的计算机程序产品,其中,延迟处理包括在推测性执行中延迟加载指令的执行。10.根据权利要求9所述的计算机程序产品,其中,恢复处理包括:基于确定所选择的事件有效,执行加载指令。11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:存储器;以及与所述存储器通信的处理器,其中,所述计算机系统被配置为执行方法,所述方法包
括:确定所述计算环境的所选择的事件是否与所述计算环境的所选择的事件的历史模式一致;基于确定所选择的事件与所选择的事件的历史模式不一致,延迟与所选择的事件相关联的处理;基于延迟与所选择的事件相关联的处理,确定所选择的事件是否有效;以及基于确定所选择的事件有效,恢复与所选择的事件相关联的处理。12.根据权利要求11所述的计算机系统,其中,所选择的事件是由所述计算环境的程序请求的存储器访问,并且所选择的事件的历史模式包括由所述计算环境的另一程序执行的存储器访问。13.根据权利要求12所述的计算机系统,其中,确定所选择的事件...

【专利技术属性】
技术研发人员:W
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1