[发明专利]一种ARM平台上的模块安全隔离方法在审
申请号: | 201710334806.8 | 申请日: | 2017-05-12 |
公开(公告)号: | CN107194287A | 公开(公告)日: | 2017-09-22 |
发明(设计)人: | 涂碧波;魏炜 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/80 | 分类号: | G06F21/80;G06F21/57 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 陈美章 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 arm 平台 模块 安全 隔离 方法 | ||
技术领域
本发明涉及计算机操作系统内存安全技术领域,尤其涉及一种ARM平台上的模块安全隔离方法。
背景技术
长期以来,计算机内存安全是计算机操作系统安全的基础。计算机内存中存储的数据信息包括敏感内容,也包括代码信息和操作系统数据。内存中的数据信息需要被保护以不被恶意窃取或篡改。
例如Linux系统中的驱动模块。故障的Linux设备驱动将有可能对整个Linux系统造成危害。Linux设备驱动是软件系统和硬件设备交互的接口,它将软件的设备请求命令转化为特定设备的控制命令,使得Linux中的设备能正常运转并被Linux用户程序使用。另一方面,设备驱动将设备的状态及时通知给软件包括Linux系统。近年来,因设备驱动发生故障造成的事故层出不穷。Linux设备驱动的高复杂性是影响设备驱动的可靠性和正确性的重要因素之一。异步事件如中断导致代码交错执行、复杂的静态数据结构互相交织、驱动开发者开发的高难度是设备驱动存在错误的原因。为保证设备驱动的可靠性,一个重要的方法是将设备驱动故障隔离。它是通过使用故障隔离和恢复的手段,使得设备驱动程序的故障不会导致自身或操作系统的运行被中止,从而一定程度上保证了系统的可靠性。
ARM架构有着低功耗、易扩展、可靠性等优势,而ARMv8架构的推出大大促使了ARM架构处理器在传统PC、服务器领域的流行。随之而来,ARM架构的Linux系统上的安全被关注。
但是不同于传统x86架构,ARM架构尤其是ARMv8架构,有着不同的硬件特性,导致架构特定的Linux系统的实现存在相当差异。基于x86架构的安全隔离机制大多依赖x86硬件属性,不适用于ARM架构的安全隔离。
发明内容
本发明的目的是提供一种ARM平台上的模块安全隔离方法,该方法能够保护Linux系统免受来自非可信模块的威胁,提高Linux系统的安全可靠性。
为达上述目的,本发明所采用的技术方案为:
一种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)中当检测到所述Instruction Abort或Data Abort发生的位置的对应页表项权限为Not Present(即该页表项不存在或非法)时,则所述Instruction Abort或Data Abort由可信内核空间与非可信空间的隔离机制产生。
进一步地,步骤2)中若所述Instruction Abort或Data Abort不是由可信内核空间与非可信空间的隔离机制产生,则作为正常MMU fault异常由Linux内核中现有的内核异常处理机制进行处理。
进一步地,步骤2)中所述可信内核空间切换至非可信空间是通过修改页表基地址寄存器TTBR1_EL1和异常向量基地址寄存器VABR_EL1为对应非可信空间的值完成。
进一步地,步骤2)还包括:Hypervisor Monitor将HCR_EL2.TVM控制位置1,以限制切换后的非可信空间代码对HCR_EL2.TVM指定的寄存器的写访问。
更进一步地,步骤3)还包括:所述异常向量基地址寄存器VABR_EL1指定异常向量表的基地址,不同类型的MMU fault异常由该异常向量表被导向至各个异常处理例程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710334806.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内科医疗便携式氧气发生装置
- 下一篇:一种带有红外装置的新型气管导管装置