轻量级的虚拟机访问控制系统及控制方法与流程

文档序号:12120110阅读:824来源:国知局
轻量级的虚拟机访问控制系统及控制方法与流程

本发明属于互联网技术领域,更进一步涉及一种虚拟机访问控制系统及其方法,可用于云计算平台。

技术背景

云计算基于共享基础架构的方法,提供“资源池”化的使用及服务,迅速成为信息网络中最为活跃和关键的技术之一。虚拟化作为一种关键技术为云计算提供底层技术平台支持,能有效的提高服务器的利用率,节省物理存储空间及电能。但是由于其相比传统的操作系统增加了很多额外的组件,增加了更多的接口,而且虚拟化环境的特殊性在于硬件资源的拥有者和使用者分离,因此也带来了很多的安全问题: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。

以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1