CN106528269B - 轻量级的虚拟机访问控制系统及控制方法 - Google Patents

轻量级的虚拟机访问控制系统及控制方法 Download PDF

Info

Publication number
CN106528269B
CN106528269B CN201610981705.5A CN201610981705A CN106528269B CN 106528269 B CN106528269 B CN 106528269B CN 201610981705 A CN201610981705 A CN 201610981705A CN 106528269 B CN106528269 B CN 106528269B
Authority
CN
China
Prior art keywords
virtual machine
file
safety label
attribute
image file
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
CN201610981705.5A
Other languages
English (en)
Other versions
CN106528269A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201610981705.5A priority Critical patent/CN106528269B/zh
Publication of CN106528269A publication Critical patent/CN106528269A/zh
Application granted granted Critical
Publication of CN106528269B publication Critical patent/CN106528269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/45587Isolation or security of virtual machine instances

Landscapes

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

Abstract

本发明公开一种轻量级的虚拟机访问控制系统及控制方法,主要解决现有云平台中虚拟机访问控制安全性与性能损耗的平衡性问题。其包括:配置模块(1)和认证模块(2),该配置模块(1),为虚拟机进程对应的可执行文件和虚拟机镜像文件分配拓展属性,同时解析宿主机中的配置文件并为虚拟机进程对应的可执行文件和虚拟机镜像文件分配安全标签;该认证模块(2),根据文件的拓展属性对文件类型进行识别,筛选出虚拟机进程和虚拟机镜像文件,并根据虚拟机进程和虚拟机镜像文件所对应的安全标签进行访问控制。本发明在保证虚拟机最小特权原则下,保证了宿主机和虚拟机的安全性,减小了访问控制系统的复杂度,提高了配置的灵活性,可用于各类云平台系统。

Description

轻量级的虚拟机访问控制系统及控制方法
技术领域
本发明属于互联网技术领域,更进一步涉及一种虚拟机访问控制系统及其方法,可用于云计算平台。
技术背景
云计算基于共享基础架构的方法,提供“资源池”化的使用及服务,迅速成为信息网络中最为活跃和关键的技术之一。虚拟化作为一种关键技术为云计算提供底层技术平台支持,能有效的提高服务器的利用率,节省物理存储空间及电能。但是由于其相比传统的操作系统增加了很多额外的组件,增加了更多的接口,而且虚拟化环境的特殊性在于硬件资源的拥有者和使用者分离,因此也带来了很多的安全问题:1)信息泄露,虚拟机可以读取宿主机中的数据或者虚拟机可以不通过认证直接访问其他虚拟机中的数据;2)执行非法代码,虚拟机在宿主机中执行任意代码。虚拟机的安全问题已成为目前阻碍云计算发展的最主要的问题之一。
重庆邮电大学申请的专利“一种基于系统虚拟化技术的进程安全隔离方法”(申请号2014100321341申请公布号CN103778368A)公开了一种基于系统虚拟化技术的进程安全隔离方法。其实现步骤包括:加载被隔离进程,获取进程运行环境信息;创建进程虚拟机,创建上述进程环境,并设置虚拟机进入、退出机制;在虚拟机内存中写入进程引导程序,等待被引导进程的植入;将被隔离进程移植到虚拟机内部,并引导其正常运行。该方法存在的不足之处在于将存在安全隐患的进程移至虚拟机中运行,没有设置对虚拟机的访问控制,受攻击虚拟机有可能会危害宿主机的安全
上海交通大学申请的专利“虚拟化环境中的强制访问控制方法及装置”(申请号200810203451X申请公布号CN101452397A)公开了一种计算机应用技术领域的虚拟化环境中的强制访问控制方法及装置。此发明提供了在虚拟化环境中指定一个虚拟机作为具有安全管理权限的可信虚拟机,可信虚拟机使用即安全密级、安全范畴作为敏感标签标识单个虚拟机的安全级别,建立访问矩阵设置每个虚拟机对其他虚拟机的访问类型集合;该专利申请将虚拟机管理域指定某一特定虚拟机,无法保证该虚拟机被漏洞攻击后整个平台的安全性。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种轻量级的虚拟机访问控制系统及控制方法,以同时对虚拟化环境中虚拟机之间和虚拟机与宿主机之间相互访问提供访问控制,减少存在漏洞的虚拟机对其余正常虚拟机或整个虚拟机平台的危害。
为了实现上述目的,本发明的技术方案是这样实现的:
1.一种轻量级的虚拟机访问控制系统,包括配置模块和识别模块,其特征在于:
所述配置模块,包括:
文件拓展属性配置子模块:用于为虚拟机进程对应的可执行文件和虚拟机镜像文件分配拓展属性;
虚拟机镜像文件配置子模块:用于解析宿主机中的配置文件并为虚拟机镜像文件分配客体安全标签qi,其中1≤i≤n表示不同编号的虚拟机,n为虚拟机总数;
虚拟机进程配置子模块:用于解析宿主机中的配置文件并为虚拟机进程分配主体安全标签pi
所述识别模块,包括:
文件识别子模块:用于根据文件的拓展属性对文件类型进行识别,识别出虚拟机镜像文件;
进程识别子模块:用于对宿主机所有进程类型进行识别,识别出虚拟机进程;
虚拟机访问控制子模块:用于管控整个平台进程对文件的访问,对比虚拟机进程的主体安全标签pi与虚拟机镜像文件的客体安全标签qi,若pi=qi则允许访问,否则拒绝访问。
2.一种轻量级的虚拟机访问控制方法,包括:
(1)系统初始化:
(1a)扫描宿主机中的虚拟机进程和虚拟机镜像文件,为虚拟机进程可执行文件和虚拟机镜像文件分别添加主体拓展属性<attr,S>和客体拓展属性<attr,O>,其中attr为键,S为虚拟机可执行文件的值,O为虚拟机镜像文件的值;
(1b)读取宿主机中的配置文件,获取所有主体安全标签pi和与pi所对应的客体安全标签qi,并读入内存,i是指虚拟机编号,1≤i≤n,n表示虚拟机总数;
(1c)对虚拟机进程可执行文件和虚拟机镜像文件开辟安全域,并分别分配主体安全标签pi和客体安全标签qi
(2)系统初始化完成以后,拦截整个平台进程对文件系统的访问,若被访问文件存在客体拓展属性<attr,O>,则进入(3),否则,允许此次访问;
(3)获得访问进程的可执行文件,若该文件存在主体拓展属性<attr,S>,则进入(4),否则,拒绝此次访问;
(4)判断被访问文件的客体安全域是否为空,若为空,则拒绝此次访问,否则,获得其客体安全标签qi,进入步骤(5);
(5)判断访问进程的主体安全域是否为空,若为空,则拒绝此次访问,否则,获得其主体安全标签pi,进入步骤(6);
(6)比较主体安全标签pi与客体安全标签qi,若pi=qi则允许此次访问,反之,拒绝访问。
本发明与现有技术相比具有如下优点:
第一,本发明在保证虚拟机最小特权原则下,减轻了漏洞利用的危害,保障了宿主机和其余虚拟机的安全。
第二,本发明以进程作为访问控制粒度,抛开了与虚拟机无关进程的访问控制限制,结构简单,轻量,减少了服务器消耗。
第三,配置简单灵活,本发明根据配置文件设置虚拟机访问控制,仅需更改配置文件中的配置信息,即可更改访问控制原则,所以具有配置简单灵活的特点。
附图说明
图1为本发明的系统框图;
图2为本发明方法的实现总流程图;
图3为本发明方法中的初始化子流程图。
具体实施措施
参照图1,本发明的系统包括:配置模块1和识别模块2,其中:
所述配置模块1,包括:文件拓展属性分配子模块11、虚拟机镜像文件配置子模块12和虚拟机进程配置子模块13。该文件拓展属性分配子模块11,用于为虚拟机进程对应的可执行文件和虚拟机镜像文件分配拓展属性;该虚拟机文件配置子模块12,用于解析宿主机中的配置文件并为虚拟机镜像文件分配客体安全标签qi;该虚拟机进程配置子模块13,用于解析宿主机中的配置文件并为虚拟机进程分配主体安全标签pi
所述识别模块2,包括:文件节点识别子模块21、进程识别子模块22和虚拟机访问控制子模块23。该文件节点识别子模块21,用于根据文件的拓展属性对文件类型进行识别,识别出虚拟机镜像文件;该进程识别子模块22,用于对宿主机所有进程类型进行识别,识别出虚拟机进程;该虚拟机访问控制子模块23,用于控制整个平台进程对文件的访问,保证虚拟机访问的合法性。
所述的虚拟机进程对应的可执行文件和虚拟机镜像文件,包括文件系统中的索引节点,以及索引节点上可添加的文件拓展属性和安全域。
所述的配置文件包含主体安全标签pi以及客体安全标签qi,其中1≤i≤n,该配置文件存放在宿主机中。
参照图2,本发明轻量级的虚拟机访问控制方法,包括如下步骤:
步骤1,系统初始化。
参照图3,本步骤的实现如下:
(1a)本系统借助宿主机系统Linux提供的安全模块LSM进行访问控制,将本发明代码编译至宿主机内核中,当宿主机文件系统启动时,扫描宿主机中的虚拟机进程和虚拟机镜像文件,为虚拟机进程可执行文件和虚拟机镜像文件分别添加主体拓展属性<attr,S>和客体拓展属性<attr,O>,其中attr为键,S为虚拟机可执行文件的值,O为虚拟机镜像文件的值;
(1b)读取宿主机中的配置文件,解析配置文件中序列化的配置信息,获得虚拟机编号i、对应的虚拟机主体安全标签pi和虚拟机客体安全标签qi,其中pi为编号为i的虚拟机主体安全标签,qi为编号为i的虚拟机客体安全标签,1≤i≤n,n表示虚拟机总数;
(1c)对虚拟机进程可执行文件和虚拟机镜像文件开辟安全域,即为安全域添加虚拟机信息和虚拟机编号i,将主体安全标签pi分配至对应编号的虚拟机可执行文件安全域,将客体安全标签qi分配至对应编号的虚拟机镜像文件安全域。
步骤2,系统初始化完成以后,拦截整个平台进程对文件系统的访问,获得访问进程的进程控制块和被访问文件的索引节点。
步骤3,根据进程控制块和被访问文件的索引节点,控制访问流程。
(3a)判断访问文件是否存在客体拓展属性<attr,O>:若被访问文件存在客体拓展属性<attr,O>,则进入步骤(3b),否则,撤销对该访问进程和被访问文件的拦截,允许该进程正常访问;
(3b)根据进程控制块获得访问进程的可执行文件,判断访问文件是否存在主体拓展属性<attr,S>:若该文件存在主体拓展属性<attr,S>,则进入步骤(3c),否则,拒绝被拦截进程访问文件;
(3c)判断被访问文件的客体安全域是否为空,若为空,则拒绝此次访问,否则,获得其客体安全标签qi,进入步骤(3d);
(3d)判断访问进程的主体安全域是否为空,若为空,则拒绝此次访问,否则,获得其主体安全标签pi,进入步骤(3e);
(3e)比较主体安全标签pi与客体安全标签qi,若pi=qi,则撤销对该访问进程和被访问文件的拦截,允许此次访问,反之,拒绝此次访问。
步骤4,访问控制流程完成之后,宿主机关闭编号为i虚拟机,并删除虚拟机镜像文件客体安全标签qi和虚拟机进程主体安全标签pi,当再次开启虚拟机时返回步骤1。
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (7)

