找回密码
 注册

QQ登录

只需一步,快速开始

查看: 400|回复: 2

还原系统保护技术原理和攻防

好想有点田 发表于 2009-9-21 07:20:19 | 显示全部楼层 |阅读模式 来自 中国辽宁本溪

马上注册,结交更多好友,享用更多功能。

您需要 登录 才可以下载或查看,没有帐号?注册

x
大家好!我今天给大家介绍这几个方面:背景、还原系统技术原理概览、流行还原系统穿透技术介绍、通用还原系统保护技术、演示& GuardField、还原系统保护之未来趋势。最近一段时间,有机器狗这类病毒工具对还原系统攻击,使用还原系统环境的用户一般都不会安装其他的防护软件,一旦还原软件被穿透的话,会带来比较大的安全威胁。
还原系统技术原理:基本原理是磁盘设备过滤驱动。比较常用方法是自己会建一个磁盘卷设备,在harddiskX进行文件过滤。过滤驱动如何做到还原?首先还原系统会在磁盘上分配一块预留的区域,应用程序以为他已经写到真实磁盘,实际上被分配到一块内容区域里,真实磁盘根本就没有被写入。
下面介绍一下还原软件怎么更新过滤。首先是一个普通的Windows程序,会调用Win32API,从用户模式到内存模式,这些函数调用Windows内核,把文件请求发到文件系统上,根据磁盘卷分区格式不同来创建。文件系统设备会将上层发来的文件读写请求转化磁盘读写请求,在harddisk volume之前会有还原系统过滤驱动。再往下会根据硬盘接口不同而有不同。如果IDE结构硬盘,会发布到电源系统。api最终会调用函数读写端口。如果是USB设备,会发送到usb stor。
刚才说了还原系统的一些基本原理,知道原理之后对如何穿透还原也就很简单了。既然还原系统都在磁盘上过滤驱动,只要我们解除过滤驱动与真实磁盘之间的关系,绕过过滤关系的话,就等于直接穿透了还原。第一种方法:DR0设备过滤设备链摘链。这种方法其实就是摘除一个harddiskDR0上的过滤设备。指明设备上会有哪些过滤设备,第一代机器狗病毒将这个域给清零,导致还原系统设备被清除,所有请求就不通过还原系统直接到达过滤磁盘设备。对于没有防备的还原系统就被成功攻破了。国内大部分还原系统都没有办法对抗这种技术。但是这种技术也是有一些缺陷的,只能摘除在DR0上的物理设备。文件请求先到达磁盘卷,磁盘卷上的过滤设备摘除的话对系统有影响。所以第一代机器狗病毒使用了自己解析文件系统方式进行感染,这是它的缺陷。
第二种方法:会自己创建虚拟磁盘设备,作为磁盘卷挂载到文件系统上,对虚拟磁盘读写影射到真实磁盘,将请求下发到下层设备。相对第一代机器狗来说,这种方法不需要对磁盘系统摘除,可以通过文件对虚拟磁盘操作,操作结果是和对真实磁盘操作是一样的,可以成功穿透还原。在这里还用一种方式就是他没有直接发送磁盘读写请求,发送SCSI-REQUEST-BLOCK下发到下层磁盘设备。
还有一种方法,这是方法不使用驱动程序,直接在用户模式穿透还原系统。磁盘系统提供一套passthrough指令,不向磁盘发送直接请求,就可以获取磁盘信息甚至直接读写磁盘扇区。IDE/SCSI/ATA Pass Through指令穿透还原,RING3下使用Devicelocontrel函数发送请求。大多数还原系统对此过滤不严或根本未过滤,导致在RING3 下即可达成攻击。
其他一些方法,比如说直接操作端口驱动,比如USB,更底层的磁盘操作:端口驱动、直接IO等等,缺点是难度大,通用较麻烦。另外的方法是可以摘除其他一些过滤设备,Attach到还原系统上,先于磁盘系统获得磁盘的请求,可以做一个绕过动作。可以在磁盘卷设备保存指针上所手脚。方法很多,不再一一解释了。主要是两类,第一类是新的磁盘技术或者磁盘卷绕过或者穿透的一些技巧。
通用还原系统的保护技术,GuardField。还原系统脆弱的原因是什么呢?刚才也说过了他是通过磁盘设备上的过滤驱动,也就是说他跟磁盘设备没有紧密联系,只要被攻击者使用、摘除或者绕过方法就可以把磁盘请求发送到真实磁盘上。穿透基本原理:必须使读写请求不经过还原系统物理驱动,而是到了下层的物理磁盘设备。这里就有一个穿透思路,一个磁盘请求是从上层逐层发布到下层,我们只要监控发送路径,进行对比操作,就可以作为一个还原穿透的角色。
这是我们上周发布的360GuardField文件,给大家演示一下效果。这是一台XP虚拟机,安装了冰点的还原系统,这个还原系统正常会被第一代机器狗穿透。这是我们第一代机器(图)。这个系统已经安装了还原保护。可以看到还原攻击已经被拦截了,这个时候看到攻击者已经没有了。然后使用微软工具查看一下,可以看到攻击者攻击是失败的。这是第二代机器狗样本,它可以直接对文件操作,不需要感染。他可以在启动目录上拷贝一个文件,因为他是穿透还原去拷贝文件,所以重启后就无法被还原了。这里会有第三种攻击方法,passthrouh,它可以破坏磁盘数据。我们用Winhex看一下。攻击演示就做到这里。可以看到我们在对待第一、二、三代攻击都成功做到保护。
现在说一下GuardField原理,首先在启动时手机、挂钩还原系统的磁盘过滤驱动,监视磁盘IRP发送。之后我们挂钩底层磁盘设备,监视磁盘IRP达到,如果数据结构里没有磁盘IRP,我们就认为磁盘IRP没有经过还原系统到达下层。我们首先对系统做一个检查、修复,检查之前保存的磁盘过滤设备链有没有被摘除,如果摘除了,我们恢复。然后会将这个信息发送到Ring3服务进程。我刚才说的第一种攻击手段,它以后读写都不会再成功了。后面请求的时候都会被还原系统拦截到。第二代虚拟磁盘方式,每次读写都穿透还原,所以每次穿透还原都会拦截掉。
我们挂钩还原系统在磁盘卷上的过滤驱动,进行收集IRP操作,下面还原系统在磁盘上的过滤驱动,然后在磁盘设备下层也会挂钩,GuardField分析IRP。
IRP 监视回收,他不一定会发送到下层。可能在磁盘卷或者过滤设备上被取消或者直接完成掉,没有往下传送。数据始终保持在数据结构里没有被清除。 Lofreelrp是用于IRP取消或者完成来释放的。他jmp ds_Plofreelrp。每次当IRP回收的时候,我们从数据结构里可以得到一个监视。
对抗passthrough,因为我们挂钩下层磁盘设备,TM都会使用passthrough这些指令,他是通过这些指令获取磁盘信息。分析passthrough请求包意图。拦截恶意攻击者的passthrough指令。
同时还结合传统反病毒技术,为什么还会使用传统反病毒技术呢?主要原因是Ringo攻击者同我们处在同一水平,除非阻止其进入RING0,不可能完全对其进行防御。GuardField使用方法,通过Mmloadsystemlmage函数。如果是一个已知的驱动的话,我们会阻止,最大可能乐观防止攻击者攻击。
还原系统未来趋势。我们现在有GuardField的保护,恶意攻击者肯定会开发出一些新的更新,对抗GuardField。他们可能会使用哪些手段,猜测主要有两方面:第一,更底层或者更新的磁盘读写技术,绕过磁盘IRP分析,直接写入磁盘。第二,针对GuardField本身的工具,对GuardField进行破坏、脱钩。我们发布之后,大概不到两天时间就有新的驱动出来,对我们GuardField脱钩。
如何防御:更底层的磁盘读写监视。他们开发起来难度比较大,短期内没有办法形成比较大的规模。GuardField这套系统如果有一定时间可以进行修改的话,还是可以用现有系统兼容,对磁盘底盘操作进行监视。我们知道atapi.sys IRP还是存在的,对这一层做hook。
针对第二种方法脱钩,可以适量的自我保护、恢复。就我个人来看,针对性攻击不足为惧。如果攻击者对防御者产生一些针对性攻击,等于攻击者容易落入一个被动捱打的局面。如果已经到脱钩了,说明攻击者已经比较穷了。还原系统在软件方面的对抗应该是没有止境的。有什么问题大家可以问。
以下是现场问答部分:
问:我给郑文彬补充一些数据,根据权威部门统计,盗号70%是来自网吧。而网吧几乎100%安装了还原设备。刚才郑文彬也介绍了还原设备的攻防。其实还原系统是很重要的一块。我想请问一下您刚才介绍的还原系统软件原理、实现方法,能不能介绍还原卡硬件的原理?
郑文彬:对于还原卡来说,一般有两种。现在市面上的还原卡都不是真正的硬件上的还原卡,他们使用技术就是PCI设备,可以在OS启动之前获得控制权,在OS 无整个过程中监控磁盘读写,但是实质上是通过磁盘驱动监视。应该国外有一些硬盘磁盘设备监控磁盘IO端口,在IDE接口上做一些保护。但是这种硬件还原产品至今我没有看到。主要还是采用软件方面保护。
问:你的意思是你看到还原卡本质还是软件还原设备?
郑文彬:用PCI就可以比磁盘的OS启动的更早。
问:那就是说PCI还原卡是忽悠人的?
郑文彬:它的好处就是可以更早的监视。像一些纯软件的还原卡,如果在DoS下攻击的话,应该是没有办法
都市2689 发表于 2009-9-21 11:17:44 | 显示全部楼层 来自 中国浙江杭州
学习了
回复 支持 反对

使用道具 举报

sureluyi 发表于 2009-9-27 21:12:24 | 显示全部楼层 来自 中国浙江嘉兴
太深了,看不懂个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表