查看: 1628|回复: 0
收起左侧

IE7 0Day漏洞分析与防御

[复制链接]
ffiisshh
发表于 2008-12-12 22:26:58 | 显示全部楼层 |阅读模式
近日,IE7最新0day漏洞已成为广大网民与专业人士的关注焦点。此次的IE7 0day漏洞比起前段时间爆出的“史上最严重”的MS08-067漏洞,不仅发动攻击的方式隐蔽性高,而且攻击的软件扩展范围和攻击手段也非常之多,从而其威胁程度大大提升。

漏洞分析


下面就这一漏洞原理进行一下分析。
图一
  



溢出是由于 XML 解析字符串 SRC 片段时导致,由于 SRC 字符串当中的 rਊr 非正常字符导致对象分配失败,而失败后的内存指针没有被释放,继续利用,而这个指针被人为指向了一段堆地址,而如果这段地址被 ShellCode 覆盖过的话,调用这个指针就会导致有溢出。
图二
  



r把十进制的114转成
0x0072
把十进制的2570转成
0x0a0a
刚好它们拼在一起就是一个可利用的堆地址0x0a0a0072
图三


上图是溢出代码分配过程,由于 Windows 操作系统对分配的特点,以下三句
aaablk=(0x0a0a0a0a-0x100000)/heapBlockSize;
zzchuck=new Array();
for(i=0;i<aaablk;i++){zzchuck=retVal+infect}
保证了从堆开始的地址直到0x0a0a0a0a 都会被溢出代码淹没,所以最终通过 0x0a0a0072 跳到了溢出代码。



漏洞防御

对于此次的IE7 0day漏洞进行了深入分析后,笔者得出,利用该漏洞的网页木马多采用js脚本配合畸形xml的方式进行病毒传播,可通过以下方式实现防御:
1)特征检测清理畸形并进行清理xml
2)通过行为分析打断网马从网络到本地执行的过程
3)将使用该网马的站点加入黑名单
4)阻断网马执行



由于网页木马衍生快、变形方式多样性等特点,想要彻底防御该漏洞的网页木马,只靠单一方法是行不通的,必须采用多种方式相结合才能有效防御住威胁。在笔者深入研究了反挂马软件后,发现锐甲在这方面做的还是很出色的。
首先,锐甲会在IE下载页面时进行黑名单匹配,此方法可过滤掉常见的使用该技术进行挂马的职业挂马站。
然后,锐甲会允许IE下载不在黑名单中的网站页面所有元素,并对页面元素进行检查,清理掉挂马脚本。
经分析测试发现,广泛传播的利用该网页木马漏洞的生成器,所生成的shellcode会调用一些特殊的函数,这些函数会一直被锐甲的防御模块所监控,在shellcode调用这些函数进行网马下载和运行的时候,锐甲就会将其打断,达到防御的目。
另外,由于该网页木马利用的是溢出漏洞,也有可能会导致部分正常代码被覆盖,所以在IE创建进程的过程中,锐甲对进程创建的文件进行了数字签名和可信任度检测,以阻止被下载的文件执行。
通过以上方法,实现了有效的针对该漏洞的网页木马防御。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-10 07:47 , Processed in 0.115336 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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