1.一种轻量级的虚拟机访问控制系统,包括配置模块(1)和识别模块(2),其特征在于:
所述配置模块(1),包括:
文件拓展属性配置子模块(11):用于为虚拟机进程对应的可执行文件和虚拟机镜像文件分配拓展属性;
虚拟机镜像文件配置子模块(12):用于解析宿主机中的配置文件并为虚拟机镜像文件分配客体安全标签qi,其中1≤i≤n表示不同编号的虚拟机,n为虚拟机总数;
虚拟机进程配置子模块(13):用于解析宿主机中的配置文件并为虚拟机进程分配主体安全标签pi
所述识别模块(2),包括:
文件识别子模块(21):用于根据文件的拓展属性对文件类型进行识别,识别出虚拟机镜像文件;
进程识别子模块(22):用于对宿主机所有进程类型进行识别,识别出虚拟机进程;
虚拟机访问控制子模块(23):用于管控整个平台进程对文件的访问,对比虚拟机进程的主体安全标签pi与虚拟机镜像文件的客体安全标签qi,若pi=qi则允许访问,否则拒绝访问。
2.根据权利要求1所述的系统,其特征在于:虚拟机进程对应的可执行文件和虚拟机镜像文件,包括文件系统中的索引节点,以及索引节点上可添加的文件拓展属性和安全域。
3.根据权利要求1所述的系统,其特征在于:分配拓展属性,是指分别为虚拟机的可执行文件和镜像文件分配主体拓展属性<attr,S>和客体拓展属性<attr,O>,其中attr为键,虚拟机可执行文件的值为S,虚拟机镜像文件的值为O。
4.根据权利要求1所述的系统,其特征在于:配置文件包含主体安全标签pi以及客体安全标签qi,其中1≤i≤n,该配置文件存放在宿主机中。
5.一种轻量级的虚拟机访问控制方法,包括:
(1)系统初始化:
(1a)扫描宿主机中的虚拟机进程和虚拟机镜像文件,为虚拟机进程可执行文件和虚拟机镜像文件分别添加主体拓展属性<attr,S>和客体拓展属性<attr,O>,其中attr为键,S为虚拟机可执行文件的值,O为虚拟机镜像文件的值;
(1b)读取宿主机中的配置文件,获取所有主体安全标签pi和与pi所对应的客体安全标签qi,并读入内存,i是指虚拟机编号,1≤i≤n,n表示虚拟机总数;
(1c)对虚拟机进程可执行文件和虚拟机镜像文件开辟安全域,并分别分配主体安全标签pi和客体安全标签qi
(2)系统初始化完成以后,拦截整个平台进程对文件系统的访问,若被访问文件存在客体拓展属性<attr,O>,则进入(3),否则,允许此次访问;
(3)获得访问进程的可执行文件,若该文件存在主体拓展属性<attr,S>,则进入(4),否则,拒绝此次访问;
(4)判断被访问文件的客体安全域是否为空,若为空,则拒绝此次访问,否则,获得其客体安全标签qi,进入步骤(5);
(5)判断访问进程的主体安全域是否为空,若为空,则拒绝此次访问,否则,获得其主体安全标签pi,进入步骤(6);
(6)比较主体安全标签pi与客体安全标签qi,若pi=qi则允许此次访问,反之,拒绝访问。
6.根据权利要求5所述的方法,其特征在于步骤1b)中读取宿主机中的配置文件,是指解析配置文件中序列化的配置信息,获得虚拟机编号i、对应的虚拟机主体安全标签pi和虚拟机客体安全标签qi,其中pi为编号为i的虚拟机主体安全标签,qi为编号为i的虚拟机客体安全标签,1≤i≤n。
7.根据权利要求5所述的方法,其特征在于步骤1c)中对虚拟机进程可执行文件和虚拟机镜像文件开辟安全域,按如下步骤进行:
(1c1)为虚拟机可执行文件和虚拟机镜像文件的索引节点添加虚拟机信息和虚拟机编号i,其中1≤i≤n;
(1c2)将主体安全标签pi分配至对应编号的虚拟机可执行文件索引节点,将客体安全标签qi分配至对应编号的虚拟机镜像文件索引节点。
CN201610981705.5A 2016-11-08 2016-11-08 轻量级的虚拟机访问控制系统及控制方法 Active CN106528269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610981705.5A CN106528269B (zh) 2016-11-08 2016-11-08 轻量级的虚拟机访问控制系统及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610981705.5A CN106528269B (zh) 2016-11-08 2016-11-08 轻量级的虚拟机访问控制系统及控制方法

