首页
论坛
专栏
课程

[求助]minifilter对于文件映射时怎么过滤修改内容?

dragonwang 2018-11-8 16:46 593
实现类似一个透明加解密的功能,在应用程序以文件映射方式打开时,minifilter没有收到 IRP_MJ_READ消息,知道这种情形下会收到 IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION消息,但是在处理这个消息的回调中,我好像并没有机会处理原始数据并且返回用户处理过的数据。当然即使有这样的机会出来数据,文件映射是进程间共享的,不应该改看到解密后的进程可能也会在一个合法进程打开加密文件时,看到解密后的映射内容,所以现在有两个问题,1.minifilter怎么过滤修改文件映射方式打开文件时的内容。2.假设1的问题解决了,如果不是双缓存,会不会有泄密的情形发生?

minifilter甚至连pagingio的读取请求都没有收到,理论上映射的时候当缺页时是会到文件系统请求读取文件的内容的,这个过程绕过minifliter了么?

如果有路过的大侠能个思路或关键字么?谢谢


[防守篇]2018看雪.TSRC CTF 挑战赛(团队赛)11月1日征题开启!

最新回复 (2)
hzqst 2 2018-11-9 16:06
2

0

如果缓存管理器里有留缓存,那么GG,PAGING IO也没了,谁也救不了你,洗洗睡吧
我觉得比较合适的方法还是CREATE的时候直接reparse掉
最后于 2018-11-9 16:07 被hzqst编辑 ,原因:
dragonwang 2018-11-10 18:08
3

0

hzqst 如果缓存管理器里有留缓存,那么GG,PAGING IO也没了,谁也救不了你,洗洗睡吧我觉得比较合适的方法还是CREATE的时候直接reparse掉
多谢多谢,这个方法想到过,不过在CREATE的时候其实还不知道用READ还是Mapping方式,那就只能提前预设一个列表,CREATE的时候查到了直接reparse?总觉得不够漂亮。担心是自己有知识盲点,问问大家是否有好的思路
返回