Windows下文件过滤驱动技术
文件系统过滤驱动

1 引言文件系统过滤概述文件安全性问题已成为当今信息科学领域最重要的课题之一。
目前,解决这个问题的主要技术手段有两种:一是利用应用层HOOK(钩子)技术,对Windows 提供的文件操作函数(API)及由文件操作所触发的Windows消息进行HOOK,经过适当的处理达到预期目的,缺点是效率低、稳定性和一致性差,不适合于大型系统的开发;另一种是开发文件过滤驱动程序,文件过滤驱动作为一种内核态中间层驱动,不需要改变下层驱动或用户程序而增加新的功能,具有效率高、可靠性强、可扩充等特点,成为现阶段信息安全技术研究的热点。
1.1 文件过滤驱动在信息安全领域的应用1 文件加/解密文件过滤驱动程序可以实现对指定文件、目录,甚至整个逻辑盘的加/解密功能。
当文件在写入磁盘的过程中,截获所有对该文件的IRP_MJ_WRITE,在其分发例程中对IRP携带的数据进行加密处理后写入磁盘;文件被从磁盘读取的过程中,截获所有对该文件的IRP_MJ_READ,在其分发例程中对IRP携带的数据进行解密处理后向上层返回。
加密后的文件在磁盘中以密文形式存储,保证了数据存储的安全性。
2 病毒防护应用程序在创建一个新文件或打开一个已存在文件时,文件系统过滤驱动程序截获IRP_MJ_create,判断被打开文件是否存在和病毒特征代码库相匹配的特征,若存在,说明文件感染了病毒,失败掉该IRP,拒绝打开;否则,使IRP继续向下传递,完成正常的打开操作。
3 进程控制为了防止恶意进程的破坏,有时需要规定只允许某些经过安全验证的特定进程对受保护的文件进行访问,其他不在规则范围内的进程不允许访问。
我们可以通过系统提供的PsGetCurrentProcessId、PsGetCurrentThreadId等API函数得到发起I/O请求的进程及线程的相关信息,如:获得发起进程名称,与安全访问规则(进程白名单)中的可信进程相比较,若该进程位于规则中,说明信任其行为是安全的,允许访问受保护文件;否则,拒绝访问。
WindowsTDI过滤驱动开发(学习资料)

[版权所有] 本文作者是楚狂人,代码来源于开源工程tdifw与DDK的例子, 有问题欢迎与我联系讨论。
mail:******************* QQ: 16191935 msn:************************----------------------------------------------------------- Windows TDI过滤驱动开发 目 录(0) TDI概要(1) 准备工作(2) TDI设备与驱动入手(3) 绑定设备(4) 简单的处理请求(5) 基础过滤框架(6) 主要过滤的请求类型(7) CREATE的过滤(8) 准备解析ip地址与端口(9) 获取生成的IP地址和端口(10) 连接终端的生成与相关信息的保存(11) TDI_ASSOCIATE_ADDRESS的过滤(12) TDI_CONNECT的过滤(13) TDI_SEND,TDI_RECEIVE,TDI_SEND_DATAGRAM,TDI_RECEIVE_DATAGRAM(14) 设置事件(15) TDI_EVENT_CONNECT类型的设置事件的过滤(16) 一个传说中的问题(17) 收尾与清理的工作(0) TDI概要 最早出现的网络驱动应该是网卡驱动,这是Windows的理所当然的需求,为了进一步分割应用程序的网络数据传输与下层协议直到下层硬件的关系,又出现了协议驱动,后来微软和硬件商联合制定了NDIS标准,作为从硬件到协议的内核驱动程序的调用接口标准,而协议驱动与应用层的API之间,则出现了TDI接口。
最近国内安全软件的开发兴起,网络驱动的开发在其中有不少的应用,如果我们学习TDI接口的话,可能有以下一些目的: 自己要开发协议驱动,向上提供TDI接口,这种可能性存在,但不广泛。
我们想自己调用TDI接口,来进行网络数据传输,意义不大。
我们对TDI进行协议层过滤,开发防火墙或类似安全监控软件,这种应用还是比较多的。
Windows 文件过滤驱动经验总结

P 后什么都不做,直接调用 IoCompleteRequest() 来返回。 (2) 拿到这个 IRP 后什么都不做,直接传递到底层设备,
使用IoSkipCurrentIrpStackLocation() 后调用 IoCallDriver() 传递。 (3) 使用 IoBui
ldSynchronousFsdRequest() 或 IoBuildDeviceIoControlRequest()来建立 IRP 的。
Windows 文件过滤驱动经验总结 1、获得文件全路径以及判断时机 除在所有 IRP_MJ_XXX 之前自己从头创建 IRP
发送到下层设备查询全路径外,不要尝试在 IRP_MJ_CREATE 以外的地方获得全路径,因为只有在 IRP_MJ_CREATE 中才会使
用 ObCreateObject() 来建立一个有效的 FILE_OBJECT。而 在 IRP_READ IRP_WRITE 中它们是直接操作
TION 等 IRP 不要去管它,因为它只是一个过程。最终读 写还是如上所介绍。至于以上这些 IRP 哪个是由 CC MGR 发送的,哪些是由
I/O MGR 发送和在什么时候发送的,这个已经有很多讨论了,相 信可以找到。
7、举例说明关于 IRP 传递与完成注意事项 只
看 Walter Oney 的那本 《Programming the Microsoft Windows driver model》里介绍的
其是你要达到一些特殊目的,这时候更需要注意,如 IRP_MN_QUERY_DIRECTORY,不同的标志结果有很大的不同。 3、从
头建立 IRP 获取全路径注意点 自己从头建立一个 IRP_MJ_QUERY_INFORMATION 的 IRP 获取全路径时需要注意,不
Windows文件系统过滤驱动在防病毒方面的应用

Windows文件系统过滤驱动在防病毒方面的应用发表时间:2009-10-1 刘伟胡平来源:万方数据关键字:文件系统过滤驱动防病毒病毒特征码信息安全信息化应用调查我要找茬在线投稿加入收藏发表评论好文推荐打印文本在操作系统内核层,对用户模式应用程序请求读写的磁盘数据进行病毒扫描。
介绍文件系统过滤驱动的工作原理,利用文件系统过滤驱动,捕获用户应用程序发往目标文件系统驱动的磁盘操作请求,进而获得这些操作请求的处理权,论述防病毒的工作原理,利用文件扫描程序扫描文件系统过滤驱动程序截获的文件数据,并与特征码库中的病毒特征码进行匹配。
若匹配成功,则通知用户模式应用程序进行处理;否则,不做处理,防止从磁盘读取病毒文件或将病毒文件写入磁盘。
0 引言近几年计算机病毒也正以惊人地速度蔓延,对计算机及其网络系统的安全构成严重威胁。
本文提出利用文件系统过滤驱动,捕获用户应用程序向磁盘写入或读出的文件数据,对其进行扫描,并与病毒特征码库中的病毒特征码匹配,以判断是否是病毒文件或染毒文件:根据扫描结果确定是否为病毒文件或染毒文件,以及是否与用户模式应用程序进行通信。
文件系统过滤驱动运行于操作系统内核,其安全性得到操作系统的保证,安全性较高。
1 文件系统过滤驱动原理文件系统过滤驱动是针对文件系统而言的,属于内核模式程序,运行于操作系统的内核模式,仅能附着到目标文件系统驱动的上层。
文件系统驱动是存储管理子系统的一个组件,为用户提供多种手段,将信息存储到永久介质(如磁盘、磁带等),或从永久介质获取信息。
图1显示了文件系统过滤驱动和文件系统驱动与用户应用程序之间的服务关系,应用程序对磁盘发出的操作请求,首先到达 I/O子系统管理器。
在进行读写磁盘数据的时候,缓存管理器会保存最近的磁盘存取记录,所以在接收到应用程序读写磁盘的操作请求后,I/O子系统管理器会先检查所访问的数据是否保存在缓存中,若缓存中有要访问的数据,I/O子系统管理器会构造Fast I/O请求包,从缓存中直接存取数据;如果所需数据不在缓存中,I/O子系统管理器会构造相应的IRP,然后发往文件系统驱动,同时缓存管理器会保存相应的记录。
windows文件核心驱动结构简介、FileMon例程简介、开发注意要点