Publications (2)

Publication Number Publication Date
CN106528269A CN106528269A (zh) 2017-03-22
CN106528269B true CN106528269B (zh) 2019-05-21

Family

ID=58350179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610981705.5A Active CN106528269B (zh) 2016-11-08 2016-11-08 轻量级的虚拟机访问控制系统及控制方法

Country Status (1)

Country Link
CN (1) CN106528269B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426152B (zh) * 2017-04-07 2019-11-26 西安电子科技大学 云平台虚实互联环境下多任务安全隔离系统及方法
CN108491251A (zh) * 2018-04-15 2018-09-04 肖恒念 一种云服务器虚拟机管理方法和云服务器
CN109101322A (zh) * 2018-08-29 2018-12-28 山东师范大学 基于配对标签及迁移监听的虚拟化安全计算方法及系统
CN109240716B (zh) * 2018-09-10 2022-10-25 福建星瑞格软件有限公司 一种大数据平台版本管理与快速迭代部署方法及系统
CN109800570A (zh) * 2018-12-29 2019-05-24 360企业安全技术(珠海)有限公司 一种虚拟化平台的安全防护方法及装置
CN110263005B (zh) * 2019-06-11 2022-11-25 上海科技大学 一种实现数据内容局部性读写优化的存储系统管理系统
CN110489209B (zh) * 2019-07-24 2023-03-24 联想(北京)有限公司 一种信息处理方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470621A (zh) * 2007-12-28 2009-07-01 埃森哲环球服务有限公司 虚拟机配置系统
CN103810422A (zh) * 2014-02-20 2014-05-21 东莞中国科学院云计算产业技术创新与育成中心 一种基于镜像智能管理的安全虚拟化隔离方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343379B2 (en) * 2004-05-21 2008-03-11 Bea Systems, Inc. System and method for controls
WO2011081935A2 (en) * 2009-12-14 2011-07-07 Citrix Systems, Inc. Methods and systems for communicating between trusted and non-trusted virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470621A (zh) * 2007-12-28 2009-07-01 埃森哲环球服务有限公司 虚拟机配置系统
CN103810422A (zh) * 2014-02-20 2014-05-21 东莞中国科学院云计算产业技术创新与育成中心 一种基于镜像智能管理的安全虚拟化隔离方法

Also Published As

Publication number Publication date
CN106528269A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106528269B (zh) 轻量级的虚拟机访问控制系统及控制方法
CN105022954B (zh) 飞腾cpu上三态操作系统安全内核服务动态运行方法
US8381306B2 (en) Translating role-based access control policy to resource authorization policy
CN101403973B (zh) 提高嵌入式Linux内核安全性的应用程序启动方法和系统
CN109766722A (zh) 一种区块链中构建智能合约的方法及其系统
CN100489782C (zh) 一种虚拟机系统及硬件设备的访问控制方法
CN106201646A (zh) 用于安全虚拟机间共享存储器通信的技术
CN102667803B (zh) 用于根据所分配的权限信息运行虚拟机的方法和设备
CN103002445A (zh) 一种安全的提供应用服务的移动电子设备
CN101196974A (zh) 用于软件应用程序的自动配置的方法和系统
CN103870749B (zh) 一种实现虚拟机系统的安全监控系统及方法
CN110059453A (zh) 一种容器虚拟化安全加固装置及方法
CN102385523A (zh) 一种云操作系统的驱动安装和管理方法
CN101004767A (zh) 计算机系统及其i/o端口访问控制方法
TW202036309A (zh) 安全介面控制安全儲存硬體標記
CN109614204A (zh) 内存隔离保护方法、隔离检查硬件、soc芯片和存储介质
CN109101322A (zh) 基于配对标签及迁移监听的虚拟化安全计算方法及系统
US8635664B2 (en) Method and system for securing application program interfaces in unified extensible firmware interface
CN107111511A (zh) 访问控制的方法、装置和系统
CA2636261A1 (en) Virtual roles
DE112020000286T5 (de) Sicheres ein-/auslagern mit seitenänderungserkennung
Popek et al. A verifiable protection system
Schwarz et al. Formal verification of secure user mode device execution with DMA
CN102521547B (zh) 虚拟域内访问控制系统的保护系统
CN106127092B (zh) 一种cos系统应用剥离的智能卡及其工作方法

Legal Events

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