计算机病毒简史
      从1986年第一个真正意义上的病毒——巴基斯坦(Pakistan)病毒产生到现在,不过短短20年多一点的时间。这20年中,电脑的处理能力、人机界面、应用范围都发生了翻天覆地的变化,最终以互联网为基石改变了我们的整个社会和生活方式。就像人类历史的任何阶段都抹不去那无处不在的小人的身影一样,电脑病毒也在这20年波澜壮阔的历史中兴风作浪,成为信息时代挥之不去的阴影,宣起一波又一波的热潮,成就了一批英雄,也造就了今天巨大的反病毒市场。         本文简要回顾病毒发展历史上那些著名的病毒,“以史为鉴”,意在比较通俗形象的说明病毒究竟是什么东西。并以此作为传播安全意识的基础篇。
         关于病毒的定义,很多权威的资料说得很完备,不过本人认为,病毒最根本的特征就是具有自我复制能力的计算机程序。因此,传播性是病毒最根本的特征,而这又是由当时的电脑系统硬软件环境决定的。按照病毒的所处的环境、传播特征又可分为如下几个阶段:
         一、史前时代
         二、DOS时代
         三、Windows孤岛时代
         四、Windows网络时代
         五、互联网***时代
                                    一、史前时代
         这个时代大致从计算机产生到1986年前。从1947年庞大的第一台电脑埃尼阿克(ENIAC)诞生到80年代中期,电脑虽然经过了几代的进步,但毕竟还是实验室的高级东西,主要用于科学计算。但是,这个时期信息安全已经逐渐引起了一些先驱者的注意。
         早在计算机的概念形成阶段,现代计算机逻辑结构的创造者冯·诺伊曼就从理论上提出了一种自我复制代码的可能性(那时还没有病毒的概念)。
         60年代中期,贝尔实验室的三个年轻人在工作之余发明了一款电脑游戏,他们把它命名为“磁芯大战(Core War)”,由参与者分别编制,在电脑中抢占内存,并企图将对方杀死。该程序被普遍认为是计算机病毒最早的雏形。
         有趣的是,二十多年后,“磁芯大战”作者之一Robert Morris的儿子Robert Tappan Morris放出了著名的莫里斯蠕虫,在当时的互联网前身——Arpanet上造成了一场大混乱。
         到1975 年,美国科普作家约翰·布鲁勒尔 (John Brunner) 写了一本名为《震荡波骑士》(Shock Wave Rider) 的书,该书第一次描写了在信息社会中,计算机作为正义和邪恶双方斗争的工具的故事,成为当年最佳畅销书之一。1977 年夏天,托马斯·捷·瑞安 (Thomas.J.Ryan) 的科幻小说《P-1的春天》(The Adolescence of P-1) 成为美国的畅销书,作者在这本书中描写了一种可以在计算机中互相传染的病毒,病毒最后控制了 7,000 台计算机,造成了一场灾难。这个时候的病毒,还停留在人们头脑的概念中。
         1983 年 11 月 3 日,弗雷德·科恩 (Fred Cohen) 博士研制出一种在运行过程中可以复制自身的破坏性程序,伦·艾德勒曼 (Len Adleman) 将它命名为计算机病毒(computer viruses),并在每周一次的计算机安全讨论会上正式提出,8 小时后专家们在 VAX11/750 计算机系统上运行,第一个病毒实验成功,一周后又获准进行 5 个实验的演示,从而在实验上验证了计算机病毒的存在。
         这些史前时代的早期病毒基本作为概念上的原型存在,人们谈论它们基本上还是当成一种技术传奇,并没有真正体会到它们的危害,也没有想到它会魔影般地伴随着电脑技术的发展成长。
                                              二、DOS时代
         随着技术的发展,电脑成本的不断降低,它们开始走下神坛,摆上了个人用户的桌面(尽管也还是比较昂贵)。人们发现,除了科学计算外,电脑还可以被用来处理商业文书,记录和处理交易信息。于是,这种高科技的玩意被叫做个人电脑(Personal Computer,简称PC)。这个时期最典型的PC就是IBM推出的IBM PC,IBM公司专门为这种面向个人的电脑开发了一种操作系统,并命名为DOS(Disc Oprating System),后来他们委托一个叫比尔.盖茨家伙帮助开发更好的DOS,以此为契机成就了微软帝国的神话。此时的PC机使用一种被称为软盘的磁盘片在不同电脑之间交换软件和数据文件。
         1986 年初,在巴基斯坦的拉合尔 (Lahore),巴锡特 (Basit) 和阿姆杰德(Amjad) 两兄弟经营着一家 IBM-PC 机及其兼容机的小商店。兄弟俩为了提高销量,开发一些程序作为购买他们机器的附带品赠送。不料这些程序很受欢迎,被很多人盗版使用,巴哥和阿姆哥很生气,他们就接着开发了一个附带在程序上的东西,用于跟踪盗版,发现谁盗版使用他们的程序,就将盗版者的机器磁盘空间占满。这就是电脑普及到商业社会后的第一个病毒——巴基斯坦病毒。
         巴基斯坦病毒以后,许多人利用它的思想,或者将它拿来加以修改,于是蓬蓬勃勃地宣告了DOS病毒时代的来临。这个时期的病毒用汇编语言编写(C语言还是开发程序的高级玩意,产生出来的目标代码还是太大,不适合生产病毒这种在角落里生活的小东西),DOS操作系统也相对比较简单,几百K的目标代码,所有的秘密被人分析得一清二楚,但是,掌握这些秘密需要一定的精力、时间和技术水平。这个时期的病毒作者有一种相当自豪的技术优越感。
        DOS病毒的传播主要通过人们交换文件的软盘,他们感染可执行文件,被人们从一台电脑拷到另一台电脑,在另一台电脑上被执行时又感染新的文件;或者通过感染软盘的引导区,当人们用被感染了病毒的软盘引导启动电脑时(那个时候经常从软盘启动),从软盘引导区传播到电脑硬盘上的文件,甚至感染硬盘的引导区和主引导区。这种通过磁盘的传播速度比起现在通过互联网的传播慢多了,一般从病毒作者出发,到传播到全国、全球得几个月的时间,但这种速度随着人类商业活动节奏的加快也在不断地加速。
         1988年底,第一例病毒传入我国——小球病毒,发作时在屏幕上生成一个小圆点,不断地蹦来蹦去,遇到边界反弹回来。这算我国病毒与反病毒历史的开端了。
         此后比较著名的DOS病毒有——
         1、黑色星期五。潜伏很长时间,当星期五与13日重合时,该病毒发作。由于西方人对星期五和13的敏感,造成不小的心理恐慌。此后的耶路撒冷病毒等与此类似,反映了作者的宗教心态。
         2、“卡死脖”病毒(CASPER)病毒。该病毒著名在中文译音很有恐怖色彩,并且满足某些条件时会格式化磁盘,造成大量数据丢失。已经很难考证哪个是会格式化硬盘的第一只病毒,但自从病毒作者想出格式化这种大规模破坏数据的招数,其道德底线已经突破到了极限,标志着病毒已经演化为恶魔。
         3、幽灵病毒。由于汇编语言的发展,使得实现同一种功能,可以用不同的指令组合。幽灵病毒就是利用这种特点,产生一段有上亿种可能的解码运算程序,病毒体被隐藏在解码前的数据中,查解这类病毒就必须能对这段数据进行解码,加大了查毒的难度。它的感染方式也是多样化,既能感染引导区又能感染程序区,具有解码算法,要两段以上的子程序方能解除。
         4、“病毒制造机”VCL。这是最早的病毒自动化制造工具了。通过在汇编指令随机的插入一些空操作和无关命令,可以在瞬间制造出成千上万种不同的病毒,查解时不能使用传统的特征识别法,而需要在宏观上分析命令,解码后查解病毒,大大提高了复杂程度。
         ... ...
         DOS病毒的种类非常多,目前不少杀毒软件号称能杀几十万种病毒,其实大部分都是当前环境下不能存活的DOS病毒,没什么意义,不必太过关注这个数字。DOS病毒们在与杀毒软件的斗智斗勇中技术不断进步,从感染引导区到感染文件,从感染.com文件到感染.exe文件(exe文件结构比com复杂,感染的难度也较大),从感染后修改文件时间信息到不修改时间信息,然后发展到通过不断变形来逃避杀毒软件特征值的扫描,以至于后来发展出自动化的病毒制造机器(它本身被归为病毒)。不过,随着时代的变迁,电脑的DOS时代终于进入了图形化界面的Windows时代,DOS病毒逐渐失去了生存的土壤,也就慢慢淡出了历史的舞台。
         在国内,DOS病毒时代大致从1986年到1994年。1994年后,Windows系统大量普及,由于还有相当一部分DOS应用程序在运行,也后不少16位的Windows应用程序(其运行环境与DOS环境差不多),因此还有相当数量的DOS病毒流行,而国内部分杀毒软件也还是DOS方式的。
         国内的反病毒软件起源于90年代初,那是一个个人英雄的时代,一个技术英雄能够撑起一款产品。象著名的王江民“老师”,瑞星背后的技术明星、被称为中国杀毒第一人的刘旭,他们成就了目前国内著名的两大杀毒公司——瑞星和江民。金山是后来的事了,DOS时代跟他们没什么关系。瑞星在92年通过杀毒卡年销售额达到了上亿,使当时国内唯一一家参加美国“COMDEX”大展的IT公司,后来在硬件杀毒到软件杀毒的转变潮流中暮落了。著名的IT评论家刘韧(现在是DoNews的老板)写过一般很有名的《中关村启示录》,里面有篇《瑞星读<甲申三百年祭>》,就是讲瑞星那段历史的。江民在瑞星的暮落中崛起了,当时他的杀毒软件好卖到在中关村被称为硬通货,倒机器的那帮人现金不够就用江民的杀毒盘抵来抵去。当时还有家公安部背景的公司——智冠金辰,引进著名CA(Computer Association)公司的杀毒软件,在国内推出的产品叫Kill,可能是体制的问题,背靠着大树还是没发展起来,2000年后的时期暮落了,中国国有企业的通病,悲哀!

                                     三、Windows孤岛时代
       Windows孤岛时代与DOS时代部分是重合的,起点是微软推出Windows3.0以后,终点为以Windows NT、Windows 97等为代表的系统提供卓越的局域网连接性能之前。在国内大致可以定义为1993年到1997年这段时间。微软在连续推出了两个不成功的Windows版本1.0和2.0后,终于以Windows 3.0和3.1在图形用户界面的市场站稳了脚跟。此后以Windows95出色的外观、性能、硬件兼容性及卓越的市场推广手段一统桌面操作系统的江山。Windows上的应用软件业越来越丰富和成熟,以微软Office系列应用软件为代表的字处理软件成为个人计算机上最主要的应用。
       这个时代互联网正在悄悄兴起,但由于上网的办理手续复杂,资费比较昂贵,上网速度慢、内容少,因此上网还只是专业人士或时尚人士的玩意儿。97年前,国内大部分单位也还没有局域网,即使有也以Novell的NetWare网络。
       因此,这个时代的病毒,主要还是依靠文件的方式进行传播。而文件的交换除了通过软盘进行外,比早期多了光盘这个介质。而与前一时代最大的不同在于,就是具有Windows特色的病毒产生了。Windows 95推出之前,由于这是一个划时代的32位的操作系统,Intel系列处理器的32位能力被完全使用,16位的计算时代即将结束,人们预言,随着32位系统的普及,以前16位下的病毒及其制作技术失去用武之地,杀毒产业将会夕阳西下。人们急切地期盼着Win 95这个无毒时代的来临,但是,纯Windows病毒的产生彻底击粹了人们的美好憧憬。
       这一时期的纯Windows病毒主要有两类。一类叫宏病毒,一类叫Windows PE病毒。
       宏病毒就是依附在微软Office文档中的病毒。为了便于文档处理中的自动化,微软在它的Word、Excel等桌面文档处理软件中加入了宏的功能(后来升级为Visual Basic For Application),也就是允许文档的作者在Office文档中进行编程来处理自动化的操作。这种被叫做宏的程序能够读写本地系统的文件。这是一把双刃剑,为我们带来方便的同时,也为恶意代码的编写者(病毒作者)提供了工具。微软后来的很多东西都是这样,象Host Scripting,象Visual Basic Script(VBS)等脚本工具及运行环境。
       最初的宏病毒叫“Concept病毒”,该病毒是一个良性的版本,不做任何坏事,只是证明了利用Word宏的病毒的可能性。可以称为宏病毒的开山鼻祖。其它懂得宏的人拿来稍加改造,就可以成为另一个具有破坏力的病毒。
      著名的宏病毒有“台湾1号(TW-No.1)”、“Nuclear”等——
       “台湾1号”之所以著名,是因为它在电脑中潜伏了一段时间,然后集中在某一天大规模爆发,引起人们的恐慌,再经过媒体的宣传,于是名声大噪,其实很多知名的病毒都是因为爆发的时间非常集中而且规模大。那天是13号,人们休假后的第1个工作日,打开电脑处理文档的白领们发现自己被迫做一个4位数连乘的心算题,算错了就不停打开窗口。
       “Nuclear”表现病毒作者的政治意愿,在其表现形式中留下了反对法国在太平洋核试验的字样。同时它发作时检测某种条件,满足删除时删除系统的MSDOS.SYS和IO.SYS文件,而那时的电脑启动还要依靠这两个文件,从而造成很多机器不能启动。
       还有一类宏病毒,在满足某个条件时,比如给你出的问题答错了,悄悄在你的电脑中写入一个包含Format命令的AutoExec.bat文件,电脑启动后会自动执行该文件,于是很多用户发现自己的硬盘被格式化了,再也不能启动,数据全部丢失。够恶毒的!
       由于Office的普遍使用,Word文档和Excel文档交换非常频繁,使得宏病毒的传播很快。而大规模爆发造成的恐慌使得最快处理该病毒的杀毒公司能在一夜之间赢得市场的青睐。国外的趋势科技、国内的江民都收益于宏病毒的大规模爆发。
       最著名的Windows PE病毒就是CIH了,CIH是病毒作者陈盈豪的拼音缩写。该病毒创造性地利用了很多当时非常“先进”的技术特征:利用VxD驱动技术编写,从应用程序执行的0环(ring,操作系统和处理器概念,用以区分执行的不同代码在系统中对处理器、内存等资源的权限)切换到系统核心的3环,分割插入到Windows可执行文件(又称Win PE文件)中,并不增加文件长度。其破坏能力也相当惊人:覆盖硬盘数据导致硬盘大量数据损坏,写主板的Flash BIOS导致主板损坏,系统不能启动。这也是第一例破坏硬件的病毒。
       CIH造成了大规模的机器瘫痪和数据丢失,据统计全球有上千万台电脑受其影响。陈哥也因此锒铛入狱。人们再一次领略到了病毒无以伦比的破坏能力,对反病毒的需求骤然扩大。瑞星公司借着对CIH病毒的快速正确处理东山再起。
       CIH之后,很多病毒作者大受启发,Widows PE的文件格式被很多人掌握,后又有CIHv1.1、v1.2、v1.3、v1.4版出现,其它更多的Windows PE病毒也不断的涌现。不过这一时期的病毒依然以文件感染为其主要传播途径。当初32位的Windows系统不会有病毒的美好憧憬在无情的现实下消失为一个遥远的梦幻。
       当时杀毒软件的技术含量很重要的部分就是分析清楚Office文档和Windows PE文件的格式,从中正确地剥离病毒代码而保证原文件数据的完整可用,也就是杀毒的部分,而发现病毒的部分却显得相对简单。Windows PE病毒感染文件的技术到今天还被很多现代病毒所继承,而正确剥离病毒代码也就是对文件感染性病毒的清除仍是当今杀毒软件重要功能之一。
       此后随着局域网的不断普及,互联网应用特别是电子邮件成为人们惯用的通讯手段,病毒发现了更快捷有效的传播方式,这标志着病毒的Windows孤岛时代的结束,而一个新的Windows网络时代逐渐掀起它的帷幕。
                                                四、Windows网络时代
       从Windows 3.1 For WorkGroup开始,Windows就开始提供联网进行文件和打印共享的功能,但在那时,局域网还是Novell的天下,有网络的企业通过Netware服务器来进行文件和打印共享。网卡、交换机等硬件设备还比较昂贵,联网的网线是同轴电缆,网络上的机器共享10M的带宽。直到97年后,网络设备、网卡便宜到了中小企业也能够承受,更重要的是Win 97、Win 98及Win NT等系统提供了出色的网络功能,人们通过Windows网上邻居可以很容易地进行文件交换和打印共享,不再需要象Netware网络那样,需要配备专门的维护人员。于是基于Windows的局域网雨后春笋般的在各个机关、企事业单位建立起来。
       于此同时,互联网也在悄悄地走进千家万户,企业网开始与Internet连起来,电子邮件逐渐成为人们最便捷的沟通方式。网络所提供的流畅的信息交流方式改变了我们对电脑的认识,逐渐改变了我们的学习、工作和生活方式,也改变了病毒的传播流行方式。
       传播是病毒的天性,现在有了畅通的网络,就算不是“太有才”的病毒作者也会想到通过网络来复制自己的作品。第一个这样的“天才”出现了——戴维·L· 史密斯,他发现了在Word宏中可以调用Outlook Express发送电子邮件,于是写出了那个99年震惊世界的“美丽莎(Melissa)”病毒。这大概是Windows网络时代第一个具有标志性意义的病毒。

