CN104657193A - 一种访问物理资源的方法和装置 - Google Patents

一种访问物理资源的方法和装置 Download PDF

Info

Publication number
CN104657193A
CN104657193A CN201310594764.3A CN201310594764A CN104657193A CN 104657193 A CN104657193 A CN 104657193A CN 201310594764 A CN201310594764 A CN 201310594764A CN 104657193 A CN104657193 A CN 104657193A
Authority
CN
China
Prior art keywords
light
access
physical address
resource
physical
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.)
Granted
Application number
CN201310594764.3A
Other languages
English (en)
Other versions
CN104657193B (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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201310594764.3A priority Critical patent/CN104657193B/zh
Priority to PCT/CN2014/091037 priority patent/WO2015074512A1/zh
Priority to EP14863242.5A priority patent/EP3070604B1/en
Publication of CN104657193A publication Critical patent/CN104657193A/zh
Priority to US15/160,863 priority patent/US10180915B2/en
Application granted granted Critical
Publication of CN104657193B publication Critical patent/CN104657193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/4555Para-virtualisation, i.e. guest operating system has to be modified
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种访问物理资源的方法和装置,涉及操作系统技术领域,以限制多内核操作系统中的轻量级系统内核Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性。所述方法包括:安全固件接收第一Light OS所要访问的物理资源对应的物理地址;所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;或者,若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号。

Description

一种访问物理资源的方法和装置
技术领域
本发明涉及操作系统技术领域,尤其涉及一种访问物理资源的方法和装置。
背景技术
随着数据量及数据处理需求的进一步提升,负载对操作系统的性能要求越来越高,微内核、多内核已经成为了操作系统未来发展的一个趋势。多内核协同工作能够很好隔离应用、提升系统的吞吐率并且较大地提高系统性能。因而,在面临着大数据处理的今天,虚拟化技术、多内核技术由于高的可扩展性,越来越多的被研究和应用。其中,平行虚拟化系统结合多内核技术和虚拟化技术,保证了资源的复用和隔离,并且多内核操作系统的各个内核均可以自主管理内存资源。
在现有的平行虚拟化系统中,在同一个物理节点(例如:服务器、计算机等)内运行一个重量级系统内核(Heavy Operating System,简称Heavy OS),该Heavy OS管理多个拥有独立物理资源的轻量级系统内核(Light Operating System,简称Light OS)。但是,全局物理内存对于每一个Light OS都是可见的,因此,当Light OS内核本身不可信或页表映射发生逻辑错误时,有可能会访问不属于它的物理内存,从而造成其他系统内核的内存资源泄露,引起内存资源的不安全性。
发明内容
本发明的实施例提供一种访问物理资源的方法和装置,以限制多内核操作系统中的轻量级系统内核Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种访问物理资源的方法,应用于平行虚拟化系统,所述系统包括:重量级系统内核Heavy OS、至少一个轻量级系统内核Light OS、以及安全固件,所述方法包括:
安全固件接收第一Light OS所要访问的物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个;
所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一Light OS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源;或者,
若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
在第一方面的第一种可能的实现方式中,所述安全固件确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:
所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址,确定所述第一LightOS所要访问的物理资源的物理地址是否越界;所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
在第一方面的第一种可能的实现方式中,还提供了第一方面的第二种可能的实现方式,所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问物理资源对应的物理地址,确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:
所述安全固件查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界。
在第一方面的第一种可能的实现方式中,还提供了第一方面的第三种可能的实现方式,所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问物理资源对应的物理地址,确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:
所述安全固件查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
将所述异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息;
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,所述安全固件查询所述Heavy OS更新后的第二资源分配映射信息,确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址;或者,
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令,并根据接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
在第一方面的第四种可能的实现方式中,所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界包括:
所述安全固件加载所述第一资源分配分配映射信息;
查询所述第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界;或者,
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问越界。
在第一方面或第一方面的前四种任一可能的实现方式中,还提供了第一方面的第五种可能的实现方式,所述安全固件接收第一Light OS所要访问的物理资源对应的物理地址包括:
安全固件接收缓存Cache控制器发送的所述Light OS所要访问的物理资源对应的物理地址;或者,
安全固件接收内存管理单元MMU发送的所述Light OS所要访问的物理资源对应的物理地址。
在第一方面或第一方面的前五种任一可能的实现方式中,还提供了第一方面的第六种可能的实现方式,所述第一资源分配映射信息和第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
第二方面,本发明实施例提供了一种访问物理资源的方法,应用于平行虚拟化系统,所述系统包括:重量级系统内核Heavy OS、至少一个轻量级系统内核Light OS、以及安全固件,所述方法包括:
第一Light OS发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一Light OS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个;
接收所述安全固件发送的继续访问信号或者访问出错信号;
若接收到继续访问信号,则访问所述物理地址对应的物理资源;
若接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
在第二方面的第一种可能的实现方式中,所述方法还包括:
接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
若所述第一Light OS根据所述安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;
将所述安全响应信号在预设的时间内发送给所述Heavy OS。
在第二方面或第二方面的第一种可能的实现方式中,所述方法还包括:为用户空间的每个任务分配内核对象资源;
根据为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限;
监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;
若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
在第二方面的第二种可能的实现方式中,还提供了第二方面的第三种可能的实现方式,若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改之后,所述方法还包括:
若监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,
若所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
第三方面,本发明实施例提供了一种访问物理资源的方法,应用于平行虚拟化系统,所述系统包括:重量级系统内核Heavy OS、至少一个轻量级系统内核Light OS、以及安全固件,所述方法包括:
所述Heavy OS接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个LightOS之间的对应关系。
根据接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;
若所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成并发送访问越界指令给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
在第三方面的第一种可能的实现方式中,在所述Heavy OS接收安全固件反馈的异常访问信号之前,所述方法还包括:
所述Heavy OS为各个Light OS分配物理资源;
根据为所述各个Light OS分配的物理资源,生成并存储第一资源分配映射信息;
将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
在第三方面的第一种可能的实现方式中,还提供了第三方面的第二种可能的实现方式,在所述Heavy OS为各个Light OS分配物理资源之前,所述方法还包括:
对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;
所述将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中包括:根据所述容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
在第三方面的第二种可能的实现方式中,还提供了第三方面的第三种可能的实现方式,所述初始化设置还包括:将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
在第三方面的第四种可能的实现方式中,在所述Heavy OS接收安全固件反馈的异常访问信号之后,所述方法还包括:
对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;
若所述次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
在第三方面或第三方面的前四种任一可能的实现方式中,还提供了第三方面的第五种可能的实现方式,所述方法还包括:
发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
在预设的时间内接收所述第一Light OS发送的安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;或者,
在预设的时间内没有接收到所述第一Light OS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
在第三方面的第五种可能的实现方式中,还提供了第三方面的第六种可能的实现方式,所述发送安全检测请求给所述第一Light OS之前,所述方法还包括:
所述Heavy OS周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息。
在第三方面或第三方面的前六种任一可能的实现方式中,还提供了第三方面的第七种可能的实现方式,所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
第四方面,本发明实施例提供了一种访问物理资源的安全固件,应用于平行虚拟化系统,所述系统还包括:重量级系统内核Heavy OS、以及至少一个轻量级系统内核Light OS,所述安全固件包括:
接收模块,用于接收第一Light OS所要访问的物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个;
确定模块,用于确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一Light OS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
发送模块,用于若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源;或者,若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
在第四方面的第一种可能的实现方式中,所述确定模块包括:查询单元、确定单元;
所述查询单元,用于查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元,用于根据所述查询单元的查询结果,确定所述第一Light OS所要访问的物理资源的物理地址是否越界;
其中,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
在第四方面的第一种可能的实现方式中,还提供了第四方面的第二种可能的实现方式,所述查询单元,具体用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元,具体用于若所述查询单元查询到当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一LightOS的访问没有越界。
在第四方面的第一种可能的实现方式中,还提供了第四方面的第三种可能的实现方式,所述安全固件还包括:信号生成模块;
所述查询单元,还用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述信号生成模块,用于若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述发送模块,还用于将所述信号生成模块得到的异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息;
所述查询单元,还用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,查询所述Heavy OS更新后的第二资源分配映射信息;
所述确定单元,还用于根据所述查询单元的查询结果确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址;或者,
所述接收模块,还具体用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令;
所述确定单元,还用于根据所述接收模块接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
在第四方面的第四种可能的实现方式中,所述安全固件还包括:加载模块;
所述加载模块,用于加载所述第一资源分配分配映射信息;
所述查询单元,用于查询所述加载模块加载的第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元,用于若所述查询单元查询的所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界;或者,若所述查询单元查询的所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问越界。
在第四方面或第四方面的前四种任一可能的实现方式中,还提供了第四方面的第五种可能的实现方式,所述接收模块具体用于,
接收缓存Cache控制器发送的所述Light OS所要访问的物理资源对应的物理地址;或者,
接收内存管理单元MMU发送的所述Light OS所要访问的物理资源对应的物理地址。
在第四方面或第四方面的前五种任一可能的实现方式中,还提供了第四方面的第六种可能的实现方式,所述第一资源分配映射信息和第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
第五方面,本发明实施例提供了一种访问物理资源的轻量级系统内核实体,应用于平行虚拟化系统,所述系统还包括:重量级系统内核Heavy OS、以及安全固件,所述轻量级系统内核实体包括:
发送模块,用于发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一LightOS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个;
接收模块,用于接收所述安全固件发送的继续访问信号或者访问出错信号;
处理模块,用于若接收到继续访问信号,则访问所述物理地址对应的物理资源;或者,若接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
在第五方面的第一种可能的实现方式中,所述轻量级系统内核实体还包括:信号生成模块;
所述接收模块,还用于接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述信号生成模块,用于根据所述接收模块接收到的安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;
所述发送模块,还用于将所述信号生成模块生成的安全响应信号在预设的时间内发送给所述Heavy OS。
在第五方面或第五方面的第一种可能的实现方式中,还提供第五方面的第二种可能的实现方式,所述轻量级系统内核实体还包括:
分配模块,用于为用户空间的每个任务分配内核对象资源;
建立模块,用于根据所述分配模块为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述LightOS中每个任务对内核对象资源的访问权限;
监控模块,用于监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;
所述处理模块,还用于若所述监控模块监控到任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
在第五方面的第二种可能的实现方式中,还提供了第五方面的第三种可能的实现方式,所述轻量级系统内核实体还包括:记录模块;
所述记录模块,用于若所述监控模块监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,若所述监控模块监控到所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
第六方面,本发明实施例提供了一种访问物理资源的重量级系统内核实体,应用于平行虚拟化系统,所述系统还包括:至少一个轻量级系统内核Light OS、以及安全固件,所述重量级系统内核实体包括:
接收模块,用于接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
查询模块,用于根据所述接收模块接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
更新模块,用于若所述查询模块查询到所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;或者,
信号生成模块,用于若所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成访问越界指令;
发送模块,用于将所述信号生成模块生成的访问越界指令发送给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
在第六方面的第一种可能的实现方式中,所述重量级系统内核实体还包括:
分配模块,用于在接收模块接收安全固件反馈的异常访问信号之前,为各个Light OS分配物理资源;
建立模块,用于根据所述分配模块为所述各个Light OS分配的物理资源,建立并存储第一资源分配映射信息;
存储模块,用于将所述建立模块生成的所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
在第六方面的第一种可能的实现方式中,还提供了第六方面的第二种可能的实现方式,所述重量级系统内核实体还包括:
设置模块,用于在所述分配模块为各个Light OS分配物理资源之前,对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;
所述存储模块,还用于根据所述设置模块设置的容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
在第六方面的第二种可能的实现方式中,还提供了第六方面的第三种可能的实现方式,所述设置模块还用于将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
在第六方面的第四种可能的实现方式中,所述重量级系统内核实体还包括:
计数模块,用于在接收模块接收安全固件反馈的异常访问信号之后,对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;
处理模块,用于若所述计数模块得到的次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
在第六方面或第六方面的前四种任一可能的实现方式中,还提供了第六方面的第五种可能的实现方式,
所述发送模块,还用于发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述接收模块,还用于在预设的时间内接收所述第一Light OS发送的安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;或者,
所述处理模块,还用于在预设的时间内没有接收到所述第一LightOS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
在第六方面的第五种可能的实现方式中,还提供了第六方面的第六种可能的实现方式,所述重量级系统内核实体还包括:记录模块;
所述记录模块,用于在发送模块发送安全检测请求给所述第一Light OS之前,周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息。
在第六方面或第六方面的前六种任一可能的实现方式中,还提供了第六方面的第七种可能的实现方式,所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
第七方面,本发明实施例提供了一种访问物理资源的系统,包括:第四方面或第四方面中任一可能的实现方式中所述的安全固件、第五方面或第五方面中任一可能的实现方式所述的轻量级系统内核实体、以及第六方面或第六方面中任一可能的实现方式中所述的重量级系统内核实体。
本发明实施例提供的一种访问物理资源的方法和装置,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性;进一步的,每个独立的Light OS通过监控任务进程的能力操作,保证所述Light OS中任务进行对内核对象资源的访问权限,进一步保证Light OS对于不可信任务的健壮性;同时,Heavy OS对Light OS进行安全检测,以保证Light OS的功能完整性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种访问物理资源的方法示意图;
图2为本发明实施例提供的另一种访问物理资源的方法示意图;
图3为本发明实施例提供的另一种访问物理资源的方法示意图;
图4为本发明实施例提供的一种访问物理资源的方法流程示意图;
图5为本发明实施例提供的一种Light OS访问物理资源的方法示意图;
图6为本发明实施例提供的一种Heavy OS对Light OS进行安全检测的方法示意图;
图7为本发明实施例提供的一种访问物理资源的安全固件示意图;
图8为本发明实施例提供的另一种访问物理资源的安全固件示意图;
图9为本发明实施例提供的一种访问物理资源的轻量级系统内核示意图;
图10为本发明实施例提供的另一种访问物理资源的轻量级系统内核示意图;
图11为本发明实施例提供的一种访问物理资源的重量级系统内核示意图;
图12为本发明实施例提供的另一种访问物理资源的重量级系统内核示意图;
图13为本发明实施例提供的一种访问物理资源的安全固件的实体装置示意图;
图14为本发明实施例提供的一种访问物理资源的轻量级系统内核的实体装置示意图;
图15为本发明实施例提供的一种访问物理资源的重量级系统内核的实体装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种访问物理资源的系统,所述系统包括:重量级系统内核(Heavy Operating System,简称Heavy OS)、至少一个轻量级系统内核(Light Operating System,简称Light OS)、安全固件(Secure Ware)和内存。
其中,所述物理资源可以为访问物理内存资源,也可以为访问硬件设备资源,如硬盘,网卡等其他外设部件互连标准(PeripheralComponent Interconnect,简称PCI)设备,当然不限于此。
所述Heavy OS为多内核操作系统中的管理系统内核,用于对任务进行分发、管理和调度;对所述安全固件进行初始化设置,异常处理以及重设等操作,保证所述Light OS访问物理资源的安全合法;对所述Light OS进行安全检测,以保证所述Light OS本身的功能完整性。
所述Light OS为多内核操作系统中的应用系统内核,用于根据所述Heavy OS为其所分配的独立的内存资源和地址空间,进行物理资源的访问;同时Light OS对其内核资源进行封装,以保证Light OS对于不可信任务的健壮性;并接收Heavy OS的安全检测,以保证自身的功能完整性。
所述安全固件用于验证所述Light OS访问物理内存资源的合法性,以限制Light OS不能访问其他Light OS的物理资源,保证物理资源的安全性。
所述内存用于存储Light OS所要访问的物理资源。
针对上述系统,本发明实施例提供了一种访问物理资源的方法,该方法中以所述安全固件为执行主体,如图1所示,包括:
S101、安全固件接收第一轻量级系统内核Light OS所要访问物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个。
其中,所述安全固件为实现验证访问内存合法性的硬件;所述安全固件可以实现在内存控制器上,也可以实现在内存管理单元(MemoryManagement Unit,简称MMU)上,当然不限于此。
所述第一轻量级系统内核Light OS负责提供系统服务和应用执行的环境,在多内核系统中包含至少一个轻量级系统内核。
具体的,所述安全固件接收第一轻量级系统内核Light OS所要访问物理资源的物理地址包括:
安全固件接收缓存Cache控制器发送的所述Light OS所要访问物理资源对应的物理地址;或者,
安全固件接收内存管理单元MMU发送的所述Light OS所要访问物理资源对应的物理地址。
可选的,当安全固件实现在内存控制器上时,所述第一Light OS将访问物理地址对应的物理资源的请求发送给MMU,MMU将所述请求中的虚拟地址转换为物理地址,然后所述MMU将所述物理地址发送给Cache控制器,Cache控制器检测所述Cache中是否存在所述物理地址,若Cache中存在所述物理地址,则所述物理地址对应的物理资源命中,返还给所述第一Light OS;若Cache中不存在所述物理地址,则产生缓存未命中(Cache miss),进一步访问内存,访问内存时需经过内存控制器上的安全固件,则安全固件接收缓存Cache控制器发送的所述Light OS所要访问物理资源对应的物理地址。
或者可选的,当安全固件实现在MMU上时,所述第一Light OS将访问物理地址对应的物理资源的请求发送给MMU,MMU将所述请求中的虚拟地址转换为物理地址,然后所述MMU将所述物理地址发送给所述安全固件,则安全固件接收内存管理单元MMU发送的所述Light OS所要访问物理资源对应的物理地址。
S102、所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一LightOS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址。
其中,所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界包括:所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址没有越界,以及所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址越界两种情况。
针对所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界的情况,可以通过两种不同的方法进行确定:第一种方法是所述安全固件查询其存储的第二资源映射分配信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;第二种方法是所述安全固件查询所述第一资源分配映射信息,确定所述第一Light OS所要访问的物理资源的物理地址是否越界。
具体的,针对第一种方法,所述安全固件确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址,确定所述第一Light OS所要访问的物理资源的物理地址是否越界;所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述HeavyOS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
对于第一种方法又可分为两种情况,下面,将对两种不同的情况(如下文所述的A和B两种不同的情况)进行详细描述。
A:所述安全固件通过其当前存储的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址没有越界。包括:
A1、所述安全固件查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
A2、若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界。
B:所述安全固件通过其更新存储的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址没有越界。包括:
B1、所述安全固件查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址。
B2、若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址。
B3、将所述异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息。
B4、若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,所述安全固件查询所述Heavy OS更新后的第二资源分配映射信息,确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址。
B5、若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令,并根据接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
具体的,针对第二种方法,所述安全固件查询所述第一资源分配映射信息,确定所述第一Light OS所要访问的物理资源的物理地址没有越界的情况进行详细描述。包括:
所述安全固件加载所述第一资源分配分配映射信息;
查询所述第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界。
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问越界。
若所述第一Light OS的访问没有越界,则执行步骤S103a;若所述第一Light OS的访问越界,则执行步骤S103b。
S103a、若所述第一Light OS的访问没有越界,向所述第一LightOS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源。
其中,所述第一Light OS在安全固件的控制下访问所述物理地址对应的物理资源包括:
所述第一Light OS在缓存Cache控制器中访问所述物理地址对应的物理资源;和/或,
所述第一Light OS在内存中访问所述物理地址对应的物理资源。
可选的,若所述Cache控制器中没有所述第一Light OS所要访问的物理资源对应的物理地址,且所述安全固件实现在内存控制器上时,所述安全固件上存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述物理地址,则控制所述第一Light OS在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,不需要经过安全固件就可以直接命中所述物理地址对应的物理资源。
或者可选的,若所述安全固件实现在MMU上时,且所述安全固件上存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述物理地址,则控制所述第一Light OS在缓存Cache中访问所述物理地址对应的物理资源,若缓存中保存有所述物理地址,则将所述物理地址对应的物理资源返回给所述第一Light OS;若缓存中没有保存所述物理地址,则所述第一Light OS继续在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,在Cache中就可以直接命中所述物理地址所对应的物理资源。
或者可选的,若所述Cache控制器中没有所述第一Light OS所要访问的物理资源对应的物理地址,且所述安全固件实现在内存控制器上时,所述第一资源分配映射信息中所述第一Light OS所包含的CPU标识对应的物理地址包含所述物理地址,则控制所述第一Light OS在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,不需要经过安全固件就可以直接命中所述物理地址对应的物理资源。
或者可选的,若所述安全固件实现在MMU上时,且所述第一资源分配映射信息中所述第一Light OS所包含的CPU标识对应的物理地址包含所述物理地址,则控制所述第一Light OS在缓存Cache中访问所述物理地址对应的物理资源,若缓存中保存有所述物理地址,则将所述物理地址对应的物理资源返回给所述第一Light OS;若缓存中没有保存所述物理地址,则控制所述第一Light OS继续在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,在Cache中就可以直接命中所述物理地址所对应的物理资源。
S103b、若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
本发明实施例提供的一种访问物理资源的方法,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,以保证Light OS之间访问物理资源的安全性。
针对上述系统,本发明实施例提供了一种访问物理资源的方法,其执行主体为Light OS,如图2所示,具体步骤包括:
S201、第一Light OS发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一Light OS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个。
具体的,所述安全固件接收到所述物理地址,并确定所述第一Light OS的访问是否越界可以参考上述步骤S101和S102,在此不再赘述。
S202、接收所述安全固件发送的继续访问信号或者访问出错信号。
其中,所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源,所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
S203、若接收到继续访问信号,则访问所述物理地址对应的物理资源。
其中,所述第一Light OS访问所述物理地址对应的物理资源包括:
所述第一Light OS在缓存Cache控制器中访问所述物理地址对应的物理资源;和/或,
所述第一Light OS在内存中访问所述物理地址对应的物理资源。
可选的,若所述Cache控制器中没有所述第一Light OS所要访问的物理资源对应的物理地址,且所述安全固件实现在内存控制器上时,所述安全固件上存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述物理地址,则控制所述第一Light OS在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,不需要经过安全固件就可以直接命中所述物理地址对应的物理资源。
或者可选的,若所述安全固件实现在MMU上时,且所述安全固件上存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述物理地址,则控制所述第一Light OS在缓存Cache中访问所述物理地址对应的物理资源,若缓存中保存有所述物理地址,则将所述物理地址对应的物理资源返回给所述第一Light OS;若缓存中没有保存所述物理地址,则所述第一Light OS继续在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,在Cache中就可以直接命中所述物理地址所对应的物理资源。
或者可选的,若所述Cache控制器中没有所述第一Light OS所要访问的物理资源对应的物理地址,且所述安全固件实现在内存控制器上时,所述第一资源分配映射信息中所述第一Light OS所包含的CPU标识对应的物理地址包含所述物理地址,则控制所述第一Light OS在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,不需要经过安全固件就可以直接命中所述物理地址对应的物理资源。
或者可选的,若所述安全固件实现在MMU上时,且所述第一资源分配映射信息中所述第一Light OS所包含的CPU标识对应的物理地址包含所述物理地址,则控制所述第一Light OS在缓存Cache中访问所述物理地址对应的物理资源,若缓存中保存有所述物理地址,则将所述物理地址对应的物理资源返回给所述第一Light OS;若缓存中没有保存所述物理地址,则控制所述第一Light OS继续在内存中访问所述物理地址对应的物理资源;进一步的,将所述物理地址缓存到发送访问请求的CPU的Cache中,以保证在下次访问该物理地址时,在Cache中就可以直接命中所述物理地址所对应的物理资源。
S204、若接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
具体的,所述异常处理可以是所述第一Light OS停止该访问请求,也可以是所述第一Light OS直接销毁该访问请求,当然不限于此。通过异常处理,以保证所述第一Light OS访问物理资源的合法性和安全性。
可选的,根据上述系统可知,所述Heavy OS需要对所述第一LightOS进行安全检测,以保证所述Light OS自身的功能完整性。因此,所述第一Light OS可执行下述步骤,以保证自身的功能完整性,包括:
接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
若所述第一Light OS根据所述安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;
将所述安全响应信号在预设的时间内发送给所述Heavy OS。
也就是说,若所述第一Light OS根据所述安全检测请求,生成安全响应信号,并在预设的时间内将所述安全响应信号发送给所述HeavyOS,此时所述第一Light OS的功能是完整的;若所述第一Light OS根据所述安全检测请求,生成安全响应信号,但未在预设的时间内将所述安全响应信号发送给所述Heavy OS,此时所述第一Light OS的功能是不完整的;若所述第一Light OS根据所述安全检测请求,没有生成安全响应信号,此时所述第一Light OS的功能也是不完整的。
可选的,所述第一Light OS还可以根据所使用的操作系统,为其分配独立的内存资源和地址空间,通过Capability机制来对内核资源进行细粒度的权限管理,并通过监控进程的访问路径保证Capability机制的正确性。针对上述方法,包括:
为用户空间的每个任务分配内核对象资源;
根据为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限;
监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;
若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
可选的,若监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,
若所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
本发明实施例提供的一种访问物理资源的方法,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,以保证Light OS之间访问物理资源的安全性;进一步的,每个独立的Light OS通过监控任务进程的能力操作,保证所述Light OS中任务进行对内核对象资源的访问权限,进一步保证Light OS对于不可信任务的健壮性;同时,接收Heavy OS对Light OS进行安全检测,以保证Light OS的功能完整性。
针对上述系统,本发明实施例提供了一种访问物理资源的方法,其执行主体为Heavy OS,如图3所示,具体步骤包括:
S301、所述Heavy OS接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
其中,所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
具体的,当所述安全固件接收到所述第一Light OS所有访问的物理资源对应的物理地址时,查询到当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,则所述安全固件生成异常访问信号,并将所述异常访问信号发送给所述Heavy OS;相应的,所述Heavy OS接收所述安全固件反馈的异常访问信号。
S302、根据接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址。
其中,所述第一资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
若所述第一Light OS对应的物理地址包含所述物理地址,则继续执行步骤S303;若所述第一Light OS对应的物理地址不包含所述物理地址,则继续执行步骤S304。
S303、若所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界。
其中,所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
S304、若所述第一Light OS对应的物理地址不包含所述第一LightOS所要访问的物理资源对应的物理地址,生成并发送访问越界指令给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
具体的,所述安全固件中存储有所述第一Light OS的全部或者部分资源分配映射信息,若所述第一资源分配映射信息中所述第一LightOS对应的物理地址不包含所述物理地址,则可以设置所述第一LightOS中安全固件中所存储的第一Light OS的资源分配映射信息属性位,以表示所述安全固件中没有存储所述第一Light OS的物理地址。
进一步的,在步骤S301之前,所述方法还包括:
所述Heavy OS为各个Light OS分配物理资源;
根据为所述各个Light OS分配的物理资源,生成并存储第一资源分配映射信息;
将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
进一步的,在所述Heavy OS为各个Light OS分配物理资源之前,所述方法还包括:
对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;
所述将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中包括:根据所述容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
所述初始化设置还包括:将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
具体的,所述将所述安全固件与所述Heavy OS相绑定可以为在所述安全固件中设置所述Heavy OS的标记位,以便当多内核操作系统中的任一CPU发送信息给安全固件时,所述安全固件根据发送信号的CPU标识,判断所述CPU为所述Heavy OS的标识还是所述Light OS的标识,以保证所述Heavy OS对所述安全固件的唯一设置功能,以及对所述安全固件中所述第二资源分配映射信息的存储或更新;同时所述安全固件只向所述Heavy OS反馈异常访问信号。
进一步的,在步骤S304之后,在所述Heavy OS接收安全固件反馈的异常访问信号之后,所述方法还包括:
对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;
若所述次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
其中,所述对所述第一Light OS进行异常处理可以为对所述第一Light OS进行隔离处理,也可以为对所述第一Light OS进行销毁处理,当然不限于此。
可选的,根据上述系统可知,所述Heavy OS需要对所述第一LightOS进行安全检测,以保证所述第一Light OS自身的功能完整性。因此,所述Heavy OS可执行下述步骤,以对所述第一Light OS进行安全检测,包括:
发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
在预设的时间内接收所述第一Light OS发送的安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;或者,
在预设的时间内没有接收到所述第一Light OS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
可选的,在所述Heavy OS发送安全检测请求给所述第一Light OS之前,所述Heavy OS周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息,以便在预设的时间内没有接收到所述第一Light OS发送的安全响应信号时,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理。
本发明实施例提供的一种访问物理资源的方法,通过增加安全固件,以在多内核操作系统中的Light OS发起物理资源访问时,经过安全固件验证所述Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,以保证Light OS之间访问物理资源的安全性;进一步的,Heavy OS对Light OS进行安全检测,以保证Light OS的功能完整性。
实施例一、
下面,将根据上述系统,对访问物理资源的方法,提供一种具体的实施方案。如图4所示,具体包括以下步骤:
步骤401、Heavy OS启动时,对安全固件进行初始化设置。
其中,对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储第二资源分配映射信息的容量;并将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
所述第二资源分配映射信息可以为Light OS所包含的CPU与所述Heavy OS为Light OS所包含的CPU所分配的全部或部分物理资源的物理地址之间的对应关系。
示例的,若所述Heavy OS包含CPU0,那么,所述初始化设置包括:设置安全固件所能存储的访问内存的地址范围为4G,并将所述HeavyOS将所述安全固件相绑定,即在安全固件中设置标识所述CPU0的属性位。
步骤402、Heavy OS为各个Light OS分配物理内存资源。
步骤403、Heavy OS根据为各个Light OS分配物理内存资源,生成并存储第一资源分配映射信息。
其中,所述第一资源分配映射信息可以为Light OS资源表;LightOS资源表包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
步骤404、所述Heavy OS将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
其中,其中,所述第二资源分配映射信息可以为Light OS资源表的部分或者全部;Light OS资源表包括:索引项和数据项,其中,LightOS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
示例的,所述Heavy OS将安全固件所能存储的访问内存的地址范围为4G分成不同的区域,每个区域记录Light OS资源表中一个LightOS所能访问的物理地址的部分或者全部。
步骤405、第一轻量级系统内核Light OS发起访问内存资源的请求;并将该请求发送给MMU。
步骤406、MMU将所述内存资源请求中的虚拟地址转换为物理地址。
步骤407、MMU将该物理地址发送给Cache;相应的,所述Cache接收所述MMU发送的物理地址。
步骤408、若所述Cache中保存有该物理地址,则返回该物理地址对应的内存资源给所述第一Light OS。
步骤409、若所述Cache中没有保存该物理地址,则将该物理地址发送给安全固件;相应的,安全固件接收所述Cache发送的该物理地址。
步骤410、安全固件根据其存储的部分或者全部的Light OS资源表,确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界。
步骤411、若所述第一Light OS所要访问的物理资源对应的物理地址没有越界,则控制所述第一Light OS在内存中访问所述物理地址对应的物理内存资源。
步骤412、若所述第一Light OS所要访问的物理资源对应的物理地址越界,则生成异常访问信号。
步骤413、所述第一Light OS将所述异常访问信号发送给所述Heavy OS;相应的,所述Heavy OS接收所述安全固件发送的异常访问信号。
步骤414、所述Heavy OS根据接收到的所述安全固件发送的异常访问信号,检测Light OS资源表中所述第一Light OS对应的物理地址是否包含所述物理地址。
步骤415、若检测到所述Light OS资源表中所述第一Light OS对应的物理地址包含所述物理地址,则将所述第一Light OS和所述物理地址的对应关系更新到所述安全固件存储的访问内存验证数据结构中,以使得所述第一Light OS在内存中访问所述物理地址对应的物理内存资源。
步骤416、若检测到所述Light OS资源表中所述第一Light OS对应的物理地址不包含所述物理地址,则生成访问越界信号,并将所述访问越界信号发送给安全固件;相应的,安全固件接收所述Heavy OS发送的访问越界信号。
步骤417、安全固件根据接收到的访问越界信号,生成访问出错信号,并将所述访问出错信号发送给所述第一Light OS;相应的,所述第一Light OS接收安全固件发送的访问出错信号。
步骤418、所述第一Light OS根据接到的访问出错信号,对发出该访问的任务进行异常处理。
本发明实施例提供的一种访问物理资源的方法,通过增加安全固件,以在多内核操作系统中的Light OS发起物理资源访问时,经过安全固件验证所述Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性。
实施例二、
针对上述系统,本发明实施例提供了一种访问物理资源的方法,其执行主体为第一Light OS,通过监控所述第一Light OS中任务进程的能力操作和关键性数据的传播路径,来保证对内核对象资源的访问权限。如图5所示,具体步骤包括:
步骤501、第一轻量级系统内核Light OS为用户空间的每个任务分配内核对象资源。
其中,所述内核对象资源为Light OS对内核资源(例如:内存、设备等)进行封装,并且以对象(Object)的形式存在。
具体的,所述第一Light OS为用户空间的每个任务分配内核对象资源是由所述第一Light OS中的Capability授权模块来完成的,所述Capability授权模块为Capability机制中的一部分。其中,Capability授权模块决定了用户空间的任务进程对于每个内核对象资源的访问权限,并且可以根据任务进程的需要,动态的调整和分配内核对象资源。
步骤502、根据为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述第一Light OS中每个任务对内核对象资源的访问权限。
步骤503、监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径。
具体的,当所述第一Light OS中的任务创建子进程时,任务子进程需要继承父进程的全部或部分内核对象资源,也就是说,所有任务的子进程对于内核对象资源的访问权限永远不能大于父进程对内核对象资源的访问权限。
但是,在子进程继承父进程的过程中,当任务被恶意用户程序入侵并被篡改时,子进程有可能获得了不属于父进程对内核对象资源的访问权限,从而获得更高的权限来对系统进行非法操作,因此,所述第一Light OS中的Capability授权模块通过监控任务进程的能力流,监控每一任务的父子进程是否超出Capability表中所述父进程所能访问的内核对象资源,并跟踪内核中多个关键性数据的传播路径是否被修改。
步骤504、若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
具体的,所述第一Light OS中的Capability授权模块监控到任务进程的父子关系超出Capability表中所述父进程所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则所述第一Light OS对该任务进行隔离或者销毁处理,当然不限于此。
进一步的,若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改之后,所述方法还包括:
若监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,
若所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
上述实施例二中的所述第一Light OS通过监控所述第一Light OS中任务进程的能力操作,保证所述第一Light OS中任务进行对内核对象资源的访问权限管理,该方法可以在独立的Light OS进行实现,也可以针对上述实施例一中的任一步骤中实现。
本发明实施例提供的一种访问物理资源的方法,Light OS通过监控其任务进程的能力操作,以在其任务进程超出Capability表中所述任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改的情况下,对所述任务和/或所述关键性数据的传播路径进行异常处理,保证所述Light OS中任务进行对内核对象资源的访问权限管理,进一步保证Light OS对于不可信任务的健壮性。
实施例三、
针对上述系统,本发明实施例提供了一种访问物理资源的方法,其执行主体为Heavy OS,通过对Light OS进行安全检测来保证LightOS的功能完整性。如图6所示,具体步骤包括:
步骤601、重量级系统内核Heavy OS发送安全检测请求给所述第一Light OS;相应的,所述第一Light OS接收所述Heavy OS发送的安全检测请求。
其中,所述安全检测请求用于检测所述第一Light OS是否出现异常;所述Heavy OS对第一Light OS进行安全检测可以是周期性的,也可以是实时性的,当然不限于此。
进一步的,所述Heavy OS对所述第一Light OS进行安全检测之前,所述方法还包括:所述Heavy OS周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息,以便在没有接收到所述第一Light OS发送的安全响应信号时,对所述第一Light OS的Capability表和关键性数据的传播路径进行恢复处理。
当所述第一Light OS的功能完整,没有出现异常时,执行步骤602-603;当所述第一Light OS的功能不完整,出现异常时,执行步骤604。
步骤602、若所述第一Light OS根据接收到的安全检测请求,生成安全响应信号。
其中,所述安全响应信号用于表示所述第一Light OS处于正常状态。
步骤603、所述第一Light OS在预设的时间内将所述安全响应信号发送给所述Heavy OS;相应的,所述Heavy OS接收所述第一LightOS发送的安全响应信号。
其中,所述第一Light OS中的响应模块来响应对所述Heavy OS的安全检测请求。
可选的,若所述第一Light OS中没有记录所述第一Light OS中的任务进程超出Capability表中所述该任务所能访问的内核对象资源的信息和/或所述关键性数据的传播路径被修改的信息,则生成安全响应信号。
具体的,所述Heavy OS检测到所述第一Light OS中没有记录所述第一Light OS中的任务进程超出Capability表中所述该任务所能访问的内核对象资源的信息和/或所述关键性数据的传播路径被修改的信息,且在预设的时间内接收所述第一Light OS发送安全响应信号则表示所述第一Light OS的Capability授权模块是完整的。
或者可选的,若所述第一Light OS中记录有所述第一Light OS中的任务进程超出Capability表中所述该任务所能访问的内核对象资源的信息和/或所述关键性数据的传播路径被修改的信息,则不生成安全响应信号。
其中,所述响应模块可以是在Capability授权模块中实现的,也可以是独立实现在所述第一Light OS中,当然不限于此。
步骤604、若在预设的时间内没有接收到所述第一Light OS发送的安全响应信号,则所述Heavy OS对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
可选的,当所述Heavy OS检测到所述第一Light OS中没有记录所述第一Light OS中的任务进程超出Capability表中所述该任务所能访问的内核对象资源的信息和/或所述关键性数据的传播路径被修改的信息,且没有在预设的时间内接收到所述发送给所述Heavy OS,则所述Heavy OS对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理。
或者可选的,当所述Heavy OS检测到所述第一Light OS中记录有所述第一Light OS中的任务进程超出Capability表中所述该任务所能访问的内核对象资源的信息和/或所述关键性数据的传播路径被修改的信息,则所述Heavy OS对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理。
其中,所述恢复处理是将所述Heavy OS周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息重新发送给所述第一Light OS。
上述实施例三中的所述Heavy OS对Light OS进行安全检测,以保证Light OS的功能完整性;该方法可以单独的进行实现,也可以在上述实施例一和/或实施例二中的任一步骤中实现。
本发明实施例提供的一种访问物理资源的方法,通过Heavy OS对Light OS进行安全检测,以在检测到所述Light OS中的任务进程超出Capability表中所述该任务所能访问的内核对象资源的信息和/或所述关键性数据的传播路径被修改的信息,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理,保证LightOS的功能完整性。
本发明提供了一种访问物理资源的安全固件70,应用于平行虚拟化系统,所述系统还包括:重量级系统内核Heavy OS、以及至少一个轻量级系统内核Light OS,如图7所示,所述安全固件70包括:
接收模块701,用于接收第一Light OS所要访问的物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个;
确定模块702,用于确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一LightOS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
发送模块703,用于若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源;或者,若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
可选的,如图8所示,所述确定模块702包括:查询单元702a、确定单元702b;
所述查询单元702a,用于查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元702b,用于根据所述查询单元702a的查询结果,确定所述第一Light OS所要访问的物理资源的物理地址是否越界;
其中,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
可选的,所述查询单元702a,具体用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元702b,具体用于若所述查询单元702a查询到当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界。
可选的,如图8所示,所述安全固件70还包括:信号生成模块704;
所述查询单元702a,还用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述信号生成模块704,用于若所述查询单元702a查询到当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述发送模块703,还用于将所述信号生成模块704得到的异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息;
所述查询单元702a,还用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,查询所述Heavy OS更新后的第二资源分配映射信息;
所述确定单元702b,还用于根据所述查询单元702a的查询结果确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址;或者,
所述接收模块701,还具体用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令;
所述确定单元702b,还用于根据所述接收模块701接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
可选的,如图8所示,所述安全固件还包括:加载模块705;
所述加载模块705,用于加载所述第一资源分配分配映射信息;
所述查询单元702a,用于查询所述加载模块705加载的第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元702b,用于若所述查询单元702a查询的所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一LightOS的访问没有越界;或者,若所述查询单元702a查询的所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一LightOS的访问越界。
可选的,所述接收模块701具体用于,接收缓存Cache控制器发送的所述Light OS所要访问的物理资源对应的物理地址;或者,接收内存管理单元MMU发送的所述Light OS所要访问的物理资源对应的物理地址。
可选的,所述第一资源分配映射信息和第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
本发明实施例提供的一种访问物理资源的安全固件,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性。
本发明提供了一种访问物理资源的轻量级系统内核实体90,应用于平行虚拟化系统,所述系统还包括:重量级系统内核Heavy OS、以及安全固件,所述轻量级系统内核实体90可以包含至少一个CPU内核,如图9所示,所述轻量级系统内核实体90包括:
发送模块901,用于发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一Light OS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个;
接收模块902,用于接收所述安全固件发送的继续访问信号或者访问出错信号;
处理模块903,用于若所述接收模块902接收到继续访问信号,则访问所述物理地址对应的物理资源;或者,若所述接收模块902接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
可选的,如图10所示,所述轻量级系统内核实体90还包括:
分配模块904,用于为用户空间的每个任务分配内核对象资源;
建立模块905,用于根据所述分配模块904为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限;
监控模块906,用于监控每一任务的进程是否超出所述建立模块905得到的Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;
所述处理模块903,还用于若所述监控模块906监控到任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
可选的,如图10所示,所述轻量级系统内核实体90还包括:记录模块907;
所述记录模块907,用于若所述监控模块906监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,若所述监控模块906监控到所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
可选的,如图10所示,所述轻量级系统内核实体90还包括:信号生成模块908;
所述接收模块902,还用于接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述信号生成模块908,用于根据所述接收模块902接收到的安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;
所述发送模块901,还用于将所述信号生成模块生成的安全响应信号在预设的时间内发送给所述Heavy OS。
本发明实施例提供的一种访问物理资源的轻量级系统内核实体,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性;进一步的,每个独立的LightOS通过监控任务进程的能力操作,保证所述Light OS中任务进行对内核对象资源的访问权限,进一步保证Light OS对于不可信任务的健壮性;同时,Heavy OS对Light OS进行安全检测,以保证Light OS的功能完整性。
本发明提供了一种访问物理资源的重量级系统内核实体110,应用于平行虚拟化系统,所述系统还包括:至少一个轻量级系统内核LightOS、以及安全固件,所述重量级系统内核实体110可以为包含至少一个CPU内核,如图11所示,所述重量级系统内核实体110包括:
接收模块1101,用于接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
查询模块1102,用于根据所述接收模块1101接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
更新模块1103,用于若所述查询模块1102查询到所述第一LightOS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;或者,
信号生成模块1104,用于若所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成访问越界指令;
发送模块1105,用于将所述信号生成模块1104生成的访问越界指令发送给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
可选的,如图12所示,所述重量级系统内核实体110还包括:
分配模块1106,用于为各个Light OS分配物理资源;
建立模块1107,用于根据所述分配模块1106为所述各个Light OS分配的物理资源,生成并存储第一资源分配映射信息;
存储模块1108,用于将所述建立模块1107生成的所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
可选的,如图12所示,所述重量级系统内核实体110还包括:设置模块1109;
所述设置模块1109,用于在所述分配模块1106为各个Light OS分配物理资源之前,对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;
所述存储模块1108,还用于根据所述设置模块1109设置的容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
可选的,所述设置模块1109还用于将所述安全固件与所述HeavyOS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
可选的,如图12所示,所述重量级系统内核实体还包括:计数模块1110、处理模块1111;
所述计数模块1110,用于在接收模块1101接收安全固件反馈的异常访问信号之后,对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;
所述处理模块1111,用于若所述计数模块1110得到的次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
可选的,所述发送模块1105,还用于所述发送模块1105发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述接收模块1101,还用于在预设的时间内接收所述第一LightOS发送的安全响应信号;所述安全响应信号用于表示所述第一LightOS处于正常状态;或者,
所述处理模块1111,还用于在预设的时间内没有接收到所述第一Light OS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
可选的,如图12所示,所述重量级系统内核实体110还包括:记录模块1112;
所述记录模块1112,用于在发送模块1105发送安全检测请求给所述第一Light OS之前,周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息。
可选的,所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
本发明实施例提供的一种访问物理资源的重量级系统内核实体,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性;进一步的,Heavy OS对LightOS进行安全检测,以保证Light OS的功能完整性。
本发明提供了一种访问物理资源的系统,包括:上述图7或者图8所示的安全固件、上述图9或者图10所示的轻量级系统内核实体、以及图11或者图12所示的重量级系统内核实体。
本发明实施例提供的一种访问物理资源的系统,通过增加安全固件,以在多内核操作系统中的Light OS发起物理资源访问时,经过安全固件验证所述Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性;进一步的,每个独立的Light OS通过监控任务进程的能力操作,保证所述Light OS中任务进行对内核对象资源的访问权限,进一步保证Light OS对于不可信任务的健壮性;同时,Heavy OS对LightOS进行安全检测,以保证Light OS的功能完整性。
本发明提供了一种访问物理资源的安全固件130,如图13所示,所述安全固件130包括:接收器1301、处理器1302、发送器1303;
其中,所述接收器1301,用于接收第一Light OS所要访问的物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个;
所述处理器1302,用于确定所述接收器1301接收到的第一LightOS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一Light OS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址。
所述发送器1303,用于若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源;或者,若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
可选的,所述处理器1302具体用于查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址,确定所述第一Light OS所要访问的物理资源的物理地址是否越界;所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述HeavyOS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
可选的,所述处理器1302具体用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界。
可选的,所述处理器1302具体用于当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述发送器1303具体用于将所述处理器1302生成的异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息;
所述处理器1302具体用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,所述安全固件查询所述Heavy OS更新后的第二资源分配映射信息,确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址;或者,
所述接收器1301具体用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令;
所述处理器1302具体用于根据所述接收器1301接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
可选的,所述处理器1302具体用于加载所述第一资源分配分配映射信息;查询所述第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界;或者,若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一LightOS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问越界。
可选的,所述接收器1301具体用于接收缓存Cache控制器发送的所述Light OS所要访问的物理资源对应的物理地址;或者,接收内存管理单元MMU发送的所述Light OS所要访问的物理资源对应的物理地址。
可选的,所述第一资源分配映射信息和第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
本发明实施例提供的一种访问物理资源的安全固件,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性。
本发明提供了一种访问物理资源的轻量级系统内核实体140,如图14所示,所述轻量级系统内核实体140包括:处理器1401、接收器1402、发送器1403;
其中,所述发送器1403用于发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一Light OS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个;
所述接收器1402用于接收所述安全固件发送的继续访问信号或者访问出错信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源,所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
所述处理器1401用于若所述接收器1402接收到继续访问信号,则访问所述物理地址对应的物理资源;
所述处理器1401还用于若所述接收器1402接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
可选的,所述处理器1401还用于为用户空间的每个任务分配内核对象资源;根据为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限;监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
可选的,所述处理器1401还用于若监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,若所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
可选的,所述接收器1402还用于接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述处理器1401还用于根据所述接收器1402接收到的安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一LightOS处于正常状态;
所述发送器1403还用于将所述所述处理器1401生成的安全响应信号在预设的时间内发送给所述Heavy OS。
本发明实施例提供的一种访问物理资源的轻量级系统内核实体,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性;进一步的,每个独立的LightOS通过监控任务进程的能力操作,保证所述Light OS中任务进行对内核对象资源的访问权限,进一步保证Light OS对于不可信任务的健壮性;同时,接收Heavy OS对Light OS进行安全检测,以保证Light OS的功能完整性。
本发明提供了一种访问物理资源的重量级系统内核实体150,如图15所示,所述重量级系统内核实体150包括:接收器1501、处理器1502、发送器1503;
其中,所述接收器1501用于接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系;
所述处理器1502用于根据所述接收器1501接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;若所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;或者,
所述处理器1502还用于若所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成访问越界指令;
所述发送器1503用于将所述处理器1502生成的访问越界指令发送给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
可选的,所述处理器1502还用于在所述接收器1501接收安全固件反馈的异常访问信号之前,为各个Light OS分配物理资源;根据为所述各个Light OS分配的物理资源,生成并存储第一资源分配映射信息;将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
可选的,所述处理器1502还用于在为各个Light OS分配物理资源之前,对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;根据所述容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
可选的,所述处理器1502还用于将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
可选的,所述处理器1502还用于在所述接收器1501接收安全固件反馈的异常访问信号之后,对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;若所述次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
可选的,所述发送器1503还用于发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述接收器1501还用于在预设的时间内接收所述第一Light OS发送的安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;或者,
所述处理器1502还用于在预设的时间内没有接收到所述第一Light OS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
可选的,所述处理器1502还用于在所述发送器1503发送安全检测请求给所述第一Light OS之前,周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息。
可选的,所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
本发明实施例提供的一种访问物理资源的重量级系统内核实体,通过增加安全固件,以在Light OS发起物理资源访问时,经过安全固件验证所述多内核操作系统中的轻量级系统内核Light OS访问内存的合法性,限制所述Light OS不能访问其他Light OS的物理资源,保证Light OS之间访问物理资源的安全性;进一步的,Heavy OS对LightOS进行安全检测,以保证Light OS的功能完整性。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (38)

1.一种访问物理资源的方法,应用于平行虚拟化系统,所述系统包括:重量级系统内核Heavy OS、至少一个轻量级系统内核Light OS、以及安全固件,其特征在于,所述方法包括:
安全固件接收第一Light OS所要访问的物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个;
所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一Light OS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源;或者,
若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
2.根据权利要求1所述的方法,其特征在于,所述安全固件确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:
所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址,确定所述第一LightOS所要访问的物理资源的物理地址是否越界;所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,
所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问物理资源对应的物理地址,确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:
所述安全固件查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界。
4.根据权利要求2所述的方法,其特征在于,
所述安全固件查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问物理资源对应的物理地址,确定所述第一Light OS所要访问的物理资源的物理地址是否越界包括:
所述安全固件查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
将所述异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息;
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,所述安全固件查询所述Heavy OS更新后的第二资源分配映射信息,确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址;或者,
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令,并根据接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
5.根据权利要求1所述的方法,其特征在于,所述安全固件确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界包括:
所述安全固件加载所述第一资源分配分配映射信息;
查询所述第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界;或者,
若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问越界。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述安全固件接收第一Light OS所要访问的物理资源对应的物理地址包括:
安全固件接收缓存Cache控制器发送的所述Light OS所要访问的物理资源对应的物理地址;或者,
安全固件接收内存管理单元MMU发送的所述Light OS所要访问的物理资源对应的物理地址。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一资源分配映射信息和第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为LightOS所分配的物理资源的物理地址作为数据项。
8.一种访问物理资源的方法,应用于平行虚拟化系统,所述系统包括:重量级系统内核Heavy OS、至少一个轻量级系统内核Light OS、以及安全固件,其特征在于,所述方法包括:
第一Light OS发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一Light OS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个;
接收所述安全固件发送的继续访问信号或者访问出错信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源,所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源;
若接收到继续访问信号,则访问所述物理地址对应的物理资源;
若接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
若所述第一Light OS根据所述安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;
将所述安全响应信号在预设的时间内发送给所述Heavy OS。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
为用户空间的每个任务分配内核对象资源;
根据为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限;
监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;
若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
11.根据权利要求10所述的方法,其特征在于,若所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改之后,所述方法还包括:
若监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,
若所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
12.一种访问物理资源的方法,应用于平行虚拟化系统,所述系统包括:重量级系统内核Heavy OS、至少一个轻量级系统内核Light OS、以及安全固件,其特征在于,所述方法包括:
所述Heavy OS接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个LightOS之间的对应关系;
根据接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
若所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;
若所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成并发送访问越界指令给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
13.根据权利要求12所述的方法,其特征在于,在所述Heavy OS接收安全固件反馈的异常访问信号之前,所述方法还包括:
所述Heavy OS为各个Light OS分配物理资源;
根据为所述各个Light OS分配的物理资源,建立并存储第一资源分配映射信息;
将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
14.根据权利要求13所述的方法,其特征在于,在所述Heavy OS为各个Light OS分配物理资源之前,所述方法还包括:
对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;
所述将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中包括:根据所述容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
15.根据权利要求14所述的方法,其特征在于,所述初始化设置还包括:将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
16.根据权利要求12所述的方法,其特征在于,在所述Heavy OS接收安全固件反馈的异常访问信号之后,所述方法还包括:
对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;
若所述次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
17.根据权利要求12-16任一项所述的方法,其特征在于,所述方法还包括:
发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
在预设的时间内接收所述第一Light OS发送的安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;或者,
在预设的时间内没有接收到所述第一Light OS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
18.根据权利要求17所述的方法,其特征在于,所述发送安全检测请求给所述第一Light OS之前,所述方法还包括:
所述Heavy OS周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息,以便在预设的时间内没有接收到所述第一Light OS发送的安全响应信号时,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理。
19.根据权利要求12-18任一项所述的方法,其特征在于,
所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
20.一种访问物理资源的安全固件,应用于平行虚拟化系统,所述系统还包括:重量级系统内核Heavy OS、以及至少一个轻量级系统内核Light OS,其特征在于,所述安全固件包括:
接收模块,用于接收第一Light OS所要访问的物理资源对应的物理地址;所述第一Light OS为所述至少一个Light OS中的任意一个;
确定模块,用于确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;所述越界为所述Heavy OS为所述第一Light OS所分配的物理资源对应的物理地址中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
发送模块,用于若所述第一Light OS的访问没有越界,向所述第一Light OS发送继续访问信号;所述继续访问信号用于指示所述第一Light OS可以访问所述物理地址对应的物理资源;或者,若所述第一Light OS的访问越界,向所述第一Light OS发送访问出错信号;所述访问出错信号用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
21.根据权利要求20所述的安全固件,其特征在于,所述确定模块包括:查询单元、确定单元;
所述查询单元,用于查询存储的第二资源分配映射信息是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元,用于根据所述查询单元的查询结果,确定所述第一Light OS所要访问的物理资源的物理地址是否越界;
其中,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系。
22.根据权利要求21所述的安全固件,其特征在于,
所述查询单元,具体用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元,具体用于若所述查询单元查询到当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一LightOS的访问没有越界。
23.根据权利要求21所述的安全固件,其特征在于,所述安全固件还包括:信号生成模块;
所述查询单元,还用于查询当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述信号生成模块,用于若所述安全固件中当前存储的第二资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述发送模块,还用于将所述信号生成模块得到的异常访问信号发送给所述Heavy OS;以便所述Heavy OS查询所述第一资源分配映射信息;
所述查询单元,还用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,查询所述Heavy OS更新后的第二资源分配映射信息;
所述确定单元,还用于根据所述查询单元的查询结果确定所述第一Light OS的访问没有越界;所述更新后的第二资源分配映射信息包含所述第一Light OS所要访问的物理资源对应的物理地址;或者,
所述接收模块,还具体用于若所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,接收所述Heavy OS发送的访问越界指令;
所述确定单元,还用于根据所述接收模块接收到的访问越界指令,确定所述第一Light OS的访问越界;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
24.根据权利要求20所述的安全固件,其特征在于,所述安全固件还包括:加载模块;
所述加载模块,用于加载所述第一资源分配分配映射信息;
所述查询单元,用于查询所述加载模块加载的第一资源分配分配映射信息中第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
所述确定单元,用于若所述查询单元查询的所述第一资源分配映射信息中所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问没有越界;或者,若所述查询单元查询的所述第一资源分配映射信息中所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,则确定所述第一Light OS的访问越界。
25.根据权利要求20-24任一项所述的安全固件,其特征在于,所述接收模块具体用于,
接收缓存Cache控制器发送的所述Light OS所要访问的物理资源对应的物理地址;或者,
接收内存管理单元MMU发送的所述Light OS所要访问的物理资源对应的物理地址。
26.根据权利要求20-25任一项所述的安全固件,其特征在于,所述第一资源分配映射信息和第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
27.一种访问物理资源的轻量级系统内核实体,应用于平行虚拟化系统,所述系统还包括:重量级系统内核Heavy OS、以及安全固件,其特征在于,所述轻量级系统内核实体包括:
发送模块,用于发送访问请求;以便所述安全固件接收到所述第一Light OS所要访问物理资源对应的物理地址,并确定所述第一LightOS的访问是否越界;所述访问请求包含所述第一Light OS所要访问物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个;
接收模块,用于接收所述安全固件发送的继续访问信号或者访问出错信号;
处理模块,用于若接收到继续访问信号,则访问所述物理地址对应的物理资源;或者,若接收到访问出错信号,则对发出所述访问的任务进行异常处理;所述异常处理用于指示所述第一Light OS停止访问所述物理地址对应的物理资源并销毁所述访问请求。
28.根据权利要求27所述的轻量级系统内核实体,其特征在于,所述轻量级系统内核实体还包括:信号生成模块;
所述接收模块,还用于接收所述Heavy OS发送的安全检测请求;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述信号生成模块,用于根据所述接收模块接收到的安全检测请求,生成安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;
所述发送模块,还用于将所述信号生成模块生成的安全响应信号在预设的时间内发送给所述Heavy OS。
29.根据权利要求27或28所述的轻量级系统内核实体,其特征在于,所述轻量级系统内核实体还包括:
分配模块,用于为用户空间的每个任务分配内核对象资源;
建立模块,用于根据所述分配模块为每个任务分配的内核对象资源,建立能力Capability表;所述Capability表用于标识所述LightOS中每个任务对内核对象资源的访问权限;
监控模块,用于监控每一任务的进程是否超出Capability表中所述每一任务所能访问的内核对象资源、以及关键性数据的传播路径;
所述处理模块,还用于若所述监控模块监控到任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,和/或,所述关键性数据的传播路径得到修改,则对所述第一任务和/或所述关键性数据的传播路径进行销毁处理。
30.根据权利要求29所述的轻量级系统内核实体,其特征在于,所述轻量级系统内核实体还包括:记录模块;
所述记录模块,用于若所述监控模块监控到所述任务中的第一任务的进程超出Capability表中所述第一任务所能访问的内核对象资源,则记录所述第一任务的进程超出Capability表中所述该任务所能访问的内核对象资源的信息;和/或,若所述监控模块监控到所述关键性数据的传播路径被修改,则记录所述关键性数据路径被修改的信息。
31.一种访问物理资源的重量级系统内核实体,应用于平行虚拟化系统,所述系统还包括:至少一个轻量级系统内核Light OS、以及安全固件,其特征在于,所述重量级系统内核实体包括:
接收模块,用于接收所述安全固件反馈的异常访问信号;所述异常访问信号用于指示所述安全固件中当前存储的第二资源分配映射信息中不包含所述第一Light OS所要访问的物理资源对应的物理地址,所述第一Light OS为所述至少一个Light OS中的任意一个,所述第二资源分配映射信息包括第一资源分配映射信息的全部或部分,所述第一资源分配映射信息存储在所述Heavy OS中,为所述Heavy OS为所述各个Light OS所分配的物理资源对应的物理地址与所述各个Light OS之间的对应关系;
查询模块,用于根据所述接收模块接收到的异常访问信号,查询所述第一资源分配映射信息中所述第一Light OS对应的物理地址是否包含所述第一Light OS所要访问的物理资源对应的物理地址;
更新模块,用于若所述查询模块查询到所述第一Light OS对应的物理地址包含所述第一Light OS所要访问的物理资源对应的物理地址,将所述第一Light OS和所述第一Light OS所要访问的物理资源对应的物理地址的对应关系更新到所述安全固件存储的第二资源分配映射信息中;以便所述安全固件根据更新后的第二资源分配映射信息确定所述第一Light OS所要访问的物理资源对应的物理地址是否越界;或者,
信号生成模块,用于若所述第一Light OS对应的物理地址不包含所述第一Light OS所要访问的物理资源对应的物理地址,生成访问越界指令;
发送模块,用于将所述信号生成模块生成的访问越界指令发送给所述安全固件;所述访问越界指令用于指示所述第一Light OS不能访问所述物理地址对应的物理资源。
32.根据权利要求31所述的重量级系统内核实体,其特征在于,所述重量级系统内核实体还包括:
分配模块,用于在接收模块接收安全固件反馈的异常访问信号之前,为各个Light OS分配物理资源;
建立模块,用于根据所述分配模块为所述各个Light OS分配的物理资源,建立并存储第一资源分配映射信息;
存储模块,用于将所述建立模块生成的所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
33.根据权利要求32所述的重量级系统内核实体,其特征在于,所述重量级系统内核实体还包括:
设置模块,用于在所述分配模块为各个Light OS分配物理资源之前,对所述安全固件进行初始化设置;所述初始化设置包括:在所述安全固件中设置用于存储所述第二资源分配映射信息的容量;
所述存储模块,还用于根据所述设置模块设置的容量,将所述第一资源分配映射信息中的全部或部分作为第二资源分配映射信息,存储在所述安全固件中。
34.根据权利要求33所述的重量级系统内核实体,其特征在于,所述设置模块还用于将所述安全固件与所述Heavy OS相绑定,以便所述安全固件只在所述Heavy OS的控制下存储或更新所述第二资源分配映射信息,且所述安全固件只向所述Heavy OS反馈异常访问信号。
35.根据权利要求31所述的重量级系统内核实体,其特征在于,所述重量级系统内核实体还包括:
计数模块,用于在接收模块接收安全固件反馈的异常访问信号之后,对所述安全固件反馈的所述第一Light OS的异常访问信号的次数进行计数;
处理模块,用于若所述计数模块得到的次数超过预先设定的阈值,销毁所述第一Light OS中的异常访问任务。
36.根据权利要求31-35任一项所述的重量级系统内核实体,其特征在于,所述重量级系统内核实体还包括:
所述发送模块,还用于发送安全检测请求给所述第一Light OS;所述安全检测请求用于检测所述第一Light OS是否出现异常;
所述接收模块,还用于在预设的时间内接收所述第一Light OS发送的安全响应信号;所述安全响应信号用于表示所述第一Light OS处于正常状态;或者,
所述处理模块,还用于在预设的时间内没有接收到所述第一LightOS发送的安全响应信号,对所述第一Light OS中的能力Capability表和关键性数据的传播路径进行恢复处理;所述Capability表用于标识所述Light OS中每个任务对内核对象资源的访问权限。
37.根据权利要求36所述的重量级系统内核实体,其特征在于,所述重量级系统内核实体还包括:
记录模块,用于在发送模块发送安全检测请求给所述第一Light OS之前,周期性的记录所述第一Light OS的Capability表信息和关键性数据的传播路径信息。
38.根据权利要求31-37任一项所述的重量级系统内核实体,其特征在于,
所述第一资源分配映射信息和所述第二资源分配映射信息的数据存储结构包括:索引项和数据项,其中,Light OS所包含的CPU标识作为索引项,为Light OS所分配的物理资源的物理地址作为数据项。
CN201310594764.3A 2013-11-21 2013-11-21 一种访问物理资源的方法和装置 Active CN104657193B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310594764.3A CN104657193B (zh) 2013-11-21 2013-11-21 一种访问物理资源的方法和装置
PCT/CN2014/091037 WO2015074512A1 (zh) 2013-11-21 2014-11-13 一种访问物理资源的方法和装置
EP14863242.5A EP3070604B1 (en) 2013-11-21 2014-11-13 Method and apparatus for accessing physical resources
US15/160,863 US10180915B2 (en) 2013-11-21 2016-05-20 Method and apparatus for accessing physical resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310594764.3A CN104657193B (zh) 2013-11-21 2013-11-21 一种访问物理资源的方法和装置

Publications (2)

Publication Number Publication Date
CN104657193A true CN104657193A (zh) 2015-05-27
CN104657193B CN104657193B (zh) 2018-07-20

Family

ID=53178924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310594764.3A Active CN104657193B (zh) 2013-11-21 2013-11-21 一种访问物理资源的方法和装置

Country Status (4)

Country Link
US (1) US10180915B2 (zh)
EP (1) EP3070604B1 (zh)
CN (1) CN104657193B (zh)
WO (1) WO2015074512A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740937A (zh) * 2015-11-11 2016-07-06 哈尔滨安天科技股份有限公司 一种高强度加密u盘、加密装置及系统
CN106502926A (zh) * 2016-09-26 2017-03-15 华为技术有限公司 一种内存监控方法、内存访问控制器及SoC系统
CN106685981A (zh) * 2017-01-13 2017-05-17 北京元心科技有限公司 多系统的数据加密传输方法及装置
CN106844036A (zh) * 2017-02-09 2017-06-13 东软集团股份有限公司 物理设备的访问方法及装置
CN107797937A (zh) * 2016-09-05 2018-03-13 康齐科技股份有限公司 内存管理系统及其方法
CN108205502A (zh) * 2016-12-19 2018-06-26 英特尔公司 轻量可信任务
CN108228333A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种多核系统的核间资源隔离方法
CN109343957A (zh) * 2018-09-21 2019-02-15 深圳市汇川技术股份有限公司 控制卡资源配置方法、系统、运动控制卡及存储介质
CN109885408A (zh) * 2019-03-13 2019-06-14 四川长虹电器股份有限公司 基于Android系统的轻量级浏览器资源优化方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015223335A1 (de) * 2015-11-25 2017-06-01 Robert Bosch Gmbh Verfahren zum Betreiben eines Mikrocontrollers
CN110851819A (zh) * 2019-11-20 2020-02-28 杭州安恒信息技术股份有限公司 多应用的访问权限控制方法、装置及电子设备
CN115587071B (zh) * 2022-12-12 2023-03-10 南京芯驰半导体科技有限公司 一种基于多核异构SoC车载系统数据储存系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010483A1 (en) * 2007-06-28 2011-01-13 Nokia Corporation Memory protection unit in a virtual processing environment
CN102184373A (zh) * 2011-05-30 2011-09-14 南京大学 基于保护模式与虚拟化机制实现操作系统安全核设计方法
US20120331465A1 (en) * 2011-03-02 2012-12-27 Tadao Tanikawa Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit
CN102982001A (zh) * 2012-11-06 2013-03-20 无锡江南计算技术研究所 众核处理器及其空间访问的方法、主核

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233667B1 (en) * 1999-03-05 2001-05-15 Sun Microsystems, Inc. Method and apparatus for a high-performance embedded memory management unit
US6598144B1 (en) 2001-12-12 2003-07-22 Advanced Micro Devices, Inc. Arrangement for limiting access to addresses by a consumer process instigating work in a channel adapter based on virtual address mapping
US7779254B1 (en) 2005-12-21 2010-08-17 Rockwell Collins, Inc. Mechanism to enhance and enforce multiple independent levels of security in a microprocessor memory and I/O bus controller
CN102339229A (zh) * 2010-07-15 2012-02-01 戴元顺 基于操作系统层的虚拟化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010483A1 (en) * 2007-06-28 2011-01-13 Nokia Corporation Memory protection unit in a virtual processing environment
US20120331465A1 (en) * 2011-03-02 2012-12-27 Tadao Tanikawa Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit
CN102184373A (zh) * 2011-05-30 2011-09-14 南京大学 基于保护模式与虚拟化机制实现操作系统安全核设计方法
CN102982001A (zh) * 2012-11-06 2013-03-20 无锡江南计算技术研究所 众核处理器及其空间访问的方法、主核

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740937A (zh) * 2015-11-11 2016-07-06 哈尔滨安天科技股份有限公司 一种高强度加密u盘、加密装置及系统
CN107797937A (zh) * 2016-09-05 2018-03-13 康齐科技股份有限公司 内存管理系统及其方法
CN106502926A (zh) * 2016-09-26 2017-03-15 华为技术有限公司 一种内存监控方法、内存访问控制器及SoC系统
CN106502926B (zh) * 2016-09-26 2019-11-19 华为技术有限公司 一种内存监控方法、内存访问控制器及SoC系统
CN108228333A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种多核系统的核间资源隔离方法
CN108205502A (zh) * 2016-12-19 2018-06-26 英特尔公司 轻量可信任务
CN108205502B (zh) * 2016-12-19 2023-11-07 英特尔公司 轻量可信任务
CN106685981A (zh) * 2017-01-13 2017-05-17 北京元心科技有限公司 多系统的数据加密传输方法及装置
CN106685981B (zh) * 2017-01-13 2021-03-23 北京元心科技有限公司 多系统的数据加密传输方法及装置
CN106844036A (zh) * 2017-02-09 2017-06-13 东软集团股份有限公司 物理设备的访问方法及装置
CN106844036B (zh) * 2017-02-09 2020-03-31 东软集团股份有限公司 物理设备的访问方法及装置
CN109343957A (zh) * 2018-09-21 2019-02-15 深圳市汇川技术股份有限公司 控制卡资源配置方法、系统、运动控制卡及存储介质
CN109885408A (zh) * 2019-03-13 2019-06-14 四川长虹电器股份有限公司 基于Android系统的轻量级浏览器资源优化方法

Also Published As

Publication number Publication date
US20160267026A1 (en) 2016-09-15
EP3070604A4 (en) 2017-03-29
WO2015074512A1 (zh) 2015-05-28
EP3070604B1 (en) 2022-08-24
US10180915B2 (en) 2019-01-15
EP3070604A1 (en) 2016-09-21
CN104657193B (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN104657193A (zh) 一种访问物理资源的方法和装置
EP2385479B1 (en) Information flow tracking and protection
CN100592311C (zh) 独立于操作系统的数据管理
CN107924289B (zh) 计算机系统和访问控制方法
US20190392119A1 (en) Blockchain-based license management
CN101231621B (zh) 隐藏存储器访问模式
CN103080912A (zh) 用于微处理器系统的存储器管理单元、微处理器系统及管理存储器的方法
CN103946815A (zh) 用于区域访问控制的方法、系统和装置
US8661221B2 (en) Leasing fragmented storage between processes
CN105827645A (zh) 一种用于访问控制的方法、设备与系统
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
US20180157605A1 (en) Configuration of a memory controller for copy-on-write
CN105183799B (zh) 一种权限管理的方法及客户端
CN106155910B (zh) 一种实现内存访问的方法、装置和系统
KR101460451B1 (ko) 프로세스 주소 공간을 제어하는 장치 및 방법
US11100238B2 (en) Systems and methods for generating policy coverage information for security-enhanced information handling systems
GB2515736A (en) Controlling access to one or more datasets of an operating system in use
US20170230180A1 (en) Including node and process identifiers in a transaction
WO2013008450A1 (ja) 仮想計算機システム、メモリ管理方法、メモリ管理プログラム、記録媒体および集積回路
CN114518962A (zh) 内存的管理方法及装置
US11204717B2 (en) Object storage system with access control quota status check
US20230315892A1 (en) Information processing system and information processing method
US11157205B2 (en) Object storage system with control entity quota enforcement
CN109246079B (zh) 权限管理方法、系统、介质和电子设备
CN114816276B (zh) 在Kubernetes下基于逻辑卷管理提供磁盘限速的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant