|
|
2楼

楼主 |
发表于 2004-2-29 09:52:00
|
只看该作者
Longhorn发表之前,微软将先行发表另一款Windows XP
盖茨家的“鸡”被人偷了
泄漏,微软源代码——盖茨家的“鸡”被人偷了
2004年2月12日,一则惊人的消息从www.Neowin.net网站传出——微软的Windows NT和Windows 2000的部分源代码流失!相继的国内各大媒体网站连篇追踪报道,一时间被炒的沸沸扬扬,而这个被泄漏出来的源码也引发了新一轮的网络下载热潮。为何这个源代码魅力这么大,而微软会有什么样的损失呢?听本文慢慢道来……
缘起——Windows“禽流感”
Microsoft Windows 2000 and NT4 Source Code,就是微软的工程师在编写Windows 2000和NT4时所写的程序代码。代码和程序的关系就好比鸡和蛋,而微软的这两个源代码,就好像比尔·盖茨养的鸡(源代码)下的金蛋(Windows系统)。而现在的问题不是盖茨的金蛋被人偷了(盗版),而是他的鸡被别人偷了!这克隆的鸡虽然长的不如原来的完整(部分流失),但它们的特征是差不多的。而网上的高手们在得到这只“克隆鸡”后经过研究,不但可以得到盖茨的金蛋,甚至可以发现鸡的弱点,从而引发相当严重的Windows“禽流感”(Windows系统漏洞攻击),后果不堪设想……
这次泄漏的源代码有203MB,解压缩以后是660MB,正好能放在一张CD光盘中(符合地下组织的一贯做法)。微软安全咨询师称整个源代码应该在40GB左右,笔者对40GB这个数字表示怀疑。因为Windows XP的源代码量是5千万行,假如一行50个字的话就是50000000x50=2.5G的量,就算微软的文挡写的特别全,也不可能到40G吧?据笔者估计泄漏的源代码数量应该是1/10~1/4的样子。那还要看是哪部分数据,如果真如传言那样是IE4的框架和TCP/IP的协议栈的话,那么不但对使用微软操作系统的服务器有危害,就是所有的个人机恐怕也是一个坏消息。众所周知,近几年微软的补丁主要是针对网络安全的,这其中关于IE的补丁就不下10个。
很快,微软证实Windows2000的部分源代码泄漏。微软公司发言人汤姆·皮拉表示:“今天,我们发现Windows 2000和NT 4.0的部分源代码非法地出现在互联网上。”他警告说,任何第三方传播这些源代码都是非法的行为,微软将对此采取严肃行动。皮拉表示,现在还不能确定到底泄漏了多少源代码,也不能确定泄漏途径。美国联邦调查局已经对此展开了调查。另外有消息称,本次泄漏事件的源代码不是来自于微软内部,而是来自于微软的长期合作者Mainsoft。被漏的代码包括30915个文件,并且显然已经从Mainsoft使用的一台Linux计算机中删除了。这部分代码是关于Windows 2000 Service Pack1,最后修改的时间是2000年7月25日。分析表明被泄漏的档案内的文件只是一个Windows源码的子集,它们被批准使用于Mainsoft公司的产品上。Mainsoft公司利用这些源代码创建Windows应用程序的Unix版本。Mainsoft称他们所拥有的数百万行源代码并没有触及Windows的核心。
追溯——因果报应?
我们来简单回顾微软操作系统的历史吧,先说说开山之作——DOS。最早干起计算机软件编程的不是盖茨,而是他的朋友和竞争对手加里·基尔代尔这位海军研究院里的教授。基尔代尔最大的遗憾就是错过了与IBM合作的天赐良机,而将这一机会拱手让给了盖茨。为了赶时间,盖茨选中了西雅图电脑产品公司蒂姆·帕特森搞的一个叫“快手和下流”(QuickandDirty)的操作系统,连公司带人一块买下,将产品作了一番改进,包装后就成了后来名震天下的MSDOS。其实帕特森的产品是在基尔代尔老版本的CP/M8086上做修改和简化而成的。
接下来再看Windows。1985年6月,微软和IBM达成协议,联合开发OS/2操作系统。关于微软与IBM合作开发操作系统这件事情有这样一种说法,微软在合作之前,微软还没有掌握开发大型操作系统的技术。在与IBM合作期间,微软窃取了IBM开发大型操作系统的部分源代码,在基本掌握以后,微软终止了与IBM的合作。甚至有人说NTFS这种文件格式还是抄袭OS/2的。
从以上啰里啰唆的一堆历史,我们可以看出,微软早期也是用各种手段得到别人的源代码的。没有这些源代码,也就没有Windows。自从有了Windows 95,Windows NT 4.0以后,微软变得异常强大,控制了80%以上的个人机市场和30%左右的服务器市场。而现在的Windows 2000/XP/2003,成绩是有目共睹。而终于,微软现在不得不尴尬面对源码被盗的事实,会不会有人幸灾乐祸的说:“这是因果报应”呢?
编译——开启潘朵拉的魔盒
当源码被泄漏的消息传出来不到12小时的时间里,网上的高手们便已经对其进行了简单的分析和编译(即由代码生成应用程序的过程)。据一些资深网友介绍说,泄漏的源代码包括有IE的架构文档(大家可以知道真正的浏览器是怎么写的了),还有TCP/IP的协议栈,Windowns NT和Windows 2000的部分源代码……真是该有的都有了,看来这只“克隆鸡”挺管用。当然随后的工作就是让它下蛋了——据说已经有人利用这部分源代码编译出微软的系统附带小游戏,而且游戏界面很古老,是微软的早期产品。
而更可怕的消息出现在2月17日,新闻标题是“微软上周公布漏洞被攻破 黑客可发动DOS攻击”。其实这是有关IE5的一个Bug,消息来自于www.securitytracker.com,称漏洞出现在源代码里的……/imgbmp.cxx这个文件中,节选代码如下:
while (_bmfh.bfOffBits (unsigned)cbRead)
{BYTE abDummy[1024];
int cbSkip;
cbSkip = _bmfh.bfOffBits - cbRead;
if (cbSkip 1024)
cbSkip = 1024;
if (!Read(abDummy, cbSkip))
goto Cleanup;
cbRead += cbSkip;}
建立一个特殊的BMP文件,文件大小大于2^31 byte,这时由于变量cbRead超界变为负数,随之附属在文件里面的破坏性代码就会被执行。测试者还制作了一个BMP的例子,并宣称这个错误在Win98和IE 5环境下测试成功,但是对IE 6无效。当然,微软随即发布了安全补丁。消息本身不算可怕,然而潘朵拉的魔盒已经被开启,还会出现什么漏洞和病毒呢?谁也无法预料。
预言——上帝保佑
既然是预测,那么胆子不妨大一些了:
1.强力漏洞病毒出现,全世界陷入混乱。
理由:NT-2000-2004一脉相承,现在有多少政府机关、金融机构、网络公司、游戏公司……的服务器用的是这些系统?不计其数!正所谓一通百通,资深的黑客们很可能找到Windows内核里面的漏洞,攻击所有的Windows服务器……
可信度:30%,上帝保佑我的预言不会应验。
2.Windows将成为相对完美的操作系统。
理由:全世界的黑客都得到了源代码,大家纷纷研究,很快基于这些源代码的病毒和攻击程序诞生了。瘟疫是全球性的,那么今年的主旋律就是攻击与反攻击了。道高一尺、魔高一丈,然后道再高一米、魔再高……
可信度:30%,全球黑客帮微软做Debug,这样出来的绝对是极品。
3.微软的竞争对手们以此为契机开发出自己的操作系统。
理由:代码里包藏的是程序员工程师的思想,当微软的天才们的思想被其竞争对手COPY以后,下出来的蛋就不只是金蛋了,白金蛋、铂金蛋都不在话下。
可信度:30%,一个人的思想被别人掌握实在是太可怕了!
4.泄漏事件可能是微软搞的一个小把戏,旨在推销Windows 2003。
理由:相比之下Windows 2003使用的年付费的方式要便宜的多。现在,这个泄漏事件一出,举世震惊,无异于为Windows 2003做了一个广告。然后只要微软站出来说:“此次泄漏的源代码对Windows 2003没有一点危害”,大功告成!
可信度:10%,谁知道用户会不会转头掉向Unix、FreeBSD、Linux……
对于个人用户而言,还是要时刻关注安全警报的。在咨询过瑞星、江民等反病毒厂商的技术人员后,我们得到的答复是:“由于该源码有200M之多,并不排除源代码里面存在有对用户有威胁的漏洞”,“面对互联网上数以万亿的网页和图片文件,计算机安全和反病毒厂商无疑将迎来更大的挑战”。万事小心、小心、再小心!
调侃——狼真的来了!
最后,我想起以前一个流传很广的笑话,Windows 98源代码:
/*微软最高机密—Windows 98 源代码*/
…………
while(!CRASHED) { /*如果不崩溃*/
display_copyright_message(); /*显示版权信息*/
display_bill_rules_message(); /*显示比尔的规则信息*/
do_nothing_loop(); /*进行空循环*/
if (first_time_installation) { /*如果是第一次安装*/
make_50_megabyte_swapfile(); /*创建50M的交换文件*/
do_nothing_loop(); /*进行空循环*/
totally_screw_up_HPFS_file_system(); /*将HPFS文件系统完全搞乱*/
search_and_destroy_the_rest_of_OS/2(); /*搜寻并删除OS/2的所有残余信息*/
hang_system(); /*挂起系统*/}
…………
enn(); /*蓝屏*/}
这个笑话既体现了大家对微软的无奈,也体现出大家想看到源码的渴望,那时候我们不可能得到源代码。现在,狼真的来了!
网上关于这个事件已经炒的沸沸扬扬
第一个漏洞就这么出来了
|
|