发明名称 一种基于操作系统虚拟化原理的数据防泄漏方法
摘要 一种计算机应用技术领域的基于操作系统虚拟化原理的数据防泄漏方法。本发明基于操作系统虚拟化原理,在计算机的宿主操作系统中增加虚拟隔离层和虚拟存储区;以虚拟隔离层及虚拟存储区为基础、结合虚拟桌面技术构建一到多个虚拟隔离环境;每个虚拟隔离环境中所储存的、包括文件和注册表在内的数据资源,均受到完善地隔离保护,能够确保环境中产生的数据不被泄漏到环境之外,从而防止主动或被动的数据泄露行为;本发明利用操作系统虚拟化原理的先天优势,极大地提高了数据防泄漏系统的运行效率;降低了应用数据防泄漏方案的难度;提高了数据防泄漏系统的易用性和工作效率。
申请公布号 CN102004886B 申请公布日期 2012.07.25
申请号 CN201010544077.7 申请日期 2010.11.15
申请人 上海安纵信息科技有限公司 发明人 聂伟国;金亮
分类号 G06F21/22(2006.01)I 主分类号 G06F21/22(2006.01)I
代理机构 代理人
主权项 一种基于操作系统虚拟化原理的数据防泄漏方法,其特征在于:基于操作系统虚拟化原理,在计算机的宿主操作系统中增加虚拟隔离层和虚拟存储区,以虚拟隔离层及虚拟存储区为基础、结合虚拟桌面技术构建虚拟隔离环境;通过对系统中的所有进程实施数据隔离防护措施,将敏感数据保存在虚拟隔离环境之中,达到拒绝非法的数据泄露行为、避免发生主动或被动的数据泄漏的目的;在虚拟隔离环境中能够直接访问宿主操作系统中的数据,而在宿主操作系统中的原生桌面环境下无法访问虚拟隔离环境中的数据,能够实现宿主操作系统到虚拟隔离环境的数据单向传输;所述的虚拟隔离环境,由虚拟桌面、虚拟文件、虚拟注册表资源组成,其中虚拟桌面作为与使用者进行交互的界面,提供与宿主操作系统中的原生桌面完全一致的操作方式,虚拟文件和虚拟注册表作为虚拟数据资源,由嵌入到操作系统内核中的虚拟隔离层进行维护,当使用者进入以虚拟桌面标识的虚拟隔离环境时,内核中的虚拟隔离层自动将虚拟文件和虚拟注册表这些数据资源暴露给使用者;而当使用者离开虚拟隔离环境时,内核中的虚拟隔离层则屏蔽系统中的其他程序访问虚拟数据资源的行为;所述的虚拟隔离层,由内核态驱动程序提供,该驱动程序在计算机启动后,加载到宿主操作系统的内核中运行,对操作系统内核中的系统服务描述表进行控制,对其中用于文件访问和注册表访问的关键例程进行钩子处理,从而截获所有的文件、注册表访问操作,在此基础上,虚拟隔离层根据发起数据访问请求的进程的身份,实施数据隔离防护措施;所述的虚拟存储区,由内核态驱动程序提供,以虚拟磁盘的形式提供数据存取功能,数据在存入虚拟存储区时,以加密存储的形式保存到计算机物理硬盘上的特殊区域中,确保在未进入虚拟隔离环境前,任何用户和程序均无法访问到其中的数据;所述的虚拟桌面,由一个单独的进程实现,虚拟桌面作为与使用者进行交互的界面,提供与宿主操作系统中的原生桌面完全一致的操作方式;所述的数据隔离防护措施,具体如下:(1)由虚拟隔离层驱动程序记录虚拟桌面程序的进程标识符,以及由使用者在虚拟桌面中启动的所有子、孙进程的进程标识符;(2)虚拟隔离层拦截系统中所有进程的数据访问请求——包括文件访问和注册表访问,并根据发起请求的进程的进程标识符执行不同的隔离策略,如果是虚拟隔离环境中的进程则跳转至(3),否则跳转至(4);(3)当进程执行写入操作时,虚拟隔离层将写入操作的物理写入位置重定向到虚拟存储区域中,同时保持逻辑存储位置不变,因此进程无须关心底层存储细节,当进程执行读取操作时,虚拟隔离层判断要读取的文件是否存储在虚拟存储区中,如是则读取虚拟存储区中的文件,否则由虚拟隔离层通过数据单向传输的方式直接将宿主操作系统中存储的文件映射到虚拟隔离环境中,供进程读取;(4)虚拟隔离层判断进程是否尝试访问虚拟存储区内部的文件,如是则拒绝该请求,并告知进程,该进程试图访问的文件不存在;所述的数据单向传输,具体如下:①由虚拟隔离层判断发起数据访问请求的进程是否是虚拟隔离环境内的进程,如是则对该进程提供数据单向传输的功能;②对于需要提供数据单向传输功能的进程,判断该进程的数据访问请求是读取还是写入,如是读取则跳转到③,否则跳转到④;③判断进程要读取的数据文件是否在虚拟隔离环境中存在,如存在则直接读取虚拟隔离环境中的数据文件;如果不存在,进一步判断数据文件在宿主操作系统中是否存在,如依然不存在,则告知进程读取失败;如在宿主操作系统中存在该文件,则允许进程直接访问宿主操作系统中的数据文件;④判断进程要写入的数据文件是否在虚拟隔离环境中存在,如存在,则直接打开虚拟隔离环境中的数据文件供该进程写入;如不存在,则进一步判断数据文件在宿主操作系统中是否存在,如依然不存在,则直接在虚拟存储区内创建一个新的数据文件供该进程写入;如在宿主操作系统中存在该文件,则首先将该数据文件复制到虚拟隔离环境中,然后打开位于虚拟存储区内的新数据文件供该进程写入。
地址 201112 上海市闵行区联航路1188号10号3楼B座