在RISC-V架构的可信执行环境中实现中断隔离的方法及系统技术方案

技术编号:38015909 阅读:8 留言:0更新日期:2023-06-30 10:41
本发明专利技术提供了一种在RISC

【技术实现步骤摘要】
在RISC

V架构的可信执行环境中实现中断隔离的方法及系统


[0001]本专利技术涉及中断处理
,具体地,涉及在RISC

V架构的可信执行环境中实现中断隔离的方法及系统。

技术介绍

[0002]CLIC中断控制器中存在两段内存映射地址分别提供给M模式和S模式使用。每一段中包含1024个中断的配置,每个中断拥有四个一字节的中断配置寄存器,分别为clicintip[i]、clicintie[i]、clicintattr[i]、cl icintctl[i]。在M模式的内存映射区域中可以配置特定编号中断的处理模式,仅当某个中断在M模式区域中被配置为S模式可处理时,处于S模式的程序才可以通过S模式内存映射区域配置该中断,以及,当该中断来临时,若特权级处于U/S模式,则直接由S模式处理该中断。
[0003]利用CLIC中断控制器实现中断委托机制;CLIC中断控制器的内存映射寄存器区域从逻辑上可区分为M模式内存映射区域(后简称为M模式区域)和S模式内存映射区域(后简称为S模式区域)。处于M模式的安全监控器负责配置M模式区域,特别的,可以决定某个中断号对应的中断是否交付给S模式处理,同时也决定了S模式是否能配置该中断号在S模式区域中对应的寄存器。处于S模式的Enclave,对于暴露给自己的中断,可以直接处理该中断而无需下陷至M模式,以及可以配置该中断在S模式区域中对应的寄存器。中断处理和配置的能力从M模式转交到S模式,称为中断委托。
[0004]M模式可将中断委托至S模式,也可以取消S模式的中断委托,具体配置方式如下:M模式区域中,clicintattr[i].mode用于控制中断号为i的中断的特权级,当处于M模式时,可以通过将M区域中clicintattr[i].mode设置为S模式对应的比特位将中断i委托至S模式。反之,通过将M区域中clicintattr[i].mode设置为M模式对应的比特位取消中断委托。
[0005]上文叙述了M模式将某个中断号委托给S模式处理,以及取消中断委托的方式。
[0006]可信执行环境的设计目标之一是各个飞地之间的资源隔离。大部分情况下,可信执行环境会包含内存隔离,外设隔离等设计。然而,某些侧信道攻击会利用中断触发的时机降低攻击的时间成本,提高攻击的成功率。因此,保证中断只对特定的飞地可见(中断隔离)也是可信执行环境的设计目标之一。
[0007]RISC

V上的可信执行环境:在RISC

V的可信执行环境通常通过如下方式实现。通过利用处理器模式权限级别不同的特点,在具有最高权限级别的M模式部署安全监控器,并确保安全监控器是唯一在M模式运行的组件;由安全监控器配置并管理计算机系统中的特定硬件资源可以由哪一些软件组件以及其他硬件组件访问并使用。在此基础上,每一组对外隔离的软件及硬件组件的集合可视为一个隔离的执行环境。在本申请中,一个隔离的执行环境与一个Enclave等价。
[0008]在部署了可信执行环境的计算机系统中,软硬件被划分至数个隔离运行环境中,因此不同隔离运行环境的中断处理也需要互相隔离。否则,设备中断的触发和处理可能会泄露关于隔离环境内软硬件执行的信息,可供计算机系统中恶意组件以较低的成本部署攻
击,如侧信道攻击。
[0009]专利文献CN111831419A(申请号:202010691742.9)公开了一种用于RISC

V架构的中断控制方法,解决基于RISC

V架构的MCU芯片对紧急中断的快速处理问题。本专利技术处理器在处理普通中断程序或者主程序的过程中,一旦收到PLIC分发的快速中断程序,则跳转到快速中断处理流程;其中,收到的快速中断程序通过使用压缩指令集编写,使得其使用的通用寄存器被限制在x8

x15范围内;快速中断处理时,在执行中断处理函数前使用8个影子寄存器sx8

sx15来暂存通用寄存器x8

x15的数据,函数处理完毕之后将8个影子寄存器sx8

sx15所保存的数据恢复到被打断程序使用的通用寄存器x8

x15中,并继续之前的普通中断程序或者主程序处理流程。
[0010]本专利技术的中断隔离机制适用于RISC

V体系结构。
[0011]RISC

V架构中的处理器模式:在RISC

V架构中,处理器可支持多个运行模式,用户模式(User模式,后简称为U模式),特权模式(Supervi sor Mode,后简称为S模式),机器模式(Machine Mode,后简称为M模式)。通常情况下,对于支持S模式和U模式的处理中,U模式中执行普通应用,该模式拥有相对最小的权限;S模式中运行操作系统;在M模式中运行与固件相关的逻辑,该模式拥有最高的权限。
[0012]RISC

V中断处理方式:在支持S模式和U模式的处理中,若中断控制器支持相关特性,那么相关配置软件能够配置特定的中断应该在M模式中处理,还是在U模式中处理。若配置一个中断在M模式中处理,那么中断触发后,执行流将自动跳转至M模式中的中断处理函数;相对地,若配置一个中断在S模式中处理,那么中断触发后,执行流将自动跳转至S模式中的中断处理函数。因为模式的切换通常会引入性能损失,因此尽量让中断在S模式处理,可以降低中断处理的延时,提高计算机系统处理中断的性能。
[0013]在部署了可信执行环境的计算机系统中,如果配置特定的中断直接在S模式中触发,那么其触发时,可能存在这样的情况,即当前正在执行的隔离运行环境并不是该中断所属的运行环境,即打破了中断隔离的保证。基于这些信息,若当前的运行环境为恶意或者存在漏洞,那么中断触发这一事件可能被利用于部署针对该中断本来所属的运行环境的攻击;如果配置所有的中断直接在M模式中触发,那么即使中断触发时,该中断所属的隔离运行环境正在执行,当前执行流仍然会跳转至M模式处理中断,造成了性能损失。

技术实现思路

[0014]针对现有技术中的缺陷,本专利技术的目的是一种在RISC

V架构的可信执行环境中实现中断隔离的方法及系统。
[0015]根据本专利技术提供的一种在RISC

V架构的可信执行环境中实现中断隔离的方法,包括:中断触发时,当当前运行的Enclave为中断归属的Enclave,则直接在当前Enclave中处理当前中断;当当前运行的Enclave不是中断归属的Enclave,则由监控器调度中断归属的Enclave处理当前中断。
[0016]优选地,中断触发时,中断归属的Enclave正在被运行,中断的中断委托被开启,根据RISC

V架构的定义,执行流自动跳转至Enclave自行配置的中断处理函数中。
[0017]优选地,在所述Enclave自行配置中,通过修改stvec寄存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,包括:中断触发时,当当前运行的Enclave为中断归属的Enclave,则直接在当前Enclave中处理当前中断;当当前运行的Enclave不是中断归属的Enclave,则由监控器调度中断归属的Enclave处理当前中断。2.根据权利要求1所述的在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,中断触发时,中断归属的Enclave正在被运行,中断的中断委托被开启,根据RISC

V架构的定义,执行流自动跳转至Enclave自行配置的中断处理函数中。3.根据权利要求2所述的在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,在所述Enclave自行配置中,通过修改stvec寄存器或者stvt寄存器的值配置中断处理函数跳转入口。4.根据权利要求1所述的在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,中断触发时,如果中断归属的Enclave未被执行,该中断的中断委托未被开启,由监控器负责将执行流切换至中断归属的Enclave,根据RISC

V架构定义,中断在监控器下陷至中断归属的Enclave的瞬间触发。5.根据权利要求1所述的在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,当中断跨越Enclave时,使用转发中断的处理桩函数完成中断返回。6.根据权利要求5所述的在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,所述处理桩函数采用:初始状态下,处理桩函数位于仅由监控器可读写的内存区域中;转发中断被Enclave处理前,监控器将处理桩函数所在的内存区域配置为较低特权模式可执行;转发中断被Enclave处理后,监控器收回较低特权模式在处理桩函数所在内存区域的较低特权模式可执行权限;监控器处理转发中断时,监控器将切换至较低特权模式并同时跳转至处理桩函数的函数入口。7.根据权利要求4所述的在RISC

V架构的可信执行环境中实现中断隔离的方法,其特征在于,中断触发时如果中断归属的Enclave未被执行,中断的中断委托未被开启,由监控器负责将执行流切换至中断归属的Enclave,根据RISC

V架构定义,中断在监控器下陷至中断归属的Enclave的瞬间触发采用:步骤S1:当中断触发时,如果中断归属Enclave未被执行,执行流下陷至M模式的安全监控器中;步骤S2:安全监控器检查中断归属的Enclave是否存在,当不存在,则报错,清除中断状态后返回原执行Enclave;当存在,开启当前中断的中断委托;步骤S3:安全监控器检查中断触发类型,当是边缘性触发,则重新将中断状态置位;步骤S4:安全监控器备份原Enclave的执行上下文以及系统寄存器上下文,其中执行上下文包含Enclave运行时处理器通用寄存器x1

x31的值,系统寄存器上下文包mie、mip、mstatus、mepc特权寄存器的值,并恢复中断归属Enclave的系统寄存器上下文;步骤S5:安全监控器将转发中断处理桩函数位于的内存区域配置为S模式可执行,切换至S模式的同...

【专利技术属性】
技术研发人员:梁凉赵旭棹利文浩
申请(专利权)人:上海瓶钵信息科技有限公司
类型:发明
国别省市:

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

1