跳轉到內容

基礎電腦安全/惡意軟體/病毒

來自華夏公益教科書,開放書籍,開放世界

第1章:對抗病毒

[編輯 | 編輯原始碼]

在本章中,您將深入瞭解電腦病毒,包括它們的定義、編寫方式、功能以及如何對抗它們。

什麼是電腦病毒?

[編輯 | 編輯原始碼]

電腦病毒是一種能夠變異/感染其他可信程式的程式。通常,這樣做是為了確保在執行可信程式時病毒也能執行,這是病毒隱藏自身最早的方法之一。電腦病毒通常由兩個主要模組組成:感染模組和有效載荷模組。為了使一個程式被認為是病毒,只需要存在第一個模組。有效載荷可以為空,即使這樣,該程式也會被認為是病毒。實際上,這意味著一個程式可能不會造成任何損害,但它會附加到可信程式的事實使它成為病毒。就像生物病毒一樣,自我複製的能力是電腦病毒生存最重要的方面。因此,如今大多數電腦病毒都具有一個有效載荷模組,該模組至少會嘗試自我傳播。

假設有一個程式在執行時會刪除所有檔案,您要擺脫它的簡單方法是在磁碟上搜索並刪除所有它的副本。

但真正的電腦病毒的工作方式略有不同,它首先進入“傳播”階段,在這個階段,它透過新增複製模組的副本(以便它們依次影響其他程式)和有效載荷模組來感染其他可信程式。在此期間,有效載荷模組不會執行任何操作,而是保持靜默。只有當“傳播”階段透過滿足“病毒編寫者”的標準(例如,“我們是否感染了 10,000 個檔案?”)而結束時,才會進入表演階段。因此,當它進入表演階段時,它已經感染了您所有喜歡的程式,例如記事本、媒體播放器等等。好吧,您知道當一個人被德古拉伯爵咬傷時,您會在他的脖子上看到牙印,但這裡沒有那麼容易識別的跡象。需要研究病毒才能找出這種識別機制,即病毒的數字簽名,它只不過是一個位元組模式,可以幫助防毒軟體識別它。

順便說一下,第一個病毒程式的存在是由 Fred Cohen 在 1983 年證明的。

電腦病毒是如何編寫的?

[編輯 | 編輯原始碼]

因此,對於那些認為在執行時刪除所有檔案的程式是病毒的人,請再想一想。這是一個很小的 C 程式,可以刪除電腦上的所有檔案,我再說一遍:此程式不能被認為是病毒。編譯它,當您獲得 .exe 副檔名時,用您擁有的任何防毒軟體(例如 Norton、McAfee 或其他任何軟體)多次掃描它,它們都不會將其報告為病毒。您知道為什麼嗎?因為它不是病毒,這就是原因。

//Source code for program which deletes all the files when run and is not a virus, but a Trojan.
#include<stdio.h>
#include<process.h>
int main() { system("del *.*"); return 0 ;}
//Source code ends

編寫真正的病毒比這要困難 100 倍。需要了解機器和目標作業系統的很多知識。那麼您是否能夠編寫病毒或瞭解它的工作原理來拯救宇宙?答案是肯定的,如果您每天至少花 12 個小時以上的時間在電腦上進行一些硬核程式設計,並閱讀有關您的機器的資訊,例如英特爾的說明書等等。

另一方面,您可能會在某個地方找到一些病毒原始碼,但直到您對上述問題的答案是肯定的,您將永遠無法理解它或對其進行創新。

什麼是防毒軟體?

[編輯 | 編輯原始碼]

防毒軟體是一種專門為檢查電腦上安裝的所有程式而編寫的程式,它會查詢已知的惡意程式(病毒)。防毒軟體在大約 30 天后將不再有效,除非您下載更新,因此新的更新會告訴該程式自上次更新以來發現的新病毒。

我需要防毒軟體嗎?

[編輯 | 編輯原始碼]

這在很大程度上取決於您的作業系統。如果您執行的是 Windows,那麼安裝防毒軟體可能不是一個壞主意。也就是說,如果您在網上活動時小心謹慎(這意味著不去色情網站,避免非法下載等等),則有可能在不安裝防毒軟體的情況下保持安全。

如果您使用的是 Unix 或類 Unix 作業系統(例如 Linux、BSD、Solaris、Mac OS X 等等),那麼病毒對您來說不是一個實質性威脅。這些平臺上確實存在惡意軟體,而且已經存在相當長一段時間了,但是由於這些作業系統的設計以及其使用者群體的文化,惡意軟體不會對這些系統的使用者構成威脅。只要您在以 root 使用者身份登入時不要做任何愚蠢的事,您就會沒事的。

在哪裡可以獲得防毒軟體,它需要花多少錢?

[編輯 | 編輯原始碼]

對於尋找防毒軟體的使用者來說,有很多選擇,既有付費服務,也有免費服務。一些主要的防毒軟體品牌有 McAfeeNorton/Symantec卡巴斯基;一些公司提供安全套件,例如 Zone Alarm、McAfee 和 Norton,這些套件在一個捆綁包中提供防毒、防火牆和反間諜軟體程式。這些產品中的許多都提供免費試用,但需要您訂閱其更新服務。存在免費(針對個人使用者)產品,例如 AVG 免費版和 Avast!家庭版;還有開源的 ClamAV。ClamAV 在 Windows 上有一個埠,稱為 ClamWin。Microsoft Windows 使用者還可以使用基於網路的免費安全掃描服務,例如 safety.live.com 上提供的服務。

什麼是病毒特徵檔案?更新軟體重要嗎?

[編輯 | 編輯原始碼]

更新防毒軟體非常重要。每天都會有新的病毒釋出,使您的計算機處於危險之中。因此,更新您的產品非常重要。更新防毒軟體最重要的方面是更新病毒庫。每個病毒都包含一個獨特的簽名,這是一個根據其檔案內容生成的字串(畢竟,病毒只是您計算機上的一個程式)。在掃描時,防毒程式會檢查掃描檔案的簽名,以檢視它們是否與任何病毒簽名匹配。病毒庫由防毒軟體公司提供。

華夏公益教科書