當前位置:
首頁 > 最新 > 病毒「始祖」——磁芯大戰

病毒「始祖」——磁芯大戰

計算機病毒史上有據可考的第一個病毒一般被認為是1982年美國賓夕法尼亞州一個九年級學生Rich Skrenta所編寫的Elk Cloner,這個程序會在感染者重啟電腦50次後在其電腦屏幕上顯示作者Skrenta所寫的一首詩,在當時,幾乎所有知道這個程序的人都認為Skrenta和他的程序簡直酷斃了,除了他的數學老師以外——作為第一個Elk Cloner的受害者,在一臉茫然的讀完屏幕上那首帶有作者署名的歪詩後,Skrenta親愛的數學老師迅速的結束了和他可愛學生之間的友誼。

圖 1 ELK CLONER

儘管我們說Skrenta和他的Elk Cloner是病毒史上的第一款病毒,但實際上在他之前還有一些雖然不對宿主機構成破壞威脅或者並沒有傳染性但卻「如此有趣」的程序。

1966年前後,來自著名的美國電話電報公司(AT&T)下設的貝爾實驗室中的三個年輕的程序員:道格拉斯·麥基爾羅伊(H, Douglas McIlroy)、 維克多.維索特斯克(Victor Vysottsky)以及後來的NSA首席科學家羅伯特.莫里斯(Robert H. Morris)閑暇之餘共同開發了一個新的遊戲環境,他們將其命名為達爾文(Darwin),顯然這裡面包含了物競天擇,適者生存的意思,如您所想的一樣,他的遊戲規則也是如此:參與遊戲的雙方各自使用一種被稱為Redcode的彙編語言編寫一組代碼,通過覆蓋對手的程序與複製自身將對手程序「殺死」即宣告勝利。遊戲設計後不久,因為其遊戲規則且運行在模擬機器的內存中(當時採用磁芯core作為計算機內存儲器),對戰程序之間的戰鬥被形象的稱為了「磁芯大戰」(Core War)。

圖 2 羅伯特·H·莫里斯

最初的Redcode指令集只由10條簡單的指令組成,這些指令可以把內存中某些地址的信息轉移到其他位置,雖然功能簡單,但卻催生出了各種各樣微妙的對戰程序。每年都會舉辦一些磁芯大戰的比賽,在當時的背景下對於熱衷此道的「磁芯指揮官」們來說,觀看一個個小小的「磁芯戰士」在電腦屏幕上相互廝殺是相當有趣的一件事,所以每次比賽中拿到山丘之王稱號(King of the Hill)的最終勝利者往往風頭無兩,甚至美國最親民的學術雜誌《科學美國人》也刊登了數十篇關於「電腦娛樂」的文章來討論磁芯大戰。

最簡單的「磁芯戰士」僅僅由一條MOV指令組成:MOV 0,1。這個程序叫做IMP,他把內存中自身位置的內容移動到下一個地址上,而一條指令運行完成後系統又會自動運行下一個地址上的指令,如此一來系統永遠都在運行這條指令,最終將內存填滿MOV 0,1來完成對對手的毀滅。

在Redcode指令集包含了更多指令後,出現了以Dwarf為首的擁有較為複雜邏輯的「磁芯戰士」,Dwarf使用了一種稱為炸彈的策略,通過向其對手的程序執行路徑上「投擲」炸彈來完成擊殺,不過Dwarf的弱點也很快被發現:Dwarf總會停留在一個不變的位置上以防自食惡果被自己消滅,這就將自己暴露給了其他攻擊程序。

炸彈策略被發掘出來後又出現了一些更加有趣的變種戰士,比如Vampire。Vampire向對方的內存中投擲跳轉指令,將敵人的程序控制權搶奪到自己手中,讓對方執行無用代碼來讓自己佔得先機。

隨著 「磁芯戰士」們的進化,磁芯大戰的戰場開始從同一台機器中走向了多台機器聯網對戰,到了這一步,我們回顧磁芯大戰的發展歷程與他所使用的各種令人驚嘆的策略,不難發現,自我複製、破壞其他程序、阻礙系統運行——這不正是如今計算機病毒所做的事情么?雖然 「磁芯大戰」的玩家們都嚴守不對大眾公開這些程序的這一不成文規定,但是「磁芯大戰」還是教會了所有玩家 「如何編寫一個計算機病毒」。

1984年,《科學美國人》的專欄作家杜特尼(A. K. Dewdney)發表了一篇關於「磁芯大戰」的文章,並且表示只要支付2美元,任何人都可以收到他所寫的「磁芯大戰」程序框架,在自己家中的電腦上開闢戰場。僅僅過去不到一年,杜特尼就明白了自己做了什麼:「當去年五月有關『磁芯大戰』的文章印出來時,我並沒有想過我所談論的是那麼嚴重的題目」。文中第一次提到了「病毒(computer virus)」這個名稱。

雖然磁芯大戰的初衷並不具有惡意,但不可否認的是他確實可以被認為是計算機病毒的「始祖」。而關於這個有趣遊戲的故事中一個有意思且具有諷刺意義的是,達爾文的作者,羅伯特·莫里斯的兒子小莫里斯就是計算機病毒史上第一位臭名昭著的把網際網路搞得天翻地覆的蠕蟲病毒作者。

不論如何,磁芯大戰的出現推動了計算機程序編寫思路的發展,時至今日,依舊有計算機愛好者與數學家會玩這個有意思的小遊戲,有興趣的朋友也可以在網上找到現代版的磁芯大戰來感受一下他的魅力。

END

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 金山安全 的精彩文章:

TAG:金山安全 |