计算机病*大家都很熟悉了,它是一种程序,可以通过把代码在不被察觉的情况下镶嵌到另一段程序中,从而达到破坏被感染电脑数据、运行具有入侵性或破坏性的程序、破坏被感染电脑数据的安全性和完整性的目的。今天转载一篇关于计算机病*的发展历史的文章。(题目有改动,原标题叫《恶意代码发展简史》)。
——————————————————————————————————
年夏天,作家托马斯捷瑞安出版了一本名为《P-1的春天》的科幻小说,作者在书中描写了一种可以在计算机中互相传染的病*,这种病*最后控制了7,台计算机,造成了一场灾难。这本书曾在美国一度畅销,但在当时的人们看来,都觉得书中所写的事情是几十年甚至是几百年后都不会发生的。然而就在几年后,虚拟科幻小说世界中的东西,竟然真的成为了现实中电脑使用者的噩梦。
计算机技术的飞速发展给人类带来便利的同时,也有越来越多的人利用它牟取利益。恶意代码的出现,是必然的。现在的恶意代码可以分成五类:病*、木马、蠕虫、移动代码和复合型病*。发展到如今的恶意代码功能性更强,危害也更大。年5月让人记忆犹新的WannaCry勒索病*在这一月爆发,这被认为是迄今为止最严重的勒索病*事件,至少个国家、30万名用户中招,造成损失达80亿美元。
虽然有“计算机病*之父”弗雷德科恩给计算机病*正名:“计算机病*不是利用操作系统的错误或缺陷的程序,它是正常的用户程序。”但人们总是能想尽办法找到其妙用所在。技术本无罪,有罪的是人类无尽的自私和贪婪。就像恶意代码出现时从最初的研究为主要目的,到变为炫耀个人技术的工具,再到现在的勒索盈利。这里我们简单地讲讲恶意代码的历史,看看它是怎样发展的。
摇篮时代
从一个故事说起:法拉第在表演他的圆盘发电机时,一位贵妇人问道:“法拉第先生,这东西有什么作用呢?”法拉第答道:“夫人,一个刚刚出生的婴儿有什么作用呢?”
新发明的诞生和新技术的出现,总是很难预测它对将来会产生怎样的影响。就像一个刚出生的婴儿,我们不知道他将来会成为怎样的一个人。对于一项技术的预见性,往往也只存在于科幻小说中。恶意代码的诞生之初,也并非就是一个立刻搞破坏的“坏孩子”。最初的概念是电脑的先驱者冯诺依曼在年发表的论文《复杂自动机组织论》中提出的:一种能够实现复制自身的自动机。
能够自我复制,能够自我繁殖,那岂不是等于说,这段代码拥有了生命?这个新奇的想法很快的调动了研究人员的好奇心。虽然有绝大部分电脑专家都无法想象,这种能自我繁殖的程序的存在是可能的。但在这短短十一年后,也就是年,一个名叫“磁芯大战”的游戏在贝尔实验室中诞生,使冯诺依曼的设想成为事实。这项游戏是三个年轻人在工作之余所发明的,这三个年轻人分别是道格拉斯麦耀莱、维特维索斯基和罗伯莫里斯,当时三人的年纪,都只有二十多岁。
“磁芯大战”从名字也可以看出来就是程序之间的战争,大家都设计一个程序,再把这些程序都放到内存中,然后开始“并发”运行。在于双方的程序进入电脑之后,玩游戏的人只能看着屏幕上显示的战况,而不能做任何更改。看最终的结果是谁的程序消灭了内存中的其他程序而活了下来。这也是这个游戏的特点。每个程序都要尽力的消灭其他程序,为了能够生存,程序应该能保护自己,不断移动自身来躲过其他程序的攻击或当自身受到攻击后能自我修复。因为它们都在电脑的记忆磁芯中游走,因此得到了“磁芯大战”之名。
磁芯大战这一程序对抗模型可以看作是原始的病*对抗。在摇篮时代就展现了其破坏力的一面:抢占系统内存资源,消灭其他的程序。但那时的电脑也都没有连线,是相互独立的,因此病*代码很难传播。如果有某部电脑受到“感染”,失去控制,工作人员只需把它关掉便可。在计算机尚未普及的年代,电脑连线而成的网络还尚未成为社会结构的一部分,处在摇篮中的恶意代码,仅仅只是电脑工作者认为的一种娱乐游戏。
熊孩子
计算机技术和网络技术在飞速发展,当电脑连线而成的网络逐渐成为社会结构的一部分之后,电脑研究员意识到:一个能自我复制的病*程序便很可能带来无穷的危害了。例如爬行者程序(“磁芯大战”游戏中的一种程序)就能够从一台机器“爬”到另一台机器中。因此,长久以来懂得玩“磁芯大战”游戏的电脑工作者都严守一项不成文的规定:不对大众公开这些程序的内容。但人们对它的探索从未停下脚步,也不断有人打破这些规则,使其的影响范围越来越大。
第一个已知被广泛传播的计算机病*ELKCloner诞生于年,而它的作者,只是一个15岁的高中生——里奇斯克伦塔。病*通过软盘传播,这个病*开始作用,并随后将它自己拷贝到任何被访问的未感染的软盘中。因为那时的计算机有两个软盘驱动器,并因为磁盘经常在朋友之间传递,这个病*就被频繁地复制。在被感染后,计算机每被启动50次,就会显示以下文字:
ElkCloner:TheprogramwithapersonalityItwillgetonallyourdisksItwillinfiltrateyourchipsYesit’sCloner!ItwillsticktoyoulikeglueItwillmodifyramtooSendintheCloner!
ElkCloner并没有什么破坏性,而是设计来作为一个善意的玩笑。简单的讲只是一个具有传播特性的恶作剧代码。
年,当年一项杰出电脑奖得奖人肯汤普逊,在颁奖典礼上作了一个演讲,他在演讲中打破了电脑工作者严守的规定,不但公开证实了电脑病*的存在,而且还告诉所有听众怎样去写自己的病*程序。他的同行全都吓坏了,但为时已晚,这个秘密已经流传出去了。
年11月3日,真正具有破坏性的计算机病*诞生。当时还是南加州大学一名学生的弗雷德科恩在UNIX系统下,编写了一个能够自动复制并在计算机间进行传染繁殖从而引起系统死机的程序,通过存储介质软盘传到了电脑上。虽然此前就已经知道电脑病*可能存在的事实,但科恩却是第一个将其付诸实践的人。
年,情况愈复杂了,这一年,《科学美国人》月刊的专栏作家杜特尼在5月刊号写了第一篇讨论“磁芯大战”的文章,并且只要寄上两块美金,任何读者都可以收到有关写程序的纲领,在自己家的电脑中开辟战场。
年3月份的《科学美国人》里,杜特尼再次讨论“磁芯大战”和病*。在文章的开头他便说:“当去年5月有关‘磁芯大战’的文章印出来时,我并没有想过我所谈论的是那么严重的题目……”文中第一次提到“病*”这个名称。他提到说,意大利的电脑程序员利用感染磁碟的方式使其它电脑受到破坏性程序的感染。
就这样,许多程序员都了解了病*的原理,进而开始尝试编制这种具有隐蔽性、攻击性和传染性的特殊程序。病*从隐秘走向公开,先是利用磁碟,然后是利用网络,迅速在全世界范围内扩散开来,成为电脑用户的头号敌人。
年初,在巴基斯坦的拉合尔(Lahore),巴锡特(Basit)和阿姆杰德(Amjad)两兄弟经营着一家IBM-PC机及其兼容机的小商店。他们编写了Pakistan病*,即Brain。在一年内流传到了世界各地。当时,由于当地盗版软件猖獗,为了防止软件被任意非法拷贝,也为了追踪到底有多少人在非法使用他们的软件,于是在年年初,他们编写了”大脑(Brain)”病*,又被称为”巴基斯坦”病*。该病*运行在DOS操作系统下,通过软盘传播,只在盗拷软件时才发作,发作时将盗拷者的硬盘剩余空间吃掉。
年3月2日,一种苹果机的病*发作,这天受感染的苹果机停止工作,只显示”向所有苹果电脑的使用者宣布和平的信息”。以庆祝苹果机生日。
年冬天,发明“磁芯大战”的三个年轻人之一的罗伯莫里斯的儿子,正在康奈尔大学攻读研究生的罗伯特莫里斯,把一个被称为“蠕虫”的电脑病*送进了美国最大的电脑网络——互联网。
年11月2日下午5点,互联网的管理人员首次发现网络有不明入侵者。它们仿佛是网络中的超级间谍,狡猾地不断截取用户口令等网络中的“机密文件”,利用这些口令欺骗网络中的“哨兵”,长驱直入互联网中的用户电脑。入侵得手,立即反客为主,并闪电般地自我复制,抢占地盘。
用户目瞪口呆地看着这些不请自来的神秘入侵者迅速扩大战果,充斥电脑内存,使电脑莫名其妙地“死掉”,只好急如星火地向管理人员求援,哪知,他们此时四面楚歌,也只能眼睁睁地看着网络中电脑一批又一批地被病*感染而“身亡”。当晚,从美国东海岸到西海岸,互联网用户陷入一片恐慌。当加州伯克利分校的专家找出阻止病*蔓延的办法时,短短12小时内,已有台采用Unix操作系统的SUN工作站和VAX小型机瘫痪或半瘫痪,不计其数的数据和资料毁于这一夜之间。造成一场损失近亿美元的空前大劫难!莫里斯事件震惊了美国社会乃至整个世界。
而比事件影响更大、更深远的是:更多的人从中受到启发,恶意代码从单纯的“熊孩子式”的破坏,往牟取利益的方向发展。黑客伦理失去约束,黑客传统开始中断。大众对黑客的印象也不再回复。
潘多拉之盒被打开了。
潘多拉之盒
-年间,此时的病*仍是一个稀有事物,但这种情形被3个著名的病*的出现改变了,它们是耶路撒冷,米开朗基罗和醉酒(stoned)。通过媒体的炒作,人们的心理充满了恐惧,开始到处寻求帮助。在这种气氛下,开发反病*软件的公司如雨后春笋般纷纷冒出。从此,计算机病*从此步入主流。病*与反病*技术也在对抗中发展。这一阶段的流行病*种类有限,攻击目标单一,清除相对来说较容易,是计算机病*的萌芽和滋生期,被称为第一代病*。年底,在中国的国家统计部门发现的小球病*是中国第一次病*经历。
-年间,计算机反病*技术的提高和反病*产品的不断涌现,病*编制者也在不断地总结自己的编程技巧和经验,千方百计地逃避反病*产品的分析、检测和解*,从而出现了第二代计算机病*。第二代病*又称为混合型病*(又称为“超级病*”),它是计算机病*由简单到复杂,由单纯向成熟的阶段。计算机局域网的应用与普及,再加上网络系统尚未有安全防护的意识,结果出现了病*第一次流行高峰。这一阶段的病*攻击目标趋于混合型,一种病*既可传染磁盘引导扇区,又可传染可执行文件,采取更为隐蔽的方法驻留内存和传染目标。它们往往采取了自我保护措施,增加了检测、解*的难度。
-年间,第三代病*学会了“变形”,此类病*称为“多态性”病*或“自我变形”病*。所谓“多态性”或“自我变形”的含义是指此类病*在每次传染目标时,进入宿主程序中的病*程序大部分都是可变的,即在搜集到同一种病*的多个样本中,病*程序的代码绝大多数是不同的,这是此类病*的重要特点。
此类病*的首创者是MarkWashburn,他并不是病*的有意制造者,而是一位反病*的技术专家。他编写的病*就是一种多态性病*,此病*年1月问世,有极强的传染力,被传染的文件被加密,每次传染时都更换加密密钥,而且病*程序都进行了相当大的改动。他将此类病*散发给他的同事,目的是为了证明特征代码检测法不是在任何场合下都是有效的。然而,不幸的是,为研究病*而发明的此种病*超出了反病*的技术范围,流入了病*技术中。
年上半年,在保加利亚发现了黑夜复仇者(DarkAvenger)病*的变种“MutationDarkAvenger”。这是世界上最早发现的多态性的实战病*,它可用独特的加密算法产生几乎无限数量的不同形态的同一病*。
上世纪90年代中后期,远程网、远程访问服务的开通,病*流行面更加广泛,病*的流行迅速突破地域限制,首先通过广域网传播至局域网内,再在局域网内传播扩散。年下半年随着国内Internet的大量普及,Email的使用,夹杂于Email内的WORD宏病*成为病*的主流。
这一时期的病*的最大特点是利用Internet作为其主要传播途径,传播快、隐蔽性强、破坏性大。网络的发展使得病*的传播速度大大提高,感染的范围也越来越广。可以说,网络化带来了计算机病*传染的“高效率”。另外,病*的主动性、独立性更强了,变形(变种)速度极快并向混合型、多样化发展。
病*陈列室
年——在APPLE-II的计算机中发现Elkcloner
年——第一个PC病*:Brainvirus
年——“李海”(Lehigh)病*最早在美国的李海大学(LehighUniversity)被发现。
年——MorrisInternetworm——感染了6多台(蠕虫病*,特点)
年——“黑暗复仇者”(DarkAvenger)/“埃迪”(Eddie)病*是最早的反杀*软件病*
年——“费雷多”(Frodo)病*出现。这个病*感染文件后具有一定隐蔽性
年——virusconstructionset——病*生产机
年——加壳病*(ArmoredVirus)首次出现。此类病*很难分解。如Whale病*。
年——Tequila病*出现
年——DAMN病*由DarkAvengerMutationEngine编写
年——Michelangelo病*出现后感染所有类型的磁碟。
年——出现的Satanbug/LittleLoc/Natas病*
年——GoodTimes(joys)
年——首次发现macrovirus
年——netcat的UNIX版发布(nc)
年——Laroux/Excel宏病*
年——第一个javavirus(StrangeBrew)
年——netcat的Windows版发布
年——backorifice(BO)/CIH
年——Melissa/worm(macrovirusbyemail)
年——backorifice(BO)forWIN2k
年——DOS/DDOS-DenialofServiceTFT/trin00
年——knark内核级rootkit(linux)
2年——loveBug(VBScript)
年——CodeRed-worm(overflowforIIS)
年——Nimda-worm(IIS/outlook/fileshareetc.)
年——setiri后门
年——SQLslammer(sqlserver)
年——hudan的steganography工具
年——MSBlaster/Nachi
年——MyDoom/Sasser
年——熊猫烧香
年——Leap-A/Oompa-A
年——机器狗病*
年——Stuxnet(工业蠕虫)
年——火焰病*
年——WannaCry
……
结束语
正义和邪恶的斗争是永恒存在的,计算机病*的发展也必然会促进计算机反病*技术的发展。从恶意代码的发展史来看,对技术的兴趣和爱好是其发展的源动力。但越来越多迹象表明,物质利益将成为推动计算机病*发展的最大动力。年的“勒索”病*,更是明目张胆地以勒索钱财为目的。直到年9月9日,WannnaCry勒索病*的幕后黑手才被正式指控。
如今的恶意代码在功能上,分工也越来越细化,实现的关键技术也在不断的变化。移动端的飞速发展,也给恶意代码创造了新的土壤。未来也将会面临更多的挑战。但所谓魔高一尺,道高一丈,每一次的安全危机,都促使着人们安全意识的提高。
————————————————
版权声明:本文为CSDN博主「王liuliu」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: