一种Windows下基于进程粒度的文件隔离方法技术

技术编号:34928376 阅读:23 留言:0更新日期:2022-09-15 07:22
本发明专利技术公开一种Windows下基于进程粒度的文件隔离方法,根据重定向文件路径名生成规则生成新的文件路径,新生成的文件路径在控制程序指定的重定向文件夹下;检测新文件路径下文件是否存在,若存在,则通过路径名重解析重定向文件到此文件;若不存在,则检测文件操作为读相关操作还是写相关操作,若是读相关操作,则直接放行;若是写相关操作,则先将原始文件拷贝到新生成的文件路径下,然后通过路径重解析将文件的操作重定向到此文件上。本发明专利技术基于对进程粒度的文件重定向,控制灵活,可以基于用户进程进行文件备份和清理,不必重启机器;提高资源利用率,可以使多用户进程运行于同一机器。机器。机器。

【技术实现步骤摘要】
一种Windows下基于进程粒度的文件隔离方法


[0001]本专利技术涉及云服务
,尤其涉及一种Windows下基于进程粒度的文件隔离方法。

技术介绍

[0002]云上资源是供多用户使用,用户在使用资源时需要做到用户文件数据的隔离保护;在用户释放资源后,须对用户的数据进行备份和清理。现有技术有如下几点不足:
[0003]1、对用户进程文件数据并没有进行隔离,数据对整个系统可见;
[0004]2、它能将数据和文件恢复某一原始状态,但这种还原是针对整个系统的,控制粒度并不是按客户进程的;
[0005]3、需要重启系统才能还原。
[0006]因此,现有技术存在缺陷,需要改进。

技术实现思路

