360首席工程师:还原技术原理和攻防

互联网 | 编辑: 黄蔚 2008-07-05 00:30:00转载 一键看全文

创建虚拟磁盘设备

这是我们上周发布的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。

提示:试试键盘 “← →” 可以实现快速翻页 

一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