曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

說到“蟲”這種生物,絕大多數人都會表現出厭惡的表情,無論是蛆蟲,還是毒蟲,又或是飛蟲,這些都是令世人倍感噁心和恐懼的存在。

不過,隨著時代的發展,蟲族的譜系其實不僅僅只在生物界了,它們在科技界中也漸漸站穩了腳跟。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

而且,“科技蟲族”對人類造成的危害,也絲毫不遜色於生物蟲族,甚至,科技蟲族的破壞力,還要比生物蟲族要高得多。

科技蟲族

當然,科技裡的蟲族並不是真正意義上的蟲,而是病毒和漏洞的合稱。

而在這一譜系中最具代表性的,當屬誕生於上世紀八十年代的“網路蠕蟲”,它的發明者來自於美國堪奈爾大學,是一名僅有24歲的研究生羅伯特·莫里斯。

值得一提的是,羅伯特·莫里斯的父親老莫里斯,才是真正意義上的科技蟲族創始人,因為老莫里斯曾在實驗室中,開發出了第一款具有破壞性的程式————-爬行者。

爬行者就彷彿一隻網路神經中的爬蟲,透過網路和線路連線,對沿線的計算機裝置展開無休止的攻擊,並使其最終陷入癱瘓中,這也是人類歷史上首個殺傷力極高的病毒。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

之後,小莫里斯基於爬行者的資料,又重新改進了病毒的邏輯,讓這一程式在網路中變得更加靈活,簡單來說,它不僅僅會攻擊相連的電腦,就連同屬一個網路區域的裝置,也會被該程式感染,並受到相同的打擊。

鑑於這種無孔不入且靈活的特徵,小莫里斯直接將其取名為“蠕蟲”,為了彰顯自己的實力,他把蠕蟲投放到了因特網中。

該病毒一經投放,僅數週時間就讓超過六千臺計算機陷入了癱瘓,除此之外,還有數萬臺裝置處於感染的風險中,由此直接造成了數千萬美元的損失,間接損失那更是如同天文數字,根本無法統計。

而且,直至科技發達的今天,蠕蟲依然在襲擾著網際網路世界,它們藉助新型的網際網路訊息、郵件,以及網路共享等方式,實現了跨區域、跨國,甚至是跨洲際的感染,可謂是破壞力驚人。

比如早先折磨中國網民的“熊貓燒香”,其實就是一種網路蠕蟲,儘管其發明者和病毒,最後都得到了有效的管控,但對於無數網民而言,病毒的恐怖早已深深印刻在腦海中。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

不過,正如前文所言,蠕蟲僅是科技蟲族中最有代表性的存在,並不是最強大的蟲類,因為在它之上,還有著一個堪稱蟲王的千年蟲。

千年蟲:“省”出來的漏洞

首先,我們需要知道,千年蟲和蠕蟲雖然都是科技蟲族,但它們依然存在著差異,比如蠕蟲從本質上來說當屬病毒類,可千年蟲卻是一種漏洞,而且,還是一種“省”出來的漏洞。

原來,在上個世紀五十年代時,電腦硬體和程式設計都才剛剛開始起步,第一批程式設計師都懷揣著一顆野心,都想在行業內有所建樹,於是在程式設計和編碼時,幾乎都是開足馬力,都想把程式邏輯設計到近乎完美的地步。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

然而,同樣是剛剛起步的電腦硬體,根本不足以支撐大家的野心,因為寫出的程式碼是需要有裝置進行記錄的,可當時的儲存裝置卻貴得離譜,一個僅有5兆位元組(MB)大小的儲存磁碟,其年租金竟達到了驚人的三萬美金以上。

所以,早期的程式設計師們在編寫程式碼時,既要考慮邏輯的完整性,也要兼顧寫碼的成本,簡單來說,就是要用最少的程式碼,來執行最完美的程式。

這使得程式設計師在編寫時,基本都是能省則省,就連日期的表述,也不得不採用六位簡寫的方式,比如1922年11月25日,就要簡寫為22/11/25。

值得一提的是,當時想出該辦法的人,還是一位女程式設計師格萊斯·霍普,她也由此在程式界享有盛名,在當年被冠以“軟體之母”的稱號。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

