跳轉到內容

自我複製自動機/歷史

來自華夏公益教科書

自我複製自動機是一種能夠構建自身副本的機制;一般來說,假定構建材料來自自動機所在的宿主環境。抽象模型最早由約翰·馮·諾伊曼在 20 世紀 40 年代後期開發,稱為運動學模型和鑲嵌模型。運動學模型基於現代機器人學概念。鑲嵌模型現在被稱為元胞自動機。

自我複製程式碼的起源可以追溯到簡單的惡作劇和極客幽默。社會不願接受不可避免的變化及其固有的懷疑——這都是其適應性生存反應的產物——以及社會動物對個性的渴望,導致這些有趣的形式被視為一種傳染病,而不是人工生命的初級階段。

這種被視為傳染病的觀點反過來影響了整個社群的語言學,該社群本身由“病毒編寫者”和“反病毒編寫者”組成。為了延續這一傳統,我們真誠地希望每次使用“病毒”一詞時,都是出於善意。

現在將討論當前自動機演化中的一些亮點。詳細分析將在演化部分進行。

80 年代

[編輯 | 編輯原始碼]

到 1990 年,至少有 50 種影響 IBM PC 的病毒和大約 15 種影響 Apple Mac 機器的病毒是眾所周知的(由反病毒社群分析和研究)。

人們普遍認為,第一個在野外傳播的病毒是Elk Cloner,它在 Apple II 軟盤上傳播。它大約出現在 1981-82 年。這一時期之後是弗雷德·科恩的傳奇論文。到 1986 年,Brain 病毒的許多變種流行起來。它是一種引導扇區感染病毒。普遍的說法是,它起源於巴基斯坦,其作者是兩兄弟。 Virdem,第一個檔案感染病毒也出現在同一年。

1984 年,A. K. Dewdney 在《科學美國人》雜誌上的一篇文章中向公眾介紹了遊戲“核心戰爭”。[1]

1987 年,許多檔案感染病毒開始出現,尤其感染 COMMAND.COM。第一個這樣的病毒被認為是Lehigh 病毒。檔案感染病毒主要集中在簡單的二進位制格式或 COM 檔案上。但關於如何開發 EXE 感染程式的研究也在進行。這最終導致了耶路撒冷 病毒家族的誕生。蠕蟲的概念,即能夠自我複製而無需感染的程式碼,到那時也得到了很好的發展。聖誕蠕蟲,具有很高的複製率,在此期間感染了 IBM 大型機。

Robert Morris 於 1988 年釋出了一個網際網路蠕蟲,導致了第一次網際網路危機。90 年代初期,病毒交換 (VX) BBS 的出現,使程式設計師能夠分享想法和程式碼。

90 年代

[編輯 | 編輯原始碼]

到那時,反病毒軟體主要透過使用某些簽名或程式碼跟蹤來搜尋病毒的存在,這些簽名或程式碼跟蹤會出現在任何感染的檔案中。但隨著多型病毒的出現,這種理念不得不改變。1991 年,第一個多型病毒 Tequila 釋出。

1992 年,米開朗基羅病毒從媒體獲得了廣泛的宣傳。然後是來自 Dark Avenger 的 MtE。這一年還出現了帶有下拉選單和簡單介面的病毒構建工具包,只需要很少的程式設計經驗就可以建立病毒。

1995 年帶來了病毒技術的新概念——宏病毒。Concept 是第一個宏病毒,它感染了 Word 文件。這標誌著從簡單感染可執行檔案到感染資料檔案的首次重大偏離。

在 Windows 95 釋出後,第一個真正的 Win95 病毒 Boza 出現在 1996 年。這一年還出現了 Laroux,一種 Excel 電子表格感染病毒,以及 Staog,一種 Linux 病毒。1998 年觀察到了一種名為 Strange Brew 的 Java 病毒,進一步擴充套件了受害者檔案的可能性。

1999 年,Melissa 釋出,導致了全球範圍內的混亂。Corner 出現,它感染了 Powerpoint 簡報。Tristate 也出現了,它感染了文件、電子表格和簡報。

2000 年至今

[編輯 | 編輯原始碼]

