发明内容
本发明的目的在于提供一种基于虚拟隔离机制的云环境下数据防泄漏方法,可全方位保护私有云环境下端***用户的数据安全,确保关键数据在端用户访问和使用过程中不会泄露。
为实现上述目的,本发明提供如下技术方案:
一种基于虚拟隔离机制的云环境下数据防泄漏方法,步骤如下:
(1)将私有云***的用户访问终端划分为安全云盘、虚拟隔离运行环境和I/O代理进程;
(2)用户进程对安全云盘的访问都需要经过I/O代理进程,I/O代理进程根据策略对所有进程的操作进行控制;
(3)将用户访问终端内的用户进程分为可信进程和非可信进程,当非可信进程或可信进程尝试访问安全云盘时,可信进程被标记为受控进程,在虚拟隔离运行环境下进行隔离运行;非可信进程则被禁止。
作为本发明进一步的方案:所述步骤(3)中受控进程在虚拟隔离运行环境下进行隔离运行,包括如下隔离方法:
1)受控进程运行时的内存数据被隔离保护,无法与非可信进程进行交互;
2)受控进程对云盘文件读写操作,全部由I/O代理进程进行安全控制;
3)受控进程以只读方式使用本地磁盘数据,对本地存储所有文件写操作都通过I/O代理进程以重定向方式,加密写入临时安全缓存进行隔离,读取时通过代理程序解密读取;
4)受控进程只能以只读方式使用本地外部设备,写操作被禁止;
5)受控进程只能访问指定的可信网络,隔离其对风险网络的访问。
作为本发明进一步的方案:所述安全云盘以网络硬盘形式展现。
与现有技术相比,本发明的有益效果是:本发明解决了私有云环境下关键数据在端用户处可能存在的信息泄露问题,通过安全云盘实现加密存储和加密双向自动同步,确保了关键数据在传输通道上的安全;通过虚拟隔离运行环境隔绝非可信进程对关键数据的访问,控制受控可信进程只能以只读方式访问本地磁盘数据和本地外设,隔离受控可信进程对非可信网络的访问;通过I/O代理进程,实现受控可信进程透明访问安全云盘内的关键数据,并隔绝非可信进程对安全云盘的访问,该方法可全方位保护私有云环境下端***用户的数据安全,确保关键数据在端用户访问和使用过程中不会泄露,保证私有云***的用户端的安全性和可靠性,同时,该方法对端用户资源要求不高,可以适应各种类型的客户端***,对客户端***的性能和用户的使用习惯影响较小,方便在实际中部署和使用。
具体实施方式
下面将结合本发明实施例及附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,一种基于虚拟隔离机制的云环境下数据防泄漏方法,步骤如下:
(1)将私有云***的用户访问终端划分为安全云盘、虚拟隔离运行环境和I/O代理进程;
(2)用户进程对安全云盘的访问都需要经过I/O代理进程,I/O代理进程根据策略对所有进程的操作进行控制。
(3)将用户访问终端内的用户进程分为可信进程和非可信进程,当非可信进程或可信进程尝试访问安全云盘时,可信进程被标记为受控进程,在虚拟隔离运行环境下进行隔离运行;非可信进程则被禁止。
在详细描述本发明的具体实施方法前,先描述本发明所针对的私有云环境***的***架构。请参阅图1,本发明所涉及的私有云环境***总体架构如下,从逻辑上包括三类对象,分别是云存储***、管理服务器和用户访问终端。
云存储***用于加密存储整个私有云***的数据,端用户在需要使用云存储***中的数据时,通过其用户访问终端,根据管理服务器设置的相应控制策略,基于可信网络的加密安全信道访问并使用云存储***中的加密数据。私有云存储***由私有云***的所有者自己构建,具有完全的所有权,可以确保云存储***的数据安全性。
管理服务器负责对私有云***的用户和数据文件进行管理,通过相应的管理配置策略确定每个用户在指定的时刻可以访问和使用哪些数据文件,并将这些配置策略分发到云存储***和用户访问终端,以实现对数据文件的控制和保护。
用户访问终端是指安装Windows 2000、Windows 2003、Windows XP、Windows 7、Windows8等操作***的PC机或者服务器,可以按照管理服务器的策略,通过可信网络的加密安全信道读写私有云存储***中的数据,私有云***的数据在用户访问终端断开与私有云***的连接期间,可以暂时安全的存储在用户访问终端上并在用户访问终端重新接入私有云***后自动完成与云存储***的同步。
请参阅图2,安全云盘在用户访问终端上以网络硬盘的形式存在,该网络硬盘中的数据以加密的形式存储,用户访问终端的中央处理器上运行的进程在获得必要的授权后,可以像访问本地磁盘一样直接透明访问该网络硬盘中的加密数据,加解密过程对用户透明。用户访问终端上安全云盘内的数据通过可信网络信道,以加密的方式在用户访问终端和云存储***之间传输,双向实时同步,在用户访问终端与云存储***断开连接期间,数据以密文的形式存在用户访问终端上,在用户访问终端与云存储***之间重新建立连接后自动同步。
请参阅图3,本发明将用户访问终端内的用户进程分为可信进程和非可信进程两类。可信进程即是在管理服务器的配置下可以访问安全云盘中的数据的用户进程,可信进程一旦访问了安全云盘或者临时安全存储区域中的数据,则说明该进程已经接触了受保护的关键数据,则将该进程标记为受控进程,并将其强制置于虚拟隔离运行环境中进行隔离运行。非可信进程在任何情况下均不允许访问安全云盘或者临时安全存储区域中的数据。
虚拟运行环境提供以下五个方面的安全隔离措施:
1) 内存隔离 受控进程运行时的内存数据被隔离保护,无法与非可信进程进行交互;
2) 网络隔离 受控进程只能访问指定的可信网络,隔离其对其他非可信网络的访问;
3) 本地外设操作单向隔离 受控进程只能以只读方式访问本地外设,如U盘、刻录光驱和打印机等,写操作被完全禁止;
4) 本地文件访问隔离 受控进程只能以只读方式使用本地磁盘数据,对本地存储所有文件写操作都通过I/O代理进程以重定向方式,加密写入临时安全缓存进行隔离,读取时通过I/O代理进程解密读取;
5) 安全云盘数据操作隔离 受控进程对云盘文件的读写操作,全部由I/O代理进程进行安全控制。
虚拟运行环境实现安全隔离控制的核心是有效控制进程的运行环境,本质上可以看作是将数据与进程一起划分安全域。实际上访问安全云盘的受控进程运行时,该进程同时须访问相关配置文件和临时文件(由于这些文件是进程运行必需的,本文称这些文件为进程运行文件,简称运行文件),这些文件一般在安全云盘之外,对于这种可能跨越安全域和非安全域的进程,单纯的隔离虽然可以保证数据的安全性但是会造成进程运行环境破坏导致进程运行错误。
本发明所提出的数据防泄漏方法中,将可信网络、临时安全存储、安全云盘和受控进程划为一个安全域,共同构成隔离虚拟运行环境,在该环境内综合利用网络访问过滤技术、内存空间保护技术和文件过滤驱动技术,确保数据只会流动于安全域内,防止敏感数据外泄。图4是虚拟隔离运行环境的模块示意图,其提供的隔离功能通过如下三个模块实现,受控进程对关键数据的访问均需通过三个模块的一个或者多个进行安全隔离:
1)文件过滤模块 受控进程对非云盘内文件进行写操作时,将会触发动态重定向操作:若是创建或写运行文件请求,则在临时安全缓存中拷贝产生对应的副本文件,再将该请求重定向到临时安全缓存中进行访问;如果是其它访问请求,如读请求,则将请求重定向到对应的副本文件,对该副本进行操作。通过重定向操作,可以确保受控进程可以任意读取u盘等外设内文件数据以及本地存储上运行文件数据,但是使用中这些数据只会流动于虚拟隔离运行环境内。为不影响上层应用程序的执行,重定向操作需要在应用层以下实现并且对上层应用透明。
2)网络包过滤模块 受控进程根据管理服务器下发的访问控制策略表对受控进程的网络访问进行数据包过滤,使它只能与可信网络进行安全通信,同时为了保证数据的安全性,要求可信网络内所有进程都处于隔离虚拟运行环境内执行。
3)内存过滤模块 利用内存钩子技术监控受控进程对剪贴板和跨进程的读写操作,禁止非可信进程访问剪贴板内敏感数据,允许可信进程访问剪贴板内敏感数据。可信进程一旦访问了剪贴板内的敏感数据,该进程就会被标注为受控进程,被强制置于虚拟隔离运行环境下进行隔离运行。同时利用钩子技术可信进程监控对注册表的访问操作操作,将其对注册表的写操作重定向到虚拟注册表内,禁止非可信进程访问虚拟注册表内敏感数据,允许可信进程访问虚拟注册表。可信进程一旦访问了虚拟注册表内的敏感数据,该进程就会被标注为受控进程,被强制置于虚拟隔离运行环境下进行隔离运行。
下面,基于信息流模型对本发明所提出数据防泄漏方法所涉及的信息流进行描述和分析,将安全控制规则转换为信息流规则,进而给出该方法的数据防泄漏安全性证明。
令DS、DC 和DL分别表示主机上安全云盘内的文件集合、临时安全缓存内文件集合和其它本地文件集合;f1, f2,…,fn(DSDCDL),nN表示主机中的文件;PC、PT和PD分别表示虚拟隔离运行环境内的受控进程、虚拟隔离运行环境外的可信进程集合和非可信进程,p1,p2,…,pm(PCPTPD),mN,表示主机上***运行的进程;表示t时刻的信息流请求;表示t时刻的实际信息流动.根据前述本发明所提出的进程读写文件数据的控制机制,给出如下信息流规则:
规则1 若可信进程和非可信进程请求读安全云盘内的文件和临时安全缓存内的文件,被拒绝访问,即
规则2 若虚拟隔离运行环境外的可信进程请求读安全云盘中的文件,在规则允许的情况下,将该进程放置到虚拟隔离运行环境内受控运行,该进程转变为受控进程,即
规则3 若虚拟隔离运行环境内的受控进程请求对安全云盘外的文件进行写操作,则在临时安全缓存中创建该文件的副本,并将写操作请求重定向到对该副本的操作,即
规则4 若虚拟隔离运行环境内的受控进程与虚拟隔离运行环境外的进程进行数据交互通信,在规则允许的情况下,需要将虚拟隔离运行环境外的进程放置到虚拟隔离运行环境内受控运行,该进程转变为受控进程,即
基于以上规则,可得到在虚拟隔离运行环境下数据防泄漏的安全定理:
定理1 在虚拟隔离运行环境下,安全云盘内文件内容在访问和使用过程中不会泄露到安全云盘和临时安全缓存外。
证明 采取反证法证明。假设安全云盘内文件内容可以泄露到云盘和临时安全缓存外,即存在如下信息流:
由于信息具有传递性,且信息流动主要由进程对文件的读、写以及进程间通信三种操作触发,因此有
由规则3可知,由于受控进程禁止写文件数据到本地文件集合中,故,否则不存在。
下面对存在的2种情况讨论分析:
1) 若在时刻直接读取,若根据规则1可知,会被拒绝读取;若根据规则2可知,,与矛盾。
2)。由规则4可知,,因为受控进程的状态不可能转换为非可信进程和可信进程。与类似递归分析,必然存在在时刻直接读取,且,由(1)知,也存在矛盾。
综上所述,假设不合理,故结论成立。
根据定理1可知,云盘内文件内容在访问和使用过程中将被限制于云盘和临时安全缓存内;由于云盘和临时安全缓存内的文件数据是加密存储,且只能由受控进程访问,因此对于外部威胁主体如木马、病毒进程无法解密访问,而对于内部威胁主体即企业内部成员,虽然通过受控进程可以解密访问,但是无法携带明文数据离开该主机和云盘***(除非在信息安全管理员授权许可的情况下),造成泄密事件发生。
本发明解决了私有云环境下关键数据在端用户处可能存在的信息泄露问题,通过安全云盘实现加密存储和加密双向自动同步,确保了关键数据在传输通道上的安全;通过虚拟隔离运行环境隔绝非可信进程对关键数据的访问,控制受控可信进程只能以只读方式访问本地磁盘数据和本地外设,隔离受控可信进程对非可信网络的访问;通过I/O代理进程,实现受控可信进程透明访问安全云盘内的关键数据,并隔绝非可信进程对安全云盘的访问,该方法可全方位保护私有云环境下端***用户的数据安全,确保关键数据在端用户访问和使用过程中不会泄露,保证私有云***的用户端的安全性和可靠性,同时,该方法对端用户资源要求不高,可以适应各种类型的客户端***,对客户端***的性能和用户的使用习惯影响较小,方便在实际中部署和使用。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。