APP下载

基于文件过滤驱动的移动存储介质读写控制

2011-09-22米守防

大连民族大学学报 2011年1期
关键词:存储介质存储设备管理器

米守防,苏 飞

(大连民族学院计算机科学与工程学院,辽宁 大连 116605)

基于文件过滤驱动的移动存储介质读写控制

米守防,苏 飞

(大连民族学院计算机科学与工程学院,辽宁 大连 116605)

分析了文件过滤驱动的基本技术,并基于文件过滤驱动实现了对移动存储介质的读写控制系统,从而有效保证了计算机数据的安全。

文件过滤驱动;移动存储介质;安全

近年来,信息安全问题成为人们关注的焦点。权威机构做的调查结果显示:超过 85%的安全威胁来自单位内部。而作为新一代取代软盘的移动存储设备 (如 U盘、移动硬盘、移动光驱等),因为其使用灵活、方便,使它在企业信息化的过程中迅速得到普及,越来越多的敏感信息、秘密数据和档案资料被存贮在移动存储介质里,这给企业信息资源带来相当大的安全隐患。鉴于上述的安全风险,应该对移动存储介质的使用进行管理或控制以避免无限制使用带来的风险,移动介质的控制和管理首要的是读写的控制。本文介绍了一种基于文件系统驱动过滤的移动存储介质读写控制的方法,并提供了系统设计的思路和具体实现。

1 文件过滤驱动基本原理

文件系统过滤的目标,是捕获Windows系统对文件的种种操作行为,比如文件的创建、打开、读 /写、改名 ,目录的创建、打开、枚举、改名、删除等。捕获对文件的操作,并对其进行过滤,能实现很多强大的功能,比如检查病毒、数据加密、数据备份、安全监控等[1]。用户进程对磁盘上文件的操作由W IN 32子系统调用相应的服务来代表该进程发出请求。I/O管理器接受到上层传来的 I/O请求,通过构造输入输出请求包 IRP(I/O Request Package)来描述这个请求[2],然后向下传递给文件系统驱动、存储设备驱动做后续处理,低层驱动处理完毕后把结果返回给发出请求的应用进程,整个过程如图 1。

图1 文件系统工作原理

文件过滤驱动程序是针对文件系统驱动而言。当应用程序读写文件时,I/O管理器将这些请求变成 IRP发给文件系统设备栈,文件系统驱动程序把文件系统操作转换为响应的存储设备驱动程序的操作,并通过 I/O管理器来调用存储设备驱动程序。I/O管理器支持分层驱动模型,这样可以按照人们的需求开发具有某种功能的驱动程序插入到这个层次中,捕获与读写请求相应的IRP请求,然后再向下传递或者直接向上返回结果。这样通过文件系过滤驱动程序构造附加设备对象挂载在文件系统存储设备之上,对文件操作的请求能够被过滤驱动感知,并能及时获得移动存储的硬件信息对读写请求进行控制,文件系统过滤驱动工作原理如图 2。

图2 文件系统过滤驱动工作原理

2 移动存储介质动态绑定

文件系统主要生成两类设备:控制设备(CDO)和卷设备 (VDO)[3]。文件系统驱动本身生成一个控制设备对象,这个设备对象的主要任务是修改整个驱动的内部配置。绑定控制设备对象可以实现移动存储介质的认证。另一种由文件系统生成的设备对象是文件系统“安装”的卷设备对象。对卷上的文件进行读写的 IRP都会发送到相应卷设备对象上,所以,要捕获对卷上文件的读写操作就必须绑定卷设备对象[4]。

文件过滤驱动就装载在过滤设备对象上,形成一个分层的堆栈。文件系统的设备对象总是位于堆栈的底部。任何对于设备的访问都是 I/O管理器从堆栈的顶端开始传递 IRP请求包的。如果在某个文件系统堆栈的顶端装载一个文件过滤驱动程序,则可以截获 I/O管理器对设备对象操作的所有 IRP包,通过控制 IRP包实现对设备的控制。

一个新的移动存储介质一旦被系统发现,就会在文件系统中生成一个卷,获得卷设备对象,通过 Io Register Fs Registration Change()可以绑定文件的控制设备对象。文件系统的控制设备对象会得到一个主功能代码是 IRP_M J_FILE_SYSTEM_CONTROL,次功能代码是 IRP_MN_MOUNT_VOLUM E的 IRP。文件系统过滤驱动便可以截获到的卷设备安装请求。

通过卷设备对象的获取,可以获知硬件的信息。把获取的硬件基本信息通过设备扩展进行存储。当卷被加载后,设备扩展得到数据和应用程序传递的权限控制字进行比较,实现对移动存储介质的控制。

3 读写控制的具体实现

3.1 移动介质信息获取

在WDK中有关于硬件设备的数据结构STORAGE_DEV ICE_DESCR IPTOR,用来指示存储硬件设备的基本信息。可以通过获取这个数据结构中的数据来获取对应的硬件基本信息。