[0007]本专利技术要解决的技术问题是:提供一种Windows下基于进程粒度的文件隔离方法,以解决
技术介绍
所提到的问题。
[0008]本专利技术的技术方案如下:提供一种Windows下基于进程粒度的文件隔离方法,基于控制程序、通信接口、驱动程序三个模块;所述驱动程序用于对客户进程回调,监视客户进程的创建和退出;所述通信接口用于控制程序与驱动程序之间的通信;所述控制程序用于创建事件通知和相关配置信息,给驱动下发被监控进程信息、以及相关配置信息;包括以下步骤。
[0009]S1:启动驱动程序:创建通信接口;注册客户进程回调,监视客户进程的创建和退出;注册文件过滤,对文件的操作进行监控;并对文件的操作进行捕获。
[0010]S2:启动控制程序:控制程序通过通信接口与驱动程序实现通信;给驱动程序下发被监控的客户进程信息、路径信息及相关配置信息,驱动程序接收到客户进程信息、路径信息及相关配置信息后,将其转化为设备路径信息。
[0011]S3:控制程序启动客户进程。
[0012]S4:驱动程序根据控制程序下发的客户进程的信息判断是否是需要监控的客户进程;如果是需要监控的客户进程,则加入监控列表,如果不是需要监控的客户进程,则不加入监控列表。
[0013]S5:驱动程序监听被加入到监控列表中的客户进程中对文件的操作。
[0014]如果文件的操作是:文件的操作是从内核态发起、非打开/创建操作、打开的是Paging File文件、打开的是卷设备、文件操作的对象是文件夹、通过文件ID打开、打开的是文件夹、文件操作不是由被监控进程发起、文件操作的对象是针对系统文件、文件操作的对象位于重定向目录下中的任意一种,则直接放行。
[0015]如果文件的操作不是以上的操作,首先,根据重定向文件路径名生成规则生成新
的文件路径,新生成的文件路径在控制程序指定的重定向文件夹下;检测新文件路径下文件是否存在,若存在,则通过路径名重解析重定向文件到此文件;若不存在,则检测文件操作为读相关操作还是写相关操作,若是读相关操作,则直接放行;若是写相关操作,则先将原始文件拷贝到新生成的文件路径下,然后通过路径重解析将文件的操作重定向到此文件上。
[0016]若客户进程仍有文件的操作,则重复本步骤。
[0017]S6:客户进程退出,控制程序负责用户数据清理和备份。
[0018]对于是写相关操作,则将原始文件拷贝到新生成的文件路径下,然后通过路径重解析将文件的操作重定向到此文件上。对文件进行备份,从而可以有效对文件进行隔离以及结束后的清理,不必重启机器;提高资源利用率,可以使多用户进程运行于同一机器;保护粒度细化,使每个用户都拥有自己的一套文件数据,互不干扰,保护了用户文件数据的独立性和隐私性;使源文件不被修改,利于文件备份、清理和恢复。
[0019]在Windows内核开发中,所有的请求都是发送给设备的,而设备之间是采用分层的结构,形成设备栈。当一个请求发送过来,首先是最上层的设备处理该请求,请求的处理根据具体情况,可以直接完成,也可以将请求转发至下一层设备,由下层设备处理该请求。这就给中间层的设备一次处理或修改该请求的机会。文件的打开、读、写最终也是转化为一种请求,下发到设备栈处理。本方案是一个文件过滤请求,也存在于设备栈中的某一层中,这样就有机会截获这个请求,并对此请求进行修改,从而实现本方案的目的,解决本方案所要解决的技术问题。
[0020]在步骤S2中,还包括:控制程序创建通知事件,并下发给驱动程序,用来接收驱动程序上报的通知;在步骤S4中,还包括:如果控制程序创建了通知事件,驱动程序将该客户进程是否加入了监控列表的信息反馈给控制程序。
[0021]在步骤S5中,如果文件的操作是写相关操作,还包括:根据控制程序的配置信息进行相应的操作:如果控制程序要求通知事件,则通知控制程序,并等待控制程序反馈结果,随后根据反馈结果进行文件重定向;如果控制程序不要求通知事件,则根据文件存在与否进行操作;若根据规则生成的新文件路径存在于重定向目录下,则进行文件重定向;若不存在,则先将原始文件拷贝到新生成的文件路径下,然后通过路径重解析将文件的操作重定向到此文件上。
[0022]在步骤S6中,客户进程退出时,驱动程序清理与客户进程相关的内存数据和资源。
[0023]在步骤S6中,还包括:如果控制进程创建了通知事件,则驱动程序通知控制程序客户进程退出。
[0024]采用上述方案,本专利技术提供一种Windows下基于进程粒度的文件隔离方法,基于对进程粒度的文件重定向,控制灵活,可以基于用户进程进行文件备份和清理,不必重启机器;提高资源利用率,可以使多用户进程运行于同一机器;保护粒度细化,使每个用户都拥有自己的一套文件数据,互不干扰,保护了用户文件数据的独立性和隐私性;使源文件不被修改,利于文件恢复。
附图说明
[0025]图1为本专利技术的一实施例的方法流程图。
具体实施方式
[0026]以下结合附图和具体实施例,对本专利技术进行详细说明。
[0027]请参阅图1,本实施例提供一种Windows下基于进程粒度的文件隔离方法,基于控制程序、通信接口、驱动程序三个模块;所述驱动程序用于对客户进程回调,监视客户进程的创建和退出;所述通信接口用于控制程序与驱动程序之间的通信;所述控制程序用于创建事件通知和相关配置信息,给驱动下发被监控进程信息、以及相关配置信息;包括以下步骤。
[0028]S1:启动驱动程序:创建通信接口;注册客户进程回调,监视客户进程的创建和退出;注册文件过滤,对文件的操作进行监控;并对文件的操作进行捕获。
[0029]S2:启动控制程序:控制程序通过通信接口与驱动程序实现通信;给驱动程序下发被监控的客户进程信息、路径信息及相关配置信息,驱动程序接收到客户进程信息、路径信息及相关配置信息后,将其转化为设备路径信息。
[0030]S3:控制程序启动客户进程。
[0031]S4:驱动程序根据控制程序下发的客户进程的信息判断是否是需要监控的客户进程;如果是需要监控的客户进程,则加入监控列表,如果不是需要监控的客户进程,则不加入监控列表。
[0032]S5:驱动程序监听被加入到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Windows下基于进程粒度的文件隔离方法,其特征在于,基于控制程序、通信接口、驱动程序三个模块;包括以下步骤:S1:启动驱动程序:创建通信接口;注册客户进程回调,监视客户进程的创建和退出;注册文件过滤,对文件的操作进行监控;并对文件的操作进行捕获;S2:启动控制程序:控制程序通过通信接口与驱动程序实现通信;给驱动程序下发被监控的客户进程信息、路径信息及相关配置信息,驱动程序接收到客户进程信息、路径信息及相关配置信息后,将其转化为设备路径信息;S3:控制程序启动客户进程;S4:驱动程序根据控制程序下发的客户进程的信息判断是否是需要监控的客户进程;如果是需要监控的客户进程,则加入监控列表,如果不是需要监控的客户进程,则不加入监控列表;S5:驱动程序监听被加入到监控列表中的客户进程中对文件的操作;如果文件的操作是:文件的操作是从内核态发起、非打开/创建操作、打开的是Paging File文件、打开的是卷设备、文件操作的对象是文件夹、通过文件ID打开、打开的是文件夹、文件操作不是由被监控进程发起、文件操作的对象是针对系统文件、文件操作的对象位于重定向目录下中的任意一种,则直接放行;如果文件的操作不是以上的操作,首先,根据重定向文件路径名生成规则生成新的文件路径,新生成的文件路径在控制程序指定的重定向文件夹下;检测新文件路径下文件是否存在,若存在,则通过路径名重解析重定向文件到此文件;若不存在,则检测文件操作为读相关操作还是写相关操作,若是读相关操作,则直接放行;若是写相关操...

【专利技术属性】
技术研发人员:李洋邹琼周双全
申请(专利权)人:深圳市瑞云科技有限公司
类型:发明
国别省市:

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

1