1、邮出去的病毒
       有着美丽的汉译名字的“美丽莎”本身是一个宏病毒,与过去那些宏病毒不同的是,人们打开被感染的Word文档时,它会寻找Outlook地址本中的前50个邮件地址,给每个人发上一封带有病毒文件的电子邮件。文件的接收这打开带毒的文档时,又会重复上一过程。这样,病毒就以几何级数增长的方式被扩散,短短的时间内,通过因特网在全球传染数百万台计算机和数万台服务器, 因特网在许多地方瘫痪。美国YAHOO、美国在线AOL几个大型网站公司,因为Melissa堵塞了他们的邮件服务系统, 迫使他们不能收信,也不能发信,许多公司技术人员放弃了他们的周未,以应付这个Melissa病毒所带来的意外情况,甚至像微软、朗讯、英特尔、Motorola这样的技术公司及数十所大学也不例外。根据美国联邦调查局的统计数字,美丽莎病毒造成了8000万美元的损失。
       “美丽莎”之后,通过电子邮件的扩散被立即被病毒作者发现一种及其有效的传播方式。不过,使用宏作为寄生的场所似乎有点老土了,而Windows的组建对象模型(COM)已经得到了广泛的应用,通过简单的脚本调用COM来实现复杂的功能成为可能。于是,在2000年4月份,一个与“美丽莎”有异曲同工之妙的病毒“爱虫”诞生了,它同样通过自动发送邮件传播,不同的是邮件的标题为“I Love You”,谁扛得住“我爱你”三个字温柔的一击?一般人都会迫不及待的打开,看看陌生人对自己爱的表白。含有病毒代码的附件被命名为Love-Letter-For-You.txt.vbs,实质是一个Vb Script脚本文件,让人粗看是一个爱的表白的文本文件。“爱虫”就利用这温柔的陷阱迅速地传播开来,取得了前辈无法望其项背的“业绩”,短短时间感染了几千万台电脑,在全球造成的损失高达几十亿美元。之后,经过简单修改的“爱虫”病毒变种不断涌现,到2001年还在不断地流行。
      如果说“美丽莎”、“爱虫”之类的病毒还要通过其它社会工程的手段骗取人们打开邮件附件,才能继续感染和传播,微软的一个漏洞为病毒的更加泛滥大开了方便之门,带毒的邮件不需要打开附件就能够自动执行和感染!为了能够充分理解这类病毒,下面将简要解释一下微软这个著名的漏洞。
       微软的漏洞一般以他发布的补丁代号来命名,这个著名的漏洞叫MS01-20,还有一个罗嗦点的名称叫“不正确的MIME头会导致IE执行E-Mail附件漏洞”。在Outlook中,HTML格式的邮件(也就是以网页方式写的邮件正文)实际上是调用IE来进行其内容展示,一般情况下,IE会以正确的MIME格式(MIME的中文名叫“多用途互联网邮件扩展”,目的是为了在邮件中包含一些图像等多媒体信息)打开邮件中的二进制流,但是,对某些不常见的MIME类型,IE在处理时存在一个错误,如果恶意***者将一个可执行文件加为邮件附件,并在邮件头中标明该附件是一个特殊格式的MIME类型,IE就会错误地将该可执行文件加载并执行,从而导致病毒代码在受害机器上运行。
       利用这一漏洞的病毒有很多,象“情人节”病毒、“送密码”病毒等等,但都没有引起象“爱虫”那样的轰动,一方面可能是人们在病毒的狂轰滥炸下麻木了,另一方面也与杀毒公司的及时反映和社会的广泛宣传有关。这一病毒传播技术也随着MS01-20漏洞补丁的普遍应用和系统升级慢慢地消失了。
