阅读:21423回复:47
第四代文件加密驱动技术讨论 filter +layerFSD ,源于OSR
第四代新的加密驱动技术 layerfsd,具体相关信息,参看 osr tony的发言.因为太贵,基本上国内没有人拿到过实际的开发包,大家讨论一下原理及实现
|
|
|
沙发#
发布于:2008-05-27 15:45
xxxx admin 说:
准备换个方向 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 作啥? xxxx admin 说: 做Layered FSD znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 仿osr? xxxx admin 说: 恩 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 有没有osr的包? znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 你觉得osr的方案有啥好处? xxxx admin 说: 越来越觉得大方向不对 xxxx admin 说: 多个FCB znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 为什么? xxxx admin 说: 至少是目前国内最需要的 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 什么是国内最需要的? xxxx admin 说: 多个FCB 就是多个缓存啊 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: fcb跟缓冲无关 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 不是必须的 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 一个fcb也可能有多个缓冲 xxxx admin 说: Hook和刷不是正道 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: en xxxx admin 说: 维护多个FCB才是正道 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 但是多个fcb有数据同步问题存在 xxxx admin 说: LayeredFSD类似Filter的概念 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 我知道.它是挂在fsd之下 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 分区驱动之上 xxxx admin 说: 多挂几个LayerdFSD可以实现很多东西 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 得找一些资料 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: osr好象就是这样实现的 xxxx admin 说: 恩,OSR的DMK是这样弄得 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 有没有dmk包? znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 如果有bin话,可以学习一下 xxxx admin 说: 100w呢, znsoft(马勇) -- 态度决定一切,性格决定命运! 说: hehe xxxx admin 说: bin?哈哈 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 有没有demo znsoft(马勇) -- 态度决定一切,性格决定命运! 说: ? znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 现在都是看它的资料推测 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 没实际的东东 xxxx admin 说: 看OSR Tony 的一些发言,估计是这样的 xxxx admin 说: Filter+LayeredFSD 实现了我们现在类似的功能 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 你觉得它各有啥用? znsoft(马勇) -- 态度决定一切,性格决定命运! 说: filter跟fsd各完成啥? xxxx admin 说: 完全可以实现你现在的功能啊 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: lyaerfsd应该跟imd 类似 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 承认启下 xxxx admin 说: 比如说按进程加密 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 插在fsd中间 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: fsd中可能不好得到进程吧? xxxx admin 说: 不是这种, xxxx admin 说: FSD直接处理Useer的IRP,当然能得到Process znsoft(马勇) -- 态度决定一切,性格决定命运! 说: en znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 你觉得它filter用来作啥? xxxx admin 说: 定向啊 xxxx admin 说: 比如说不同的进程指向不同的FCB 不久实现你现在的功能了 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 但是,别忘了数据同步 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 不同的fsb实际上指向同样的数据区,需要同步 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 这就是为什么windows下同一个文件只有一个fcb xxxx admin 说: 内容是不同的,同步是选择性一些内容 xxxx admin 说: 比如Size。 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 只有在基于网络路径时不同的路径才出现不同的fcb xxxx admin 说: 只有不同的FCB才会存在两份不同的缓存内容(对同一文件来说)。 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 其实同一个fcb也可以不同的缓冲 xxxx admin 说: 不然只有Hook或者通过刷 来切换的吧 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 可以管理的 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 不同的fcb,涉及同步问题 |
|
|
板凳#
发布于:2008-05-27 16:01
先不说第几代的问题,几年前osr就坐了这个了,现在回头想想,这么做应该是才是一个大的方向,大家都透明加解密做了这么久了,目前的解决方案究竟怎么样,应该冷暖自知的
|
|
地板#
发布于:2008-05-27 18:35
确实,越往下做发现越多问题,越往下做发现这玩意根本不该我们来做,而是微软自己做!
但是为了吃饭咱们继续前进! |
|
|
地下室#
发布于:2008-05-27 21:09
目前的技术来说,就像zn他们说的,存在较高服务壁垒的领域,需要提供商有力的支持和维护,说的很有道理,但是这样做对于产品的大规模推广存在很大的瓶颈,你的人员各方面的投入就会比较大,跟本上来说,可能真的是我们的技术方向错了,这也是这段我们一直在反思的问题
|
|
5楼#
发布于:2008-05-30 18:21
我没有找到“osr tony的发言”,可以提供layerFSD的相关链接吗?
|
|
|
6楼#
发布于:2008-05-30 19:09
引用第3楼looksail于2008-05-27 18:35发表的 : 顶! 另外问一句,前面三代是什么? |
|
7楼#
发布于:2008-07-16 11:12
layerFSD 才是做透明文件加密的王道!从上面的msn的聊天可以看出xxx的研究要比zsoft 多一点。不过想做layerFSD ,就得好好研究fsd了。
|
|
8楼#
发布于:2008-07-20 01:17
第四代了~~~
世界发展越来越快~~ |
|
|
9楼#
发布于:2008-07-21 14:34
我刚开始MiniFilter的研究,是不是正在研究过时的东西
|
|
10楼#
发布于:2008-07-22 21:45
有起头就不会晚....
|
|
11楼#
发布于:2008-08-23 16:31
========================================
xxxx admin 说: LayeredFSD类似Filter的概念 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 我知道.它是挂在fsd之下 znsoft(马勇) -- 态度决定一切,性格决定命运! 说: 分区驱动之上 ======================================== 从http://bbs.driverdevelop.com/htm_data/39/0806/111569.html图中来看应该不是位于FSD之下,分区驱动之上,^-^ |
|
|
12楼#
发布于:2008-08-28 11:13
仔细想想,分层文件系统的问题也挺多的!
(1)对不同文件系统的透明支持! (2)不同层之间的同步问题! (3)内存映射的双缓冲支持问题?(这个当前是没有人做出来的,不知道这个结构是否支持) (4)对于CACHE IO和非CAHCEIO的读写的处理问题? (5)加文件头和加文件尾的问题。 (6)访问边界阀值的问题。 。。。。 |
|
|
13楼#
发布于:2008-08-28 13:35
>> (3)内存映射的双缓冲支持问题?(这个当前是没有人做出来的,不知道这个结构是否支持)
dmk对同一个文件能产生两个不同的FCB,显然是可以的。(一个dmk维护的,一个是系统原来的) |
|
14楼#
发布于:2008-08-28 14:22
这段时间一直在研究WINDOW的内存管理器和CACHE管理器。
耗费了许多时间,发现,只要是对一个文件创建的两个内存影射,不管FCB怎么变化,最后的SECTION都是只有一个的。否则,就会有严重的同步问题。 这个是WINDOW在设计内存管理器和CHACHE管理器的时候就决定好的,内存中只有磁盘数据的一份拷贝。 感觉如果需要支持物理磁盘上的一份数据可以在内存中有两个拷贝,又不出现同步问题,必须对WINDOW做大手术。 不过,也可能是我研究的不够透彻。学习中..... |
|
|
15楼#
发布于:2008-09-03 16:16
引用第14楼dreamsity于2008-08-28 14:22发表的 : Layered FSD不存在同步问题。任何时候一个FCB只有一份缓存。 Layered FSD虚拟出一个Fake FCB(并自己管理),任何对该Fake FCB的操作,都会被LFSD截获,然后LFSD将其转化为对真正的FCB的操作(加密/解密)。 对系统以及应用程序来说,这两个FCB是不同的,也就是说,对明文App和密文App来说,可以简单的认为它们操作的是两个不同的文件,只不过这两个文件最后存储在磁盘上的位置是一样的。 |
|
16楼#
发布于:2008-09-03 18:01
1.操作
如果出现下面的访问序列: (1)进程A打开fileShare,创建文件影射MapA,在文件影射上创建ViewA (2)进程B打开fileShare,创建文件影射MapB,在文件影射上创建ViewB (3)进程A使用memcpy修改ViewA (4)进程B使用memcpy修改ViewB 2.问题: ViewA 和ViewB的数据怎么同步? 3.分析 由于window是使用同一个SectionObject来处理的,也就不存在数据同步更新的问题。 但如果是使用Layered FSD弄出两个FCB出来,那么这两个FCB是指向同一个SectionObject还是两个不同的SectionObject。如果是同一个SectionObject,那么内存中数据只有一份,是无法实现双缓冲的;但如果是两个SectionObject,那么这两个SectionObject之间的同步怎么处理?需要一些额外的处理代码?这个工作量有多大?是否可以做到和原有的机制机制兼容? |
|
|
17楼#
发布于:2008-09-03 18:21
引用第15楼AlexSho于2008-09-03 16:16发表的 : 理解的不错啊。现在有实现的代码了吗? |
|
18楼#
发布于:2008-09-03 21:17
Windows不象Linux,源码并不开放,也不能对其作修改,想要做一个Microsoft设计时完全没有考虑过的问题,我觉得不大现实,最多也就能做个实验室级的产品出来演示一下。
|
|
|
19楼#
发布于:2008-09-03 21:35
呵呵 过几个月我给大家放一个测试版本,让大家玩玩。
|
|
上一页
下一页