基于三权分立的跨域网络终端虚拟机的实现方法技术

技术编号:27538426 阅读:19 留言:0更新日期:2021-03-03 11:29
本发明专利技术属于操作系统技术领域,具体涉及一种基于三权分立的跨域网络终端虚拟机的实现方法。与现有技术相比较,本发明专利技术在设计操作系统结构时,借鉴了政治制度中的三权分立原则,即将策略的制定、策略的实施和用户程序的执行三部分分割开来,让它们分别运行在三类不同的虚拟机上。利用虚拟机之间的强隔离特性保证各部分之间的独立性,利用专门设计的虚拟机间通信机制实现各部分间的协作与制约。基于三权分立的安全基将操作系统的管理、I/O执行和用户操作分给不同的虚拟机来操作,解决了目前传统操作系统权力太大,既是计算机资源的管理者又是计算机资源的使用者的现象,从计算机系统结构层面解决了计算机的先天安全问题。构层面解决了计算机的先天安全问题。构层面解决了计算机的先天安全问题。

【技术实现步骤摘要】
基于三权分立的跨域网络终端虚拟机的实现方法


[0001]本专利技术属于操作系统
,具体涉及一种基于三权分立的跨域网络终端虚拟机的实现方法。

技术介绍

[0002]在传统操作系统结构中,策略制定、策略实施、系统管理、设备管理、用户程序执行等都混在一起,全部由操作系统的功能组件负责。由于这些组件之间不能彻底隔离,一个组件的问题会迅速传播到其它组件,因而传统操作系统的安全性、可靠性都不高。另外,在传统的计算机系统中,操作系统是运行在硬件之上的第一层软件,它拥有最高的特权,并负责全权管理计算机系统的所有资源,包括处理器、内存、外存、网卡、其它外部设备,以及进程、文件、各种策略和配置数据等。在传统操作系统结构中,策略制定、策略实施、系统管理、设备管理、用户程序执行等都混在一起,全部由操作系统的功能组件负责。由于这些组件之间不能彻底隔离,一个组件的问题会迅速传播到其它组件,因而传统操作系统的安全性、可靠性都不高。另外,在传统的计算机系统中,操作系统是运行在硬件之上的第一层软件,它拥有最高的特权,并负责全权管理计算机系统的所有资源,包括处理器、内存、外存、网卡、其它外部设备,以及进程、文件、各种策略和配置数据等。
[0003]在传统操作系统结构中,策略制定、策略实施、系统管理、设备管理、用户程序执行等都混在一起,全部由操作系统的功能组件负责。由于这些组件之间不能彻底隔离,一个组件的问题会迅速传播到其它组件,因而传统操作系统的安全性、可靠性都不高。
[0004]另外,在传统的计算机系统中,操作系统是运行在硬件之上的第一层软件,它拥有最高的特权,并负责全权管理计算机系统的所有资源,包括处理器、内存、外存、网卡、其它外部设备,以及进程、文件、各种策略和配置数据等。这种结构的操作系统主要存在如下一些问题:
[0005](1)集各种权力于一身,体制不完善。
[0006]在传统结构中,操作系统是一个独立的实体,它既是各类政策的制定者,又是这些政策的执行者;既是各类资源的管理者,又是这些资源的使用者。从社会学的角度来说,这种集各种权力于一身的体制是不完善的,虽然它能够提高系统的整体运行效率。如果系统本身存在漏洞(事实证明,漏洞总是存在的),而又被恶意利用的话,系统的权力就容易被窃取并被滥用,整个系统就容易失控,甚至崩溃。这是目前计算机系统安全性、可靠性、可用性不高的一个主要原因。在比较合理的操作系统结构中,权力应该被适当地划分,系统也应该被分成不同的实体,使每个实体仅拥有一部分权力。这些实体之间应该既相互独立而又相互制约,既相互合作而又相互监督,它们独立而又协调地工作,从而保证计算机系统安全、可靠地运行。
[0007](2)各成员之间相互影响,隔离不彻底。
[0008]在传统结构中,操作系统也被分成不同的组成部分,如操作系统内核与用户进程,其中操作系统内核又被分成不同的子系统,如进程管理、内存管理、文件系统、设备管理等。
通常情况下,操作系统内核被设计成一个整体,各子系统之间并没有独立的边界,它们能够互相调用、互相影响。传统操作系统中较好的隔离机制是通过进程实现的,每个进程都有自己独立的虚拟地址空间,从用户的角度看,它们是互相独立的。然而,在所有进程的地址空间中其实存在着一块公共的区域,即内核,在32位Linux系统中,内核占用进程1GB的虚拟内存空间,在32位Windows系统中,内核占用进程2GB的虚拟地址空间。也就是说,从内核的角度看,各个进程之间实际上拥有大片的公共区域,它们之间的隔离是不彻底的。另外,操作系统还提供了共享内存机制,允许进程之间建立共享内存区域,使进程虚拟地址空间的用户部分也可能出现重叠。显然,在现有的操作系统结构中,很难建立起相互独立的运行实体。
[0009](3)需引入第三方代码,内核封闭性差。
[0010]通用操作系统必须能够支持各种各样的外部设备、文件系统、网络协议等。而外部设备驱动程序、文件系统、网络协议等都是操作系统内核的重要组成部分,必须运行在内核空间(微内核除外)。由于新的外部设备、文件系统、网络协议等几乎每天都在出现,因而在内核中包含所有的设备驱动程序、文件系统、网络协议等是不现实的。常用的解决办法是打破内核的封闭性,允许动态地向其中插入模块。这种方法解决了操作系统的可扩展性、适应性问题,但又引入了可靠性与安全性问题。原因是插入到内核中的设备驱动程序、文件系统、网络协议等都是第三方设计的,其代码质量难以保证、代码行为难以控制。研究表明,在Windows XP操作系统中,85%的系统崩溃是由驱动程序引起的;在Linux操作系统中,驱动程序的出错频率是内核其余部分的3到7倍。显然,要提高计算机系统的可靠性、安全性,就应该解决操作系统内核封闭性与可扩展性的矛盾,应该杜绝向内核中插入模块,至少是应该减少向内核中插入模块的可能,同时又应该允许运行第三方的驱动程序、文件系统和网络协议。
[0011](4)需要安装应用程序,环境封闭性差。
[0012]在计算机系统使用过程中,经常需要安装新的应用程序或更新老的应用程序,而应用程序的可靠性、安全性又难以保证。研究表明,对于计算机的攻击事件大多发生在用户态,很大程度上都是利用应用程序的安全漏洞发起的,如缓冲区溢出、后门攻击等。一旦这种攻击成功,恶意代码将以当前用户的身份运行,它发出的所有命令都是合法的,操作系统的安全机制甚至无法觉察到恶意代码的存在,也无法阻止这类攻击。
[0013]另外,在传统操作系统结构中,所有的应用程序都在同一个环境中执行,具有相同的资源访问权限,而不管它们的来源是否可信。执行不可信的程序很容易破坏系统的完整性,向系统中引入病毒、木马等恶意程序,造成系统失效、信息泄漏等危害。因此,环境的非封闭性是导致系统安全性、可靠性差的另一个主要原因。
[0014]理想的情况是为易受攻击的或不可信的程序提供独立的执行环境,并确保即使这类程序所在的执行环境受到破坏,也不至于影响其它可信程序的执行。

技术实现思路

[0015](一)要解决的技术问题
[0016]本专利技术要解决的技术问题是如何提供一种基于三权分立的跨域网络终端虚拟机的实现方法。
[0017](二)技术方案
[0018]为解决上述技术问题,本专利技术提供一种基于三权分立的跨域网络终端虚拟机的实现方法,所述虚拟机的实现方法借鉴了政治制度中的三权分立原则,即将策略的制定、策略的实施和用户程序的执行三部分分割开来,让它们分别运行在三类不同的虚拟机上;利用虚拟机之间的强隔离特性保证各部分之间的独立性,利用专门设计的虚拟机间通信机制实现各部分间的协作与制约;
[0019]所述虚拟机的操作系统被分成两层,虚拟机与虚拟机监控器;虚拟机监控器是直接运行在计算机硬件之上的第一层软件,处于传统操作系统的位置,控制所有的计算机硬件,包括处理器、内存、外存、网卡及其它外部设备,并实现这些硬件的虚拟化,将一台物理计算机虚拟成多台独立的虚拟机;对虚拟机的用户来说,虚拟机与真实的计算机是一样的,它拥有自己的处理器、内存和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于三权分立的跨域网络终端虚拟机的实现方法,其特征在于,所述虚拟机的实现方法借鉴了政治制度中的三权分立原则,即将策略的制定、策略的实施和用户程序的执行三部分分割开来,让它们分别运行在三类不同的虚拟机上;利用虚拟机之间的强隔离特性保证各部分之间的独立性,利用专门设计的虚拟机间通信机制实现各部分间的协作与制约;所述虚拟机的操作系统被分成两层,虚拟机与虚拟机监控器;虚拟机监控器是直接运行在计算机硬件之上的第一层软件,处于传统操作系统的位置,控制所有的计算机硬件,包括处理器、内存、外存、网卡及其它外部设备,并实现这些硬件的虚拟化,将一台物理计算机虚拟成多台独立的虚拟机;对虚拟机的用户来说,虚拟机与真实的计算机是一样的,它拥有自己的处理器、内存和外部设备,可以运行自己的操作系统和应用程序;虚拟机之间完全隔离,各虚拟机独立运行,只能通过特定的手段相互通信;在横向上,操作系统被分成了三组相互独立的实体,分别运行在三组独立的虚拟机中;他们分别是:管理虚拟机,用于负责系统的决策与管理;执行虚拟机,用于负责外部设备的管理与存取控制;用户虚拟机,用于负责与用户的交互,处理用户的日常工作;在这种结构中,传统操作系统的工作被分割开,分别交给了不同的实体承担;传统操作系统的权力也被分割开,分别赋予了不同的实体;三组虚拟机之间相互独立、相互协作、相互制约,它们协调工作,共同完成整个计算机系统的管理工作;对用户来说,整个系统是一个有机的整体,而不再是多个分立的系统,用户甚至感觉不到虚拟机的存在。2.如权利要求1所述的基于三权分立的跨域网络终端虚拟机的实现方法,其特征在于,当执行某一个系统任务时,客户虚拟机首先向管理虚拟机申请许可,同时向执行虚拟机请求操作,执行虚拟机只有既得到了管理虚拟机的许可和又得到了用户虚拟机的执行请求的情况下,才会执行;这样就避免了管理虚拟机被攻克的情况下,系统级操作不受控制的结果;大大降低了客户虚拟机之间穿透风险。3.如权利要求2所述的基于三权分立的跨域网络终端虚拟机的实现方法,其特征在于,所述管理虚拟机是整个虚拟机管理的核心,它负责管理整个操作系统的运行;管理虚拟机内包括策略管理系统、设备管理系统、虚拟机管理系统、安全管理系统和元数据管理系统;所述策略管理系统负责管理整个操作系统运行所需要的各种策略,包括存储对象的存取策略、网络数据包的过滤策略、外部设备的分配策略和访问控制策略、系统资源的分配策略、用户虚拟机的创建与运行策略;所述虚拟机管理系统负责管理系统中的用户虚拟机和执行虚拟机,包括虚拟机的动态创建与销毁、虚拟机资源的分配、虚拟机运行策略的维护、虚拟机运行状态的监控;所述设备管理系统负责管理执行虚拟机及其中的各类外部设备,包括设备驱动程序的加载、执行虚拟机的监控与重启、外部设备的分配、外部设备故障后的隔离;所述元数据管理系统负责管理文件系统的名字空间,即目录树,实现文件系统的管理操作,包括文件或目录的创建、删除、换名,并负责文件路径名的解析和对象安全证书的发放;所述安全管理系统负责整个操作系统的安全监控,包括系统运行日志管理、审计跟踪、
入侵检测;与用户虚拟机相同,管理虚拟机也没有外部设备,其操作系统也被简化了,它甚至可以不含网络协议。4.如权利要求2所述的基于三权分立的跨域网络终端虚拟机的实现方法,其特征在于,在三组虚拟机中,所述执行虚拟机是最基础的,执行虚拟机包括存储VM和网络VM,因为只有执行虚拟机才拥有外部设备,也只有执行虚拟机能够直接存取、操作外部设备;因而,执行虚拟机的主体部分是一组外部设备驱动程序,包括各类块设备驱动程序、各类网络设备驱动程序和字符设备驱动程序;为了提高系统的安全性,在块设备驱动程序之上增加了存储对象管理系统充当块设备管理系统,负责块设备存储空间的管理和安全检查;存储对象管理系统将普通的块设备转化成了基于对象的存储设备,它向外提供对象接口,并提供对象级的存取控制;用户虚拟机和管理虚拟机以对象为单位访问执行虚拟机上的块设备,而且每一次访问都必须携带安全证书;在网络设备驱动程序之上增加了统一威胁管理,负责来往数据包的过滤与检查,禁止非法数据包的出入;在字符设备驱动程序之上也有相应的控制系统,负责这些字符设备的访问控制;为了解决操作系统内核的封闭性与可扩展性问题,减少不可靠驱动程序的影响,系统提供了多个执行虚拟机;至少应该提供两个执行虚拟机,即基本执行虚拟机和扩展执行虚拟机;基本执行虚拟机管理计算机系统中最基本的外部设备,包括硬盘、显示器、键盘、鼠标,这些设备是系统运行所必须的,其驱动程序是由操作系统提供的,并经过了严格的测试与检查,具有较高的可靠性和安全性,而且在以后的运行过程中不再改变;扩展执行虚拟机管理经常变动的外部设备,包括USB设备;扩展虚拟机中的设备驱动程序是动态加载的,其可靠性通常不高;如此分割以后,基本执行虚拟机保持封闭状态,以保证系统运行所需要的最基本的外部设备始终能够正常运行;扩展执行虚拟机处于开放状态,所有需要动态加载的驱动程序都运行在扩展执行虚拟机中,该执行虚拟机可能崩溃,但它的崩溃仅仅会使某些扩展设备暂时不能使用,并不会导致系统其它部分的崩溃;基本执行虚拟机包括网络和存储部分。5.如权利要求4所述的基于三权分立的跨域网络终端虚拟机的实现方法,其特征在于,对于基本执行虚拟机的网络虚拟机设计方案而言:跨域安全终端为每个用户VM提供一个网络VM,由后者为其提供虚拟网络接口,由于每个网络VM通过VT-c机制使用预定义的单个网卡或者多端口网卡的一个特定网络端口,因此各个用户VM间的网络流量是严格隔离的,这样可以确保跨域安全终端同时多域访问时的网络数据安全;为每个用户VM提供一个网络VM的原因是:首先,虽然可以使用单个网络VM连接多个域网,为所有用户VM提供相互隔离的网络访问服务,但在跨域环境下,一旦该网络VM被攻陷,将允许恶意代码同时访问多个域网,这是跨域安全终端不能容忍的风险;其次,虽然可以将网络栈直接集成在用户VM中,但由于网络栈包含非常复杂的代码,可
mapper技术创建一个以专用磁盘映像的写时拷贝设备,所有对用户VM的虚拟装置的写操作以及对更新内容的读操作将被重定向到COW设备之上;再次,考虑到用户VM在使用过程中可能生成部分私有数据,为每个用户VM提供一个私有的磁盘映像,并将该映像以可读写的方式挂载到某个虚拟磁盘设备上,用户应将私有数据存储到该磁盘设备上;最后,借助LUKS机制和SM4对称加密算法对用户VM的临时数据和私有数据进行加密,以便在终端失控的条件下也能保护数据的安全;设SM4密钥为SM4_KEY,可利用vTCM提供的封装机制将该密钥保存在vTCM内部,仅当基础软件及工作软件的完整性未被破坏的情况下才能解封该密钥,进而访问用户VM的临时数据和私有数据;因此,即使攻击者在物理上控制了终端,也无法直接读取加密后的数据;另外,如果攻击者试图通过正常启动用户VM来访问加密数据,则必须对基础软件和工作软件来进行修改以绕过登录流程,如此将导致完整性度量值发生变化,进而无法对SM4_KEY进行解封,也就无法访问加密数据。7.如权利要求2所述的基于三权分立的跨域网络终端虚拟机的实现方法,其特征在于,所述用户虚拟机是整个系统中直接与用户交互的部分,它接收用户命令,执行用户程序,使整个系统在外观和感受上与现有的操作系统完全相同;但用户虚拟机的硬件被简化了,它拥有自己的处理器、内存,却没有自己的外部设备,用户虚拟机通过虚拟设备驱动程序使用...

【专利技术属性】
技术研发人员:黄玉琪
申请(专利权)人:北京远为软件有限公司
类型:发明
国别省市:

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

1