MS08-067 漏洞打击了盗版用户的信心

   2008年10月24日,MS08-067 漏洞横空出世,这是一个被称为“四年一遇”的Windows高危漏洞。自从利用RPC DCOM缓冲区溢出漏洞肆虐一时的“冲击波”平息以来嘴里都淡出鸟来的“大黑小黑”们顿时兴奋起来,利用这个漏洞进行溢出攻击的源代码也出现在网上,“大黑小黑”谈论最多的就是怎么利用这个漏洞抓“肉鸡”,有人自曝利用这个漏洞几个小时就抓了超过5位数的肉鸡。微软第一时间推出了补丁(KB958644),并强调这个漏洞对正版Windows XP SP2和Windows Server 2003 SP1以及以后的版本没有危害。我也第一时间研究了这个漏洞,发现MS08-067 漏洞造成溢出的方式是传统的返回地址覆盖方式,而且是从栈的的地址向高地址覆盖,直至覆盖netapi32.dll中CanonicalizePathName函数的返回地址,由于Windows XP SP2和Windows Server 2003 SP1以及以后的版本都启用了一种数据执行保护(DEP)的技术,同时对栈溢出进行了安全检查,所以这种覆盖方式造成的溢出会被Windows的栈安全检测机制察觉,不存在执行危险代码的可能,但是破坏还是有的,异常覆盖会导致svchost.exe异常中止,影响某些功能。

    那么,这个漏洞到底危害了谁呢?其实是使用各种盗版Windows的用户(多数是Windows XP用户),因为众所周知的原因,盗版Windows XP的发行者通常都要在系统中安装各种控制软件,使使用者成为其僵尸网络中的一员,或者安装广告软件,从而达到收益金钱的目的。所以为了这样、那样的原因,这些盗版Windows XP通常会降低安全级别或者修改过安全机制,关闭DEP,如果是这样的话系统就会成为MS08-067 漏洞的牺牲品。以Windows XP为例,检查DEP是否启用的方式如下:

使用记事本打开c:\boot.ini文件,可以找到类似下面显示的内容:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Edition" /noexecute=optin /fastdetect

如果有 /noexecute=optin 或 /noexecute=AlwaysOn 参数,就说明DEP功能是打开的,如果是/execute 、/noexecute=optout 或 /noexecute=AlwaysOff 参数,则说明DEP功能被关闭了。

    MS08-067 漏洞的出现时机是很微妙的,此前很多盗版用户为了躲避“黑屏”补丁刚刚关闭了Windows的自动更新功能,这个漏洞使得这些用户进退两难:要安装KB958644补丁就可能同时装上了“黑屏”补丁,如果不安装KB958644补丁系统又要面临风险,所以说,这个漏洞打击了盗版Windows用户的信心。不过MS08-067 漏洞的触发也是需要几个条件同时具备才能达成,除了前面提到的关闭DEP功能以外,还有四个系统Services也是必须启动的,它们是Server、Computer Browser、Workstation和Terminal Services,关闭其中任意一个,你的系统就不会受MS08-067 漏洞的骚扰。最后一招,在“本地连接”中删除“Microsoft 网络的文件和打印机共享”服务也可以起到对MS08-067 漏洞免疫的功能。




posted @ 2008-11-10 00:25  oRbIt  阅读(248)  评论(0编辑  收藏  举报