莫里斯蠕蟲

維基百科,自由的百科全書
跳至導覽 跳至搜尋

莫里斯蠕蟲,又稱為互聯網蠕蟲,是通過互聯網傳播的第一種蠕蟲病毒。它既是第一種蠕蟲病毒,也是第一次得到主流媒體的強烈關注。它也是依據美國1986年的《計算機欺詐及濫用法案英語Computer Fraud and Abuse Act》而定罪的第一宗案件[1]。該蠕蟲由康奈爾大學學生羅伯特·泰潘·莫里斯(Robert Tappan Morris)編寫,本意是作為一套試驗程式,於1988年11月2日從麻省理工學院(MIT)施放到互聯網上。

蠕蟲構造[編輯]

波士頓科學博物館保存的存有莫里斯蠕蟲源代碼的磁盤

按照其作者的說法,莫里斯蠕蟲編寫的起因並不是想造成破壞,而是想測量互聯網的規模。然而,選擇在MIT施放蠕蟲,掩蓋了它其實是來自康奈爾的事實(湊巧的是,莫里斯現在MIT擔任副教授)。此外,莫里斯蠕蟲利用了Unix系統中sendmailFinger英語Finger_protocol、rsh/rexec等程序的已知漏洞以及薄弱的密碼。

蠕蟲代碼中一段非本意的效果英語unintended consequence加劇了其危害性,它使同一台計算機會被重複感染,每次感染都會造成計算機運行變慢直至無法使用,導致拒絕服務。蠕蟲的主體只能感染DECVAX機上運行的BSD 4以及Sun 3系統,而程序中的一段C語言代碼會調用程序主體,使其在其它的系統上也能運行。

編程錯誤[編輯]

蠕蟲傳播機制上的編程錯誤把一個可能是無害的智力練習變成了惡意的拒絕服務攻擊。 蠕蟲本來可以在入侵一台計算機之前查詢其是否已經被感染,但這麼做會讓清除蠕蟲變得非常容易,只要設置一個進程在受到查詢時回答「是」就可以避免被感染。為躲過這種防禦措施,蠕蟲採用了麥可·拉賓Michael Rabin)的座右銘「隨機性」作為對策。莫里斯讓蠕蟲在得到「是」的回答時,仍按1/7的幾率進行複製[2]。事實證明這種複製幾率還是過高,蠕蟲的傳播非常迅速,重複感染了一些計算機。Morris聽到這個錯誤後評論說「他本來應該先在模擬環境中試一下」。

造成的後果[編輯]

通常的說法是莫里斯蠕蟲感染了大約6,000台Unix計算機。Paul Graham宣稱:[3]

「這個統計數據炮製出來時我在場,他們是這麼算的:有人估計約有60,000台計算機連上了互聯網,而蠕蟲大概感染了其中的1/10。」

美國的政府審計辦公室英語Government Accountability Office估算出蠕蟲造成的損失為1000萬至1億美元。

為了合作應對蠕蟲感染的危機,Gene Spafford英語Gene Spafford創建了名為「噬菌體」的郵件列表。

莫里斯受到審判,並被定罪違犯了1986年的《計算機欺詐及濫用法案》。經過上訴,他被判3年緩刑、400小時社區服務及10,000美元罰金。[4]

莫里斯蠕蟲有時候也被稱為「大蟲」(Great Worm),原因是它對當時的互聯網所造成的毀滅性影響,包括系統長時間當機,也包括擔憂互聯網的安全性、可靠性的心理衝擊。大蟲這個稱呼來源於托爾金小說中兩條龍的名字:史卡沙格勞龍[5]

參見[編輯]

注釋及參考資料[編輯]

外部連結[編輯]