【技术实现步骤摘要】
【国外来华专利技术】用于标签保护的存储器系统的随机标签设定指令
技术介绍
要由数据处理装置执行的软件通常可以高级编程语言来编写,并且然后根据要执行该软件的装置所支持的指令集架构而被编译为代码。例如,软件可最初以较高级语言(诸如Java、C或C++)来编写,并且然后被编译为本地支持的指令集架构(诸如x86或)。一些较高级编程语言(诸如Java)被认为是存储器安全语言,因为这些语言包括用于检查有关存储器存取的某些错误的运行时错误检测检查。相比之下,存储器不安全语言(诸如C及C++)不包括此种运行时错误检查。使用存储器不安全语言的持久盛行意味着在根据给定指令集架构的编译代码中,可能存在大量的有关存储器的错误,这些错误可能容易被攻击者或其他恶意方利用。这些错误可包括:·界限违例,其中由代码所供应的数组索引在数组的合法界限之外;·释放后使用错误,其中在存储器位置已被解除分配或释放之后对该存储器位置进行存取;·返回后使用,其中对与函数内所使用的变量(诸如堆栈上的值)相关的地址的存储器存取在从函数返回之后进行;·范围外使用错误,其中变量是在宣告它们的范围之外被存取的;以及·初始化前使用错误,其中在变量被初始化之前对与变量相关联的存储器地址进行存取。这些仅是有关存储器的错误的一些示例,其可能导致无法预测的行为和可能为攻击者提供利用的途径。因此可能期望的是,在由给定处理装置所支持的指令集架构内提供用于辅助某些类别的存储器错误的运行时检测的架构支持。
技术实现思路
至少一些示例提供了一种装置,包括:处理电路;存 ...
【技术保护点】
1.一种装置,包括:/n处理电路;/n存储器存取电路,该存储器存取电路针对具有相关联的地址标签的标签检查目标地址执行保护标签检查,所述保护标签检查包括将所述地址标签与存储在存储器系统中的保护标签进行比较,所述保护标签与具有一个或多个存储器位置的区块相关联,所述一个或多个存储器位置包括由所述目标地址所标识的寻址位置;以及/n指令译码器,该指令译码器响应于指定标签设定目标地址的随机标签设定指令,控制所述处理电路以将与所述标签设定目标地址相关联的地址标签设定为从一组候选标签值中随机选择的随机标签值。/n
【技术特征摘要】
【国外来华专利技术】20180320 GB 1804411.51.一种装置,包括:
处理电路;
存储器存取电路,该存储器存取电路针对具有相关联的地址标签的标签检查目标地址执行保护标签检查,所述保护标签检查包括将所述地址标签与存储在存储器系统中的保护标签进行比较,所述保护标签与具有一个或多个存储器位置的区块相关联,所述一个或多个存储器位置包括由所述目标地址所标识的寻址位置;以及
指令译码器,该指令译码器响应于指定标签设定目标地址的随机标签设定指令,控制所述处理电路以将与所述标签设定目标地址相关联的地址标签设定为从一组候选标签值中随机选择的随机标签值。
2.根据权利要求1所述的装置,其中响应于所述随机标签设定指令,所述指令译码器被配置为:控制所述处理电路以防止所述一组候选标签值的至少一个排除值被选择作为所述随机标签值,并且从所述候选标签值的剩余子集随机选择所述随机标签值。
3.根据权利要求2所述的装置,其中所述至少一个排除标签值包括由所述随机标签设定指令所指定的至少一个寄存器所标识的一个或多个排除标签值。
4.根据权利要求2和3中任一项所述的装置,其中所述至少一个排除标签值包括与下述地址标签相对应的标签值:该地址标签与在所述随机标签设定指令的源寄存器或目的地寄存器中所指定的地址相关联。
5.根据权利要求2和3中任一项所述的装置,其中所述随机标签设定指令指定存储随机选择状态信息的至少一个源寄存器;
所述随机选择状态信息包括位字段,所述位字段包括对应于所述一组候选标签值的至少一子集的多个位,所述位字段的每个位指示对应的候选标签值是否为所述至少一个排除标签值中的一者。
6.根据权利要求5所述的装置,其中所述指令译码器响应于指定标签排除目标地址和用于存储所述随机选择状态信息的所述位字段的目的地寄存器的标签值排除指令,控制所述处理电路以将所述位字段中对应于与所述标签排除目标地址相关联的地址标签的位更新为指示对应的标签值是所述至少一个排除标签值中的一者。
7.根据权利要求5和6中任一项所述的装置,其中所述位字段包括对应于整个所述一组候选标签值的位。
8.根据权利要求5和6中任一项所述的装置,其中所述位字段包括对应于候选标签值适当子集的位,并且所述随机选择状态信息还包括所述候选标签值适当子集的标签值。
9.根据权利要求8所述的装置,其中所述候选标签值适当子集的标签值与所述位字段在同一寄存器中被指定。
10.根据权利要求8和9中任一项所述的装置,其中所述指令译码器响应于指定用于存储所述随机选择状态信息的标签值的目的地寄存器的随机标签选择指令,控制所述处理电路以从所述一组候选标签值中随机选择所述候选标签值适当子集,并且将所选择的所述候选标签值适当子集的标签值写入所述目的地寄存器。
11.根据权利要求2至10中任一项所述的装置,其中所述至少一个排除标签值包括由存储在配置寄存器中的配置数据所标识的一个或多个排除标签值。
12.根据权利要求2至11中任一项所述的装置,其中所述至少一个排除标签值包括一个或多个由硬件定义的排除标签值。
13.根据权利要求2至12中任一项所述的装置,其中所述至少一个排除标签值包括最多N个排除标签值,并且,响应于所述随机标签设定指令,所述指令译码器被配置为控制所述处理电路以:
随机选择所述一组候选标签值的至少N+1个标签值;
将所选择的标签值中的每一者与所述至少一个排除标签值进行比较;以及
将所选择的标签值中与所述至少一个排除标签值中的所有排除标签值都不匹配的一个标签值选择作为所述随机标签值,以设定给与所述标签设定目标地址相关的地址标签。
14.根据权利要求2至12中任一项所述的装置,其中所述至少一个排除标签值包括预定排除标签值和由所述随机标签设定指令...
【专利技术属性】
技术研发人员:格雷姆·彼得·巴尔内斯,贾森·米洛夫·鲍里索夫,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。