2、主动***的病毒
       如果说通过邮件传播的病毒还具有某种被动的成分,那么能够主动***进行传播就具有划时代的意义了。这类病毒的先驱者就是著名的“红色代码(Red Code)”病毒。
       “红色代码”病毒利用微软Web服务器IIS的一个漏洞进行传播,采用了一种叫做"缓存区溢出"的***技术,向IIS服务器发送几个经过精心准备的数据包(包含有病毒代码),使IIS服务程序处理请求数据包时溢出,导致把此“数据包”当作代码运行,病毒驻留后再次通过此漏洞感染其它服务器。它不同于以往的文件型病毒和引导型病毒,并不将病毒信息写入被***服务器的硬盘。它只存在于内存,传染时不通过文件这一常规载体,而是借助这个服务器的网络连接***其它的服务器,直接从一台电脑内存传到另一台电脑内存。
       在迅速传播的过程中,“红色代码”蠕虫能够造成大范围的访问速度下降甚至阻断。它所造成的破坏主要是涂改网页,对网络上的其它服务器进行***,被***的服务器又可以继续***其它服务器。病毒最初于7月19日首次爆发,7月31日该病毒再度爆发。这种纯粹基于网络的传播非常快,在被发布到网上的几个小时内,就感染了几十万台服务器。
      他之所以具有划时代的意义,是因为所使用的技术可以充分体现网络时代网络安全与病毒的巧妙结合,开创了网络病毒传播的新路。如果稍加改造,将是非常致命的病毒,可以完全取得所攻破计算机的所有权限为所欲为,可以盗走机密数据,严重威胁网络安全。果然,之后产生的“红色代码II”就不只在内存中传播了,它还在被感染的机器中留下了后门。
       “红码”之后不得不提到集病毒传播手段之大成的“尼姆达(Nimda)”病毒,它不仅通过发送邮件传播,还主动***IIS服务器,利用IIS的漏洞以及以前受“红色代码II”感染留下的后门进行传播,同时也感染文件,在局域网中通过向共享文件夹写带毒文件传播到另一个客户端。
       此后随着已发现的IIS漏洞逐步被消除,对IIS服务器主动***的病毒逐渐销声匿迹了。不过2003年又出现了一款叫做“蠕虫王”的病毒,它通过微软SQL数据库服务器的一个缓存溢出漏洞进行传播。该病毒的最大恶性就是通过被感染的服务器向外大量发送用于继续感染的病毒数据包,造成互联网的大规模瘫痪。
