一种基于虚拟化技术实现安全工作环境的方法

文档序号:6428050阅读:146来源:国知局
专利名称:一种基于虚拟化技术实现安全工作环境的方法
技术领域
本技术属于虚拟化技术应用和Windows驱动开发技术,特别是涉及一种基于虚拟化技术实现安全工作环境的方法。
背景技术
大多数的应该程序采用永久存放于Windows的机制,包括Windows的文件系统、存储状态和配置信息的Windows注册表,创建应用程序和下层操作系统的强关联。这些关联成为转移应程序到另一台机器、更新底层的操作系统和远程管理操作系统的障碍。一个典型的Windows应用程序需要安装进程写注册表、绑定应用程序二进制文件、配置本地PC环境和资源。安装过程可表现为以下几个步骤①拷贝文件到应用程序文件夹(c \Program Files);②拷贝文件到 Windows 共享文件夹(C \Windows 或 C \Program Files\Common Files);③注册动态链接库和COM对象;④在Windows启动菜单上创建应用程序快捷方式;⑤在Windows注册表中存储应用程序的注册信息和默认设置;⑥为卸载该程序准备和注册;⑦更新一些Windows的设置信息,如文件关联、自动启动等。当应用程序执行时,首先确认它所有的二进制文件(EXE、DLL和OCX)都装载成功, 包括检查ftOgram Files文件夹,Windows文件夹,COM对象(通过读取注册表的类值)和其他文件。在执行的过程中,一个典型的应用程序通常访问这些文件和注册表值,执行读和写的操作。或计算机故障,用户所有的应用程序必须在新机器上重新安装和配置。这种传统的安装过程存在的缺陷有①安装有许多步骤,是一个漫长的过程;②由于硬件更新或计算机故障,用户所有的应用程序必须在新机器上重新安装和配置;③安装的程序不具备便携性,用户经常用U盘携带文件后在另一台机器上工作,但是,应用程序不能够携带到另一台机器上,U盘上的文件也可能缺少一些关联文件而不可用;④当一个组织需要更新目前的Windows操作系统版本,应用程序需要重新安装,这也包括新进一台机器因为所有的程序使用共同的文件路径,当使用相同的文件名时,冲突经常发生在DLL和其他文件之间。为解决上述问题,出现了 “ 口袋操作系统”和应用程序虚拟化技术。所谓“ 口袋操作系统”即重写应用程序,不用使用任何Windows持久性的服务。 这些修改过的程序,通常叫做“可便携的应用”,不使用Windows的注册表,不在标准的 Windows文件夹下存储文件,不使用任何第三方的ActiveX组件或COM对象。但该种方式存在如下缺陷①拥有源码的开发者才能够修改,第三方、集成者、企业本身不能修;②修改需要开发者选择合适的方法来存储信息,而不是依赖Windows的注册表,更多的时间将会花在开发、调试和文档上;③所有持久化服务的使用会阻止应用程序和操作系统与通用资源之间的交互,这会延长开发时间,阻止使用通用资源所带来的性能改进。所谓的应用程序虚拟化,即为应用程序不用修改,而且和特定的PC机独立,只要虚拟化资源可用,应用程序能够运行在任何一台机器上。但该种方式存在如下缺陷每一个虚拟化的程序是封闭的,每个虚拟化程序之间以及虚拟化程序与安装在主机上的应用程序之间都不能相互调用,阻止了应用程序套件的使用,如Microsoft off ice,在word文档或 PowerPoint文件中嵌入一个excel表格。

