當前位置:編程學習大全網 - 編程語言 - 歷史上有名的病毒

歷史上有名的病毒

病毒歷史

電腦病毒的起源(節錄自牛頓雜誌)

電腦病毒的歷史:磁蕊大戰

電腦病毒並非是最近才出現的新產物, 事實上, 早在壹九四九年, 距離第壹部商用電腦的出現仍有好幾年時, 電腦的先驅者約翰.範紐曼(John Von Neumann)在他所提出的壹篇論文 [復雜自動裝置的理論及組織的進行] , 即已把病毒程式的藍圖勾勒出來, 當時, 絕大部份的電腦專家都無法想像這種會自我繁植的程式是可能的, 可是少數幾個科學家默默的研究範紐曼的所提出的概念, 直到十年之後, 在美國電話電報公司(AT&T) 的貝爾(Bell)實驗室中, 這些概念在壹種很奇怪的電子遊戲中成形了, 這種電子遊戲叫做 [磁蕊大戰] (core war)。

磁蕊大戰是當時貝爾實驗室中三個年輕程式人員在工餘想出來的, 他們是道格拉斯麥耀萊(H.Douglas McIlroy), 維特.維索斯基(Victor Vysottsky)以及羅伯.莫裏斯(Robert T. Morris), 當時三人年紀都只有二十多歲.

附註: Robert T. Morris 就是後來寫了壹個 Worm, 把 Internet 搞的天翻地覆的那個 Robert T. Morris Jr. 的爸爸, 當時大 Morris 剛好是負責 Arpanet網路安全 .

電腦病毒的老祖宗:

磁蕊大戰的玩法如下:兩方各寫壹套程式, 輸入同壹部電腦中, 這兩套程式在電腦?記憶系統內互相追殺,有時它們會放下壹些關卡,有時會停下來修理(重新寫)被對方破壞的幾行指令 ;當它被困時,也可以把自己復制壹次,逃離險境,因為它們都在電腦的記憶磁蕊中遊走,因此得到了磁蕊大戰之名.

這個遊戲的特點,在於雙方的程式進入電腦之後,玩遊戲的人只能看著螢幕上顯示的戰況,而不能做任何更改,壹直到某壹方的程式被另壹方的程式完全 [吃掉] 為止.

磁蕊大戰是個籠統的名稱,事實上還可細分成好幾種,麥耀萊所寫的程式叫 [達爾文]這包含了 [物競天擇,適者生存] 的意思 . 它的遊戲規則跟以上所描述的最接近,雙方以組合語言(Assembly Language)各寫壹套程式,叫有機體(organism),這兩個有機體在電腦裏爭鬥不休,直到壹方把另壹方殺掉而取代之,便算分出勝負. 在比賽時 Morris 經常匠心獨具,擊敗對手.

另外有個叫爬行者程式(Creeper)的,每壹次把它讀出時,它便自己復制壹個副本.此外,它也會從壹部電腦[爬]到另壹部有連線的電腦.很快地電腦中原有資料便被這些爬行者擠掉了.爬行者的微壹生存目地是繁殖.為了對付[爬行者],有人便寫出了[收割者](Reaper).它的唯壹生存目的便是找到爬行者,把它們毀滅掉.當所有爬行者都被收割掉之後,收割者便執行程式中最後壹項指令:毀滅自己,從電腦中消失.[侏儒](Dwarf)並沒有達爾文等程式聰明.卻可是個極端危險人物.它在記憶系統中邁進,每到第五個[地址](address)便把那裏所儲存的東西變為零,這會使的原本的程式停擺.

最奇特的就是壹個叫[印普](Imp)的戰爭程式了,它只有壹行指令,那就是

MOV 01

MOV是[MOVE]的代表,即移動的意思 .它把身處的地址中所載的[0]寫(移)到下壹個地址中,當印普展開行動之後,電腦中原有的每壹行指令都被改為[MOV 01].換句話說,螢光幕上留下壹大堆[MOV 01].[雙子星](Germini)也是個有趣的家夥.它的作用只有壹個:把自己復制,送到下壹百個地址後,便拋棄掉[正本].從雙子星衍生出壹系列的程式.[犧牲者](Juggeraut)把自己復制後送到下十個地址之後;而[大雪人](Bigfoot)則把正本和復制品之間的地址定為某壹個大質數.想抓到大雪人可是非常困難的.此外,還有全錄(Xerox)柏路阿圖研究中心的約翰.索殊(John F.Shoch)所寫的[蠕蟲](Worm),它的目的是要控制侵入的電腦.

電腦病毒的出現

在那些日子裏,電腦都沒有連線,而是互相獨立的,因此並不會出現小莫禮士所引起的病毒瘟疫.如果有某部電腦受到[感染],失去控制,工作人員只需把它關掉便可.但是當電腦連線逐漸成為社會結構的壹部份之後,壹個或自我復制的病毒程式便很可能帶來?窮的禍害了.因此長久壹來,懂的玩[磁蕊大戰]遊戲的電腦工作者都嚴守壹項不成文的規定: 不對普羅大眾公開這些戰爭程式的內容.

壹九八三年,這項規定被打破了.科恩.湯普遜(Ken Thompson)是當年壹項傑出電腦講得獎人.在頒獎典禮上,他作了壹個演講,不但公開地證實了電腦病毒的存在,而且還告訴所有聽眾怎樣去寫自己的病毒程式.他的同行全都嚇壞了,然而這個秘密已經流傳出去了.壹九八四年,情況愈復雜了.這壹年,[科學美國人]月刊(Scientific American)的專欄作家杜特尼(A. K. Dewdney)在五月號寫了第壹篇討論[磁蕊大戰]的文章,並且只要寄上兩塊美金,任何讀者都可以收到它所寫得有關寫程式的綱領,在自己家中的電腦中開辟戰場.

[病毒]壹詞的正式出現

在壹九八五年三月份的[科學美國人]裏,杜特尼再次討論[磁蕊大戰]-----和病毒.在文章的開頭他便說:[當去年五月有關[磁蕊大戰]的文章印出來時,我並沒有想過我所談論的是那麽嚴重的題目]文中並第壹次提到[病毒]這個名稱.他提到說,義大利的羅勃吐.些魯帝(Roberto Cerruti)和馬高.麽魯顧帝(Marco Morocutti)發明了壹種破壞軟體的方法.他們想用病毒,而不是蠕蟲,來使得蘋果二號電腦受感染.

些魯弟寫了壹封信給杜特尼,信內說:[馬高想寫壹個像[病毒]壹樣的程式,可以從壹部蘋果電腦傳染到另壹部蘋果電腦,使其受到感染.可是我們沒法這樣做,直到我想到,這病毒要先使磁碟受到感染,而電腦只是媒介.這樣,病毒就可以從壹片磁碟傳染到另壹片磁碟了.]

病毒歷史事例:

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個實驗的演示,從而在實驗上驗證了計算機病毒的存在。

1986 年初,在巴基斯坦的拉合爾 (Lahore),巴錫特 (Basit) 和阿姆傑德(Amjad) 兩兄弟經營著壹家 IBM-PC 機及其兼容機的小商店。他們編寫了Pakistan 病毒,即 Brain。在壹年內流傳到了世界各地。

1988 年 3 月 2 日,壹種蘋果機的病毒發作,這天受感染的蘋果機停止工作,只顯示“向所有蘋果電腦的使用者宣布和平的信息”。以慶祝蘋果機生日。

1988 年 11 月 2 日,美國六千多臺計算機被病毒感染,造成 Internet 不能正常運行。這是壹次非常典型的計算機病毒入侵計算機網絡的事件,迫使美國政府立即作出反應,國防部成立了計算機應急行動小組。這次事件中遭受攻擊的包括 5 個計算機中心和 12 個地區結點,連接著政府、大學、研究所和擁有政府合同的50,000 臺計算機。這次病毒事件,計算機系統直接經濟損失達 9600 萬美元。這個病毒程序設計者是羅伯特·莫裏斯 (Robert T.Morris),當年 23 歲,是在康乃爾 (Cornell) 大學攻讀學位的研究生。

羅伯特·莫裏斯設計的病毒程序利用了系統存在的弱點。由於羅伯特·莫裏斯成了入侵 ARPANET 網的最大的電子入侵者,而獲準參加康乃爾大學的畢業設計,並獲得哈佛大學 Aiken 中心超級用戶的特權。他也因此被判3 年緩刑,罰款1 萬美元,他還被命令進行 400 小時的新區服務。

註:在此文中,把蠕蟲、我們常提的病毒定為病毒不同種類。

1988 年底,在我國的國家統計部門發現小球病毒。

--------------------------------------------------------------------------------

在病毒的發展史上,病毒的出現是有規律的,壹般情況下壹種新的病毒技術出現後,病毒迅速發展,接著反病毒技術的發展會抑制其流傳。操作系統進行升級時,病毒也會調整為新的方式,產生新的病毒技術。它可劃分為:

DOS引導階段

1987年,計算機病毒主要是引導型病毒,具有代表性的是“小球”和“石頭”病毒。