3、微软的漏洞
       微软通过Windows版本的不断升级,进一步巩固了它在桌面操作系统的统治地位,但是在产品研发中对安全问题的忽视为全球的Windows用户带来了无尽的烦恼,一度差点危及到Windows帝国大厦的基础。在单机模式下,系统开发中的漏洞问题还不是那么突出,但在互联互通的网络环境中,微软系统的漏洞被一个一个地发掘出来,被加以利用,成就了一个一个病毒的“辉煌”,也造成了信息系统的巨大损失。前面提到的那些病毒,无疑不是利用了微软程序中的漏洞。残酷的现实使微软认识到软件开发中安全问题的重要性,并在后续产品的研发中从根本上加强了安全问题的对待和处理方式。
       这里要再次提到“缓冲区溢出”漏洞。缓冲区溢出,其实要追溯到C/C++程序开发语言的问题。C/C++程序开发语言以其高效成为系统级软件开发的首选,Windows系统的绝大部分程序都是C/C++写的。但是,这种语言有一个固有的致命缺陷,就是语言本身对内存数组的操作不进行边界检查,对此全靠程序本身进行约束和检查,因此粗心或不正确的程序有可能超出本应受到约束的边界读写内存的数据,造成原有数据的破坏。软件中在读取数据的地方如果存在这样一个没有经过检查边界的“缓冲区”,那么经过精心设计的输入数据就会覆盖原有软件的代码区,造成输入的数据被当成代码执行,而这段代码就是进行准备的病毒代码,后果可想而知。
       “缓冲区溢出”造就了另外三个著名的病毒,即所谓的三波病毒——“冲击波(Worm.Blaster)”、“震荡波(Worm.Sassor)”、“极速波(Worm.Zotob)”。这三个病毒最显著的共同现象就是造成系统在启动后很短的时间内崩溃而自动重启。冲击波利用的是微软远程过程调用服务(RPC)中的一个“缓存区溢出”漏洞(MS03-26),RPC是Windows的基础服务之一,很多系统功能都依赖于它来实现;震荡波利用了微软系统核心程序LSASS中的“缓存区溢出”漏洞(MS04-11),LSASS是Windows安全机制的核心程序;极速波利用了微软即插即用服务的“缓存区溢出”漏洞(MS05-39),即插即用服务是微软处理硬件适配的基本服务。这些被发现漏洞的服务或程序在每台Windows的机器上都存在,而且处于系统的核心地位,中毒后的机器不仅自身迅速崩溃,还会通过网络主动***其他机器,由于漏洞发现的当时所有的机器都没有打上补丁,于是象链式反应一样在网络上迅速蔓延,造成大面积恐慌和巨大的损失。
       虽然微软为产品的安全问题付出了巨大的代价和努力,它的漏洞还是一个接一个的被揪了出来。不过应该看到,对于一个庞大的软件系统,漏洞的存在几乎是不可避免的,这将是我们长期的数字生存环境。微软所做出的巨大努力也还是起到了非常关键的作用。作为一个普通用户,及时打齐系统补丁是我们的必做功课。
