定義電腦病毒的那個男人!相信病毒可以為「善」,後悔用「Computer Virus」這個詞
TechOrange 編輯部推薦好書:《奇幻熊在網路釣魚》
你的電腦或行動裝置有安裝防毒軟體嗎?電腦病毒無所不在,就怕不小心被盜走了重要個資,人人喊打的「電腦病毒」,最初定義它的人卻不這們認為。第一個正式提出電腦病毒定義的資工學者弗瑞德.柯恩,他是相信病毒可以為善的少數異類,他認為這些東西與其叫做「病毒」,其實可能更接近於「有生命的程式」。
文 / Scott. J. Shapiro,譯者 / 劉維人、盧靜
「電腦病毒」這個詞的普及,來自大衛.傑洛德(David Gerrold)1972 年出版的科幻小說《回想哈利一歲時》(When H.A.R.L.I.E. was One)。「哈利」(H.A.R.L.I.E.)是「仿生機器人」(Human Analog Robot Life Input Equivalents)的簡稱,它內建人類的所有知識,心智相當於八歲男孩。
生產哈利的公司裡面,有一個短視近利的經理,想要拆了哈利賣錢變現,哈利知道之後,就使用一種稱為「病毒」的程式駭進公司的系統威脅高層,阻止了這項行動。根據傑洛德的自述,病毒這個詞來自他 1968 年夏天跟某個程式設計師聊天時,對方開的玩笑。
如今人們已經對電腦病毒耳熟能詳,只要電腦出了什麼問題,我們第一時間就會懷疑「是不是中了毒」。我們甚至把電腦病毒當成惡意程式碼,或者惡意軟體(malware)的統稱。只要是違反我們利益的可惡程式,一律叫做電腦病毒。
惡意軟體並不等於病毒
所以資安專家要怎麼叫呢?有很多不同的看法,但每個人都認為惡意軟體並不等於病毒。
首先,病毒具有自我複製能力,而並不是所有的惡意軟體都能用這種方式擴散。以第一個正式提出電腦病毒定義的資工學者弗瑞德.柯恩(Fred Cohen)為例,他認為電腦病毒是「一種能夠藉由『感染』其他程式,修改宿主的內容,藉此繼續演化的程式。」根據這種定義,能夠把自己插入命令檔,並藉此複製的維也納病毒,就是一種電腦病毒。
而且即使能夠自我複製,也未必算是病毒。病毒不僅要能自我複製,還要能夠遞迴性(recursive)複製,把複製的能力子子孫孫傳遞下去,千秋萬世傳到永遠。也就是說,只有那些能夠自我複製,而且複製出來的程式也能同樣自我複製的程式,才算是病毒。
這種遞迴性複製是電腦病毒與蠕蟲的重要特徵,它會讓程式的數量快速爆增。當你感染了病毒 V1,過了一個週期,V1 生出 V2,病毒就變成兩隻。到了第二個週期,V1 複製一次生出 V3,V2 也複製一次生出 V4,兩隻就變四隻;第三個週期,V1 生 V5,V2 生 V6,V3 生 V7,V4 生 V8,四隻變八隻;第四個週期,八隻就變十六隻,第五個週期變三十二隻。十個週期之後,你電腦裡的病毒已經超過一千隻。
這就是所謂的「指數成長」。在第四個週期只有十六隻的病毒,到了第三十個週期就會超過十億隻。而且這還是預設數量每個週期變成兩倍,如果是每個週期變成三倍,第十九個週期就會突破十億隻。如果是變成十倍,那麼,九個週期就夠了。病毒這麼可怕,就是因為可以在極短的時間內暴增,威脅無數檔案、無數電腦。
病毒一定是惡意軟體嗎?
同時這也顯示,要成為病毒是有條件的。如果惡意軟體無法遞迴性自我複製,就不算是病毒。但你這時候一定會想:那反過來呢?病毒一定是惡意軟體嗎?
大部分防毒專家都會說「是」,他們不認為世界上有善良的病毒。病毒會擾亂原本精細的程式運作,導致無法預期的結果,甚至會引發災難。要說起來,這個詞的英文「virus」其實就來自拉丁文的「毒藥」,在古早時期甚至專指蛇毒。你看過善良的蛇毒嗎?
不過,普及「病毒」一詞的柯恩看法不同,他是相信病毒可以為善的少數異類。他後悔用這個詞描述電腦病毒,因為某些會自我複製、自我傳播的東西,應該可以改善社會。他認為這些東西與其叫做「病毒」,其實可能更接近於「有生命的程式」(living program)。
「病毒」這個說法之所以不脛而走,可能跟當時美國同志圈的愛滋病危機有關。1983 年,科學家發現愛滋病是由 HIV 病毒引起的,這種病毒感染人類 T 細胞,用 T 細胞的機能來自我複製,繼續感染其他細胞和其他人。
這項發現引起軒然大波,讓「病毒」一詞人盡皆知,隔年柯恩剛好就用了同一個詞來描述電腦病毒。
立即免費報名「AI Innovation Day:2024 AI 創新日」
廣達技術長張嘉淵&NVIDIA 、微軟、台灣人工智慧學校等專家,帶你探討 AI 的最新趨勢與技術導入應用!
購書連結:《奇幻熊在網路釣魚》
*本文書摘內容出自《奇幻熊在網路釣魚》,由 悅知文化 授權轉載,並同意 TechOrange 編寫導讀與修訂標題。
(責任編輯:陳可錞)