文件访问过滤方法技术

技术编号:6636588 阅读:211 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种文件访问过滤方法,属于网络安全技术领域,包括以下步骤:S1、处理IRP请求类别和退出驱动请求,并安装相对应的派遣函数;S2、处理用户层的调用,并向内核层发出调用命令;S3、在所述自定义函数中调用所述Windows内核函数时通过参数拿到传入的句柄Handle,通过调用系统的内核函数查询该Handle对应的路径是否是文件夹路径;如果是文件夹路径,并且不包含磁盘盘符,则不进行对比;如果是文件路径,则在所述白名单中进行比较;S4、通过用户层和内核层之间创建的共享事件,通知用户层的应用程序取回BackList中记录的非法访问文件信息,用户层应用程序把该非法访问文件信息写入到日志文件中。本发明专利技术能够方便用户进一步采取措施保护个人文件。

【技术实现步骤摘要】

本专利技术涉及网络安全
,特别涉及一种。
技术介绍
随着电脑和互联网越来越成为人们生活中不可缺少的一部分,个人文件安全问题越来越受到重视。很多恶意程序或木马在用户不知道的情况下偷偷扫描用户的文件,甚至把文件上传到指定的服务器上。在Windows平台下,操作系统分为两部分用户层(也叫做Ring3层)和内核层 (也叫做RingO层)。Windows所提供的API接口都是从Ring3层调用RingO层内核函数来实现功能的。可以这样讲,如果要达到保护电脑、保护文件,在RingO层采取措施是必不可少的。目前市场上开发的文件保护产品,采用的技术之一就是通过对Windows内核函数 ZwCreateFile函数进行挂钩(HOOK),达到控制文件操作、保护文件的目的。众所周知,Windows下文件的访问首先要调用ZwCreateFile拿到文件的句柄, 通过文件的句柄再进一步操作文件的读、写、删除等操作。如果在ZwCreateFile函数中加入拦截代码,就可以得到所有操作文件的动作,文件路径、权限、进程等参数。挂钩的具体实现过程通过 windows 内核的 SSDT (System Services Descriptor Table,系统服务描述表)表,搜索到ZwCreateFile函数地址。替换成自定义的MyCreateFile函数地址, 在MyCreateFile中调用原始系统ZwCreateFile函数,这样就达到挂钩windows函数的完整流程。监控的具体实现过程在自定义函数MyCreateFile函数中,首先得到用户想要操作文件的文件路径,和当前进程等参数。根据允许进程和文件路径,文件类型的白名单列表进行对比,看看是否允许通过。如果符合条件存在于白名单中,将继续调用系统函数 ZwCreateFile函数。不符合条件或者没有存在白名单中,将不调用ZwCreateFile函数,直接返回失败。这样就到达监控文件访问的目的。以上实现方法的缺陷在于1、效率比较低由于文件和文件夹的访问都要经过 ZwCreateFile函数,所以很多路径的对比其实都是针对设备和文件夹路径的对比。由于白名单比较长,要完全对比一遍效率自然会下降很多,而且这些对比会带来多余的内存和CPU 资源的消耗,增加了系统的不稳定风险。2、没有记录那些文件曾经被非法操作用户的文件被非法操作,利用产品对其进行了保护,但是用户并不知道那些文件被那个进程非法操作过,这样这个进程还会有机会再次操作文件。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是如何提供一种执行效率高、方便用户进一步采取措施保护个人文件的。( 二)技术方案为解决上述技术问题,本专利技术提供了一种,包括以下步骤Si、处理I/O请求包IRP请求类别和退出驱动请求,并安装相对应的派遣函数;S2、处理用户层调用,并向内核层发出调用命令;S3、在所述自定义函数中调用所述Windows内核函数时通过参数拿到传入的句柄 Handle,通过调用系统的内核函数查询该Handle对应的路径是否是文件夹路径;如果是文件夹路径,并且不包含磁盘盘符,则不进行对比;如果是文件路径,则在所述白名单中进行比较,如果该文件路径不在所要保护的文件路径的白名单范围之内说明该文件路径不在允许访问的范围之内,则将把这次非法访问文件信息记录到返回列表BackList中;S4、通过用户层和内核层之间创建的共享事件,通知用户层的应用程序取回 BackList中记录的非法访问文件信息,用户层应用程序把该非法访问文件信息写入到日志文件中。其中,步骤S2具体为当用户层发出开始命令时,内核层开始查找系统服务描述表SSDT中一种Windows内核函数的地址,并将该地址转换成一种自定义函数的地址,从而完成挂钩动作。其中,步骤Sl 中,所述 IRP 请求类别包括 IRP_MJ_CREATE、IRP_MJ_READ、IRP_MJ_ CLOSE 和 IRP_MJ_DEVICE_C0NTR0L。其中,所述Windows内核函数为ZwCreateFile函数。(三)有益效果本专利技术通过在HOOK内核函数ZwCreateFile使保护文件不被非法访问的同时,区分了文件路径和文件夹路径。提高了对文件夹路径比较的速度,加快了比对效率。为进一步对文件夹进行扩展操作打下了基础。用户通过查看日志(log)文件,可以看到被保护文件的境况,了解什么时间、哪些进程、访问了哪些文件等非法操作,为用户下一步查杀木马, 病毒等恶意程序提供了帮助。附图说明图1是本专利技术的方法流程图。 具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细说明。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图1所示,本专利技术的包括以下步骤Si、处理1/0请求包IRP请求类别和退出驱动请求DriverUnload,并安装相对应的派遣函数;S2、处理用户层调用,并向内核层发出调用命令,例如当用户层发出开始命令时, 内核层开始查找系统服务描述表SSDT中Windows内核函数ZwCreateFile的地址,并将该地址转换成自定义函数MyCreateFile的地址,从而完成挂钩Η00Κ动作;S3、在所述自定义函数中调用所述Windows内核函数时通过参数拿到传入的句柄 Handle,通过调用系统的内核函数查询该Handle对应的路径是否是文件夹路径;如果是文件夹路径,并且不包含磁盘盘符,例如·λ:··\\,由于这种情况不在需要对比的名单范围之内,直接返回不进行对比;如果是文件路径,则在所述白名单中进行比较,如果该文件路径不在所要保护的文件路径的白名单范围之内说明该文件路径不在允许访问的范围之内,则将把这次非法访问文件信息记录到返回列表BackList中;S4、通过用户层和内核层之间创建的共享事件Event,通知用户层的应用程序取回 BackList中记录的非法访问文件信息,用户层应用程序把该非法访问文件信息写入到日志文件中。其中,步骤Sl 中,所述 IRP 请求类别包括 IRP_MJ_CREATE、IRP_MJ_READ、IRP_MJ_ CLOSE 和 IRP_MJ_DEVICE_C0NTR0L。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。权利要求1.一种,其特征在于,包括以下步骤51、处理I/O请求包IRP请求类别和退出驱动请求,并安装相对应的派遣函数;52、处理用户层调用,并向内核层发出调用命令;53、在所述自定义函数中调用所述Windows内核函数时通过参数拿到传入的句柄 Handle,通过调用系统的内核函数查询该Handle对应的路径是否是文件夹路径;如果是文件夹路径,并且不包含磁盘盘符,则不进行对比;如果是文件路径,则在所述白名单中进行比较,如果该文件路径不在所要保护的文件路径的白名单范围之内说明该文件路径不在允许访问的范围之内,则将把这次非法访问文件信息记录到返回列表BackList中;54、通过用户层和内核层之间创建的共享事件,通知用户层的应用程序取回BackList 中记录的非本文档来自技高网
...

【技术保护点】
1.一种文件访问过滤方法,其特征在于,包括以下步骤:S1、处理I/O请求包IRP请求类别和退出驱动请求,并安装相对应的派遣函数;S2、处理用户层调用,并向内核层发出调用命令;S3、在所述自定义函数中调用所述Windows内核函数时通过参数拿到传入的句柄Handle,通过调用系统的内核函数查询该Handle对应的路径是否是文件夹路径;如果是文件夹路径,并且不包含磁盘盘符,则不进行对比;如果是文件路径,则在所述白名单中进行比较,如果该文件路径不在所要保护的文件路径的白名单范围之内说明该文件路径不在允许访问的范围之内,则将把这次非法访问文件信息记录到返回列表BackList中;S4、通过用户层和内核层之间创建的共享事件,通知用户层的应用程序取回BackList中记录的非法访问文件信息,用户层应用程序把该非法访问文件信息写入到日志文件中。

【技术特征摘要】

【专利技术属性】
技术研发人员:于晓军万雪松赵辰清
申请(专利权)人:北京思创银联科技股份有限公司
类型:发明
国别省市:11

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

1