4、Windows网络时代的反病毒
       Windows网络时代由于病毒的传播感染模式发生了根本的变化,对杀毒软件也就提出了新的挑战,一些新的功能应运而生并逐渐成为标准配置。
       首先,相对于它们的前辈,最大的功能增加就是杀毒软件实时监控的产生。以驻留内存的方式对系统内存、注册表、磁盘文件的读取创建和修改、邮件、网页等进行实时的监控是杀毒软件对系统进行保护的主要手段。虽然由于当前技术的局限性,这种保护不能解决所有的问题,但还是大幅度地减小了病毒(特别是已知病毒)***的机会。
      其次,是网络版杀毒软件的产生。最初的网络版实际就是针对服务器推出的特殊版本,由于被当作服务器运行的系统与我们日常使用的客户端系统有很大的不同,而且由于服务器的网络中心地位,它的保护就显得比桌面系统更为重要。此后,网络防病毒作为一个整体的概念被提出来。利用网络本身的功能进行杀毒软件的统一管理、分发和升级,对所管理部分的全网络进行统一的病毒清理,对防范象Nimda之类的网络蠕虫成为必需。
       利用网络进行及时、快捷、智能的升级也逐渐成为了杀毒软件的必备功能。
      这一时代,国内的金山毒霸逐渐成长起来,与瑞星、江民构成了三足鼎立的局面。其它一些反病毒公司象本地的南北信源,外来的趋势、熊猫、Norton等等,由于种种原因,始终没能做大。开始国外的Norton、McAfee、CA等在网络版上还有一些优势,但逐渐也被本土的公司打败了。杀毒软件行业恐怕是国内仅有的几块能扛起民族软件大旗的行业了。
五、互联网***时代
         这是一个古老的希腊神话。公元前1193年,特洛伊国王普里阿摩斯和他俊美的二儿子王子帕里斯在希腊斯巴达王麦尼劳斯的宫中受到了盛情的款待。但是,帕里斯却和麦尼劳斯美貌的妻子海伦一见钟情并将她带出宫去,恼怒的麦尼劳斯和他的兄弟迈西尼国王阿伽门农兴兵讨伐特洛伊。希腊联军的统帅阿喀琉斯和Priam最小的儿子,特洛伊年轻的国王赫克托耳逐渐成为在战争中成为双方各自的英雄。由于特洛伊城池牢固易守难攻,希腊军队和特洛伊勇士们对峙长达10年之久,最后英雄奥德修斯献上妙计,让希腊士兵全部登上战船,制造撤兵的假相,并故意在城前留下一具巨大的***。特洛伊人高兴地把***当作战利品抬进城去。当晚,正当特洛伊人沉湎于美酒和歌舞的时候,藏在***腹内的20名希腊士兵杀出,打开城门,里应外合,特洛伊立刻被攻陷,杀掠和大火将整个城市毁灭。老国王和大多数男人被杀死,妇女和儿童被出卖为奴,海伦又被带回希腊,持续10年之久的战争终于结束。
        谁也没想到,这个古老神话最具标志的东西——“特洛伊***”在今天的互联网时代会如此紧密地与IT系统联系在一起,被用来指隐藏在计算机内部,盗取信息或进行其它不被计算机合法拥有者不知道活动的计算机程序,叫得多了,就简称为***,英文名还是那个Trojan。下面我们就从***开始讲述病毒的互联网***时代。