當時得計算機硬件較少,功能簡單,壹般需要通過軟盤啟動後使用。引導型病毒利用軟盤得啟動原理工作,它們修改系統啟動扇區,在計算機啟動時首先取得控制權,減少系統內存,修改磁盤讀寫中斷,影響系統工作效率,在系統存取磁盤時進行傳播。1989年,引導型病毒發展為可以感染硬盤,典型的代表有”石頭2”。

DOS可執行階段

1989年,可執行文件型病毒出現,它們利用DOS系統加載執行文件的機制工作,代表為”耶路撒冷”,”星期天”病毒,病毒代碼在系統執行文件時取得控制權,修改DOS中斷,在系統調用時進行傳染,並將自己附加在可執行文件中,使文件長度增加。1990年,發展為復合型病毒,可感染COM和EXE文件。

伴隨,批次型階段

1992年,伴隨型病毒出現,它們利用DOS加載文件的優先順序進行工作。具有代表性的是”金蟬”病毒,它感染EXE文件時生成壹個和EXE同名的擴展名為COM伴隨體;它感染COM文件時,改為原來的COM文件為同名的EXE文件,在產生壹個原名的伴隨體,文件擴展名為COM。這樣,在DOS加載文件時,病毒就取得控制權。這類病毒的特點是不改變原來的文件內容,日期及屬性,解除病毒時只要將其伴隨體刪除即可。在非DOS操作系統中,壹些伴隨型病毒利用操作系統的描述語言進行工作,具有典型代表的是”海盜旗”病毒,它在得到執行時,詢問用戶名稱和口令,然後返回壹個出錯信息,將自身刪除。批次型病毒是工作在DOS下的和”海盜旗”病毒類似的壹類病毒。

幽靈,多形階段

1994年,隨著匯編語言的發展,實現同壹功能可以用不同的方式進行完成,這些方式的組合使壹段看似隨機的代碼產生相同的運算結果。幽靈病毒就是利用這個特點,每感染壹次就產生不同的代碼。例如”壹半”病毒就是產生壹段有上億種可能的解碼運算程序,病毒體被隱藏在解碼前的數據中,查解這類病毒就必須能對這段數據進行解碼,加大了查毒的難度。多形型病毒是壹種綜合性病毒,它既能感染引導區又能感染程序區,多數具有解碼算法,壹種病毒往往要兩段以上的子程序方能解除。

生成器,變體機階段

1995年,在匯編語言中,壹些數據的運算放在不同的通用寄存器中,可運算出同樣的結果,隨機的插入壹些空操作和無關指令,也不影響運算的結果,這樣,壹段解碼算法就可以由生成器生成。當生成的是病毒時,這種復雜的稱之為病毒生成器和變體機就產生了。具有典型代表的是”病毒制造機”VCL,它可以在瞬間制造出成千上萬種不同的病毒,查解時就不能使用傳統的特征識別法,需要在宏觀上分析指令,解碼後查解病毒。變體機就是增加解碼復雜程度的指令生成機制。

網絡,蠕蟲階段 第壹篇 第二篇

1995年,隨著網絡的普及,病毒開始利用網絡進行傳播,它們只是以上幾代病毒的改進。在非DOS操作系統中,”蠕蟲”是典型的代表,它不占用除內存以外的任何資源,不修改磁盤文件,利用網絡功能搜索網絡地址,將自身向下壹地址進行傳播,有時也在網絡服務器和啟動文件中存在。

視窗階段

1996年,隨著Windows和Windows95的日益普及,利用Windows進行工作的病毒開始發展,它們修改(NE,PE)文件,典型的代表是DS。3873,這類病毒的急智更為復雜,它們利用保護模式和API調用接口工作,解除方法也比較復雜。

宏病毒階段

1996年,隨著Windows Word功能的增強,使用Word宏語言也可以編制病毒,這種病毒使用類Basic語言,編寫容易,感染Word文檔文件。在Excel和AmiPro出現的相同工作機制的病毒也歸為此類。由於Word文檔格式沒有公開,這類病毒查解比較困難。

互連網階段

1997年,隨著因特網的發展,各種病毒也開始利用因特網進行傳播,壹些攜帶病毒的數據包和郵件越來越多,如果不小心打開了這些郵件,機器就有可能中毒。

爪哇,郵件炸彈階段

1997年,隨著萬維網上Java的普及,利用Java語言進行傳播和資料獲取的病毒開始出現,典型的代表是JavaSnake病毒。還有壹些利用郵件服務器進行傳播和破壞的病毒,例如Mail-Bomb病毒,它就嚴重影響因特網的效率。

  • 上一篇:可編程控制器報關
  • 下一篇:如何用java編程,實現聲音特征的提取?
  • copyright 2024編程學習大全網