【技术实现步骤摘要】
【国外来华专利技术】验证堆栈指针
[0001]本技术涉及数据处理领域。
技术介绍
[0002]处理电路可支持在多个安全性域的一个安全性域中执行数据处理,这多个安全性域至少包括安全域和不太安全(less secure)域。这可允许保护与安全域相关联的敏感数据或代码免受在不太安全域中操作的不太安全代码的不适当访问。
技术实现思路
[0003]至少一些示例提供了一种装置,该装置包括:处理电路,用于在多个安全性域的一个安全性域中执行数据处理,这多个安全性域至少包括安全域和不太安全域;存储器访问检查电路,用于根据安全性属性数据来检查是否允许存储器访问,该安全性属性数据指示多个安全性域中的哪个安全性域与存储器访问的目标地址相关联;以及至少一个堆栈指针寄存器,用于存储指示存储器中的堆栈数据结构的堆栈指针;其中:响应于程序流从不太安全域中的处理向具有与安全域相关联的指令地址的目标指令的给定改变:当目标指令是指示到安全域的有效进入点的网关指令以外的指令时,处理电路被配置为触发故障;并且当目标指令是网关指令时,处理电路被配置为触发堆栈指针验证动作以验证使用选定堆栈指针寄存器中存储的选定堆栈指针是否安全。
[0004]至少一些示例提供了一种用于处理电路的数据处理方法,该处理电路能够在多个安全性域的一个安全性域中执行数据处理,这多个安全性域至少包括安全域和不太安全域,对于这些安全性域,根据安全性属性数据来检查是否允许存储器访问,安全性属性数据指示这多个安全性域中的哪个安全性域与存储器访问的目标地址相关联;该方法包括:响应于程序流从不太安 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种装置,包括:处理电路,用于在多个安全性域的一个安全性域中执行数据处理,所述多个安全性域至少包括安全域和不太安全域;存储器访问检查电路,用于根据安全性属性数据来检查是否允许存储器访问,所述安全性属性数据指示所述多个安全性域中的哪个安全性域与所述存储器访问的目标地址相关联;以及至少一个堆栈指针寄存器,用于存储堆栈指针,所述堆栈指针指示存储器中的堆栈数据结构;其中:响应于程序流从所述不太安全域中的处理向具有与所述安全域相关联的指令地址的目标指令的给定改变:当所述目标指令是指示到所述安全域的有效进入点的网关指令以外的指令时,所述处理电路被配置为触发故障;以及当所述目标指令是所述网关指令时,所述处理电路被配置为触发堆栈指针验证动作以验证使用选定堆栈指针寄存器中存储的选定堆栈指针是否安全。2.根据权利要求1所述的装置,其中所述堆栈指针验证动作包括:触发许可检查以检查是否允许加载请求,所述加载请求请求从所述选定堆栈指针寄存器中存储的选定堆栈指针导出的目标地址加载值。3.根据权利要求2所述的装置,其中所述处理电路被配置为以多个特权等级的一个特权等级操作;并且所述存储器访问检查电路被配置为:若能应用于所述目标地址的选定访问许可集合指定禁止选定特权等级访问所述目标地址,则触发故障。4.根据权利要求3所述的装置,其中:所述处理电路被配置为在多个操作模式的一个操作模式中执行数据处理;并且所述选定特权等级包括与一处理相关联的特权等级,该处理是在程序流的所述给定改变时所述处理电路的当前操作模式和所述安全域的组合中。5.根据权利要求3和4中任一项所述的装置,其中所述选定访问许可集合包括当所述处理电路的当前域是所述安全域时能应用于所述目标地址的访问许可集合。6.根据权利要求2至5中任一项所述的装置,其中所述目标地址等于所述选定堆栈指针。7.根据权利要求2至6中任一项所述的装置,其中响应于程序流的所述给定改变,当所述目标指令是所述网关指令时,所述处理电路被配置为响应于所述网关指令而执行重入检查;所述重入检查包括:当从所述目标地址加载的值是至少一个完整性签名值之一时,触发故障。8.根据权利要求7所述的装置,其中响应于程序流的所述给定改变,当所述目标指令是所述网关指令时:所述处理电路被配置为基于重入检查使能值来确定是否响应于所述网关指令而执行所述重入检查,所述重入检查使能值指定所述重入检查是被启用还是被禁用。9.根据权利要求7所述的装置,其中响应于程序流的所述给定改变,当所述目标指令是
所述网关指令时:所述处理电路被配置为:即使当所述重入检查使能值指定重入检查被禁用,也触发针对所述目标地址的所述许可检查。10.根据权利要求7至9中任一项所述的装置,包括异常控制电路,所述异常控制电路响应于异常条件而执行多个异常进入转换的一个异常进入转换,该异常进入转换是至少基于所述处理电路的当前安全性域而选择的,其中对于所述多个异常进入转换的至少一子集,所述异常控制电路被配置为触发将包括至少一个完整性签名值中所述一个完整性签名值的堆栈帧保存到由所述至少一个堆栈指针寄存器之一中存储的堆栈指针所识别的堆栈数据结构。11.根据权利要求7至10中任一项所述的装置,包括异常控制电路,所述异常控制电路响应于异常返回条件而执行多个异常返回转换的一个异常返回转换,该异常返回转换是至少基于与所述异常返回条件相关联的安全性域而选择的,其中对于所述多个异常返回转换的至少一子集,所述异常控制电路被配置为执行完整性签名检查,所述完整性签名检查包括:从给定堆栈数据结构访问针对所述异常返回转换而选择的堆栈帧,并且当所访问的堆栈帧中的预定位置处的值与所述至少一个完整性签名值中至少一个完整性签名值之间检测到不匹配时,触发故障。12.根据权利要求7至11中任一项所述的装置,其中所述重入检查还包括:当用于确定将哪个堆栈指针寄存器用于架构状态的入栈或出栈的堆栈指针选择值具有预定值时,触发故障。13.根据权利要求12所述的装置,其中:在给定安全性域内,所述处理电路被配置为在多个模式的一个模式中执行数据处理,所述多个模式包括用于异常处理的处理者模式和用于背景处理的线程模式;所述装置包括异常控制电路,所述异常控制电路响应于异常条件而触发将架构状态数据存储到如下数据结构:当所述异常条件在所述线程模式中发生并且所述堆栈指针选择值具有第一值时,存储到由进程堆栈指针寄存器中存储的堆栈指针所识别的进程...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。