在 90 年代後期,從病毒到蠕蟲的重大轉變可以觀察到。越來越多的蠕蟲開始出現。2000 年,Love Letter 蠕蟲成為迄今為止傳播速度最快的蠕蟲。它也是社會工程學用於最大化傳播的一個有趣例子。Streams,概念驗證病毒,是第一個利用 NTFS 檔案系統的備用資料流的病毒。

隨著越來越多的語言和平臺出現,編寫病毒的新方法也隨之發展。例如,Pirus 是用 PHP 指令碼語言編寫的。它試圖感染 HTML 和 php 頁面。另一個例子是專門攻擊 Gnutella P2P 系統的 Gnuman。Winux,一種可以在 Windows 和 Linux 下執行的概念驗證病毒,於 2001 年釋出。另一個例子是 PeachyPDF-A,第一個利用 pdf 檔案進行傳播的蠕蟲。

延續上述趨勢,2002 年釋出了 LFM-926,第一個感染 Shockwave Flash 檔案(.swf)的病毒。2002 年 3 月,Sharp-A,第一個用 C# 編寫的 .NET 蠕蟲(據說是由一位名叫 Gigabyte 的女性駭客編寫)釋出。5 月下旬,出現了 Benjamin,它攻擊了 Kazaa P2P 系統。另一個有趣的樣本是 Perrun 病毒,它將自身的一部分附加到 JPEG 影像檔案。

2003 年是蠕蟲氾濫的一年。一些在此期間開始傳播的蠕蟲的例子包括 sobig(它有自己的 SMTP 引擎)、Slammer、Lovgate、Blaster 等。社會工程學技術也發展了不少。

2004 年 2 月,人們發現病毒編寫者開始利用他們的技術賺錢。一家德國雜誌成功地從 Randex 病毒的分銷商手中購買了一份受感染 IP 地址列表。這些 IP 地址被出售給垃圾郵件傳送者,他們可以使用受感染的機器作為郵件殭屍。

概念驗證蠕蟲 W64.Rugrat.3344 於 5 月下旬出現。據說它是第一個專門攻擊 64 位 Windows 檔案的惡意軟體(它忽略了 32 位和 16 位檔案)。它使用 IA64(英特爾架構)彙編程式碼建立。

6 月,Symb/Cabir-A 感染了諾基亞 Series 60 手機。它使用藍牙技術傳播到附近的藍牙裝置。9 月初,W32/Amus-A 出現。唯一使這個傢伙值得一提的是,它使用 Windows 中的 Microsoft 語音引擎大聲朗讀:“hamsi。我看到了你。Ha-a-a-a-a。你必須來土耳其。我正在清理你的電腦。5. 4. 3. 2. 1. 0. Gule. Gule”。

9 月 14 日,那個免受病毒侵害的檔案型別典範,JPEG 影像,遭到了攻擊。準確地說,影像檔案本身並沒有那麼大的責任,而是處理影像檔案型別的 Microsoft 通用 .DLL 檔案,它存在緩衝區溢位錯誤,這可能允許某人將惡意程式碼新增到 JPEG 影像中,然後透過攻擊系統開啟漏洞。不久之後,一些木馬漏洞開始出現。

Santy 蠕蟲在 2004 年底出現。它用 Perl 編寫,使用 Google 搜尋受害者,這些受害者是 phpBB 論壇,並利用 phpBB 程式碼中的某些漏洞進行傳播。

2005 年 1 月底,Bropia 蠕蟲出現,它以 MSN Messenger 為目標進行傳播。這是一個複雜的蠕蟲,透過電子郵件和 MSN 訊息客戶端傳播。它的訊息與真實使用者傳送的訊息非常相似,並且首次嘗試將回復地址偽造成來自反病毒公司(趨勢或賽門鐵克,以及微軟,雖然來自微軟已經成為一種社會工程學策略有一段時間了)。

大約在 2006 年,一些數學家開始探索一種計算機程式的可能性,這種程式不僅可以生成另一個相同程式的副本,還可以生成一個更好的程式。[2]

  1. Dewdney, A. K. (1984). "在名為 Core War 的遊戲中,敵對程式會進行一場位元之戰". 科學美國人. 檢索於 2008-11-18. {{cite journal}}: 未知引數 |month= 被忽略 (幫助)
  2. Matt Mahoney. "遞迴自我改程序序模型". 2008. 這似乎是一種 w: 哥德爾機.
華夏公益教科書