CN107516052B - 一种内存访问隔离方法 - Google Patents

一种内存访问隔离方法 Download PDF

Info

Publication number
CN107516052B
CN107516052B CN201710693293.XA CN201710693293A CN107516052B CN 107516052 B CN107516052 B CN 107516052B CN 201710693293 A CN201710693293 A CN 201710693293A CN 107516052 B CN107516052 B CN 107516052B
Authority
CN
China
Prior art keywords
page frame
task
attribute table
memory
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710693293.XA
Other languages
English (en)
Other versions
CN107516052A (zh
Inventor
钟大江
杜朝晖
应志伟
方之熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN201710693293.XA priority Critical patent/CN107516052B/zh
Publication of CN107516052A publication Critical patent/CN107516052A/zh
Application granted granted Critical
Publication of CN107516052B publication Critical patent/CN107516052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种内存访问隔离方法,方法包括:获取任务请求的内存页框物理地址和CPU运行时的任务信息,运行时的任务信息包括:任务号和任务运行环境信息;通过查询页框属性表得到页框物理地址对应的任务信息;页框属性表中包含多个条目,每个条目记录了该页框地址对应的任务信息和访问控制信息;通过比较CPU运行时的任务信息和查询页框属性表得到的任务信息判断是否允许该任务访问页框。本发明能借助硬件,完全隔离不同CPU运行环境下,操作系统对于用户任务的内存访问以及任务间的内存互访。还能与内存加密技术共同使用,如果结合使用,则能做到隔离了操作系统对普通任务访问的同时还能对内存加密,能取得更好的防止软件和硬件攻击的效果。

Description

一种内存访问隔离方法
技术领域
本发明涉及物理内存访问安全隔离方法,尤其是涉及一种基于ARM平台的安全和非安全运行环境下的内存访问隔离方法。
背景技术
ARM公司的TrustZone技术是在ARM Cortex-A和Cortex-M SOC中应用的一种安全技术。TrustZone技术通过硬件方式把处理器CPU,外设,内存空间和二级缓存等划分为安全和非安全环境。属于非安全环境的软件和硬件不能访问属于安全环境下的软件和硬件。属于安全环境下的软件和硬件可以访问非安全环境的软件和硬件。安全环境下通常运行的是体量很小的操作系统和轻量的应用程序或服务。非安全环境下运行的是普通操作系统和通常的应用软件。安全环境和非安全环境的切换通过硬件指令完成,延迟很小,通常为几个时钟周期。
主要不足是1)对于运行在安全环境下的程序缺乏保护,如果运行于安全环境的操作系统有漏洞,那么在操作系统管理下的应用程序就没有安全性可言。2)一个应用只能划分为安全环境和非安全环境两部分,划分粒度不够精细。3)安全运行环境下内存没有加密保护。
发明内容
本发明主要针对一种内存隔离方法,适用于解决前述问题与已知技术的其他问题、缺点与限制。本发明设计了一种物理内存访问安全隔离方法,能使得运行在ARMTrustZone安全环境或非安全环境下的操作系统不能访问用户程序的物理内存,且能与加密技术结合使用,加密整个安全运行环境内存。增强系统防止软件攻击和硬件攻击的能力。
为实现上述目的,本发明提供了一种内存隔离方法,方法包括:获取任务请求的内存页框物理地址和CPU运行时的任务信息,任务信息包括:任务号和任务运行环境信息;任务运行环境包括:安全环境和非安全环境;通过查询页框属性表得到内存页框物理地址对应的任务信息;页框属性表中包含多个条目,每个条目记录了该页框地址对应的任务信息;通过比较CPU运行时的任务信息和查询页框属性表得到的任务信息判断是否允许该任务访问内存页框。
优选地,查询页框属性表具体包括:根据所述内存页框物理地址、内存基址、页框大小、页框属性表条目大小和页框属性表基址,得到所述内存页框物理地址对应的页框属性表条目,从而取得对应的任务信息。
优选地,判断具体包括:判断CPU运行时的任务信息中的任务运行环境信息与查询页框属性表得到的任务信息中的任务运行环境信息是否匹配;在两者不匹配的情况下拒绝访问。
优选地,判断还包括:在CPU运行时的任务信息中的任务运行环境信息与查询页框属性表得到的任务信息中的任务运行环境信息相匹配的情况下:判断查询页框属性表得到的任务信息是否为共享页框标识;判断查询页框属性表得到的任务信息中的任务号和CPU运行时的任务信息中的任务号是否相等;在上述任意判断为是的情况下,允许访问,否则拒绝访问。
优选地,页框属性表条目还记录了访问控制信息,在CPU运行时的任务信息中的任务号与查询页框属性表得到的任务信息中的任务号相匹配的情况下:判断查询页框属性表得到的访问控制信息和CPU运行时的访问控制信息是否相等;在上述判断为是的情况下,允许访问,否则拒绝访问。
优选地,页框属性表的存储位置包括:主内存中划分出的一段连续或非连续物理内存,或者独立于主内存外的一块高速存储器。
优选地,方法通过页框访问控制器执行,页框访问控制器是一个硬件电路模块。
优选地,还包括步骤:初始化页框属性表和更新页框属性表。
优选地,初始化页框属性表包括,当系统冷启动或重启后,根据页框属性表的配置,由安全监控程序将页框表中的内容初始化为默认值。
优选地,更新页框属性表包括,当安全环境或非安全环境的操作系统删除、增加或修改页表条目后,通知安全监控程序,安全监控程序对页框地址对应的页框属性表条目写入更新后的任务信息。
本发明能借助硬件,完全隔离安全和非安全环境下操作系统对于普通任务的内存访问以及任务间的内存互访。本发明还能与内存加密技术共同使用,如果和内存加密技术结合使用,则能做到,隔离了安全或非安全环境下操作系统任务对普通任务的访问的同时还能对内存加密。能取得比ARM TrustZone更好的防止软件和硬件攻击的效果。
附图说明
图1为本发明实施例提供的一种物理内存访问隔离方法流程图;
图2为根据本发明实施例实现系统安全隔离方法的结构示意图;
图3为图1所示方法判断流程图。
图4为根据本发明实施例实现页框属性表查询示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,为本发明实施例提供的一种内存隔离方法流程图。
方法包括:步骤101获取任务请求的内存页框物理地址和CPU运行时的任务信息;步骤102通过查询页框属性表得到内存页框物理地址对应的任务信息;步骤103通过比较CPU运行时的任务信息和查询页框属性表得到的任务信息判断是否允许该任务访问内存页框。
下面结合图1的流程图与图2的系统结构图,详细描述本发明实施例的执行。
如图2所示,为根据本发明实施例实现系统安全隔离方法的结构示意图。
本发明优选在ARM TrustZone平台上应用。在ARM TrustZone芯片级系统SoC中,中央处理器CPU有两种任务运行环境:安全环境和非安全环境。在不同环境下的操作系统中,拥有页表以及多个用户任务和系统任务。不同的环境切换由安全监控程序实现。当一个任务发起一个内存访问请求时,CPU中的地址管理单元会将请求的虚拟地址转换为物理地址,页框访问控制器根据得到的页框物理地址查询页框属性表,进而得到对应的任务信息。页框访问控制器根据CPU当前的任务运行环境信息和任务号与查询结果进行比较从而判断是否允许该任务对页框访问。
本发明设计了一个物理内存页(页框)属性表即页框属性表(Page FrameAttribute Table,简称页框表)和页框访问控制器。页框属性表从硬件设计上,可以设计为从主内存中划分出的一段连续或非连续物理内存,也可以设计为独立于主内存外的一块高速内存,用来记录每个页框和系统中每个任务(包括用户和操作系统任务)的对应关系。页框访问控制器是一个硬件电路模块,该模块能根据给定页框地址查询页框表。
页框属性表中包含多个条目,每个条目记录了该页框地址对应的任务信息和访问控制信息;任务信息包括:任务号和任务运行环境信息。本发明一个实施例以任务号TID作为页框表条目的主要内容,从而建立起页框和任务间的对应关系。假设,TID的长度为24位,那么页框表的条目就可设计为长度为4个字节即32位的存放了TID和安全环境或非安全环境位NS的形式。当然,可以扩展页框表条目的长度,增加其他属性。具体页框表的条目值代表的含义,可根据系统的实际需求来设计。作为示例,在一个实施例中,按照下表规则来设计(1.操作系统或普通任务访问的页框表条目:第0到23位为TID号,第24位到30位为0,第31位为1表示安全环境,为0表示非安全环境。2.安全监控程序访问的页框表条目:所有32位全为1):
页框条目值 含义
0x80000000 该页框是安全环境共享页框
0x00000000 该页框是非安全环境共享页框
0xFFFFFFFF 该页框仅供安全监控程序(secure monitor)访问
0x80xxxxxx 该页框只能在安全环境下被TID号为xxxxxx的任务访问
0x00xxxxxx 该页框只能在非安全环境下被TID号为xxxxxx的任务访问
在步骤103的判断中,先判定当前任务的环境信息与查询得到的任务信息中的环境信息是否一致,判定为否则拒绝访问;判定为是,则再判断是否为共享页框或特定的任务号TID,任意判定为是则允许访问,否则拒绝访问。
图3为上述判断过程的流程图。
具体地,步骤104判断查询页框属性表得到的任务信息是否为共享页框标识;步骤105判断查询页框属性表得到的任务信息中的任务号和CPU运行时的任务信息中的任务号是否相等。在上述任意判断为是,则进入步骤106允许访问,否则进入步骤107拒绝访问。
当然,页框属性表条目可增加其他属性,如添加访问控制信息,在上述安全环境和信息号TID都满足的情况下,还可进一步比对访问控制信息。访问控制信息包括:读、写或信息存储控制信息等。当访问控制信息也匹配时,允许访问,否则拒绝访问。
对页框表的操作还包括:初始化页框属性表和更新页框属性表。初始化页框属性表包括,当系统冷启动或重启后,系统会根据页框属性表的配置,由安全监控程序将页框表中的内容初始化为默认值。例如,根据启动后的任务数,将页框表条目中的条目值初始化为1.安全环境或非安全环境的共享页框值2.安全环境或非安全环境下操作系统任务或普通任务访问的值4.仅安全监控程序可访问的值。
更新页框属性表包括,当安全环境或非安全环境的操作系统删除、增加或修改页表条目后会通知安全监控程序,所述安全监控程序将对页框地址对应的页框属性表条目写入更新后的任务信息。
如图4所示,为根据本发明实施例实现页框属性表查询示意图。
具体包括,用内存页框物理地址减去系统主内存基址,得到的差除以页框大小,再乘以页框属性表条目大小,最后再用得到的乘积加上页框属性表基址,找到该物理地址对应的页框属性表条目地址,从而取得对应的任务信息。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种内存访问隔离方法,其特征在于,方法包括:
获取任务请求的内存页框物理地址和CPU运行时的任务信息,所述任务信息包括:任务号和任务运行环境信息;所述任务运行环境包括:安全环境和非安全环境;
通过查询页框属性表得到内存页框物理地址对应的页框条目值,所述页框属性表包括多个页框条目值,所述多个页框条目值代表多个含义,每一页框条目值代表一个含义,所述多个含义包括:页框为安全环境共享页框、页框为非安全环境共享页框、页框为仅供安全监控程序访问的页框、页框为只能在安全环境下被特定任务号的任务访问的页框、页框为只能在非安全环境下被特定任务号的任务访问的页框;
通过将CPU运行时的任务号和任务运行环境信息与页框条目值代表的含义进行对比,以判断是否允许该任务访问对应的内存页框。
2.根据权利要求1所述的方法,其特征在于,所述页框属性表条目还记录了访问控制信息,在CPU运行时的任务信息中的任务号与查询页框属性表得到的任务信息中的任务号相匹配的情况下:判断所述查询页框属性表得到的访问控制信息和CPU运行时的访问控制信息是否相等;在上述判断为是的情况下,允许访问,否则拒绝访问。
3.根据权利要求1所述的方法,其特征在于,所述页框属性表的存储位置包括:主内存中划分出的一段连续或非连续物理内存,或者独立于主内存外的一块高速存储器。
4.根据权利要求1所述的方法,其特征在于,所述方法通过页框访问控制器执行,所述页框访问控制器是一个硬件电路模块。
5.根据权利要求1所述的方法,其特征在于,还包括步骤:初始化页框属性表和更新页框属性表。
6.根据权利要求5所述的方法,其特征在于,所述初始化页框属性表包括,当系统冷启动或重启后,根据页框属性表的配置,由安全监控程序将页框表中的内容初始化为默认值。
7.根据权利要求6所述的方法,其特征在于,所述更新页框属性表包括,当安全环境或非安全环境的操作系统删除、增加或修改页表条目后,通知安全监控程序,所述安全监控程序对页框地址对应的页框属性表条目写入更新后的任务信息。
CN201710693293.XA 2017-08-14 2017-08-14 一种内存访问隔离方法 Active CN107516052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710693293.XA CN107516052B (zh) 2017-08-14 2017-08-14 一种内存访问隔离方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710693293.XA CN107516052B (zh) 2017-08-14 2017-08-14 一种内存访问隔离方法