1、***的故事
        早些时候,***程序与病毒是两个概念,他们最大的区别是***不具有自我复制和传播能力,它需要人为地通过某种途径在目标机器上安装运行,尽管经常也是不为人知的。从目的来看,***的主要目标是盗取信息和远程控制,病毒的主要目标是传播与表现。因此,在早期的概念中,***走的是***的路线,具有较强的针对性和目标,是***手中的武器;而病毒是数字世界无处不在的有害细菌。
        比较早而且有名的Windows***程序要数Back Orifice(简称BO),由2000年在美国美国拉斯×××召开的***年会一个***组织(死牛俱乐部)发布。它最大的特点就是利用Windows中公开的API实现了对远程Windows机器的完美图形界面控制。从技术结构上看,BO分为服务器端和控制端,服务器端就是需要安装到目标机器上的东西,运行后在目标机器上启动一个服务,然后根据事先的配置打开一个TCP端口等待远程控制客户端的连接,***自己手里的那个程序就是BO的客户端,只要向远程目标机器上的服务器端发送指令就可以完全控制远程的机器了。这种结构构成了现在远程控制***的基本结构。
        由于BO完美的图形化控制,使得高深神秘的******技术变成了简单的劝说别人运行一个服务器端程序,而它带来的威胁是整个机器完全被掌握在控制者的手中。当时确实引起了大面积的恐慌。于是,很多反病毒软件立即将BO列为病毒类进行查杀。这也是反病毒软件扛起反***大旗的开始。
        BO仅就功能来讲,可能叫做远程控制软件更合适点,不过它是一把双刃剑,在网络管理人员手里是一个不错的网络管理工具,在***手里是一个危险的武器。现代很多***也都可以用来做远程控制,但在正义与邪恶的不断较量中,人们逐渐认识到了作为***工具的***与远程管理软件之间的本质区别——***尽量隐藏自己的行踪,采取多种技术手段保护自己不被删除,而远程管理软件尽量在被控机器上显示自己的存在,进行严格的远程控制权限认证,并提供明确的卸载途径。所谓“论心不论行”,透过技术层面的表象,洞察到软件制作的本质目的和初衷,就容易看到正与邪之间的泾渭分明。这点后来在金山与“灰鸽子”工作室之间的论战可以作为又一个案例来佐证:
        “灰鸽子”工作室辩称“灰鸽子”只是一个远程控制软件,金山对此有四问——
         一问灰鸽子:你们宣称“不是计算机病毒”,既然如此,身正不怕影子斜,为什么灰鸽子服务端要采用“进程隐藏”、“线程注入”、“重复加壳”等病毒/***手段来隐藏自己,不让用户发现,并且躲避反病毒软件的识别呢?
         二问灰鸽子:为什么自灰鸽子问世以来,数以十万计的用户向各家安全厂商上报灰鸽子样本,并强烈要求将“灰鸽子”做为***/病毒处理?为什么全球各大著名反病毒厂商比如NOD32、诺顿、卡巴斯基、金山、瑞星、江民等都将“灰鸽子”列为了***/病毒?是善是恶,群众的眼睛永远是雪亮的。
         三问灰鸽子:为什么你们要提供各种***功能,纵容灰鸽子使用者进行不法行为?大量用户因为灰鸽子提供的“远程摄像头控制”、“键盘记录”的功能而丢失网游、网银、QQ帐号及密码,暴露大量个人隐私,造成了不可估量的巨大损失。这是一个正常的远程控制软件所应该有的行为吗?
         四问灰鸽子:一个合法的远程控制软件是否应该具备用户知情权呢?Remote Administor与PC AnyWhere在安装服务端后会强烈提醒用户,在右下角位置放置提醒图标,并要求使用者必须通过密码验证。为什么你们在安装服务端时刻意让用户毫无知觉?作为一个正常软件,需要删除自己在计算机里的一切痕迹吗(比如删除安装文件,将自身进程隐藏在IE或者QQ等正常进程中)?为什么还会伪装成WORD文档文件以欺骗用户呢?
         第一个国产的知名***叫“冰河”。大约1999年左右,当时在国内,***虽然已经在***中间遍布使用,但多数为国外的BO和BUS等***,对于一些刚接触***的生手来说,理解这些软件的使用方法和熟练使用这些软件无疑成为了“通往***道路”上的最大的难题,此外这些***多数能够被杀毒软件擒获,使得国内的***多数不愿意去用***。正当国内大多数***们苦苦寻觅新的国外***时,一款中国人自己的编写的***悄悄诞生了,它就是冰河。冰河在诞生之初凭借着国产化和暂时无杀毒软件能防杀的特点迅速地成为了***们使用最广泛的***。冰河良好的隐蔽性和使用简单的特点让国内许多想成为***,但又不懂***技术的人深深地过了一把***瘾,利用冰河***个人系统计算机后,他们便能够利用冰河得到他们想得到的一切。
        “冰河”在开发了几个版本后,开发者黄鑫逐渐认识到了这种自己技术爱好和在***们热情鼓励推动下开发出来的东西存在巨大的危害,停止了后续版本的开发。此后,模仿“冰河”技术的***慢慢浮现出来,这其中就有开创后来的“全民***时代”的“灰鸽子”***。

