◆王飞平 郑秀琴
基于Minifilter的USB设备敏感文件泄露监控系统
◆王飞平 郑秀琴通讯作者
(衢州职业技术学院 设备与实训管理中心(信息中心) 浙江 324000)
终端可移动存储设备上文件信息泄露是一个严重的问题,提出一种基于Windows文件系统微过滤框架(Minifilter)与POI的USB设备敏感文件泄露监控方案。利用Minifilter过滤框架,在可移动存储设备上对文件创建与写入行为进行拦截,实现敏感文件信息泄露监控。分析及实验结果表明,该方法能对USB设备敏感文件信息的泄露有较好的监控与审计。
文件系统微过滤驱动;WM算法;POI框架;敏感文件信息
网络信息时代,用于传递信息的可移动存储设备必不可少。正因如此,可移动存储设备已成为信息泄密的重要工具,由此引发的信息泄露问题日趋严重[1]。为保障可移动存储设备文件信息的安全,目前采用的方式主要有数据加密[2]与设备权限访问控制[3]。数据加密在很大程度上缓解了可移动存储设备信息泄密,但存在加密数据外带不便等问题。设备权限访问控制通过控制设备读写操作行为,较好的控制数据可移动存储设备复制数据,但因无法区分正常与非法操作,导致非敏感文件、数据也被拦截。基于上述应用过程中的问题,对办公类文件敏感内容过滤分析的需求应运而生。通过文件名及后缀查找[4]敏感信息,在一定程度上可检测文件名导致的信息泄密,但对于通过内容泄密的问题收效甚微。本文根据实际需求,构建一个USB设备的敏感文件泄漏检测系统,发现敏感文件试图在USB设备上传输时,发出告警信息。对敏感文件在USB设备上的传输行为通过Ring0层的Minifilter监控实现,Minifilter与Windows文件系统无缝集成,理论上能过滤所有的文件操作行为。对Office类文件内容分析采用Apache POI提取文本信息后采用WM[5]算法过滤敏感关键词信息。本文首先介绍了本系统的目标,其次介绍了USB设备上文件操作行为监控的原理,再次介绍了系统关键模块的实现,最后对整个监控系统做了功能与性能测试。
为了解决实际应用中的问题,使本文介绍的USB设备文件监控方案更具有实用性与安全性,提出以下目标:
(1)效率高,因其工作在操作系统Ring0层,性能损失小,基本不影响可移动存储设备传输文件的速度;
(2)监控全面,基于Minifilter框架实现监控,直接绑定在真实的文件系统上,无须区分文件后缀,理论上可以拦截USB设备上所有的文件操作行为;
(3)监控无延迟,因其工作在操作系统Ring0层,与应用层API HOOK监控方案[6]每次进出启动都需要注入dll导致监控生效延迟有区别;
(4)完备的告警日志,日志项包括:操作进程名称、进程PID、文件名称、敏感关键词、机器名称、访问时间;
(5)安全性高,基于Ring0级进程保护,防止监控系统本身被恶意程序终止;
在采用NT技术框架的Windows操作系统中,文件系统是I/O子系统的重要组件。对于单个文件访问请求而言,应用层API接口将请求通知I/O管理器,I/O管理器将参数填充成IRP(I/O Request Packet)包逐级传递给下层驱动程序。Minifilter相对于传统的sfilter[7]是一种新型的过滤器模型(Legacy Filter),它提供的接口解决了sfilter里面的重入问题,同时也提供了一种应用程序与驱动相互通信的方式,其中FilterManager通过检测文件系统的变化而绑定、解绑定文件系统设备,绑定操作之前先检查该设备对象是可移动存储设备。Minifilter通过注册过滤器回调接口,接管I/O管理器下发的IRP请求,经本层过滤器驱动处理后,逐级传递至底层设备驱动程序完成该IRP请求,通过该机制监视可移动存储设备上的文件操作行为。Minifilter原理如图1所示。
图1 Minifilter原理
监控系统包括以下几个模块:USB设备文件访问行为监视模块、POI框架解析Office文本内容模块、WM算法检索关键词模块、数据初始化模块、告警日志管理模块。USB设备文件访问行为监视模块负责提供文件操作事件,POI模块负责提取Office文件文本内容信息,WM算法检索关键词模块负责检索文本内容中的敏感关键词信息。如图2所示。
图2 系统结构图
系统工作流程如下:
(1)编辑敏感关键词检索规则,建立敏感关键词信息库;
(2)用户拷贝doc文件至可移动存储设备;
(3)Minifilter监控模块收到写入行为后以事件方式通知POI内容提取模块;
(4)POI内容提取模块将文件名等信息入队列,设置事件通知业务线程池提取该文件文本内容信息;
(5)将提取到的文本内容提交WM关键词检索模块,若包含敏感关键词信息,则记录告警日志行为,反之不处理;
通过Filemon分析USB设备上写文件操作行为发现,写文件时都会有如“CREATE-WRITE-CLEANUP-CLOSE”的操作流程。在CREATE后操作回调例程[8]中,获取文件全路径及进程PID信息后创建文件上下文与文件绑定。在CLOSE后操作回调例程中,根据当前上下文信息获取文件操作信息,将文件信息新增至队列并通知应用程序有新的“写”事件发生。CREATE后操作流程如图3所示。
图3 CREATE后操作流程图
CREATE后操作流程:
(1)首先获得操作对应的卷上下文,若无上下文信息,说明非可移动存储设备上的CREATE操作;
(2)排除目录操作,只过滤文件操作。获取文件全路径信息与进程相关信息;
(3)创建文件上下文信息,并将其与文件绑定;
CLOSE后操作流程:
(1)获取卷上下文,若无上下文信息,说明非可移动存储设备上的CLOSE操作;
(2)获取文件上下文,若无上下文信息,系统出错;
(3)将文件信息插入等候队列同时通知应用程序有新的USB设备写操作事件;
Minifilter拦截CREATE与CLOSE后操作的函数原型为:
FLT_POSTOP_CALLBACK_STATUS NTPostOper(PFLT_CALLBACK_DATA Data,
PCFLT_RELATED_OBJECTS FltObjects,
PVOID CompletionContext,
FLT_POST_OPERATION_FLAGS Flags);
参数Data为文件信息,FltObjects指向Minifilter的实例,CompletionContext为自定义上下文,Flags为缓冲区标记。
Apache POI[9]框架提供对Office格式文件读和写的功能。本系统封装POI接口,利用线程池提取Office类文件文本内容信息,该模块根据文件后缀名区分类型调用对应的POI组件提取Office标题、正文内容信息,提取后的信息以json格式存储。POI框架提取文本过程如图4所示。
图4 POI框架提取文本内容图
因关键词规模可能较大,为保证检索速度,采用多模匹配算法-WM算法,将POI框架提取的文本信息与敏感关键词库中的数据比较,若匹配成功则该文件包含敏感信息。WM算法是对单模匹配算法BM[10]的扩展,包括三张核心表:shift表用于记录文本字符串向右移动的长度,prefix表用于记录所有模式字符串前缀与模式字符串本身的映射关系,而hash表用于记录所有模式字符串后缀与模式字符串本身的映射关系。其核心是采用字符串计算shift表进行跳转,用prefix与hash表计算前后缀的哈希值从可选结果中迅速检索到完全匹配的子串。
主机:Intel(R) Core(TM) i5-3320M,16GB内存,Win7 X64系统。
依次向可移动存储设备上拷贝一个文件名为“test.doc”和“test1.xlsx”的文件,test.doc文件内容包含关键词“qzct”,test1.xlsx文件内容包含关键词“testct”和“qzct”,告警日志如图5所示。
图5 告警日志
本文分析并阐述了Minifilter和POI在可移动存储设备敏感文件监控系统中的应用以及监控系统的设计与实现方法。实验结果表明:该方法可以高效的监控通过USB泄露敏感文件的行为。因Minifilter工作在操作系统Ring0层,故此方法与文件格式无关,具有很好的扩展性,理论上可以监控任意后缀名的文件。如需过滤分析PDF格式文件内容,只需增加对应的PDF内容解析模块即可。
[1]杨思燕.USB可移动存储设备监控软件研究与实现[J].计算机技术与发展,2013,23(12):151-154+160.
[2]陶珉. 基于文件过滤驱动的透明加密系统的设计与实现[D].电子科技大学,2012.
[3]赵远. 基于安全终端的U盘用户访问控制技术研究[D].南京理工大学,2009.
[4]王晓箴,严坚,吴焕,刘宝旭.Ring0层敏感文件窃泄密监测系统[J].计算机工程,2011,37(08):19-21.
[5]Wang,L.-X. and Mendel, J.M. (1992) Generating Fuzzy Rules by Learning from Examples. IEEE Transactions on Systems, Man,and Cybernetics,22,1414-1427.
[6]徐思明,薛质.Windows进程信息注入与API挂钩技术研究[J].信息安全与通信保密,2010(10):61-63.
[7]马尧. 基于文件系统过滤驱动的PC文件防护系统的研究与实现[D].兰州大学,2012.
[8]严仪健,王钧,邹乐,孟桥. Windows驱动程序设计[J]. 微型机与应用,2001(08).
[9]Anonymous. Microsoft Corp.; Microsoft and Sourcesense Partner to Contribute to Open Source, Apache POI to Support Ecma Office Open XML File Formats[J]. Computer Technology Journal,2008.
[10]A fast string searching algorithm[J] . Robert S. Boyer,J. Strother Moore. Communications of the ACM . 1977(10).