发明内容
本发明的目的是针对现有技术的不足,提出一种开发应用成本低、方便应用且避免应用程繁杂安装过程的基于虚拟化技术实现安全工作环境的方法。一种基于虚拟化技术实现安全工作环境的方法是在操作系统上构建虚拟化层,利用应用程序虚拟化技术创建一个虚拟化安全工作环境以容纳多个虚拟化应用程序,所述的虚拟化安全工作环境为一虚拟化文件系统,所述的虚拟化层由策略控制模块、虚拟化核心层模块、监控模块、虚拟化通信总线、虚拟化文件系统和虚拟注册表构成。所述虚拟化通信总线主要完成虚拟化应用程序间的通信以及虚拟化应用程序与安装在PC上的应用程序的通信和交互;同时在应用程序的安装过程中,虚拟化通信总线管理所有的标准应用连接到Windows所需要的注册信息,并且提供给其他应用程序,在运行期间,虚拟化通信总线影响应用程序的请求,发现请求信息,并提供给应用程序。所述的虚拟化层中的监控模块主要完成对文件夹和驱动进行实时监控,防止其他非授权用户和进程访问篡改虚拟化文件系统上的目录、文件以及控制目录、文件的访问权限,防止驱动被卸载、修改等非常操作。所述的虚拟化安全工作环境设置有登陆模式,用户进入所述的虚拟化安全工作环境需要进行身份认证,通过设置密码尝试次数上限,防止对所述的安全工作环境的各种数据进行暴力破解,用户密码尝试到达上限后系统自行锁定,需要系统管理员密码方能打开, 管理员密码尝试到上限后,该虚拟工作环境在本地客户端自动销毁。所述的虚拟化文件系统使用状态机来接受API函数的Η00Κ的输入,实现维护虚拟化层与下层操作系统之间的独立性以及传输到上层应用程序。所述的虚拟化安全工作环境还设置有兼容性模块,所述的兼容性模块主要用于虚拟化应用程序跨多个Windows版本工作。所述的虚拟化文件系统能够列表、读、写或装载,虚拟化核心层探测到一个应用调用创建文件或者打开一个文件写时,将所述文件进行重定向到虚拟化文件系统上,并形成一个“沙箱”,保证任何变化限制在虚拟化文件系统中,使工作环境区域私有化和安全化,而不是将信息写到主机PC的永久存储区域。在安装应用程序时,虚拟化层截获系统事件,判断各操作的合法性并与策略库进行比对,判断是否允许操作和操作的动作,允许时,将应用程序设置、用户数据、其他键值全部写入虚拟化文件系统中的虚拟化注册表中,其相应文件写入虚拟化文件系统中。通过虚拟化层,应用程序读取本地主机的注册表值,但写操作只写到虚拟化注册表,如果虚拟化层截获到检索注册表键值的指令,它首先搜索虚拟化注册表,返回存在的值,如果键值在虚拟化注册表中不存在,一个复杂的规则集将会决虚拟化层是否检索主机 PC上的键值。本发明的优点在于利用应用程序虚拟化技术创建一个虚拟化工作区来容纳多个虚拟化应用程序,通过虚拟通信总线实现多个应用相互交互的同时,分离操作系统和应用程序、设置和数据,极大方便了应用程序的部署。


图1 ;虚拟化安全工作环境的拓扑图。图2 ;虚拟化安全工作环境的层次图。
具体实施例方式如图1和图2所示,一种基于虚拟化技术实现安全工作环境的方法是在操作系统上构建虚拟化层,利用应用程序虚拟化技术创建一个虚拟化安全工作环境以容纳多个虚拟化应用程序,所述的虚拟化安全工作环境为一虚拟化文件系统,所述的虚拟化层由策略控制模块、虚拟化核心层模块、监控模块、虚拟化通信总线、虚拟化文件系统和虚拟注册表构成。所述虚拟化通信总线主要完成虚拟化应用程序间的通信以及虚拟化应用程序与安装在PC上的应用程序的通信和交互;同时在应用程序的安装过程中,虚拟化通信总线管理所有的标准应用连接到Windows所需要的注册信息,并且提供给其他应用程序,在运行期间,虚拟化通信总线影响应用程序的请求,发现请求信息,并提供给应用程序。所述的虚拟化层中的监控模块主要完成对文件夹和驱动进行实时监控,防止其他非授权用户和进程访问篡改虚拟化文件系统上的目录、文件以及控制目录、文件的访问权限,防止驱动被卸载、修改等非常操作。所述的虚拟化安全工作环境设置有登陆模式,用户进入所述的虚拟化安全工作环境需要进行身份认证,通过设置密码尝试次数上限,防止对所述的安全工作环境的各种数据进行暴力破解,用户密码尝试到达上限后系统自行锁定,需要系统管理员密码方能打开, 管理员密码尝试到上限后,该虚拟工作环境在本地客户端自动销毁。所述的虚拟化文件系统使用状态机来接受API函数的HOOK的输入,实现维护虚拟化层与下层操作系统之间的独立性以及传输到上层应用程序。所述的虚拟化安全工作环境还设置有兼容性模块,所述的兼容性模块主要用于虚拟化应用程序跨多个Windows版本工作。所述的虚拟化文件系统能够列表、读、写或装载,虚拟化核心层探测到一个应用调用创建文件或者打开一个文件写时,将所述文件进行重定向到虚拟化文件系统上,并形成一个“沙箱”,保证任何变化限制在虚拟化文件系统中,使工作环境区域私有化和安全化,而不是将信息写到主机PC的永久存储区域。在安装应用程序时,虚拟化层截获系统事件,判断各操作的合法性并与策略库进行比对,判断是否允许操作和操作的动作,允许时,将应用程序设置、用户数据、其他键值全部写入虚拟化文件系统中的虚拟化注册表中,其相应文件写入虚拟化文件系统中。通过虚拟化层,应用程序读取本地主机的注册表值,但写操作只写到虚拟化注册表,如果虚拟化层截获到检索注册表键值的指令,它首先搜索虚拟化注册表,返回存在的值,如果键值在虚拟化注册表中不存在,一个复杂的规则集将会决虚拟化层是否检索主机 PC上的键值。在所述的虚拟化安全工作环境上安装应用程序时,虚拟化层截获系统事件,判断各操作的合法性并与策略库进行比对,判断是否允许操作和操作的动作。
所述的虚拟化层支持两个中心模式安装模式和运行模式。所述的安装模式是应用安装文件默认的执行模式,通过运行时虚拟化核心层来启动。当在安装模式时,虚拟化层限制应用暴露给已存在的PC机上的资源,保证应用程序所需要安装的所有组件只对虚拟化环境有效,并将安装文件拷贝到虚拟化文件系统中。当在运行模式时,虚拟化层主机PC硬件资源的使用,保证应用程序以只读形式提取出来。在运行模式下,应用程序向主机PC请求组件、读取属性值的请求设定为允许,该方式保证应用程序适当的操作,允许使用资源和主机上安装的一些其他应用程序。当运行图形密集型的应用时允许使用主机上的DirectX硬件资源,该方式优化了资源的使用、提升虚拟化应用的性能。虚拟化层由策略控制模块、虚拟化核心层模块、监控模块、虚拟化通信总线、虚拟化文件系统和虚拟注册表构成。所述的策略控制模块主要完成接收并HOOK所有应用程序调用的API,决定HOOK API调用的处理,判断是否传给虚拟化核心层模块去执行。所述的虚拟化核心层模块负责重定向和管理安装的应用程序和操作系统之间固有的联系,作为一个虚拟工作区的“迷你操作系统”。虚拟化核心层模块拦截应用程序对操作系统的API调用,由策略控制模块来处理。由于Win32 API调用是一些“幕后”消息,因此,虚拟化应用程序用所述的“幕后”消息来与Windows操作系统通信。对于虚拟注册表,应用程序能够读取本地主机的注册表值,但所有的写操作只写到虚拟化注册表。和虚拟化文件系统一样,如果虚拟化层截获到检索注册表键值的指令,它首先搜索虚拟化注册表,返回存在的值。如果键值在虚拟化注册表中不存在,一个复杂的规则集将会决虚拟化层是否检索主机PC上的键值。这些规则负责键值的类型和应用程序运行的模式,如应用程序键值、Windows键值、IE键值等。如果虚拟化层决定需要检索主机PC 的注册表,如果键值存在,将会返回给应用程序,否则,返回应用程序“value not found”。 对于写机制,所有的注册表键值会写到虚拟化注册表。该方式保证应用程序所有的数据写到注册表,通过虚拟化工作区来存储和访问。
权利要求
1.一种基于虚拟化技术实现安全工作环境的方法,其特征在于,基于虚拟化技术实现安全工作环境的方法是在操作系统上构建虚拟化层,利用应用程序虚拟化技术创建一个虚拟化安全工作环境以容纳多个虚拟化应用程序,所述的虚拟化安全工作环境为一虚拟化文件系统,所述的虚拟化层由策略控制模块、虚拟化核心层模块、监控模块、虚拟化通信总线、 虚拟化文件系统和虚拟注册表构成。
2.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 所述虚拟化通信总线主要完成虚拟化应用程序间的通信以及虚拟化应用程序与安装在PC 上的应用程序的通信和交互;同时在应用程序的安装过程中,虚拟化通信总线管理所有的标准应用连接到Windows所需要的注册信息,并且提供给其他应用程序,在运行期间,虚拟化通信总线影响应用程序的请求,发现请求信息,并提供给应用程序。
3.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 所述的虚拟化层中的监控模块主要完成对文件夹和驱动进行实时监控,防止其他非授权用户和进程访问篡改虚拟化文件系统上的目录、文件以及控制目录、文件的访问权限,防止驱动被卸载、修改等非常操作。
4.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 所述的虚拟化安全工作环境设置有登陆模式,用户进入所述的虚拟化安全工作环境需要进行身份认证,通过设置密码尝试次数上限,防止对所述的安全工作环境的各种数据进行暴力破解,用户密码尝试到达上限后系统自行锁定,需要系统管理员密码方能打开,管理员密码尝试到上限后,该虚拟工作环境在本地客户端自动销毁。
5.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 所述的虚拟化文件系统使用状态机来接受API函数的HOOK的输入,实现维护虚拟化层与下层操作系统之间的独立性以及传输到上层应用程序。
6.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 所述的虚拟化安全工作环境还设置有兼容性模块,所述的兼容性模块主要用于虚拟化应用程序跨多个Windows版本工作。
7.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 所述的虚拟化文件系统能够列表、读、写或装载,虚拟化核心层探测到一个应用调用创建文件或者打开一个文件写时,将所述文件进行重定向到虚拟化文件系统上,并形成一个“沙箱”,保证任何变化限制在虚拟化文件系统中,使工作环境区域私有化和安全化,而不是将信息写到主机PC的永久存储区域。
8.如权利要求1所述的一种基于虚拟化技术实现安全工作环境的方法,其特征在于, 在安装应用程序时,虚拟化层截获系统事件,判断各操作的合法性并与策略库进行比对,判断是否允许操作和操作的动作,允许时,将应用程序设置、用户数据、其他键值全部写入虚拟化文件系统中的虚拟化注册表中,其相应文件写入虚拟化文件系统中。
全文摘要
一种基于虚拟化技术实现安全工作环境的方法是在操作系统上构建虚拟化层,利用应用程序虚拟化技术创建一个虚拟化安全工作环境以容纳多个虚拟化应用程序,所述的虚拟化安全工作环境为一虚拟化文件系统,所述的虚拟化层由策略控制模块、虚拟化核心层模块、监控模块、虚拟化通信总线、虚拟化文件系统和虚拟注册表构成。本发明的优点在于利用应用程序虚拟化技术创建一个虚拟化工作区来容纳多个虚拟化应用程序,通过虚拟通信总线实现多个应用相互交互的同时,分离操作系统和应用程序、设置和数据,极大方便了应用程序的部署。
文档编号G06F9/455GK102314373SQ20111018955
公开日2012年1月11日 申请日期2011年7月7日 优先权日2011年7月7日
发明者李鹏 申请人:李鹏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1