首页
社区
课程
招聘
[求助]请问如何防止文件外泄?hook?文件过滤驱动
发表于: 2016-8-5 15:58 10946

[求助]请问如何防止文件外泄?hook?文件过滤驱动

2016-8-5 15:58
10946
初来乍到,windows核心编程领域几乎一窍不通,也好久没开发windows下的项目了,最近做个安全项目,需要检测拦截copy到USB、SD卡、光驱、打印机、共享目录、以及烧录到 CD/DVD 的文件。以及应用程序比如QQ外发文件。需要适应windows xp、win7、8、10。

大体流程就是对以上行为进行实时监控,发生文件copy到时,对文件进行检查(已经做完),如果文件敏感,阻断文件copy和传输。

其实跟文件的落地的病毒检查很像,只不过病毒检查检查的入的动作,我们检查的出的动作。

查了一些资料的解决办法,集中提到了hook和文件过滤驱动。但是思路还比较混乱,希望有经验的大侠指点指点。我的疑问主要如下。

1.hook和文件过滤驱动分别适合哪些场景,哪种更适合我的需求?或者我需要混合使用?

2.在哪个层面做,才能拿到文件的完整路径,并阻止文件外发。

3.因为不想影响终端的性能,所以我们的被监控的种类是有限的(usb,sd,光盘,打印机等),所以c盘到d盘这种copy其实不需要监控。那么我需要hook哪些函数比较合适,或者我需要控制哪些文件过滤驱动拦截的IRP,才能尽量通用?就是既能监测到usb,又能拦截光盘刻录。我需要对usb,光盘、打印机分别控制过滤驱动拦截吗?

4.需要适应windows xp、win7、8、10。这几个windows版本的驱动或者hook通用吗?我需要开发多个版本吗?

因为了解不是很清楚,可能问题描述有些问题,先谢谢了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 1392
活跃值: (5202)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
驱动还是应用层 这些什么的技术还是次要的。 一些关键点要想清楚。
比如QQ外发。 ReadFile你读取了一个文件。你如何知道他是外发,还是自己使用? 网络数据流和文件流对比?
防君子还是防小人?
光驱 USB 蓝牙红外这种可以过滤驱动解决。
win上做兼容肯定要做多个版本的。一般两个版本是XP及其以下。VISTA及其以上
你提的这些问题要是都给你回答完毕,加上策略控制。就自己能做一个完整的DLP产品了,哪有那么容易啊。
2016-8-5 16:16
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你好,谢谢你的回复,我们就是做类似产品的,只差桌面终端这部分。防君子。不通过网络数据流去监控的,我们有相应的网络产品和技术,服务器和网络的技术公司都有积累。但是windows这块是我们公司的弱项。终端上肯定是希望通过文件数据流去做匹配。

我们公司对驱动和HOOK的积累几乎为零,可以说完全不清楚,目前在预研,但是项目紧,不想走太多弯路。
1.对于光驱 USB 蓝牙红外这些希望,传输和copy发生时,拿到文件的路径,能够识别目标位置的类别,并且能够阻断该行为,我们现在混乱在没有经验,比如说做在驱动层,不知道是应该做在文件驱动层面,还是说分别做在usb、光驱等驱动的层面。在文件的驱动层面能不能识别目标设备?
2.对于QQ外发的问题,文件驱动层面截获能否识别属于哪个应用程序的动作,能否判断是QQ的动作,有没有进程ID等标识可以获取?至于判断是否属于外发这个确实也是我们想知道的。
3.xp和7以上两个版本的问题先谢谢您了,至少我们知道方向了,是指Minifilter和sFilter作两个版本吗?
4.对于windows共享目录这种文件,我们在什么层面监控过滤能判断出目标地址属于共享目录?
2016-8-7 12:57
0
雪    币: 144
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
坦白的跟你讲,如果公司没有这方面的技术积累,而想做这种文件过滤驱动,是很麻烦的。控制文件的复制行为,必须区分该动作的来源,某个程序打开某个文件都会产生句柄操作。而识别这种行为是合法和非法,是很麻烦的。不管是用户直接发起的文件操作行为,还是某个特定程序发起的行为。
2016-8-7 14:51
0
雪    币: 144
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我们往往能够做的,是针对用户某些特定的行为,使用特定的策略。解决你的需求,是一个策略集合,而且是一个增加的策略集合。就像杀毒一样,我们建立一个足够复杂的规则库,以拦截常规的文件复制操作。但是很多未知的情况,我们没法识别,往往是动态增加新的规则。
2016-8-7 14:56
0
雪    币: 144
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这类软件一般就是:通用可靠的常规拦截规则+动态增加的规则。其他未知的情况,往往要靠主动发现去弥补
2016-8-7 14:57
0
雪    币: 245
活跃值: (93)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
百度 “透明加密”
2016-8-7 16:00
0
雪    币: 1392
活跃值: (5202)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
8
一般来说对于USB蓝牙光驱等都是做 完全不可用 只读 禁用三种状态,不会去看是不是拷贝文件的操作。
拷贝实质上和新建文件写文件一个概念,从电脑C拷贝一个a.txt文件到USB被你拦截了。那我USB新建一个b.txt。打开b.TXT  CTRL+C CTRL+V拷贝a.txt里面的内容到b.txt保存,你拦不拦截呢?
minifilter可以做拷贝到USB的拦截,不过我不知道怎么实现的

越到底层你可以控制的东西越多,但是应用层的信息就越少。控制君子无意识的拷贝这种 应用层全局HOOK CopyFile之类的比较稳定。minifilter没有个一定经验写出来也谈不得稳定好用。
2016-8-8 08:27
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
之前一家公司用过一个和你们产品一样功能的软件   <虹安加密>也是根据规则拦截COPY动作,包括文件加密功能,在没有安装的机器上打开安装过这个软件的机器上的文件都是乱码,你可以了解参考一下
2016-9-15 13:47
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
您好,我的邮箱是464713256@qq.com,你说的功能目前解决了吗?我们也是网络端的dlp搞定了。但是客户端情况和你一样,也是什么都不清楚。指点下!谢谢!
2018-3-27 14:08
0
游客
登录 | 注册 方可回帖
返回
//