2、***与病毒技术的融合
        病毒和***就像黑暗魔王所生的孪生双胞胎,它们各有与生俱来的恶性。在与反病毒世界的对抗中,它们的相互借鉴和融合几乎是必然的趋势。***需要病毒技术来进行主动的传播,在被感染的系统上隐藏自己的踪迹并逃过反病毒软件的追杀;病毒也不再满足于传播和表现,它需要***技术来实现感染受害系统后更功利性的目的。所以,现代的***和病毒实际上已经很难严格区分,我们姑且将它们称为“现代病毒”,其本身就是一个传统***技术和病毒技术融合后的综合体。不少杀毒公司已经不再区分病毒还是***了,它们被统称为“可疑软件(Malware——由malicious和software拼成的词)”。

2.1 传播手段
        在前一章病毒的“Windows网络时代”,我们讲到了“红色代码”病毒,它已经利用了“缓存溢出”这种******手段进行主动传播。这是病毒利用***手段的开始,也为传统***利用病毒技术传播打开了启迪之门。一个***,如果不能置入到目标机器内部,它是没有任何作用的,传统的置入方法需要发邮件或通过QQ等及时通讯工具发送带病毒的文件,然后诱骗别人运行,而能够主动***进行传播,无疑是增加了一门威力无比的炮弹发射器。这不正是***传播者迫切需要的吗?它使得任何一个“菜鸟”,经过简单的培训,就能够黑掉一个有漏洞的系统。
        今天,人们惊叹于浏览网页也会感染病毒。实际上,目前恶意网页对病毒的传播已经成为了最主要的途径。我们来稍稍详细分析一下这种传播过程,就更能清楚地看到病毒与***的融合了。
        网页恶意代码实际上是JavaScript或VbScript等脚本写的一段简单代码,由于我们普遍使用的IE浏览器的某些漏洞,会导致网站上的某个恶意的可执行文件(往往很小,能够很快地被下载)被下载到本地执行。这一下就打开了潘多拉盒子,该小小的可执行文件会干很多事情:修改注册表,留下下次启动运行的机会;注册系统服务,进行自我保护;继续到指定的网站下载真正的***或其他程序在本地执行;感染其它文件...这些它都在后台悄悄地执行,你甚至感觉不到它的存在,直到系统病入膏肓,你还在奇怪它们是从哪里来的。
        当然,利用邮件和及时通讯工具进行传播的途径在这个时代依然被继承发扬,只不过传播的不仅仅是病毒,还有***。

2.2 隐藏与自我保护
        一个不懂得自我保护的Malware会很快被发现并杀掉。病毒和***成功感染到了目标机器上后,要做的第一件事就是进行自我保护,这些自我保护手段包括:隐藏、逃避追杀和再生。
        先说再生。它的基本思想就是“消失不要紧,春风吹又生”。这些具体的手段包括:
        a. 在注册表中藏身,使得下次启动时能够被加载到内存。不能被加载到内存执行的病毒只是只死虫。注册表中能够自动加载程序的地方有几十处之多,处处都是唤醒沉睡虫子的春风。
        b. win.ini、system.ini、autoexec.bat等传统的windows加载文件处。
        c. 将自身的部分程序注册为系统服务,更有甚者,注册为设备驱动程序一级的驱动,在系统加载的最开始进入内存。
        d. 感染多个文件,守株待兔,等待这些文件被执行时将它带入内存并取得执行权。
        e. 并不高明但非常恶毒的autorun.inf诡计。双击打开磁盘几乎是菜鸟的找文件、运行程序等电脑基本操作的必由之路。而磁盘根目录下autorun.inf文件的存在,使得双击盘符这种行为,被引导为执行病毒文件。这是“中招”的朋友重装系统都弄不干净病毒的最主要原因。
        这些再生的手段被几乎每一个现代病毒所用到,只不过有的利用这几种,有的利用那几种,有的利用得比较高明,有的比较愚蠢。
       再说逃避追杀。杀毒软件几乎是每一台电脑的必备工具,病毒要想逃避被杀毒软件追杀的命运,“先下手为强”是一个很容易想到的点子,只不过能够做到的并不多,但只要做到了它们就非常厉害。它们进入内存,取得运行权后,先杀死所有它知道的杀毒软件进程,并阻止它们启动。第一个比较成功的要算06年的“橙色八月”了,此后又陆续产生了一些,到最近的所谓“AV终结者”这种手段达到了登峰造极的程度:它不仅结束并阻止当今市场所有杀毒软件进程,连很多手工杀毒工具也在它的对付之列;禁止打开含有“病毒”两字的网页,为寻求帮助制造障碍;破坏安全模式,进一步增加查杀难度;再结合前面提到的autorun诡计,简直超级难缠。
       再说隐藏。这些手段有的很简单,有的很复杂而高明。简单的手段包括将自己的文件和进程取个跟系统文件相近的名字,利用类似字母O和数字0的相似性,进行外观上的迷惑;藏身在垃圾箱文件夹或系统还原文件加等需要设置特殊权限才能清理的地方;将自身的文件设置为“系统+隐藏”,高明点的改注册表使得不能在资源管理器中查看隐藏文件。最高明的手段是一种被称之为RootKit的技术,病毒驻留到操作系统的底层,通过所谓的“系统钩子”修改操作系统给应用层软件提供的接口函数(专业上称之为API)的返回结果,那么顶层的应用软件(比如Windows的资源管理器)通过API的调用来展示和操作磁盘文件内容,根本就发现不了病毒文件的存在。同样,这种技术也被病毒用于对自身注册表项的保护。

