千禧年的千年蟲丨專欄

2021-02-23 中科院之聲

關鍵詞:病毒防範、千年蟲病毒、系統時間存儲方式

一、讖曰

小白:東哥,你有沒有注意到今年上大學的小學弟小學妹全都是「千禧寶寶「呀。

大東:誒,還真是現在上大學的孩子們還真的都是出生在世紀之交,都是千禧寶寶。說到這個,小白白知不知道「千年蟲「呀?

小白:「千年蟲「,那是啥子呀?是不是恰巧在2000年爆發的一場蝗災呀?

大東:還別說,這次事件真的是一場「蝗災「,只不過這次」蝗災「是一場計算機的」蝗災「,在這次」蝗災「中有許許多多的電腦接連受害,就像被蝗蟲洗劫的稻田一樣損失慘重。

小白:啥!這麼可怕的嗎?是不是一種特別厲害的病毒?

大東:這還真的不是哦,這個所謂的千年蟲病毒中病毒的說法其實是大多來自於人們的謠傳,因為當時瞬間有大量的計算機癱瘓,所以各種謠言四起。雖然確實出現了很大的問題,但是卻被謠言誇大了,所以以後小白白在認識事情的時候一定要理性分析哦。

小白:原來是這樣子,我記住了東哥,以後聽到什麼言論我一定先分析再接受。

圖1 2000年千年蟲事件漫畫

二、話說事件

小白:內個內個,當時的情況到底是怎麼樣的呀。

大東:當時是這樣子的,瞬間出現了銀行:利息計算混亂,銀行卡失靈;帳單:稅務、電話帳單等按照100年計算;電力系統:全市停電、電器燒毀;交通:空中管制、班機取消;個人電腦:崩潰、清空。所以,人們就開始恐慌,各種謠傳也就開始出現了。

小白:瞬間崩潰,是完全沒有預兆的崩潰嗎?

大東:對的,當時的情況是這樣子,很多都是在正常使用的情況下毫無預兆地開始出現文件丟失,數據出錯。

小白:那真是太過詭異了,可是這也不會引起大範圍的恐慌啊。

大東:當時呢,雖然電腦在人們日常生活中還沒有得到完全的普及,但是仍然有一部分電腦病毒產生。在當時人們的認知當中,只有聯網的電腦可以感染病毒,所以一開始人們以為這僅僅是一次影響巨大的病毒傳播,直到人們注意到在有些根本沒有聯網的電腦都發生了癱瘓,甚至有些沒有經過拆封的電腦都在第一次開機時候出現故障,這種種表現使得人們陷入恐慌。

小白:對對對,是不是人們以為電腦中了某些魔咒。

大東:確實是這樣子,千年蟲主要是因為早期計算機設計漏洞引起的,所以在西方發達國家的的影響範圍更大,同時西方這些國家大多信仰基督教,教義中恰巧有提及世界末日的說法,所以人們就將這些內容強行聯繫到了一起引起事件發酵。 

小白:原來是這樣子呀,所以事件才會不斷擴大對吧。那千年蟲事件是不是就是發生在2000年1月1號呀?

大東:對的,不過,這個千年蟲還真的不全是發生在2000年1月1號,我在這裡留個小小的懸念,在下一個部分再介紹給小白白。

圖2 在千年蟲影響下驚慌失措的人們漫畫

三、大話始末

小白:可是這個詭異的魔咒到底是為什麼呀?東哥你就別賣關子了,直接告訴我嘛。

大東:其實這是一個以前的作業系統開發者為了節省存儲空間所導致的問題,因為在計算機發展的初期,也就是19世紀中葉,每一點內存都是非常珍貴的,所以大家考慮到在接下來的50年的時間裡,前兩位時間,也就是19都不會發生變化,所以在記錄時間中年份的時候錯誤地使用了兩位記錄法,也就是只記錄年份的後兩位,例如1998隻記錄98。

小白:這個看起來並沒有太大的問題呀,大家都是為了節省開銷節約成本嘛,都是為了使得電腦可以更快地普及著想。

大東:這些系統在當時看來是正確的,但是如果是恰巧跨越世紀呢?比如到了2000年,就會出現雖然當前已經到達了2000年,但是在電腦看來你卻是還處在1900年,所以在程序運行的時候就會出現衝突。

小白:原來是這樣呀,所以程序到底都會出現哪些問題呢?不是只有作業系統在開發的時候存在沒有記錄前兩位的問題嗎?為什麼各種程序也會對應出現類似問題呢?

大東:確實一開始是只有作業系統使用了這種不夠完備的設計,但是不要忘了,作業系統是一切軟體的運行環境,所以軟體為了適應作業系統也是使用了這種不夠完備的編寫方法。一個配備比較早(大約在80年代中期以前投入使用)的主機上的應用系統,如在IBM 4381,IBM AS/400等機型上運行的應用程式。這些機器系統國際上都應用的相當早,因此其上面的應用程式經過十餘年的開發和發展其規模已經非常龐大。

小白:所以在這些設計不全面的作業系統被淘汰之後,是不是這些問題就不存在了呀?

大東:這還真的不是。因為軟體一般都是要求實現向前兼容的,所以後面開發的軟體建立在前面開發的軟體基礎上依然會存在類似的問題。

小白:那之前東哥說的這個千年蟲不僅僅發生在2000年的事情,是為什麼呢?

大東:其實這個事件是從1999年4月9日就開始了,在程序中使用了數字串99(或99/99等)來表示文件結束、永久性過期、刪除等一些特殊意義的自動操作,這樣當1999年9月9日(或1999年4月9日即1999年的第99天)來臨時,計算機系統在處理到內容中有日期的文件時,就會遇到99或99/99等數字串,從而將文件誤認為已經過期或者將文件刪除等錯誤操作,引發系統混亂甚至崩潰等故障。

小白:這就是之前談到的文件莫名其妙地消失或是打不開的原因是嗎?

大東:對,其實不僅僅是在2000年1月1日之前,在2000年之後也有可能出現,例如,在2000年2月29日(2000年是閏年),有的電腦直接跳到了3月1日。

小白:這是為什麼呀?難道是出現了新的bug?

大東:是這樣,在2000年這一年呢有的電腦認為現在還是1900年,所以按照整百年是否為閏年的判斷方法:每400年才有1次閏年(整百年閏年的判斷例如判斷1500年或是判斷1600年),1900年的時候不是閏年,但是2000年卻是,所以就會出現這個問題。

四、小白內心說

小白:那…我們以後該如何控制這種事件的發生呢?

大東:其實這個事情要求我們在設計一個程序或是軟體的時候要考慮很多年之後的事情。

小白:可是我如何可以有規律地提前研究之後可能出現的問題呢?

大東:我們現在的軟體開發逐漸趨向於一種專業化,也就產生了一種新的學科,就是軟體工程。

小白:軟體工程那是什麼?

圖3 軟體工程設計過程

大東:其實就像這張圖一樣,在軟體開發的初期要進行計劃和需求分析,要在過程中不斷地完善整個程序的測試和分析,來達到軟體計劃的完善無缺。

小白:可是這是一個很寬泛的描述呀,我們具體要提前考慮我們開發的軟體的哪些特性呀?

大東:其實有幾種,但是跟我們這次事件有關的主要是兩種,一個是可信賴性,主要是考慮軟體可以穩定運行的時間長短問題;另一個是安全性,主要是抵禦外部攻擊或是內部出錯的能力。

小白:原來是這樣子呀,這樣子就可以大大降低類似事件發生的概率了。

大東:是的,如果大家都是按照這個標準來執行,那麼在可靠性上一定是沒有問題的,但是就有些人不遵守這個規矩,所以我們要繼續推廣軟體工程思想的普及,並且讓軟體需求方一定要注意索要軟體開發的標準文檔。

五、那年那事

大東:小白白好不好奇,在我們的網絡中,我們是如何實現跟歐洲的網絡通信的呢?

小白:是不是就像手機發信號一樣直接發一個信號呀?

大東:這種做法可是不行的,在我們日常生活中傳播幾公裡的手機信號還會受到幹擾,例如手機接電話斷斷續續的,如果一下子傳播幾千公裡,那麼傳播質量真的就很難保證了,但如果使用糾錯碼又會使得傳輸成本大大提升。

小白:那該怎麼辦呢?

大東:可以在海底鋪設一條通信光纜,其實就在我們這個事件發生的那一年, 2000年9月14日,亞歐海底光纜全線開通,實現了兩地的網絡連通。

小白:哦,這樣子就可以穩定的通信了。光纜的傳輸效果會比無線信號好很多嗎?

圖4 亞歐光纜

大東: 在信號傳輸的過程中我們第一個要想到的就是發生丟包或是傳輸出錯的概率。如果丟包,那麼只能重新傳送,如果發生傳輸出錯,那麼就會有兩種方法,一種是添加糾錯碼冗餘,一個是添加檢錯碼冗餘。

小白:這兩種冗餘有什麼不同嗎?

大東:糾錯碼可以檢測出錯誤並進行修改,而檢錯碼只能發現錯誤,不能修改,必須要求重傳。

小白:那麼這種功能強大的糾錯碼一定會伴隨著比較大的開銷吧?

大東:不錯,小白這個問題問的好,糾錯碼幾乎是檢錯碼兩倍的傳輸開銷,這兩種方法要按照受幹擾的概率進行選擇,錯誤率低的就可以選擇檢錯碼。

小白:所以光纜這種穩定幾乎不受幹擾的介質就可以使用檢錯碼來減少開銷了,對嗎?

大東:沒錯,傳輸開銷一下子可以下降很多,同時傳輸速度也將變快。

小白:為什麼還會變快呀?

大東:因為傳輸過程中一個比較大的影響因素就是傳丟或是傳錯的概率,因為傳錯要處理,傳丟要重傳,所以傳輸速度也會提高。

小白:這對於我國來說真是天大的好事呀。

大東:其實這條亞歐光纜除了傳輸更加迅速廉價這個「機遇」外,還伴隨著對我國網絡安全的挑戰,有用的信號傳輸快,病毒攻擊以及有害信息也傳輸的快,對於我們網安人來說又是新的機遇和挑戰。

小白:大東要加油哦~

大東:加油!

來源:中國科學院計算技術研究所

溫馨提示:近期,微信公眾號信息流改版。每個用戶可以設置 常讀訂閱號,這些訂閱號將以大卡片的形式展示。因此,如果不想錯過「中科院之聲」的文章,你一定要進行以下操作:進入「中科院之聲」公眾號 → 點擊右上角的 ··· 菜單 → 選擇「設為星標」

相關焦點

  • 「千年蟲」是什麼東西?一個在計算機誕生之初,遺留下來的巨大Bug
    其實千年蟲是和計算機有關的一個事,在千禧年到來時達到了高峰。今天小編就來講一講歷史上的千年蟲。葛麗絲·霍普在講千年蟲前,我們先來認識一個必要的人物——「葛麗絲·霍普」。提到她的原因自然是因為她和千年蟲有著密切的關係,可能學過編程的人應該很了解這個人。她出生於1906年的美國紐約,從小就是一個學霸級別的人物,進入大學後,她獲得了數學與物理兩個學士學位,1934年她獲得數學博士學位。後來第二次世界大戰爆發,受大環境的影響,葛麗絲決定投筆從戎。
  • 「 回不去的千禧年」
    你還記得千禧時代嗎?2000年20世紀的最後一年,很多人在相信著千年蟲千年蟲又稱為Y2K,它不是病毒2002年上海經四輪拼殺以54票贏得了2010年世界博覽會的舉辦權>而她當時只有15歲這年芙蓉姐姐也出現在我們視野裡成為了第一屆「網紅」2005年
  • 問題解答|10.如何理解20章千禧年
    啟示錄20章說到千禧年,有關這個千禧年有前一千年、後一千年的說法。就是說是耶穌復臨之前的一千年呢?還是耶穌復臨之後的一千年呢?就有這兩種說法。 而聖經說的是耶穌之後的一千年,指的是耶穌復臨之後的一千年,但有些信徒呢,他信奉前一千年說,這是天主教的教導。
  • 漫畫:什麼是 「千年蟲」 問題?
    千年蟲問題,到底是怎麼來的呢?說到這個問題,就不得不提起一位偉大的程序媛小姐姐,Grace Murray Hopper。比如1965年7月23日,對應存儲形式就是65/07/23,省去了前面的「19」。這樣的存儲形式,很快就在計算機領域流傳開來。儘管它節約了一定的存儲成本,卻埋下了兩個隱患:1. 由於年份只保留了後兩位,當2000年到來的時候,年份存儲的信息是「00」,計算機無法區分這到底是1900年,還是2000年。
  • 教育部門面臨千禧年「嬰兒潮」的入學突增挑戰
    新華網福州10月24日電(記者來建強 鄭良)福建省泉州師範附屬小學2006年入學新生比2005年驟增50多名,令校方管理層措手不及。     最後,校方不得不把原計劃的6個一年級班擴增到7個,才暫時緩解今年入學新生的超滿局面。     教務副校長陳理說:「這是2000年嬰兒出生潮引起的。」
  • 主的再來(上)丨救主耶穌基督的兩次降臨
    主耶穌在馬太福音24章預言了他的二次降臨,章節順序卻不再是通常的先後順序,而是巧妙安排的聖秩,由此產生了神學上關於教會被提的兩大主張:前千禧年和後千禧年兩大派別。但前千禧年派因此主張教會是災後被提顯然是顧此失彼、謬解聖經、大錯特錯了!這正是唯理派解經的死穴!首先,前千禧年派解釋啟示錄七章忽略了一個重要的表號-寶座!寶座指代神的臨格,啟示錄表明教會在天上與神同在!馬太福音講完末七災難的起頭後,插入基督再臨提教會的奧秘,這是與舊約先知預言完全不同的再臨。教會是歷代以來所隱藏的奧秘,被提對舊約的先知更是隱藏的奧秘(參弗3:5、9、西1:26)!
  • 丨甲蟲微視界丨Vol.81 —— 中國大鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 聯盟理事長視頻專欄
    生物安全基金政策解讀·生物安全基金政策解讀(1)之技術創新丨理事長專欄·生物安全基金政策解讀(2)之理論創新丨理事長專欄·生物安全基金政策解讀(3)之民族復興丨理事長專欄生物多樣性基金政策解讀·生物多樣性基金政策解讀(1)之技術創新丨理事長專欄·生物多樣性基金政策解讀(2)之理論創新丨理事長專欄·生物多樣性基金政策解讀(3)之民族復興丨理事長專欄
  • 丨甲蟲微視界丨Vol.79 —— 穆浩特鬼豔鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 丨甲蟲微視界丨Vol.73 —— 麋鹿鬼豔鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 新民環球丨她們讓「千禧女孩」愛上讀時政新聞
    在挑戰重重、競爭激烈的美國新聞出版業,兩個「85後」年輕女性丹尼爾·韋斯伯格和卡莉·札金創建的數字媒體公司「略讀」(the Skimm)異軍突起,在短短不到7年時間裡,發展了超過700萬訂閱用戶,受到諸多知名企業和明星投資人的青睞,已融資數千萬美元,成為紐約乃至全美最受關注的傳媒類創業公司之一。究竟「略讀」做了什麼,能夠發展如此迅速?
  • 從千年蟲,閏年蟲,閏秒蟲看測試數據設計
    從千年蟲,閏年蟲,閏秒蟲看測試數據設計 前幾天看到一個很有趣的微博(見圖1:)當然這事兒對發博的人肯定沒有趣,又查了一下閏秒的概念:原來我們的時間計算有兩種方式,一種是類似於古人看太陽位置或者用日冕的「天文法」,獲得的時間稱之為世界史;一種是利用原子振蕩周期計算的「原子法」,我們生活中用的時間都是第一種
  • 丨甲蟲微視界丨Vol.24 —— 米拉比利斯鋸鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 丨甲蟲微視界丨Vol.9 —— 黃金鹿角鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 丨甲蟲微視界丨Vol.10 —— 帝王鬼豔鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 《「光碟」——巾幗在行動》專欄丨(5)踐行光碟行動 弘揚勤儉美德
    《「光碟」——巾幗在行動》專欄丨(5)踐行光碟行動 弘揚勤儉美德 2020-12-03 10:31 來源:澎湃新聞·澎湃號·媒體
  • 千禧年大獎難題之始與未終
    經過深入的思考和充分的準備,我提交了十項可行的項目方案,包括其中的第八項——「千禧年大獎」計劃。當時,「千禧年」這個話題在全球如火如荼,我對這一計劃青睞有加。而阿蘭·孔涅(Alain Connes)、安德魯·懷爾斯(Andrew Wiles)和愛德華·威滕(Edward Witten)這幾位享譽世界的數學家們也陸續加入了這項事業。
  • 丨甲蟲微視界丨Vol.31 —— 大陸姬深山鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!
  • 淺析千禧龍鈔價值及特徵
    主要是因為2000年是我們全中國華夏兒女都十分為之自豪的千禧龍年,同時也是中國錢幣界頻頻傳出捷報的一年,對應發行的時間有具有著特殊的意義。再加上這一款紀念龍鈔它的正面位置是以九龍壁中的升龍作為依據設計的,給人一種莊嚴無比、矯健雄姿的感覺,我國族人又以龍的傳人自詡,對龍這個生肖是十分之喜愛的,自然也會愛屋及烏。
  • 丨甲蟲微視界丨Vol.12 —— 印尼金鍬形蟲
    這些瑣事都成了各位蟲友的日常任務,回過頭來想想,除了在意是否羽化成功?體長是否合格?顏色是否好看外,好像很少有時間來仔細觀察這些我們細心照料的蟲主子們呢!現在,來和牧野蟲社不務正業的設計師楊小億一起進入「甲蟲微視界」吧!