为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 影子系统原理

影子系统原理

2017-09-25 2页 doc 12KB 22阅读

用户头像

is_180829

暂无简介

举报
影子系统原理影子系统原理 "影子系统"是一种常见的单点还原保护系统. 当系统重启后, 做过的修改会全部还原回来, 不能防住邪恶的ring3穿透, 不知道最新版有没有提高安全性 核心思想就是"重定向". 在了解原理之前, 先了解一下windows的驱动模型 在windows驱动体系中, 存在几种类型的驱动, 功能驱动, 过滤驱动等. 功能驱动用于实现硬件或则其他一些设备的功能, 过滤驱动的作用是为了增加系统功能, 或者修改原有的功能, 过滤驱动挂接在功能驱动上面. 当windows下发IO请求时, 过滤驱动比功能驱动提前收到...
影子系统原理
影子系统原理 "影子系统"是一种常见的单点还原保护系统. 当系统重启后, 做过的修改会全部还原回来, 不能防住邪恶的ring3穿透, 不知道最新版有没有提高安全性 核心思想就是"重定向". 在了解原理之前, 先了解一下windows的驱动模型 在windows驱动体系中, 存在几种类型的驱动, 功能驱动, 过滤驱动等. 功能驱动用于实现硬件或则其他一些设备的功能, 过滤驱动的作用是为了增加系统功能, 或者修改原有的功能, 过滤驱动挂接在功能驱动上面. 当windows下发IO请求时, 过滤驱动比功能驱动提前收到请求. 因此过滤驱动可以提前完成这些请求(不把请求往下发), 也可以什么都不做, 往下发请求, 等等, 这就起到一个过滤的作用. 另外, 还需要明白的是windows驱动是分层设计, 在磁盘层, 只有相对扇区的操作, 不存在有文件系统层面上的东西. 影子系统创建了这样一种过滤设备挂到磁盘设备上, 监视磁盘数据操作. 现在假设系统要写第5000号扇区, 为了实现还原操作, 当接收到系统的请求时, 影子系统会把这个写操作重定向到系统未使用的扇区,这里假设为6000. 那什么样的扇区是未使用的呢, 通常MS文件系统会维护一个位图, 位图中置一的示扇区已使用, 为0的表示未使用. 当系统读5000号扇区内容时, 影子系统过滤驱动提前截获到系统的请求, 再次重定向,使读转向6000号扇区. 这样数据不会实际写到5000号扇区, 只是写到了系统未使用的扇区. 重启以后, 系统还是原来的状态. 这里读者可能会有疑问, 如果系统要写6000号扇区, 怎么办? 因为影子系统是磁盘过滤驱动, 会提前收到系统请求, 因此再做一次重定向就好. 上面的情况是最简单的情况, 实际上系统读写请求, 一般不会是单独一个扇区. 在一次读写请求中, 读写扇区范围可能包含需要重定向和不需要重定向的扇区, 这时候操作比较复杂. 因此, 在开发还原系统时, 算法和数据结构非常重要. 国内还有一个挺出名的"雨过天晴"多点还原系统, 原理复杂N倍. 外话, 说说什么叫ring3下穿透? 通常系统读写磁盘走正常的路线时, 还原系统可以拦截到读写请求, 实现过滤. 存在PassThrough指令, 当使用这些指令时, 可以绕过还原系统的监控, 把数据真正写入磁盘中. 使用这些PassThrougth只需要win32程序就可以实现, 因此称为ring3下穿透.
/
本文档为【影子系统原理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索