当前位置: 首页 > 专利查询>ARM有限公司专利>正文

转换禁用指示符制造技术

技术编号:28448825 阅读:36 留言:0更新日期:2021-05-15 21:10
一种装置具有处理电路4,该处理电路支持多个安全性域,并且在每个域内支持多种模式,这多种模式包括用于异常处理的处理者模式和用于背景处理的线程模式。对于从安全线程模式向安全处理者模式的异常进入转换,转换禁用指示符42被设置。当转换禁用指示符42被设置时,对于向安全域并且线程模式中的处理的至少一种类型的异常返回转换,发信号通知故障。这可针对某些安全性攻击进行保护。针对某些安全性攻击进行保护。针对某些安全性攻击进行保护。

【技术实现步骤摘要】
【国外来华专利技术】转换禁用指示符


[0001]本技术涉及数据处理领域。

技术介绍

[0002]处理电路可支持在多个安全性域的一个安全性域中执行数据处理,这多个安全域至少包括安全域和不太安全(less secure)域。这可允许保护与安全域相关联的敏感数据或代码免受在不太安全域中操作的不太安全代码的不适当访问。

技术实现思路

[0003]至少一些示例提供了一种装置,该装置包括:处理电路,用于在多个安全性域的一个安全性域中执行数据处理,这多个安全性域至少包括安全域和不太安全域,并且在给定安全性域内,用于在多个模式的一个模式中执行数据处理,这多个模式包括用于异常处理的处理者(handler)模式和用于背景处理的线程模式;存储器访问检查电路,用于根据处理电路的当前安全性域来检查是否允许存储器访问;以及异常控制电路,响应于异常条件来执行多个异常进入转换的一个异常进入转换,该异常进入转换是基于处理电路的当前模式和当前安全性域以及与异常条件相关联的安全性域而选择的,这多个异常进入转换包括至少一个安全线程模式向安全处理者模式异常进入转换;其中:异常控制电路响应于异常返回条件而执行多个异常返回转换的一个异常返回转换,该异常返回转换是基于与异常返回条件相关联的模式和安全性域而选择的;响应于至少一个安全线程模式向安全处理者模式异常进入转换,异常控制电路被配置为设置转换禁用指示符;并且当转换禁用指示符被设置时,对于向安全域并且线程模式中的处理的至少一种类型的异常返回转换,异常控制电路被配置为触发用信号通知故障。
[0004]至少一些示例提供了一种用于处理电路的数据处理方法,该处理电路能够在多个安全性域的一个安全性域中执行数据处理,这多个安全性域至少包括安全域和不太安全域,对于安全域和不太安全域,根据处理电路的当前安全性域来检查是否允许存储器访问,以及在给定安全性域内,处理电路能够在多个模式的一个模式中执行数据处理,这多个模式包括用于异常处理的处理者模式和用于背景处理的线程模式;该方法包括:响应于异常条件,执行多个异常进入转换的一个异常进入转换,该异常进入转换是基于处理电路的当前模式和当前安全性域以及与异常条件相关联的安全性域而选择的,这多个异常进入转换包括至少一个安全线程模式向安全处理者模式异常进入转换;以及响应于异常返回条件,执行多个异常返回转换的一个异常返回转换,该异常返回转换是基于与异常返回条件相关联的安全性域和模式而选择的;其中:响应于至少一个安全线程模式向安全处理者模式异常进入转换,转换禁用指示符被设置;并且当转换禁用指示符被设置时,对于向安全域并且线程模式中的处理的至少一种类型的异常返回转换,用信号通知故障。
[0005]至少一些示例提供了一种用于控制主机数据处理装置以提供用于执行指令的指令执行环境的计算机程序,该计算机程序包括:处理程序逻辑,该处理程序逻辑用于支持在
多个安全性域的一个安全性域中的数据处理,这多个安全性域至少包括安全域和不太安全域,并且在给定安全性域内,处理程序逻辑用于支持在多个模式的一个模式中的数据处理,这多个模式包括用于异常处理的处理者模式和用于背景处理的线程模式;存储器访问检查程序逻辑,该存储器访问检查程序逻辑用于根据处理程序逻辑的当前安全性域来检查是否允许存储器访问;以及异常控制程序逻辑,该异常控制程序逻辑响应于异常条件而执行多个异常进入转换的一个异常进入转换,该异常进入转换是基于处理程序逻辑的当前模式和当前安全性域以及与异常条件相关联的安全性域而选择的,这多个异常进入转换包括至少一个安全线程模式向安全处理者模式异常进入转换;其中:异常控制程序逻辑响应于异常返回条件而执行多个异常返回转换的一个异常返回转换,该异常返回转换是基于与异常返回条件相关联的模式和安全性域而选择的;响应于至少一个安全线程模式向安全处理者模式异常进入转换,异常控制程序逻辑被配置为设置转换禁用指示符;以及当转换禁用指示符被设置时,对于向安全域并且线程模式中的处理的至少一种类型的异常返回转换,异常控制程序逻辑被配置为触发用信号通知故障。
[0006]计算机程序可存储在计算机可读存储介质上。存储介质可为非暂态存储介质。
附图说明
[0007]本技术的其他方面、特征和优点将从以下结合附图来阅读的对示例的描述中变得显而易见,其中:
[0008]图1示意性地图示出具有支持安全域和不太安全域的处理电路的数据处理系统的示例;
[0009]图2示出处理电路的不同域和操作模式的示例;
[0010]图3示出处理电路的寄存器的示例;
[0011]图4示出第一异常堆栈帧的多个示例,第一异常堆栈帧省去了与被调用者寄存器相关联的架构状态并省去了完整性签名;
[0012]图5示出第二异常堆栈帧的示例,第二异常堆栈帧包括来自被调用者寄存器的附加架构状态并包括完整性签名;
[0013]图6图示出可使用下文所描述的转换禁用指示符检测的不适当的异常进入和返回转换序列;
[0014]图7示出从不太安全库向安全库进行调用的示例用例;
[0015]图8是图示出由数据处理装置所支持的不同异常进入转换的表;
[0016]图9是示出由数据处理装置所支持的众多不同异常返回转换的表;
[0017]图10是图示出处理异常进入转换的方法的流程图;
[0018]图11是图示出处理异常返回转换的方法的流程图;以及
[0019]图12图示出可使用的模拟器示例。
具体实施方式
[0020]处理电路可支持在多个安全性域的一个安全性域中执行数据处理,这多个安全性域至少包括安全域和不太安全域。可提供存储器访问检查电路以根据处理电路的当前安全性域来检查是否允许存储器访问。另外,在给定安全性域内,处理电路可支持在多个模式的
一个模式中的数据处理,这多个模式包括用于异常处理的处理者模式和用于背景处理的线程模式。关于对存储器的各区域的访问以及处理电路可访问哪些架构寄存器的控制可基于处理电路的当前安全性域和当前模式的组合(在某些情况下,这种对存储器或寄存器的访问的控制也可取决于架构的其他控制参数)。
[0021]可提供异常控制电路,该异常控制电路响应于异常条件而执行多个异常进入转换的一个异常进入转换,该异常进入转换是基于处理电路的当前模式和当前安全性域以及与异常条件相关联的安全性域而选择的。异常控制电路还可响应于异常返回条件而执行多个异常返回转换的一个异常返回转换,该异常返回转换是基于与异常返回条件相关联的模式和安全性域而选择的。针对特定异常进入转换或特定异常返回转换执行的动作可根据所选择的特定转换而变化。例如,某些异常进入/返回转换可包括一些安全性检查,这些安全性检查可能对于其他转换而言是不需要的。
[0022]在下文讨论的技术中,响应于至少一个安全线程模式向安全处理者模式异常进入转换,异常控制电路可设置转换禁用指示符。当转换禁用指示符被设置时,对于向安全域并且线程模式中的处理的至少一种类型的异常返回转换,异常控制电路可触发用信号通知故障。这些措施可缓解潜在的攻击,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置,包括:处理电路,用于在多个安全性域的一个安全域性中执行数据处理,所述多个安全域至少包括安全域和不太安全域,并且在给定安全性域内用于在多个模式的一个模式中执行数据处理,所述多个模式包括用于异常处理的处理者模式和用于背景处理的线程模式;存储器访问检查电路,用于根据所述处理电路的当前安全性域来检查是否允许存储器访问;以及异常控制电路,响应于异常条件来执行多个异常进入转换的一个异常进入转换,该异常进入转换是基于所述处理电路的当前模式和所述当前安全性域以及与所述异常条件相关联的安全性域而选择的,所述多个异常进入转换包括至少一个安全线程模式向安全处理者模式异常进入转换;其中:所述异常控制电路响应于异常返回条件而执行多个异常返回转换的一个异常返回转换,该异常返回转换是基于与所述异常返回条件相关联的模式和安全性域而选择的;响应于所述至少一个安全线程模式向安全处理者模式异常进入转换,所述异常控制电路被配置为设置转换禁用指示符;并且当所述转换禁用指示符被设置时,对于向所述安全域并且所述线程模式中的处理的至少一种类型的异常返回转换,所述异常控制电路被配置为触发用信号通知故障。2.根据权利要求1所述的装置,其中向所述安全域并且所述线程模式中的处理的所述至少一种类型的异常返回转换包括以下转换中的至少一者:从所述不太安全域并且所述处理者模式中的处理向所述安全域并且所述线程模式中的处理的转换;以及当所述异常返回转换与异常返回信息相关联时从所述安全域并且所述处理者模式中的处理向所述安全域并且所述线程模式中的处理的转换,所述异常返回信息指定所述异常返回转换对应于进入所述不太安全域并且所述处理者模式的先前异常进入条件。3.根据权利要求1和2中任一项所述的装置,其中响应于至少一个安全线程模式向不太安全处理者模式异常进入转换,所述异常控制电路被配置为执行至少一个保护动作,所述至少一个保护动作对于所述至少一个安全线程模式向安全处理者模式异常进入转换来说被省区。4.根据前述权利要求中任一项所述的装置,包括至少一个堆栈指针寄存器,所述至少一个堆栈指针寄存器用于存储至少一个堆栈指针,所述至少一个堆栈指针用于指向存储器系统中的相应堆栈数据结构,所述至少一个堆栈指针包括与安全进程堆栈数据结构相关联的安全进程堆栈指针,所述安全进程堆栈指针在当所述处理电路处于所述安全域和所述线程模式的组合时能被所述处理电路访问。5.根据权利要求4所述的装置,包括多个寄存器以存储架构状态数据;其中:所述异常控制电路响应于所述异常条件而将来自所述寄存器的架构状态数据的至少一个子集保存到由所述至少一个堆栈指针中的一个堆栈指针所标识的堆栈数据结构,以在该堆栈数据结构上提供第一异常堆栈帧和第二异常堆栈帧中的一者,所述第二异常堆栈帧包括来自所述寄存器的架构状态数据的子集,该子集从所述第一异常堆栈帧被省去。6.根据权利要求5所述的装置,其中所述第二异常堆栈帧包括完整性签名,该完整性签名从所述第一异常堆栈帧被省去;并且
对于所述多个异常返回转换的子集,所述异常控制电路被配置为执行完整性签名检查,该完整性签名检查包括从给定堆栈数据结构访问针对该异常返回转换而选择的堆栈帧,并且当在出栈的堆栈帧中的预定位置处的值和所述完整性签名之间检测到不匹配时触发故障。7.根据权利要求6所述的装置,其中所述异常控制电路被配置为响应于向所述安全域并且所述线程模式中的处理的异常返回转换而清除所述转换禁用指示符,对于该异常返回转换,不执行完整性签名检查并且利用所述安全进程堆栈指针执行出栈。8.根据权利要求6和7中任一项所述的装置,其中向所述安全域并且所述线程模式中的处理的所述至少一种类型的异常返回转换包括一种异常返回转换,对于该异常返回转换,要从所述安全进程堆栈数据结构恢复架构状态并且要执行所述完整性签名检查。9.根据权利要求5至8中任一项所述的装置,其中所述至少一个安全线程模式向安全处理者模式异常进入转换包括:从所述安全域并且所述线程模式向所述安全域并且所述处理者模式的异常进入转换,对于该异常进入转换,在所述安全进程堆栈数据结构上提供了所述第一异常堆栈帧。10.根据权利要求5至9中任一项所述的装置,其中所述异常控制电路被配置为当所述安全进程堆栈数据结构上存储的所述第一异常堆栈帧被升级以在所述安全进程堆栈数据结构上提供所述第二异常堆栈帧时,清除所述转换禁用指示符。11.根据权利要求4至10中任一项所述的装置,其中所述转换禁用指示符包括安全进程堆栈禁用指示符,当所述安全进程堆栈禁用指示符被设置时,该安全进程堆栈禁用指示符指示禁止对所述安全进程堆栈指针的访问。12.根据权利要求4至11中任一项所述的装置,包括安全进程堆栈指针限制寄存器,用于存储安全进程堆栈指针限制值,其中:所述异常控制电路被配置为响应于检测到以下项中的一者而触发用信号通知故障:所述安全进程堆栈数据结构延伸超出所述安全进程堆栈指针限制值;以及将所述...

【专利技术属性】
技术研发人员:托马斯
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

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

1
相关领域技术