一种ARM平台上的模块安全隔离方法技术

技术编号:16270400 阅读:70 留言:0更新日期:2017-09-22 22:02
本发明专利技术提供一种ARM平台上的模块安全隔离方法,该方法将Linux内核空间分为可信内核空间和非可信空间;其中可信内核空间中运行Linux内核;非可信空间中运行被隔离的模块;同时该方法通过EL2特权层的Hypervisor Monitor将可信内核空间切换至非可信空间,当由非可信空间切换至可信内核空间时,先通过EL1特权层的Trampoline,再由Trampoline陷入Hypervisor Monitor以切换至可信内核空间。本发明专利技术方法还借助ARM硬件特性,更安全高效地限制非可信模块,以保证Linux系统的可靠稳定性。

【技术实现步骤摘要】
一种ARM平台上的模块安全隔离方法
本专利技术涉及计算机操作系统内存安全
,尤其涉及一种ARM平台上的模块安全隔离方法。
技术介绍
长期以来,计算机内存安全是计算机操作系统安全的基础。计算机内存中存储的数据信息包括敏感内容,也包括代码信息和操作系统数据。内存中的数据信息需要被保护以不被恶意窃取或篡改。例如Linux系统中的驱动模块。故障的Linux设备驱动将有可能对整个Linux系统造成危害。Linux设备驱动是软件系统和硬件设备交互的接口,它将软件的设备请求命令转化为特定设备的控制命令,使得Linux中的设备能正常运转并被Linux用户程序使用。另一方面,设备驱动将设备的状态及时通知给软件包括Linux系统。近年来,因设备驱动发生故障造成的事故层出不穷。Linux设备驱动的高复杂性是影响设备驱动的可靠性和正确性的重要因素之一。异步事件如中断导致代码交错执行、复杂的静态数据结构互相交织、驱动开发者开发的高难度是设备驱动存在错误的原因。为保证设备驱动的可靠性,一个重要的方法是将设备驱动故障隔离。它是通过使用故障隔离和恢复的手段,使得设备驱动程序的故障不会导致自身或操作系统的运行被本文档来自技高网...
一种ARM平台上的模块安全隔离方法

【技术保护点】
一种ARM平台上的模块安全隔离方法,其步骤包括:1)将Linux内核空间分为可信内核空间和非可信空间;其中可信内核空间中运行Linux内核;非可信空间中运行被隔离的模块;2)当可信内核空间代码跳转到非可信空间代码或访问非可信空间的数据时,在可信内核空间产生Instruction Abort或Data Abort,若所述Instruction Abort或Data Abort由可信内核空间与非可信空间的隔离机制产生,则由EL2特权层的Hypervisor Monitor将可信内核空间切换至非可信空间;3)执行非可信空间代码,直到非可信空间产生MMU fault异常,该MMU fault异常被EL...

【技术特征摘要】
1.一种ARM平台上的模块安全隔离方法,其步骤包括:1)将Linux内核空间分为可信内核空间和非可信空间;其中可信内核空间中运行Linux内核;非可信空间中运行被隔离的模块;2)当可信内核空间代码跳转到非可信空间代码或访问非可信空间的数据时,在可信内核空间产生InstructionAbort或DataAbort,若所述InstructionAbort或DataAbort由可信内核空间与非可信空间的隔离机制产生,则由EL2特权层的HypervisorMonitor将可信内核空间切换至非可信空间;3)执行非可信空间代码,直到非可信空间产生MMUfault异常,该MMUfault异常被EL1特权层的Trampoline处理后陷入HypervisorMonitor;4)HypervisorMonitor将上述MMUfault异常发生时的LR、FAR_EL1、ELR_EL1寄存器内容与EL2特权层的AccessPolicy进行对比,如果所述寄存器内容符合正常的调用和访问关系,则由EL2特权层的HypervisorMonitor将非可信空间切换至可信内核空间。2.如权利要求1所述的方法,其特征在于,步骤2)中当检测到所述InstructionAbort或DataAbort发生的位置的对应页表项权限为NotPresent时,则所述InstructionAbort或DataAbort由可信内核空间与非可信空间的隔离机制产生。3.如权利要求1所述的方法,其特征在于,步骤2)中若所述InstructionAbort或DataAbort不是由可信内核空间与非可信空间的隔离机制产生,则作为...

【专利技术属性】
技术研发人员:涂碧波魏炜
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

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

1