三十年以前,還沒有人把“計(jì)算機(jī)”和“病毒”這兩個(gè)詞放在一起。今天,計(jì)算機(jī)病毒已經(jīng)成為我們生活的一部分一我們想盡力避免的那一部分。讓我們回溯過去,去看看這些給我們帶來大麻煩的小程序。
大計(jì)算機(jī)和小惡作劇
早在電子計(jì)算機(jī)發(fā)明以前,“計(jì)算機(jī)之父”約翰·馮·諾依曼就在一篇名為《復(fù)雜自動(dòng)裝置理論及組識(shí)的進(jìn)行》的論文里提出了可自我復(fù)制程序的概念,可以說,創(chuàng)造病毒的條件之一這時(shí)在理論上已經(jīng)具備了。
但是實(shí)際情況有些滯后,一直到1974年以前,計(jì)算機(jī)大都是些巨大、昂貴而笨重的設(shè)備,只有大公司、大學(xué)、研究機(jī)構(gòu)能買得起。這些計(jì)算機(jī)的速度慢得可怕,指令復(fù)雜得驚人,只有少數(shù)人能夠掌握。
在20世紀(jì)60年代初,有人開發(fā)了可以自我復(fù)制的程序。那是在美國貝爾實(shí)驗(yàn)室,三個(gè)年輕人維克多·A·維索特斯克、馬爾科姆·道格拉斯·邁克爾羅伊和羅伯特·H·莫里斯在設(shè)計(jì)和開發(fā)UNIX操作系統(tǒng)之余,開發(fā)了一個(gè)叫做“達(dá)爾文”的游戲,在一臺(tái)IBM7090計(jì)算機(jī)上運(yùn)行。他們這個(gè)游戲應(yīng)用了馮·諾依曼提到的“程序自我復(fù)制理論”,獲得競(jìng)爭(zhēng)優(yōu)勢(shì)的“個(gè)體”可以發(fā)展壯大(后來這個(gè)程序也被稱為“磁芯大戰(zhàn)”。和現(xiàn)在的游戲比起來,它的玩法復(fù)雜得出奇,每個(gè)玩家都要自己撰寫程序來和別人爭(zhēng)奪地盤,并且爭(zhēng)取找到對(duì)方的弱點(diǎn)從而消滅對(duì)方的程序。他們使用的編程語言“Red—code”同樣是老古董。
這個(gè)游戲在很長一段時(shí)間都不為人知。直到1983年,亞歷克山大·杜特尼在《科學(xué)美國人》雜志上發(fā)表了一篇名為,《計(jì)算機(jī)娛樂》的文章,才把這種游戲介紹給大眾。由于這種游戲只在指定程序下運(yùn)行,所以它雖然具備自我復(fù)制能力,但還不能稱為病毒。實(shí)際上在杜特尼發(fā)表這篇文章的時(shí)候,“計(jì)算機(jī)病毒”這個(gè)名詞還沒有發(fā)明出來呢。
1983年,弗雷德·科恩正在南加州大學(xué)攻讀博士學(xué)位,他寫出了具有可自我復(fù)制及感染能力的程序,這個(gè)程序能夠在一個(gè)小時(shí)內(nèi)傳遍整個(gè)電腦系統(tǒng)。11月10日,他在一個(gè)電腦安全研討會(huì)上公布了自己的研究結(jié)果,并且指出:“這一類型的程序在網(wǎng)絡(luò)中可像在電腦間一樣傳播,將給許多系統(tǒng)帶來威脅。“科恩的導(dǎo)師艾德勒曼將這一類型的程序命名為計(jì)算機(jī)病毒,這是這個(gè)名詞第一次出現(xiàn)在歷史上。
這下人們終于知道該怎么稱呼這個(gè)惡作劇了。1982年初,黎巴嫩山高中九年級(jí)學(xué)生理查德·斯克倫塔在蘋果Ⅱ型計(jì)算機(jī)上寫出了一個(gè)叫做“ElkCloner”的程序,并且把它拷貝到游戲軟盤中去。當(dāng)寫入了該程序的軟盤運(yùn)行時(shí),它就在計(jì)算機(jī)內(nèi)存里自我復(fù)制一份,一旦有人將一張干凈軟盤插入計(jì)算機(jī)并查看文件時(shí),“ElkCloner”就會(huì)自我復(fù)制入其中。當(dāng)?shù)?0次啟動(dòng)被感染的軟盤時(shí),將會(huì)出現(xiàn)斯克倫塔寫的一首打油詩。
這個(gè)惡作劇的影響超出了斯克倫塔的想象。直到10年后,一個(gè)水兵在海灣戰(zhàn)爭(zhēng)期間還曾遭遇過它。而這個(gè)時(shí)候,斯克倫塔已經(jīng)從西北大學(xué)畢業(yè)好幾年了。
“戰(zhàn)田時(shí)代”的古老病毒
20世紀(jì)70年代末到80年代初是計(jì)算機(jī)的戰(zhàn)國時(shí)代。20世紀(jì)70年代初,英特爾創(chuàng)造性地把計(jì)算機(jī)的運(yùn)算器部分全部做在了一個(gè)小小的硅芯片上,推出了8008芯片。第二年,他們推出了8080,速度是8008的十倍。
微軟公司的創(chuàng)始人比爾·蓋茨和保羅·艾倫在1975年1月份的《大眾電子學(xué)》雜志封面上看到了真正的微型計(jì)算機(jī)的廣告,那是一臺(tái)由微儀表和自動(dòng)系統(tǒng)公司(MIT8)設(shè)計(jì)和制造的叫做“牽牛星8800”的家伙,沒有屏幕,通過發(fā)光二極管的點(diǎn)亮或者熄滅來表示信息,就是這樣一個(gè)方盒子促使他們創(chuàng)建了微軟公司。而蘋果公司要到第二年的愚人節(jié)才會(huì)成立,邁克爾·戴爾這個(gè)未來戴爾公司的創(chuàng)始人才10歲,還沒開始做他的郵票生意呢。
1980年IBM提出了“兼容機(jī)”概念,這一概念給了資金和實(shí)力不太雄厚的企業(yè)一個(gè)機(jī)會(huì),他們聯(lián)合起了一大批硬件設(shè)計(jì)生產(chǎn)商,從而占據(jù)了大量的市場(chǎng)份額。微軟公司推出了MS-DOS,并且和IBM的個(gè)人電腦捆綁銷售,很快就流行了起來。
在計(jì)算機(jī)的存儲(chǔ)和運(yùn)算能力成為可以廉價(jià)獲得的資源之后,人們開始嘗試讓計(jì)算機(jī)的功能更多樣化。1986年初在巴基斯坦的拉合爾,巴錫特和阿賈德兩兄弟編寫了“巴基斯坦”病毒,也被稱為“(c)Brain\"病毒。這種病毒在DOS操作系統(tǒng)下運(yùn)行,會(huì)自我復(fù)制到磁盤的引導(dǎo)區(qū)里,并且把磁盤上一些存儲(chǔ)空間標(biāo)記成不可用,它還會(huì)把自己藏在計(jì)算機(jī)的內(nèi)存中,從而感染每張?jiān)谌径镜挠?jì)算機(jī)上使用過的磁盤。
“巴基斯坦”病毒在一年之內(nèi)就流傳到了世界各地,很快衍生出了很多變種。這兩兄弟在接受《時(shí)代周刊》的采訪時(shí)說,寫出這個(gè)病毒的初衷只不過是為了保護(hù)自己寫出的軟件不被盜版而已。
又過了兩年,1988年羅伯特·T·莫里斯寫出了世界上第一個(gè)通過網(wǎng)絡(luò)傳播的病毒。這個(gè)莫里斯可以說家學(xué)淵源,他父親就是“達(dá)爾文”游戲的三個(gè)發(fā)明者之一:羅伯特·H·莫里斯。當(dāng)時(shí)小莫里斯正在康奈爾大學(xué)讀研究生,他想統(tǒng)計(jì)一下當(dāng)時(shí)連接在網(wǎng)絡(luò)上的計(jì)算機(jī)的數(shù)目,所以就寫了一個(gè)程序,并且在11月2日從麻省理工學(xué)院一臺(tái)計(jì)算機(jī)上釋放出去??紤]到網(wǎng)絡(luò)管理員可能會(huì)刪除掉程序,從而使統(tǒng)計(jì)結(jié)果不夠準(zhǔn)確,所以他設(shè)置了一個(gè)自認(rèn)合理的方案:讓這個(gè)程序以一定的概率自我復(fù)制,但是他忘了測(cè)試這個(gè)功能的危險(xiǎn)性。
這個(gè)程序開始無休止地復(fù)制自身,占據(jù)了大量磁盤空間、運(yùn)算資源以及網(wǎng)絡(luò)帶寬,最終導(dǎo)致計(jì)算機(jī)死機(jī)和網(wǎng)絡(luò)癱瘓。這個(gè)程序感染了大約6000臺(tái)計(jì)算機(jī),受到影響的則包括5個(gè)計(jì)算機(jī)中心和12個(gè)地×結(jié)點(diǎn)以及在政府、大學(xué)、研究所和企業(yè)中的超過25萬計(jì)算機(jī),美國國防部成立了計(jì)算機(jī)應(yīng)急行動(dòng)小組來應(yīng)對(duì)這次事件并且減少損火。據(jù)估計(jì),這個(gè)程序造成的經(jīng)濟(jì)損失大約存9600萬美元左右。人們從這時(shí)開始,才意識(shí)到病毒能夠帶來什么樣的危害。
這個(gè)實(shí)驗(yàn)使得小莫里斯被判處1萬美元罰款和400小時(shí)的社區(qū)服務(wù),也給計(jì)算機(jī)病毒添加了一個(gè)全新的分類,叫做“蠕蟲病毒”。有趣的是,早在1977年出版的一本小說中就提到了類似的概念:在加拿大作家托馬斯·J·瑞安(ThomasJ,Ryan)寫的那本科幻小說《P-1的青春期》里,一個(gè)叫做“P-1”的人工智能程序幾乎傳染了美國所有的計(jì)算機(jī)。后來,加拿大還以此拍了一部叫做《捉迷藏》的電影。
新時(shí)代,病毒全速向前
1989年11月9日柏林墻倒塌了,1991年12月25日蘇聯(lián)解體了,持續(xù)了數(shù)十年的“冷戰(zhàn)”時(shí)代終結(jié)了,計(jì)算機(jī)也開始更多地走進(jìn)人們的生活。
這個(gè)時(shí)候,在DOS上傳播的病毒也已經(jīng)經(jīng)歷了好幾個(gè)階段了。從最早的引導(dǎo)區(qū)病毒開始,逐漸經(jīng)歷DOS可執(zhí)行階段、伴隨及批次階段、幽靈階段和病毒制造機(jī)幾個(gè)階段。
大概是在1992年,出現(xiàn)了一種叫做“金蟬”的病毒,這是一種嶄新的類型:“伴隨型病毒”。這種病毒會(huì)把原來的文件改名,然后把自己改成文件本來的名字,并且讓病毒文件優(yōu)先運(yùn)行,再調(diào)用用戶本來要運(yùn)行的文件。當(dāng)用戶認(rèn)為自己在使用一個(gè)安全文件的時(shí)候,實(shí)際運(yùn)行了病毒。
又過了兩年,出現(xiàn)了幽靈病毒。這類新病毒每次感染時(shí)都會(huì)產(chǎn)生不同的代碼,讓依據(jù)“病毒特征碼”查殺的殺毒軟件頭疼不已。
隨后病毒制造機(jī)也出現(xiàn)了,其中具有代表性的是“病毒制造實(shí)驗(yàn)室”,它能夠生成上千萬種病毒,每一種的特征碼都不同。同時(shí)還出現(xiàn)了一些專門研究病毒制造技術(shù)的組織,例如澳大利亞的VLAD、西班牙的29A等組織。
1995年8月24日,微軟公司發(fā)布了劃時(shí)代的操作系統(tǒng)——Windows95。人們終于可以不再記憶復(fù)雜的命令和參數(shù),只動(dòng)動(dòng)鼠標(biāo)就能完成工作。
這對(duì)于普通用戶來說真是一大福音,同時(shí)它對(duì)病毒制造者也是一大挑戰(zhàn)。全世界的病毒制造者都在研究怎樣戰(zhàn)勝聲稱“百毒不侵”的Windows95。1996年,VLAD的Boza病毒首先做到了這一點(diǎn)。這個(gè)病毒每月30號(hào)發(fā)作,受感染計(jì)算機(jī)將會(huì)顯示一段文字說明,告訴用戶這是VLAD組織的杰作,并不會(huì)造成損失。
而這一時(shí)期最出名的Win-dows病毒應(yīng)該是1998年由中國臺(tái)灣人陳盈豪編寫的“CIH”病毒。這個(gè)病毒一共有五個(gè)版本,每年4月26日發(fā)作。它改寫磁盤引導(dǎo)區(qū)數(shù)據(jù),并且可能會(huì)修改主板上基本輸入輸出系統(tǒng)芯片,甚至造成主板損壞。
1999年4月26日,CIHV1.2病毒首次大范圍爆發(fā),在全球有超過六千萬臺(tái)電腦受到不同程度的破壞,2000年4月26日又一次大范圍爆發(fā),在全球造成的損失超過十億美元。臺(tái)灣警方很快逮捕了陳盈豪·隨后發(fā)現(xiàn),破壞力更大的CI-HV2.0病毒已經(jīng)接近完成了。
逝去的黑客精神
在最開始時(shí),病毒大都是由一些計(jì)算機(jī)愛好者所制造,出發(fā)點(diǎn)往往在于對(duì)技術(shù)的迷戀和好奇,發(fā)現(xiàn)別人沒有發(fā)現(xiàn)的漏洞并加以利用是這一階段病毒發(fā)展的主題。那些趴在鍵盤上徹夜不眠的年輕人只關(guān)心技術(shù),從來沒有想過這種好奇將會(huì)造就每年50億美元的殺毒軟件市場(chǎng)。
隨著操作系統(tǒng)和應(yīng)用軟件功能的強(qiáng)大,代碼也越來越復(fù)雜,破綻必然會(huì)越來越多。這些破綻永遠(yuǎn)不可能被全部修復(fù),病毒總能找到突破口。但是對(duì)于你我這樣的普通用戶來說,使用計(jì)算機(jī)的過程已經(jīng)漸漸變成了一場(chǎng)被迫的自衛(wèi)戰(zhàn)。那些沉迷于計(jì)算機(jī)技術(shù)的“黑客”的光榮一去不返,我們談到病毒時(shí)再也不會(huì)贊嘆制造者的聰明才智。
今天,我們面對(duì)的不僅是病毒,還有病毒背后的經(jīng)濟(jì)利益,以及那條漸漸成形的“黑色產(chǎn)業(yè)鏈”。
世界和我們都在面臨著更大的挑戰(zhàn)。
選自“天極網(wǎng)”