然而,就在六位簡寫法開始大肆推廣時,一位名叫鮑勃·貝默的科學家卻察覺到一絲不對勁,他開始四處呼籲,希望大家不要普及這種簡寫方式。

因為,六位簡寫法存在一個巨大的漏洞,那就是年份僅體現兩位,這會讓二十世紀和二十一世紀的時間發生重合,比如1922年和2022年,在計算機的記錄中,就都只會顯示“22”,這顯然是不合理的。

但當時的人們認為鮑勃只是在眼紅格萊斯的成就,加之,六位簡寫法確實讓程式設計師們節省了開支,所以,無論是科技公司,還是各大院校實驗室,都沒有聽取鮑勃的意見。

一部分程式設計師甚至還認為,自己寫的程式根本用不到二十一世紀,至於二十一世紀後,那會有新的計時方法了,所以根本無須擔心,可真的如此嗎?

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

事實上,這種分析從邏輯上來說,是沒有任何問題的,可前提是“新的計時方法”必須要出現。

但令人震驚的是,科技界似乎都沉溺於向前發展,大家都忘記了開發新的計時方法,畢竟,老一套的六位計數法用起來很方便。

除此之外,大多數軟體介面都已經設定為這種技術方法,若要進行修改,那將面臨著無法適配的情況,這預示著成本必定會隨之上升。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

就這樣,科技界一直拖到了二十一世紀的最後十年,也就是九十年代時,才終於注意到時間的問題,因為一旦完成世紀的跨越,所有程式的設定,都會變成00/01/01。

可電腦畢竟不是人腦,它在讀取這一時間資料時,必然會發生紊亂,須知無論是1900年1月1日,還是2000年1月1日,它們的顯示方式都是一樣的。

這意味著,所有的程式都會在過年時崩潰,從而引發史上最大規模的紊亂事件。屆時,無論是核彈發射裝置,還是金融中樞,又或是運作的工廠,都會出現無法預測的混亂,這一結果的可怕性,簡直就是不堪設想。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

因此,為了避免這種混亂,一眾科技大國開啟了一場修改程式碼的行動。

不過,修改這五十年來寫出的所有程式,這顯然是不現實的,所以,程式設計師們選擇直接把系統中的1900年至1920年的時間刪除。

這樣一來,“00/01/01”就變成了2000年1月1日的專屬,無須再擔心別的問題。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

但饒是如此,位於非洲的國家甘比亞,還是因為沒來得及修改時間邏輯,而導致全國程式的崩潰,無論是發電站,還是自來水廠都停止了工作,整個國家不得不選擇放假一天,來等待國際支援。

另外,需要注意的是,當時刪除的時間線僅到1920年,這意味著,在2020年之後,依然還會爆發千年蟲事件。

比如2022年開年時,微軟的exchange伺服器就發生了崩潰,這導致無數企業使用者的郵件根本無法傳送和接受,全部堆在序列中,讓伺服器進入惡性迴圈中。

造成這一問題的核心原因,就在於微軟在跨年時,釋出了一個代號為“ 2201010001”的更新版號,這本是正常的版本更新。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

但微軟寫入其中的符號程式碼,能夠接受的最大數值為 2147483647,這顯然是遠遠小於2201010001的,所以伺服器在識別更新檔案時,就直接把自己算崩潰了,進而也就讓無數處於休假的程式設計師也崩潰了,大家只能選擇加班來修復這一問題。

從這一點來看,千年蟲的危害是極其強大的,而且,就目前的情況來看,千年蟲這一禍害根本無法解決。

畢竟,就算人們能夠修改時間設定,又或是能直接購買新裝置,但一些較為老套的計算機,卻依然還沿用著六位計數法,這代表著,在某個特定的時刻,它們都會迎來一次集體的紊亂,或是計程車的計價器,也可能是天然氣計價器等等。

曾讓一個國家癱瘓的“千年蟲”,重出江湖,它究竟是何方神聖?

而這也便是千年蟲的潛伏性,它總能在不經意的時刻,給予人類致命的一口,完美契合昆蟲的特性。

參考資料:

《22年過去了,“千年蟲”漏洞為何還會出現?》————央廣網

《照這樣下去,“千年蟲”還得再來十遍》————-品玩

《“千年蟲”在我國沒有爆發》————新華通訊社(2000年)