Archive for » 三月, 2008 «

这篇文章有点意思~
可惜CB里的有些人…

[quote]
3月19日,由中国最大的互联网综合服务提供商腾讯发起和组织的互联网安全峰会进入第二天。包括微软、盛大、新浪等互联网界各大巨头的技术专家,学者和专业人士参与了此次的交流。此次峰会是今年以来首场由中国互联网各顶尖企业共同参与的大型网络安全专业盛会。
来自奇虎的反木马专家郑文彬,在现场发表演讲。以下为文字实录:

郑文彬:大家好!我今天给大家介绍这几个方面:背景、还原系统技术原理概览、流行还原系统穿透技术介绍、通用还原系统保护技术、演示& 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下攻击的话,应该是没有办法的。
[/quote]

Category: 日记  Leave a Comment

前天接到电话,林华说体检的事情搞定了
心里的石头小小的掉落了一点
要等到真正拿到照,那才能落地呀~
然后说要尽快地把附表给他
尽早开班~~
所以今天决定和王八,再去一次市区
说来这一周,挺辛苦的
除了周三,每天都在嘉定和杨浦间往返…

今天早上在5th ave Cafe买了早餐
去驾校拿好我的体检表
进城咯~~
说起来我那个体检表居然是复印件..让我心里小慌了一下
不过既然林华把胸脯拍的那么响亮
我也就只能先相信没问题了~

说来今天的路线挺畸形的
我们要经过这样的一个"旅程"
学校 -> 北安到灿坤 -> 走去驾校拿表然后走回灿坤
-> 北安到曹杨 -> 四号线(14站)到南浦大桥 ->
步行至陆家滨路88号领王八的附表 -> 910(14)站至国权路
-> 步行至政肃路198号领我的表 -> 跨线回嘉定

约等于绕了浦西一周… 很HIGH
好在一路挺顺的~要等10几分钟的四号线
我们一上站台就有了
然后也没迷路
就是在我拿的时候,那个人问我怎么拿复印件来
我支支吾吾的糊弄过去了…
中午又去复旦步行街的图门了
这次想吃牛肉面,结果难吃死了…
又白又淡..下次再去的话要吃很多人点的茄汁排条!
回学校的路…堵了2个半小时才到灿坤…
然后去驾校交了表~等着坐班车走人~
在班车上遇到2个乡下人
真他妈的是乡下人噢…还用上海话聊天
估计是知道我是外地人,听不懂上海话
只知道王八冷笑了一下,骂了句粗口~~
哈哈,就这种人也能鄙视外地人?
我真为他们感到丢脸…..

今天挺顺,但是挺累,嗯~~HOHO

Category: 日记  One Comment

话说现在驾照就和CET4/6证书一样
几乎是学生们高考结束后打发三个月暑假时间的第一选择了
我这个也算老人了,难得赶赶时髦~
其实很早就想学了,但是一来错过了那个长长的暑假就没什么时间了
二来到了上海后觉得学车的地方太远了
现在可好,一周平均9节课,几乎分布在傍晚和晚上
而且身处郊区,附近就有很多学车基地
正是拿蓝本本的大好时机,怎能错过
还有王八作陪,捏哈哈~~
于是伙同论坛上同有兴趣之人
一起在龙泉驾校报了名,开始了成为马路杀手的生涯

话说今天早上6点半,迷迷糊糊的被闹钟nothing
因为据说7点半要到校门口集合~
然后坐班车前往驾校体检报名
那个班车…也能叫车?…
破…还是京G的牌照..-___-||
而且我们还等了他20几分钟
不过还好,比较顺利
到了驾校,见过了那个负责我们报名的林华
填好表,正好坐上了8点多的班车前往邯郸路体检
想起来我就不应该回嘉定来…直接从本部过去多好呀^O^
到了体检的地方,那个交费处队伍噢…嘎长
我在想,怎么现在大家都这么闲…工作日还有这么多人
敢情都不在认真工作,跑来私混啦~~
好不容易排到,交好钱,开始体检了
第一项身高、握力–通过
第二项…伤心了呃….
查色觉的..虽然…我知道自己有一点点色弱
不过我发誓,只是一点点,完全不影响看那个色盲检测表
可是…今天不知道怎么了,居然看错了
其实应该是看颜色不一样的地方
我拼了老命的在看颜色深的地方= ='
偏偏那个女医生她老先生态度很恶劣
闹的我心情不好…
于是一慌…被她来了一句"我就知道你有问题"- -'
来了个异常,我靠…这不是说不能学了嘛…
后来一看,能复查,噢,还好,先测了剩下的再说
心电图–OK
血压和脉搏–因为这个色觉…高血压了…还心跳加速…93次/分
好吧….
然后到了测听力的地方…
因为之前一直七想八想那个色觉的事情
整个人已经不在状态了
一进到那个房间,还以为不用戴耳机就会有声音了
正当我观察的时候,那个医生很用力的拍着玻璃
示意我把耳机戴上…我一看,哟,角落里有一个耳机
好嘛,戴上就戴上呗,然后一屁股坐在了那个椅子上
完全没考虑到我现在是背对着那个人…
这时候玻璃拍的更响了…完全是很不满的声音了…
@_@我怎么那么背啊…
还好凭我多年CS的沉淀…这个测试通过了
不过觉得挺糗的…
剩下的测试很弱智,在此按下不表
拿结果的时候,果然说我不适合学习
要去复查后才知道~~
呃…复查的地方在什么莘东路XX号
我用手机一查…奶奶的,在闵行…他X的
这不是要死了,还只能每周三复查……
看来这个要搞死了
回到驾校,和林华说了一下,他说能搞定
不过大家都知道…要花点钱的~~
和老妈商量了一下,如果复查还不通过
那就不能再学车了,如果有异议
还得去什么市级医院检查…
对我这个外地人来说…相当麻烦的事情
所以还是花钱买消停吧…

这么晕晕乎乎的…这天的事就这么完了..
我怎么觉得我的考照生涯不会轻松呢…>.<

Category: 日记  Leave a Comment

恋爱中的人在争吵的时候
往往会忘记停下脚步
站在对方的角度平静的想想

很不幸,我很完美的诠释了这种错误
成功地在老婆最烦躁的时候
添上了这浓墨重彩的一笔

今天醒的很早
看到了老婆的消息
才知道,原来我已经让她那么地疲惫
在外人看来无比幸福
甚至是公认的会最早结婚的我们
居然在一周之内
发生了这么多事情

我一直在说自己没有安全感
却未曾想过我现在的举动
把原来我带给老婆的安全感
也消耗殆尽
而搞得我们如此疲惫的罪魁祸首
竟然又是我自己

发现自己很讨厌
说过那么多
又做到了多少
为什么不能自信并且坚信?
为什么有的时候分不清场合?
还是很幼稚…very naive…

不过我承认
争吵确实是一个互相沟通互相了解的好过程
至少我们让彼此了解了自己心里所想的
至少我,已经觉得没有任何问题了
至于老婆,需要我的努力,让她也觉得没有问题

看完消息,在床上想着事情
我又迷迷糊糊的睡着了
做了一个好长好长的梦
梦里我们吵架了
接下来发生了很多事
非常荒诞,也非常触目惊心
可是,却是一个有着Happy Endin的梦
梦的最后,老婆突然出现在我的面前
我飞奔过去,抱着她,紧紧的
好开心,好开心…
第一次被梦乐醒
这一周,过的比那个寒假还要漫长
彼此好像很难感受到那份曾经的甜蜜
我想努力找回它
因为我发现

甜蜜最重要!

Category: 日记  One Comment
07

Testing can reveal the presence
of bugs, but cannot prove their
absence

The more bugs enter a quality assurance or
test activity, the more bugs will escape from
that activity

1. invalid
float x.0 3.0 4 5
char 3i 4 5
maxint+1 2^32 1 2
negative -3 4 5
2. valid
triangle
a. plus over flow but correct 2^31 2^31 2^31
b. quan bu bu xiang deng 18 23 9
c. deng yao 13 13 25
d. deng bian 8 8 8
not triangle
equal 10 10 20
// not equal

Category: 日记  2 Comments