typedef struct _STORAGE_DEV ICE_DESCR IPTOR {

……

ULONG VendorIdOffset;//指向供货商标识字符串,没有数据为 0

ULONG ProductIdOffset;//指向生产商标识字符串,没有数据为 0

ULONG ProductRevisionOffset;//指向产品版本字符串,没有数据为 0

ULONG SerialNumberOffset;//指向产品序列号字符串,没有数据为 -1

STORAGE_BUS_TYPE BusType;//设备连接的总线类型

……

} STORAGE_DEV ICE_DESCR IPTOR,*PSTORAGE_DEV ICE_DESCR IPTOR;

通过上述数据结构在 BusType获取可移动存储介质类型,通过 ProductIdOffset和 VendorIdOffset获取可移动存储介质的品牌和生产厂商[5]。

设备扩展主要用来维护设备状态信息、存储驱动程序使用的内核对象或系统资源 (如自旋锁)、保存驱动程序需要的数据等。由于大多数的总线驱动、功能驱动和过滤器驱动都要工作在任意线程上下文,即任意线程都可能成为当前线程,所以,设备扩展是保存设备状态信息和数据的主要空间。通过绑定的卷设备对象,把获取到的移动存储介质相关信息存储到其设备扩展中。

typedef struct_SFILTER_DEV ICE_EXTENSION

{

……

BOOLEAN IsUsbDisk;//U盘

BOOLEAN IsUsbCdrom;//可移动光驱

BOOLEAN IsRemovableDisk;//可移动硬盘

BOOLEAN IsVendorId;//厂家信息

……

}SFILTER_DEV ICE_EXTENSION,*PSFILTER_DEV ICE_EXTENSION;

上述数据结构在设备扩展中添加可移动介质的相关信息判断。

3.2 移动介质控制流程

在局域网内,客户端加载过滤驱动,从服务器端读取控制权限字,通过 Device IoControl()函数将控制码和请求一起传递给驱动程序。当可移动介质被加载后,获取移动存储介质相关信息,填写PDEV ICE_EXTENSION等参数。在读写派遣函数中,首先对设备扩展信息进行判断,然后判断控制字是否匹配。这样就可以实现对可移动存储介质的控制,赋予其相应的读写权限。控制方法流程图如图 3。

4 结 论

移动存储介质安全管理是信息安全管理的重要组成部分,用户程序对磁盘的访问请求被 I/O管理器打包成 IRP向下传递给文件系统驱动、存储设备驱动对其进行处理,处理完毕把结果返回给出发出请求的用户进程,这个过程如图 1所示。当移动存储设备接入系统时主功能代码 IRP_M J_FILE_SYSTEM_CONTROL,次功能代码 IRP_MN_MOUNT_VOLUM E的安装请求 IRP便可以被过滤驱动截获。在安装过程中通过赋予移动介质不同读写权限来实现对移动存储介质的控制,从而防范移动存储介质可能引起的不安全因素来实现移动存储介质应用的安全性。该技术已经集成到了局域网安全控制系统中投入使用,取得了很好的效果。

图3 移动介质控制流程

[1]谭文 ,杨潇 ,邵坚磊 ,等. 寒江独钓 ——Windows内核安全编程[M].北京:电子工业出版社,2000.

[2]武安河.Window s2000/XPWDM设备驱动程序开发[M].2版.北京:电子工业出版社,2005.

[3]侯兴超.基于移动存储设备管理的主机防信息泄漏系统研究与设计[D].西安:解放军信息工程大学,2007.

[4]王黎,蔡皖东.移动存储介质安全管理系统设计与实现[J].信息安全与通信保密,2007(2):119-121.

[5]王立明,米守防,苏飞,等.Windows下基于 IRP机制的存储设备[J].大连民族学院学报,2010(3):244-246.

(责任编辑 刘敏)

Removable Storage Device Control of R/W Based on File Filter Drive

MI Shou-fang,SU Fei
(College of Computer Science&Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China)

The basic technology of file filter drive are analyzed.The removable storage device control of R/W based on file filter d rive are relized.The safety of computer data are kept in the devise.

file system filter deriver;removable storagem edia;security

TP309 < class="emphasis_bold">文献标志码:A

A

1009-315X(2011)01-0049-03

2010-06- 07;

2010-09-16

米守防 (1978-),男,回族,山东邹城人,工程师,主要从事计算机应用技术研究。

猜你喜欢

存储介质存储设备管理器
应急状态启动磁盘管理器
Windows文件缓冲处理技术概述
档案馆移动存储介质管理方法探讨
一种使用存储介质驱动的方式
Windows 7下USB存储设备接入痕迹的证据提取
基于Flash芯片的新型存储设备数据恢复技术研究
高集成度2.5A备份电源管理器简化锂离子电池备份系统
用批处理管理计算机USB设备的使用
医院环境下移动存储介质的信息安全管理
在Win 7下利用凭据管理器提高访问速度等