3、背后的“铜臭”
        当互联网逐渐深入到社会生活,信息联通着经济,虚拟社会通向现实社会。病毒和***不再是技术高手和愤青们的玩具与宣泄途径,它们被赋予了更多功利性的目的,被巨大的利益诱惑所驱动。下面列出的是几类主要的功利目标——
        直接盗取网银帐号。网络银行给我们带来了极其方便的金融手段,而盗取网银帐号则是一个获取财产最直接的途径了。殊不知网上盗窃也是盗窃,还好法律也管网上的事。病毒作为一种技术手段可以肆行无碍,作为人该有所畏惧。不光网银,“全民炒股”的年代,不知道股票帐号会不会是黑手的下一个目标。
        虚拟财产也是财产。网络游戏的帐号及装备、QQ帐号等被称之为虚拟财产的东西其实已经不仅是虚拟财产了,它们能够很方便地转化为现实财产。无处不在的***能抗住这样的诱惑吗?
        点击率就是金子。互联网时代,一个网站的点击率决定了它在网络虚拟世界中的地位,决定了它在搜索引擎中的排名,决定了广告的价值。可以说,点击率就是黄金。没有一个网站的经营者不想增加自己网站的点击率。一个很容易想到的主意就是,如果有一个广泛传播的病毒不停地请求自己网站的网页(根用户通过鼠标点击访问网页是一码事),网站的点击率马上就能上来,马上就能找广告商要更多的钱,还有更多潜在的好处。        信息的诱惑。商业社会激烈的竞争环境下,谁都明白信息的价值,如果能通过***的手段获得别人不知道的信息,哪将占据多么有利的地位。心仪已久的姑娘在想什么?怎样搞垮那个情敌(政敌)?何不深入他(她)的电脑看看。        不能吃的“肉鸡”。网络主机是网络上的基础资源之一,被人黑掉(完全控制)的主机俗称“肉鸡”,它不能吃,被便宜卖到了几角一元每台。用它们来做什么?发动分布式拒绝服务***;作为跳板去网络上干更过见不得光的事,可以做到来无影,去无踪,神龙不见首尾;当作免费的服务器建立网站;提高网站的点击率...       病毒和***只是工具,背后是人心,是欲望,充斥着“铜臭”!这是“互联网***时代”病毒最大的味道。4、近年来的一些著名病毒灰鸽子
        第一个首推“灰鸽子”,它蝉联05年06年十大病毒榜首。它虽然有一个统一的名称,但变种有上百种之多。正是由于这个著名的远程控制工具,宣告了所谓“全名***时代”的到来。任何一个人,只要他想,经过极其简单的培训和定制,手中就有了一把利剑。巨大的诱惑使得菜鸟老鸟们挥舞着这个叫“鸽子”的利器,冲入看不到警察的网络。不知道有多少台主机沦为“肉鸡”,也不知道它们被卖到了哪个非法控制者手中。
        灰鸽子从远程控制技术上讲它是一流的,用今天的眼光看,它的隐藏功夫和传播能力并不怎么样。但它之所以成为病毒之冠,还是由于其背后巨大的利益产业链。从另一个方面,反病毒公司对它的宣传和口水战也起到了推波助澜的作用。传奇终结者(Trojan.PSW.Lmir)
        这是一款盗取传奇网游帐号密码的***。由于传奇系列网络游戏曾一直是市面上最流行,份额最大的网游,一个好的传奇帐号对传奇玩家有着无限的诱惑力。这正是该***流行并一度成为十大病毒***之一的原因。该***用了一些机制来隐藏自己,在今天看来,都不是什么高明的东西了,但对很多普通网友,也还是能够藏住自己的尾巴。QQ通行证(Trojan.PSW.QQPass)
        随着QQ成为国内互联网最常用的及时通讯工具,盗取QQ帐号的QQ通行证***也成为最流行的***之一。该类***变种很多,盗取密码的手法各异,后来发展为有些变种可以盗取一些网游密码,但基本没有什么新的技术特色。熊猫烧香(Worm.Nimaya )
        “熊猫烧香”之所以一时轰动大江南北,最主要原因在于拿着三根香的熊猫那鲜明的形象,以及病毒作者的落网。反病毒公司也借此契机大大的炒作了一把。从技术上讲,它的大规模传播和难以查杀也是有原因的——
        通过网页上的恶意代码进行传播;感染后在它所能找到的网页中加入恶意代码;结束杀毒软件进程;试图通过弱口令破解传播到局域网其它机器。威金病毒(Worm.Viking)
        威金病毒是06年大规模爆发的病毒,它的出名源于强大的感染能力。它通过局域网传播、感染常用软件的安装文件,利用P2P文件共享机制大规模传播。其对系统文件的感染造成其难以手工清除。还能够强制禁用国内知名的反病毒软件,从而进一步增加清除难度。它的波坏能力还表现在作为一个“急先锋”,继续下载盗取网游帐号或控制机器的***。
橙色八月
        橙色八月之所以列出来,使因为有证据表明它是***组织有计划地对抗杀毒软件的开始,在这场战争中,很多知名的病毒向上面提到的传奇终结者、QQ通行证等,都加入了对抗杀毒软件的功能。流氓软件My123
        严格地说,My123不是病毒,它本身并不传染,但是一旦被安装到机器上,超级难以被卸载,是一个最“死皮赖脸”的流氓软件。它创造了很多流氓软件的第一,在自身保护上可谓“技术超群”——
        1、驱动保护(在安全模式下也加载自身驱动,把自己的驱动优先级别设得很高)
        2、随机文件名,DLL和SYS
        3、多线程保护,网络自动升级
        4、极强的自动恢复(即使在所有文件被删除的情况下,仍然可以通过内存恢复!)
        5、驱动文件独占方式,其它任何程序也无法读写及删除
        6、有预谋定时爆发 这个时代更多的是大量没有这么知名的Malware,它们是***和病毒的混合体,它们通常组成一个军团,由一个“先锋”攻破用户的机器后,后续的部队接踵而来,它们往往带有明确的功利目的。一台被攻陷的机器,要想彻底清除,对普通网友具有相当的难度,及时配备了杀毒软件、防火墙、反流氓软件等武器;其造成的危害、损失和心理恐慌也是巨大的。这场道与魔的争斗,还将长期继续下去,反病毒界任重而道远!