Publications (2)

Publication Number Publication Date
CN107516052A CN107516052A (zh) 2017-12-26
CN107516052B true CN107516052B (zh) 2020-11-13

Family

ID=60722112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710693293.XA Active CN107516052B (zh) 2017-08-14 2017-08-14 一种内存访问隔离方法

Country Status (1)

Country Link
CN (1) CN107516052B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291383B (zh) * 2020-03-26 2022-03-22 超验信息科技(长沙)有限公司 SoC上任意实体间的物理地址空间访问隔离方法、SoC及计算机设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598364A (en) * 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
US20040064723A1 (en) * 2001-10-31 2004-04-01 Barnes Brian C. Method and apparatus for physical address-based security to determine target security
US8112618B2 (en) * 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
CN100527098C (zh) * 2007-11-27 2009-08-12 北京大学 一种虚拟机管理器的动态内存映射方法
CN101174224A (zh) * 2007-11-28 2008-05-07 中兴通讯股份有限公司 一种基于VxWorks操作系统的内存管理方法

Also Published As

Publication number Publication date
CN107516052A (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
US11252165B2 (en) Cross-chain data trusted management methods and apparatuses
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
CN107368354B (zh) 一种虚拟机安全隔离方法
JP6903682B2 (ja) 仮想リソースビューを使用するデータ保護
US10628613B2 (en) Cryptographic operations for secure page mapping in a virtual machine environment
JP5624620B2 (ja) プラグイン権限制御の方法及びシステム
US9734357B2 (en) Process authenticated memory page encryption
KR101268767B1 (ko) 정보 흐름 추적 및 보호
CN106997439B (zh) 基于TrustZone的数据加解密方法、装置及终端设备
US9065849B1 (en) Systems and methods for determining trustworthiness of software programs
US10102375B2 (en) Multi-modal memory hierarchical management for mitigating side-channel attacks in the cloud
CN107430555B (zh) 用于存储器保护的高速缓存和数据组织
CN101783801A (zh) 一种基于网络的软件保护方法、客户端及服务器
KR20180026722A (ko) 제어되는 암호화 키 관리에 의해 소프트웨어 모듈들을 격리하기 위한 방법을 위한 메모리 캐시들 및 캐싱된 소프트웨어 모듈 아이덴티티들의 보안 핸들링
US20090031142A1 (en) System, Method and Computer Program Product for Processing a Memory Page
US10762223B2 (en) Mandatory access control method and apparatus, and physical host
Yu et al. Enhancing security of Hadoop in a public cloud
Yalew et al. Hail to the Thief: Protecting data from mobile ransomware with ransomsafedroid
CN111159097A (zh) 一种片上访存保护系统及方法
CN107516052B (zh) 一种内存访问隔离方法
US10169584B1 (en) Systems and methods for identifying non-malicious files on computing devices within organizations
US11886350B2 (en) System memory context determination for integrity monitoring and related techniques
CN107562514B (zh) 一种物理内存访问控制与隔离方法
CN117272286A (zh) 基于tee的进程动态完整性度量方法及系统
US20150212951A1 (en) Low-latency, low-overhead hybrid encryption scheme

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180110

Address after: 300143 Tianjin Haitai Huayuan Industrial Zone No. 18 West North 2-204 industrial incubation -3-8

Applicant after: Hai Guang Information Technology Co., Ltd.

Address before: 201203 3F, No. 1388, 02-01, Zhang Dong Road, Pudong New Area, Shanghai

Applicant before: Analog Microelectronics (Shanghai) Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 300143 Tianjin Haitai Huayuan Industrial Zone No. 18 West North 2-204 industrial incubation -3-8

Patentee after: Haiguang Information Technology Co., Ltd

Address before: 300143 Tianjin Haitai Huayuan Industrial Zone No. 18 West North 2-204 industrial incubation -3-8

Patentee before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd.