[发明专利]一种ARM平台上的模块安全隔离方法在审
申请号: | 201710334806.8 | 申请日: | 2017-05-12 |
公开(公告)号: | CN107194287A | 公开(公告)日: | 2017-09-22 |
发明(设计)人: | 涂碧波;魏炜 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/80 | 分类号: | G06F21/80;G06F21/57 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 陈美章 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 arm 平台 模块 安全 隔离 方法 | ||
1.一种ARM平台上的模块安全隔离方法,其步骤包括:
1)将Linux内核空间分为可信内核空间和非可信空间;其中可信内核空间中运行Linux内核;非可信空间中运行被隔离的模块;
2)当可信内核空间代码跳转到非可信空间代码或访问非可信空间的数据时,在可信内核空间产生Instruction Abort或Data Abort,若所述Instruction Abort或Data Abort由可信内核空间与非可信空间的隔离机制产生,则由EL2特权层的Hypervisor Monitor将可信内核空间切换至非可信空间;
3)执行非可信空间代码,直到非可信空间产生MMU fault异常,该MMU fault异常被EL1特权层的Trampoline处理后陷入Hypervisor Monitor;
4)Hypervisor Monitor将上述MMU fault异常发生时的LR、FAR_EL1、ELR_EL1寄存器内容与EL2特权层的Access Policy进行对比,如果所述寄存器内容符合正常的调用和访问关系,则由EL2特权层的Hypervisor Monitor将非可信空间切换至可信内核空间。
2.如权利要求1所述的方法,其特征在于,步骤2)中当检测到所述Instruction Abort或Data Abort发生的位置的对应页表项权限为Not Present时,则所述Instruction Abort或Data Abort由可信内核空间与非可信空间的隔离机制产生。
3.如权利要求1所述的方法,其特征在于,步骤2)中若所述Instruction Abort或Data Abort不是由可信内核空间与非可信空间的隔离机制产生,则作为正常MMU fault异常由Linux内核中现有的内核异常处理机制进行处理。
4.如权利要求1所述的方法,其特征在于,步骤2)中所述可信内核空间切换至非可信空间是通过修改页表基地址寄存器TTBR1_EL1和异常向量基地址寄存器VABR_EL1为对应非可信空间的值完成。
5.如权利要求1所述的方法,其特征在于,步骤2)还包括:Hypervisor Monitor将HCR_EL2.TVM控制位置1,以限制切换后的非可信空间代码对HCR_EL2.TVM指定的寄存器的写访问。
6.如权利要求4所述的方法,其特征在于,步骤3)还包括:所述异常向量基地址寄存器VABR_EL1指定异常向量表的基地址,不同类型的MMU fault异常由该异常向量表被导向至各个异常处理例程。
7.如权利要求1所述的方法,其特征在于,步骤3)中所述MMU fault异常不仅仅包括步骤2)中的Instruction Abort和Data Abort。
8.如权利要求1所述的方法,其特征在于,步骤3)中所述Trampoline是属于.fi_trampoline区的辅助安全隔离的组件;且Trampoline包含异常处理代码和超级调用相关代码。
9.如权利要求1所述的方法,其特征在于,步骤4)中所述非可信空间切换至可信内核空间是通过修改页表基地址寄存器TTBR1_EL1和异常向量基地址寄存器VABR_EL1为对应可信内核空间的值完成。
10.如权利要求1所述的方法,其特征在于,步骤4)还包括:Hypervisor Monitor将HCR_EL2.TVM控制位置0,以恢复切换后的可信内核空间代码对HCR_EL2.TVM指定的寄存器的写访问。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710334806.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内科医疗便携式氧气发生装置
- 下一篇:一种带有红外装置的新型气管导管装置