【技术实现步骤摘要】
【国外来华专利技术】使用间接控制流指令的推测相关申请的交叉引用本申请引用了于2018年7月6日提交的题为“INDIRECTCONTROLFLOWINSTRUCTIONSANDINHIBITINGDATAVALUESPECULATION(间接控制流指令和禁止数据值推测)”的专利申请GB1811151,其由RichardEarnshaw、KristofBeyls和JamesGreenhalgh专利技术并转让给Arm有限公司,其内容以引用方式结合于此。
本技术涉及数据处理。具体地,本技术与推测性执行领域相关。
技术介绍
推测性执行是一种在知道是否应执行一系列指令之前执行这些指令的技术。在稍后的某个时间点,确定是否应该执行推测性地执行的指令。如果是,则过程继续。如果不是,则执行“倒带(rewound)”。这种推测形式被称为控制流推测。在一些情况下,已经发现此类推测性执行会导致安全漏洞。例如,可以使处理器推测性地执行特权代码,以将加密数据不必要地加载到缓存中。由于在倒带后可能无法清除缓存,因此可以使用边信道攻击来探测所请求的数据。另一种推测形式是数据值推测,其中在已知指令的所有输入之前推测由该指令产生的结果值。本技术认识到期望在发生控制流推测的地方保持数据安全。
技术实现思路
从第一示例配置来看,提供了一种设备,所述设备包括:输入电路,用于接收输入数据;输出电路,用于输出要由数据处理电路执行的指令序列;以及生成电路,用于执行生成过程以使用所述输入数据生成所述指令序列,所述指令中的至少一些指令被分组为函数 ...
【技术保护点】
1.一种设备,所述设备包括:/n输入电路,用于接收输入数据;/n输出电路,用于输出要由数据处理电路执行的指令序列;以及/n生成电路,用于执行生成过程以使用所述输入数据生成所述指令序列,所述指令中的至少一些指令被分组为函数,其中/n所述指令序列包括间接控制流指令,所述间接控制流指令包括指示所述间接控制流指令的目标存储在何处的字段;/n所述目标是所述函数中的一个函数的入口点;并且/n所述生成过程使所述指令序列中的至少一条指令在执行所述间接控制流指令之后存储控制流推测状态。/n
【技术特征摘要】
【国外来华专利技术】20180424 GB 1806638.1;20180706 GB 1811154.21.一种设备,所述设备包括:
输入电路,用于接收输入数据;
输出电路,用于输出要由数据处理电路执行的指令序列;以及
生成电路,用于执行生成过程以使用所述输入数据生成所述指令序列,所述指令中的至少一些指令被分组为函数,其中
所述指令序列包括间接控制流指令,所述间接控制流指令包括指示所述间接控制流指令的目标存储在何处的字段;
所述目标是所述函数中的一个函数的入口点;并且
所述生成过程使所述指令序列中的至少一条指令在执行所述间接控制流指令之后存储控制流推测状态。
2.根据权利要求1所述的数据处理设备,其中
所述控制流推测状态指示控制流推测是否正确地发生。
3.根据前述权利要求中任一项所述的数据处理设备,其中
所述指令序列中的存储所述控制流推测状态的所述至少一条指令被禁止经受所述数据处理电路的数据值推测。
4.根据前述权利要求中任一项所述的设备,其中
所述指令序列中的存储所述控制流推测状态的所述至少一条指令适于使所述数据处理电路执行比较并根据比较结果来存储所述控制流推测状态。
5.根据权利要求4所述的设备,其中
所述输入数据包括对所述函数中的一个函数的调用;并且
所述指令序列在所述目标处包括所述指令序列中的存储所述控制流推测状态的所述至少一条指令。
6.根据权利要求5所述的设备,其中
所述指令序列中与所述调用相关联的所述目标是通过基于所述调用和进行所述调用所针对的数据结构执行查找操作而确定的。
7.根据权利要求6所述的设备,其中
所述调用是虚函数调用;
对与所述数据结构相关联的虚拟表执行所述查找操作,所述虚拟表包括对与所述数据结构相关联的虚函数的入口点的一个或多个引用;并且
在每个所述入口点处,所述比较确定该入口点的地址是否与所述虚拟表中存储的该入口点的地址相对应。
8.根据权利要求6-7中任一项所述的设备,其中
响应于所述比较结果与计算结果相对应,所述控制流推测状态指示控制流推测正确地发生。
9.根据前述权利要求中任一项所述的设备,其中
所述指令序列的至少一个子集符合应用二进制接口;...
【专利技术属性】
技术研发人员:理查德·威廉·恩肖,克里斯托夫·埃瓦里斯特·乔治·贝尔斯,詹姆斯·格林哈勒,斯科特·道格拉斯,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。