分层保护域中的安全性增强制造技术

技术编号:37671707 阅读:24 留言:0更新日期:2023-05-26 04:33
用于允许以特定异常级别(例如,EL

【技术实现步骤摘要】
【国外来华专利技术】分层保护域中的安全性增强
[0001]对相关申请的交叉引用
[0002]本申请要求于2020年6月10日提交的题目为“Security Enhancement in Hierarchical Protection Domains”的第16/897,959号美国专利申请的优先权的权益,其全部内容通过引用并入本文。

技术介绍

[0003]现代软件系统通常被划分成多个模块/组件,该模块/组件均具有对计算设备的资源(例如,系统资源、处理器资源、存储器资源等)的不同级别的特权或访问。这种划分的示例是在操作系统(OS)内核和用户应用之间,其中用户应用被给予比OS内核更有限的对系统资源的访问级别。
[0004]为了促进芯片级的类似划分,某些处理器和计算架构(例如,ARM、RISC

V、Hexagon DSP等)包括支持分层保护域和/或实现不同级别的特权的特征。这样的系统通常一次仅以一个特权级别操作,并且特权的级别(“当前特权级别”)可以仅当设备处理器取得异常或从异常返回时改变。为此,特权级别通常被称为异常级别(EL)。这些异常级别可以被编号本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种评估以低异常级别在计算设备上操作的软件的方法,包括:由以高异常级别操作的组件(“HEL组件”)识别与以低异常级别操作的组件(“LEL组件”)相关联的当前向量基地址(VBA)、异常引发指令(ERI)地址或控制和系统寄存器(CSR)值中的至少一个;确定当前VBA、ERI地址或CSR值中的至少一个是否与对应的参考数据匹配;以及响应于确定当前VBA、ERI地址或CSR值与对应的参考数据不匹配而执行响应动作。2.根据权利要求1所述的方法,还包括:由HEL组件扫描至少低异常级别以收集数据;将所收集的数据的部分标记为要用作参考数据的关键数据;生成参考数据的散列;以及将所生成的散列作为参考数据存储在HEL组件可访问但LEL组件不可访问的存储器的部分中。3.根据权利要求2所述的方法,其中,由HEL组件扫描至少低异常级别以收集数据包括:HEL组件在LEL组件的加载期间收集LEL组件数据作为参考数据。4.根据权利要求1所述的方法,还包括:识别当前在工作存储器中的关键数据;计算所识别的关键数据的散列;以及将所计算的散列与对应的参考数据进行比较,以确定当前VBA、ERI地址或系统寄存器值中的至少一个是否与对应的参考数据匹配。5.根据权利要求4所述的方法,其中:识别当前在工作存储器中的关键数据包括识别当前存在于工作存储器中的关键读取

执行(RX)代码或关键只读(RO)数据;以及将所计算的散列与对应的参考数据进行比较包括将所计算的散列与由HEL组件存储在存储器中的参考数据散列进行比较。6.根据权利要求1所述的方法,还包括:周期性地调用HEL组件以验证LEL组件的完整性尚未被损害。7.根据权利要求1所述的方法,还包括:非周期性地调用HEL组件以验证LEL组件的完整性尚未被损害。8.根据权利要求1所述的方法,还包括通过基于以下中的至少一个调用HEL组件来周期性地调用HEL组件以验证LEL组件的完整性尚未被损害:具有循环执行触发的机器中断;具有伪随机表驱动触发的随机机器中断;或者具有基于事件的触发的用户触发的机器中断。9.根据权利要求1所述的方法,还包括:检测能够导致计算设备的当前异常级别的变化的系统调用或运行时间事件;以及响应于检测到能够导致计算设备的当前异常级别的变化的系统调用或运行时间事件,调用HEL组件以验证LEL组件的完整性尚未被损害。10.根据权利要求1所述的方法,其中,识别与LEL组件相关联的当前VBA、ERI地址或CSR值中的至少一个包括通过执行以下中的一个或多个来识别当前VBA:
读取向量基地址寄存器(VBAR);读取向量表基保持器;读取异常级别向量基地址寄存器(ELx_VBAR);读取机器陷阱值寄存器(MTVAL);或者读取事件向量基(EVB);或者基于分层特权级别的指令集体系结构中的等效规定。11.根据权利要求1所述的方法,其中,识别与LEL组件相关联的当前VBA、ERI地址或CSR值中的至少一个包括通过从以下中的一个捕获最高异常级别中的地址来识别ERI地址:安全监测器调用(SMC)代码区段;异常链接寄存器(ELR);机器异常程序计数器(MEPC);当异常发生时执行的指令的程序计数器(PC)值;或者处理器CSR。12.根据权利要求1所述的方法,其中,确定当前VBA、ERI地址或CSR值中的至少一个是否与对应的参考数据匹配包括使用参考数据比较集,所述参考数据比较集包括:关键区段的散列;VBA;从异常链接寄存器(ELR)或机器异常程序计数器(MEPC)捕获的ERI的地址范围集合;或者CSR值。13.一种计算设备,包括:存储器,包括处理器可执行指令;以及处理器,被配置为执行处理器可执行指令以执行包括以下项的操作:由以高异常级别在处理器中操作的组件(“HEL组件”)识别与以低异常级别在处理器中操作的组件(“LEL组件”)相关联的当前向量基地址(VBA)、异常引发指令(ERI)地址或控制和系统寄存器(CSR)值中的至少一个;确定当前VBA、ERI地址或CSR值中的至少一个是否与对应的参考数据匹配;以及响应于确定当前VBA、ERI地址或CSR值与对应的参考数据不匹配而执行响应动作。14.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,所述操作还包括:由HEL组件扫描至少低异常级别以收集数据;将所收集的数据的部分标记为要用作参考数据的关键数据;生成参考数据的散列;以及将所生成的散列作为参考数据存储在HEL组件可访问但LEL组件不可访问的存储器的部分中。15.根据权利要求14所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,使得由HEL组件扫描至少低异常级别以收集数据包括:HEL组件在LEL组件的加载期间收集LEL组件数据作为参考数据。16.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行处理器可执行指
令以执行操作,所述操作还包括:识别当前在工作存储器中的关键数据;计算所识别的关键数据的散列;以及将所计算的散列与对应的参考数据进行比较,以确定当前VBA、ERI地址或系统寄存器值中的至少一个是否与对应的参考数据匹配。17.根据权利要求16所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,使得:识别当前在工作存储器中的关键数据包括识别当前存在于工作存储器中的关键读取

执行(RX)代码或关键只读(RO)数据;以及将所计算的散列与对应的参考数据进行比较包括将所计算的散列与由HEL组件存储在存储器中的参考数据散列进行比较。18.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,所述操作还包括:周期性地调用HEL组件以验证LEL组件的完整性尚未被损害。19.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,所述操作还包括:非周期性地调用HEL组件以验证LEL组件的完整性尚未被损害。20.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,所述操作还包括通过基于以下中的至少一个调用HEL组件来周期性地调用HEL组件以验证LEL组件的完整性尚未被损害:具有循环执行触发的机器中断;具有伪随机表驱动触发的随机机器中断;或者具有基于事件的触发的用户触发的机器中断。21.根据权利要求13所述的计算设备,其中,所述处理器被配置为执行处理器可执行指令以执行操作,所述操作还包括:检测能够导致计算设备的当前异...

【专利技术属性】
技术研发人员:N
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

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

1