本帖子是《注册表实时监控拦截》的下篇,也是本系列的最后一篇。
主要讲述如何自己动手做一个在windows系统下的文件操作拦截的小驱动。
利用本驱动,可以实现对本机的所有文件操作请求进行实时监视、拦截,可以完全保护文件系统,在此基础上的进行深入开发后,可以做到文件加密、病毒防护等功能。
本帖子分三个部分:windows文件核心驱动结构简介、FileMon例程简介、开发注意要点。
一、windwos文件核心驱动结构简介在windows操作系统中(NT以上版本),规定了一套严格的文件操作请求处理流程,总体结构如下图:在图中上部分有一条虚线,这是“用户态”软件和“核心驱动”的分界线(用户态软件可以理解为普通的、可见的软件,如各类exe类型的软件)。
当用户态软件需要操作文件时,则发出文件操作请求,然后统一发送给系统的I/O管理器,I/O管理器把这个操作请求依次向下传递给“文件系统驱动”、“磁盘驱动”等,后者执行真正的文件操作。
上图是在本机上进行文件操作的流程,那么在访问网络上的文件,则处理流程如下:可以看到,在目标计算机(即文件所处的计算机)上,文件操作请求同样经过了“本地文件系统”和“磁盘驱动”,在这一点上,两者没有区别。
那么,如果我们要自己做一个文件的驱动,应该放在什么位置?下图给出了详细的“自定义驱动”的插入位置:图中以深色表示的部分,即留给用户可以插入“自定义驱动”的位置,可以看到,新插入的驱动和系统的驱动是“串接”在一起的。
所以,所有的文件操作均会通过“自定义驱动”(当然了,如果有人又开发了另外一个驱动,并插入到你所开发的驱动的下面,然后不通过正规的文件驱动而是直接发送消息到下层他的驱动,这样是拦截不到的)。
此时,你可以在你的驱动中很悠闲地处理这些请求,而且想啥时候丢弃、修改这些文件请求,那是全凭自己的心情了。
二、FileMon例程简介在了解了windows文件核心驱动的大致结构后,我们可以动手来试试了。
Windows文件系统过滤驱动开发教程(第二版)

-1. 改版序
大约两年以前我在驱动开发网上发表了一组描述如何开发 Windows 文件系统过滤驱动的文章。非常庆幸这些文章能 给大家带来帮助。
原本的文章中我使用了自己编写的代码。我不打算在这里论述代码风格的优劣并发起一场辩论,无可怀疑的是,读者们 大多喜欢看到类似微软范例的代码。为此我把文章中的代码换成微软标准的文件过滤驱动范例 sfilter 的代码。赠于喜欢此 书的读者和驱动开发的后来者们。
WindowsNT文件系统过滤驱动的原理及应用

信息安全与通信保密·2007.9 115
学术研究
Academi c Research
操作并将响应信息发给代理行。 (7) 代理行主机接收到信息后将是否允许交易的指令发
给 A T M 机。 (8) ATM 接收到指令信息,作出相应响应。 (9) 交易结束,用户取款后拔卡离去。
4 结语
此,商业银行在建立 HHS安全信息体系中需充分考虑各种可 能导致安全泄密的细节。
参考文献 [1] 约翰森. 信息技术风险管理的目标[N]. 英国:金融时报, 2006,11,29. [2] Glaessner T,Kellermann T. Valerie McNevin Electronic
Security:Risk Mitigation In Financial Transactions[R] The World Bank working paper,2002,(6):43~49. [3] Glaessner T,Kellermann T. Valerie McNevin Electronic Safety and Soundness:A Four Pillar Approach[R]. The World Bank working The World Bank working paper,2003,(10):12~15. [4] 中国银行业监督管理委员会. 银行业金融机构信息系统 风险管理指[EB]. http://www.cbrc.gov.cn,2006 11. [5] The World Bank Global Dialogue Electronic Safety and Soundness[R]. The World Bank working paper, 2003,(10):5~13. [6] 孙玉冰,林作铨. 层次安全体系及其在银行 ATM 网络 中的应用[J]. 计算机应用研究,1999,(6):34~40.
一种基于文件过滤驱动的Windows文件安全保护方案

收稿日期:2008-07-10;修回日期:2008-09-16。
基金项目:国家自然科学基金资助项目(60873024);湖北省教育厅重点研究项目(D2*******)。
作者简介:胡宏银(1972-),男,湖北大悟人,讲师,硕士,主要研究方向:软件工程、信息安全; 姚峰(1976-),男,山西大同人,讲师,硕士,主要研究方向:软件工程; 何成万(1967-),男,湖北荆门人,副教授,博士,主要研究方向:软件工程。
文章编号:1001-9081(2009)01-0168-04一种基于文件过滤驱动的W indo ws 文件安全保护方案胡宏银,姚 峰,何成万(武汉工程大学计算机科学与工程学院,武汉430073)(huhongyin@hot m ail .com )摘 要:针对提高文件安全级别需要较高安全成本问题,提出了一种低成本高安全的W indows 文件保护方法。
该方法采用W indows NT 驱动框架,基于文件系统过滤驱动技术实现对文件进行透明加解密。
文件内容用快速的对称算法加密,并且一文件一密钥。
文件密钥用安全性更高的非对称算法加密,加密密钥保存于专用密钥文件中,用户私钥存放在密钥U 盘里。
在此基础上,提出了一种文件安全共享的方法。
分析和应用表明,该方案在增加较少硬件成本基础上,可有效保护存储设备遗失或被盗、管理员密码被破解、文件共享时的文件安全。
关键词:文件系统过滤驱动;对称加密算法;非对称加密算法;密钥文件;加密文件共享中图分类号:TP309 文献标志码:ASoluti on of W i n dows f iles secur ity protecti on ba sed on f ile system f ilter dr i verHU Hong 2yin,Y AO Feng,HE Cheng 2wan(School of Co m puter Science and Engineering,W uhan Institute of Technology,W uhan Hubei 430073,China )Abstract:I n order t o s olve the p r oble m that enhancing files security needs high cost,a s oluti on t o W indows files security p r otecti on with l ow cost was p r oposed .It was based on W indows NT driver and file system filter driver t o encryp t and decryp t the files .File content was encryp ted with fast sy mmetrical encryp ti on algorith m,and every file had one encryp ti on key .File encryp ti on key was encryp ted with safer asy mmetrical encryp ti on algorith m,and encryp ted encryp ti on key was saved in the encryp ti on key file .Thr ough st oring the p rivate key in the U disk,the syste m security was enhanced .Additi onally,a method of encryp ted file share was intr oduced int o this paper .Analysis and app licati on results show that when the me mory is l ost,ad m inistrat or pass word is cracked and files are shared,and the s oluti on can enhance file security with l ow cost .Key words:file syste m filter driver;sy mmetrical encryp ti on algorith m;asy mmetrical encryp ti on algorith m;encryp ti on key file;encryp ted file share0 引言计算机和网络的普及使得计算机中文件的安全性成为关注的焦点和研究的热点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
’。 ●_ 。●● ' ’
‘。。●。。。。。。。。 。。。。。 。。。。。。。。_。。。。。。。。—
—
}
应用程序
{
———厂————— _—一
应用层
一 b‘o请 一·一封[据一 一 一 一 一 一 一 一 一 一 一
I文件 过滤 驱 动
Windows的 I/O 管理 器 是一 个可 扩 展 的结构 ,通过 开发 过滤 驱 动程 序 可 以扩展 I/O 子系统 的功 能 。 I/O管 理器 支 持分 层驱 动程 序 模型 ,每 个 I/O请 求 包 (IRP,I/O request package)的处 理分 别经 过 各层 驱动 程序 ,直 到某 层 驱 动程 序 完成 这个 请 求【 。 1.1过滤 驱 动程 序
允 许修 改 已有 驱动 程 序在 某些 方面 的行 为 ,而 不 必 重 写整 个驱 动 程序 。
图 1文 件过 滤驱动 工 作模型
作 为 一种 内核 态 中 间层 驱 动 ,只 需对 下层 的文 件 系 统 驱 动作 相应 的 功能 扩展 ,加 密 粒度 灵活 、可 靠性 强 、 效 率 高 、易于 扩展 。
·74 ·
M icrocomputer Applications Vo1.32,No.8,2016
开发 应用
微 型 电脑 应 用 2016年第 32卷第 8期
借助 于 Windows的 可安 装文 件 系统 IFS,Installable File System 设 备驱 动 程序 开 发工 具 DDK,Device De. velopment Kit),即 可 以 对 W indows I/O 的 子 系 统 进 行 方 便 的扩展 ,实现 一个 文 件 加密 过 滤驱 动程 序 。此 程 序有 如 下 特 点 :
2 文件 安 全保护
作 者 简介 :徐 国栋 (1981.),男 ,上 海其祥 电脑系 统工 程有 限公 司 ,工程 师 ,硕 士 ,研 究方 向:信 息 安全与 网络 通讯 ,上海 200237 朱 亮 (1983.),男 北 京科瑞 科 技发展 股份 有 限公 司,硕 士 ,研究 方 向:信 息 安全与 系统 应用 ,上 海 ,100097
过滤 驱 动 工作 在系 统 驱动 层和 应 用层 之 间 ,透 明地 截取 发 往低 级 驱动 程序 设 备对 象 的请 求 ,低 级驱 动程 序 的用 户 完全 不 知道 它们 的请 求被 过滤 器 驱动 程序 预 处理 和截 取 了 。使 用 过滤器 驱 动 程序 可 以实 现 以下 几种 主要 功 能 :
不必 修改 基本 的 设备 驱动 程序 或 者使用 设备 的程 序 。 1.2 文件 系统 过 滤驱 动
文件 系 统是 负责 为用 户 建立 、存 入 、读 出 、修 改、 转 储 文件 ,控 制 文件 的存 取 与撤 销 。文件 系 统过 滤驱 动 工 作模 式 如 图 1所 示 :
J-’。。H。- ● ●
0 引言
随着 企事 业 单位 的快 速 发展 ,电子 文档 为 企事 业单 位 承 载 了越来 越 多 的重要 信 息 。而 由于 电 子文 档 的容 易 散 播性 ,导致 企事 业单 位 的重 要 资料 很容 易被 非法 获 取 、 篡 改 、乃 至无 序 传播 等 ,这 使得 企 事业 单 位所 做 的大 量 工 作付 之 东流 ,严重 危 害 了 自身的 利益 。特 别 是棱 镜 门 事 件 后 ,文档 安 全 的重 要性 也 日益 受到 重视 。文件 安全 管 理 就是 为 了提 高 电子 文档 数据 的 安全 性 和保 密性 、防 止 秘 密数 据被 意 外 、或 非法 获取 所采 用 的技 术手 段 。
驱 动 技 术 基础 上 ,结 合 安 全 加 密 技 术 与 权 限 控 制 技 术 ,实 现 了一 个 安 全 、 易用 、 管 理 方 便 的安 全 文 件 系 统 。
关键 词:文件过滤驱动 ;I/O请 求包;基 于角色的访 问控制
中 图 分 类 号 :TP183
文 献 标 志 码 :A
M icrocomputer Applications Vo1.32,No.8,2016
开发 应用
微型 电脑 应 用 2016年第 32卷 第 8期
文章编号 :1007-757X(2016)07—0074—02
Windows下文件过滤驱ຫໍສະໝຸດ 动技术 徐 国栋 , 朱 亮
摘 要 :W indows文件 过 滤驱 动 在 不 改 变 复 杂 的 文件 系 统 基础 上 ,可 方便 地 扩 展 I/O 予 系统 的 功 能 。在 深 入研 究 了文件 过滤
File Filter Diver On W indows
Xu G uodong,Zhu Liang
(Shaanxi Defence Vocational and Technical College,Xi’An 710300,China)
Abstract:Via file filter drivel the FO subsystem call be ex ̄nded easily without cha n ging the complex f ile system.Combined wit h cryptography an d access control technology,a security file system is realized. K ey w ords:File Filter D river;I/O request package;Role—Based Access Contro1.
密码 学 是信 息系 统 安全 的核 心 ,它 是研 究 密码 系 统 和 通 信 安全 的 一 门学 科【“。密 码 学 的基 本 功能 是提 供 保 密 性 ,使 非授 权 者无 法 获悉 消息 的 内容 。
可 以更加 容 易地 隐藏 低级 驱动 程序 的 限制 。 允许 把诸 如 压缩 、加 密 等新特 征 添加 到 设备 上 ,而