電腦病毒是一種惡意軟體，當執行時，會透過修改其他電腦程式並將自己的程式碼插入這些程式中來複製自身。如果這種複製成功，受影響的區域就被稱為「感染」了電腦病毒，這是從生物病毒中衍生出來的隱喻。 電腦病毒通常需要一個宿主程式。病毒會將自己的程式碼寫入宿主程式。當程式執行時，先執行寫入的病毒程式，導致感染和損害。相比之下，電腦蠕蟲不需要宿主程式，因為它是一個獨立的程式或程式碼片段。因此，它不受宿主程式的限制，可以獨立執行並主動發動攻擊。 病毒作者使用社交工程欺騙和詳細瞭解安全漏洞，最初感染系統並傳播病毒。病毒使用複雜的反檢測 隱蔽策略來逃避防病毒軟體。建立病毒的動機可以包括尋求利潤（例如，使用勒索軟體），傳達政治資訊的渴望，個人娛樂，展示軟體中存在漏洞，進行破壞和阻斷服務，或僅僅是因為他們希望探討網路安全問題、人工生命和進化演算法等問題。 電腦病毒每年造成數十億美元的經濟損失。作為回應，一個防病毒軟體產業已經出現，為各種作業系統的使用者提供銷售或免費分發的病毒防護。 病毒作者 有不少製作病毒的駭客被逮捕及起訴，判決的輕重各國皆不同，如羅馬尼亞西歐班尼花費 15 分鐘寫的 MSBlastF 變種大約只感染了 1000 臺電腦，按羅馬尼亞的法律他就有可能最高會被判 15 年有期徒刑。 1998 年臺灣病毒作者陳盈豪寫的 CIH 病毒據猜測造成全球 600 萬臺電腦癱瘓，但他因為在被逮捕後無人起訴而免於法律制裁，在 2001 年有人以 CIH 受害者的身份起訴陳盈豪， 才使他再次被逮捕，按照臺灣當時的法律，他被判損毀罪，面臨最高 3 年以下的有期徒刑。 中國大陸的木馬程式 證券大盜 作者張勇因使用其木馬程式截獲股民賬戶密碼，盜賣股票價值 1 1416 萬元人民幣，非法獲利 386 萬元人民幣，最終的判決結果是無期徒刑。 一公司的分析報告指出：目前全世界現有 200 萬有能力寫較成熟電腦病毒的程式設計師。一公司調查顯示全球每天就有 1 萬個新病毒出現 ，新華網 歷史 學術工作 第一份關於計算機病毒理論的學術工作（雖然 病毒 一詞在當時並未使用）於 1949 年由約翰馮諾伊曼完成。當時是以 Theory and Organization of Complicated Automata 為題的一場在伊利諾伊大學的演講，稍後改以 Theory of selfreproducing automata 為題出版。馮諾伊曼在他的論文中描述一個計算機程式如何複製其自身。 1972 年，Veith Risak 根據馮諾伊曼在自我複製上的工作為基礎發表 Selfreproducing automata with minimal information exchange 一文。該文描述一個以西門子 400435 計算機系統為目標，用組合語言編寫，具有完整功能的計算機病毒。 1980 年，Jürgen Kraus 於多特蒙德大學撰寫他的學位論文 Selfreproduction of programs。在他的論文中，他假設計算機程式可以表現出如同病毒般的行為。 病毒 一詞最早用來表達此意是在弗雷德科恩（Fred Cohen）1984 年的論文《電腦病毒實驗》。 科幻小說 而病毒一詞廣為人知是得力於科幻小說。一部是 1970 年代中期大衛傑洛德（David Gerrold）的《When HARLIE was One》，描述了一個叫 病毒 的程式和與之對戰的叫 抗體 的程式；另一部是約翰布魯勒爾（John Brunner）1975 年的小說《震盪波騎士（ShakewaveRider）》，描述了一個叫做 磁帶蠕蟲、在網路上刪除資料的程式。黑色的病毒產業 ，新華網 病毒程式 1960 年代初，美國麻省理工學院的一些青年研究人員，在做完工作後，利用業餘時間玩一種他們自己創造的計算機遊戲。做法是某個人編制一段小程式，然後輸入到計算機中執行，並銷燬對方的遊戲程式。而這也可能就是計算機病毒的雛形。 感染策略 為了能夠複製其自身，病毒必須能夠執行程式碼並能夠對記憶體執行寫操作。基於這個原因，許多病毒都是將自己附著在合法的執行檔上。如果使用者企圖執行該執行檔，那麼病毒就有機會執行。病毒可以根據執行時所表現出來的行為分成兩類。非常駐型病毒會立即尋找其它宿主並伺機加以感染，之後再將控制權交給被感染的應用程式。常駐型病毒被執行時並不會尋找其它宿主。相反的，一個常駐型病毒會將自己載入記憶體並將控制權交給宿主。該病毒於背景中執行並伺機感染其它目標。 非常駐型病毒 非常駐型病毒可以被想成具有搜尋模組和複製模組的程式。搜尋模組負責尋找可被感染的檔案，一旦搜尋到該檔案，搜尋模組就會啟動複製模組進行感染。 常駐型病毒 常駐型病毒包含複製模組，其角色類似於非常駐型病毒中的複製模組。複製模組在常駐型病毒中不會被搜尋模組呼叫。病毒在被執行時會將複製模組載入記憶體，並確保當作業系統執行特定動作時，該複製模組會被呼叫。例如，複製模組會在作業系統執行其它檔案時被呼叫。在這個例子中，所有可以被執行的檔案均會被感染。常駐型病毒有時會被區分成快速感染者和慢速感染者。快速感染者會試圖感染盡可能多的檔案。例如，一個快速感染者可以感染所有被存取到的檔案。這會對防毒軟體造成特別的問題。當執行全系統防護時，防毒軟體需要掃描所有可能會被感染的檔案。如果防毒軟體沒有察覺到記憶體中有快速感染者，快速感染者可以藉此搭便車，利用防毒軟體掃描檔案的同時進行感染。快速感染者依賴其快速感染的能力。但這同時會使得快速感染者容易被偵測到，這是因為其行為會使得系統效能降低，進而增加被防毒軟體偵測到的風險。相反的，慢速感染者被設計成偶而才對目標進行感染，如此一來就可避免被偵測到的機會。例如，有些慢速感染者只有在其它檔案被複製時才會進行感染。但是慢速感染者此種試圖避免被偵測到的作法似乎並不成功。 傳播途徑和宿主 由於作業系統桌面環境 90 的市場都是使用微軟 Windows 系列產品 Windows 作業系統佔領了 90％以上的作業系統市場 ，新華網， 所以病毒作者紛紛把病毒攻擊物件選為 Windows。製作病毒者首先應該確定要攻擊的作業系統版本有何漏洞，這才是他所寫的病毒能夠利用的關鍵。Windows 當時並沒有有效的安全與防禦功能，且使用者常以管理員許可權執行未經安全檢查的軟體，這也為 Windows 下病毒的泛濫提供了溫床。Linux、Mac OS 等作業系統，因使用的人群比較少，病毒一般不容易擴散。大多病毒釋出作者的目的有多種，包括惡作劇、想搞破壞、報復及想出名與對研究病毒有特殊嗜好。 病毒主要透過網路瀏覽以及下載，電子郵件以及可移動磁碟等途徑迅速傳播。計算機病毒的生命週期 ，Microsoft Corporation 可移動驅動器 市面上大多的可移動驅動器都是屬於可讀寫模式，因此很容易寫入 Autoruninf 檔案以及許多惡意程式。受到感染的 USB 隨身碟病毒插入電腦裡後，病毒會躲藏在作業系統中的處理程序，偵測電腦上的一舉一動。當使用者將其他乾淨的 USB 隨身碟插入受感染的電腦裡，病毒會複製到乾淨的 USB 隨身碟裡，然後一傳十、十傳百。公用電腦的使用亦導致 USB 病毒快速散播。 解決方法 可移動驅動器插入電腦前，先將防寫功能開啟；使用者自行刪除 autoruninf 檔案；使用防毒軟體來修復受感染的電腦；開啟虛擬機器檢測 USB 的安全性。 中毒後主要症狀 防毒軟體關閉；經常跑出看不懂的視窗；癱瘓電腦運作。 躲避偵測的方法 隱蔽 病毒會藉由攔截防毒軟體對作業系統的呼叫來欺騙防毒軟體。當防毒軟體要求作業系統讀取檔案時，病毒可以攔截並處理此項要求，而非交給作業系統執行該要求。病毒可以返回一個未感染的檔案給防毒軟體，使得防毒軟體認為該檔案是乾淨未被感染的。如此一來，病毒可以將自己隱藏起來。現在的防毒軟體使用各種技術來反擊這種手段。要反擊病毒匿蹤，唯一完全可靠的方法是從一個已知是乾淨的媒介開始啟動。 自修改 大部分防毒軟體透過所謂的病毒特徵碼來偵知一個檔案是否有被感染。特定病毒，或是同屬於一個家族的病毒會具有特定可辨識的特徵。如果防毒軟體偵測到檔案具有病毒特徵碼，它便會通知使用者該檔案已被感染。使用者可以刪除或是修復被感染的檔案。某些病毒會利用一些技巧使得透過病毒特徵碼進行偵測較為困難。這些病毒會在每一次感染時修改其自身的程式碼。換言之，每個被感染的檔案包含的是病毒的變種。只能重灌或下載防毒軟體 隨機加密 胡搞更甚者是對病毒本身進行簡單的加密。這種情況下，病毒本身會包含數個解密模組和一份被加密的病毒複製。如果每一次的感染，病毒都用不同的金鑰加密，那病毒中唯一相同的部分就只有解密模組，常會附於檔案尾端。防毒軟體無法直接透過病毒特徵碼偵測病毒，但它仍可以偵知存在解密模組，這就可以間接偵測病毒。因為這部分是存放在宿主上面的對稱式金鑰，防毒軟體可以利用金鑰將病毒解密，但這並不必要。因為自修改程式碼很少見，防毒軟體可以先將這類檔案標記成可疑。 一個古老但簡潔的加密技術將病毒中每一個位元組和一個常數做邏輯異或，欲將病毒解密只需簡單的邏輯異或。一個程式若可修改自身程式碼就十分可疑，因此許多病毒定義中，將加解密部分視為病毒特徵碼的一部分。 多型 多型是第一個對防毒軟體造成嚴重威脅的技術。就像一般被加密的病毒，一個多型病毒以一個加密的自身複製感染檔案，並由其解密模組加以解碼。但是其加密模組在每一次的感染中也會有所修改。因此，一個仔細設計的多型病毒在每一次感染中沒有一個部分是相同的。這使得使用病毒特徵碼進行偵測變得困難。防毒軟體必須在一模擬器上對該病毒加以解密進而偵知該病毒，或是利用加密病毒其統計樣板上的分析。要使得多型程式碼成為可能，病毒必須在其加密處有一個多型引擎（又稱突變引擎）。關於多型引擎的技術細節請參閱 Polymorphic code。 有些多型病毒會限制其突變的速率。例如，一個病毒可能隨著時間只有一小部分突變。或是病毒偵知宿主已被同一個病毒感染，它可以停止自己的突變。如此慢速的突變其優點在於，防毒專家很難得到該病毒具有代表性的樣本。因為在一輪感染中，誘餌檔案只會包含相同或是近似的病毒樣本。這會使得防毒軟體偵測結果變得不可靠，而有些病毒會躲過其偵測。 變形 為了避免被防毒軟體模擬而被偵知，有些病毒在每一次的感染都完全將其自身改寫。利用此種技術的病毒被稱為可變形的。要達到可變形，一個變形引擎是必需的。一個變形病毒通常非常龐大且複雜。舉例來說，病毒包含 14000 行匯編語言，其中 90 都是變形引擎。 命名 以下表格所示是國際上對病毒命名慣用的字首釋義，DOS 下的病毒一般無字首： 字首 含義 WM Word60、Word95 宏病毒 WM97 Word97 宏病毒 XM Excel50、Excel95 宏病毒 X97M Excel50 和 Excel97 版本下發作 XF Excel 程式病毒 AM Access95 宏病毒 AM97M Access97 宏病毒 W95 Windows95、98 病毒 Win Windows3x 病毒 W32 32 位病毒，感染所有 32 位 Windows 系統 WINT 32 位 Windows 病毒，只感染 Windows NT TrojanTroj 特洛伊木馬 VBS VBScript 程式語言編寫的病毒 VSM 感染 Visio VBA（Visual Basic for Applications）巨集或 script 的巨集或 script 病毒 JS JScript 程式語言編寫的病毒 PE 32 位定址的 Windows 病毒 OSX OS X 的病毒 OSXL OS X Lion 或者更新版本的病毒 Virus 其他病毒 如感染型、開機型、終結型等 中間部分指的是病毒的英文名，而後綴一般是變種代號。 特徵 在計算機科學裡，電腦病毒是類似生物病毒一樣的程式，它會複製自己並傳播到其他宿主，並對宿主造成損害。宿主也是程式，通常是作業系統，從而進一步傳染到其他程式、其他的電腦。電腦病毒在傳播期間一般會隱蔽自己，由特定的條件觸發，並開始產生破壞。 電腦病毒具有的不良特徵有傳播性、隱蔽性、感染性、潛伏性、可激發性病毒特性之一可激發性 ，北京航空航天大學、表現性或破壞性，通常表現兩種以上所述的特徵就可以認定該程式是病毒。 計算機病毒的生命週期為開發期傳染期潛伏期發作期發現期消化期消亡期。病毒的生命週期 ，遼寧石油化工大學 主要特徵詳解 傳播性 病毒一般會自動利用電子郵件傳播，利用物件為某個漏洞。將病毒自動複製並群發給儲存的通訊錄名單成員。郵件標題較為吸引人點選，大多利用社會工程學如 我愛妳 這樣家人朋友之間親密的話語，以降低人的警戒性。如果病毒製作者再應用指令碼漏洞，將病毒直接嵌入郵件中，那麼使用者一點郵件標題開啟郵件就會中病毒。 隱蔽性 一般的病毒僅在數 KB 左右，這樣除了傳播快速之外，隱蔽性也極強。部分病毒使用 無程序 技術或插入到某個系統必要的關鍵程序當中，所以在任務管理器中找不到它的單獨執行程序。而病毒自身一旦執行後，就會自己修改自己的檔名並隱藏在某個使用者不常去的系統資料夾中，這樣的資料夾通常有上千個系統檔案，如果憑手工查詢很難找到病毒。而病毒在執行前的偽裝技術也不得不值得我們關注，將病毒和一個吸引人的檔案綁紮合併成一個檔案，那麼執行正常吸引他的檔案時，病毒也在我們的作業系統中悄悄的運行了。 感染性 某些病毒具有感染性，比如感染中毒使用者計算機上的可執行檔案，如 exe、bat、scr、com 格式，透過這種方法達到自我複製，對自己生存保護的目的。通常也可以利用網路共享的漏洞，複製並傳播給鄰近的計算機使用者群，使鄰里透過路由器上網的計算機或網咖的計算機的多臺計算機的程式全部受到感染。 電腦病毒潛伏性 部分病毒有一定的 潛伏期，在特定的日子，如某個節日或者星期幾按時爆發。如 1999 年破壞BIOS 的 CIH 病毒就在每年的 4 月 26 日爆發。如同生物病毒一樣，這使電腦病毒可以在爆發之前，以最大幅度散播開去。 可激發性 根據病毒作者的 需求，設定觸發病毒攻擊的 玄機。如 CIH 病毒的製作者陳盈豪曾打算設計的病毒，就是「精心」為簡體中文 Windows 系統所設計的。病毒執行後會主動檢測中毒者作業系統的語言，如果發現作業系統語言為簡體中文，病毒就會自動對計算機發起攻擊，而語言不是簡體中文版本的 Windows，那麼你即使運行了病毒，病毒也不會對你的計算機發起攻擊或者破壞。對簡體中文語言的可激發性病毒 ，聯合早報網 表現性 病毒執行後，如果按照作者的設計，會有一定的表現特徵：如 CPU 佔用率 100，在使用者無任何操作下讀寫硬碟或其他磁碟資料，藍色畫面宕機，滑鼠右鍵無法使用等。但這樣明顯的表現特徵，反倒幫助被感染病毒者發現自己已經感染病毒，並對清除病毒很有幫助，隱蔽性就不存在了。 分類 病毒型別根據中國國家計算機病毒應急處理中心發表的報告統計，佔近 45 的病毒是木馬程式，蠕蟲佔病毒總數的 25 以上，佔 15 以上的是指令碼病毒，其餘的病毒型別分別是：檔案型病毒、破壞性程式和宏病毒。 木馬 殭屍網路 有些也叫作遠端控制軟體，如果木馬能連通的話，那麼可以說控制者已經得到了遠端計算機的全部操作控制權限，操作遠端計算機與操作自己計算機基本沒什麼大的區別，這類程式可以監視、攝錄被控使用者的攝像頭與擷取密碼等，以及進行使用者可進行的幾乎所有操作（硬體拔插、系統未啟動或未聯網時無法控制）。而 Windows NT 以後的版本自帶的 遠端桌面連線，或其他一些正規遠控軟體，如若未進行良好的安全設定或被不良使用者篡改利用，也可能起到類似作用。但他們通常不會被稱作病毒或木馬軟體，判斷依據主要取決於軟體的設計目的和是否明確告知了計算機所有者。 使用者一旦感染了特洛伊木馬，就會成為 殭屍（或常被稱為 肉雞），成為任駭客手中擺佈的 機器人。通常駭客或指令碼小子（script kids）可以利用數以萬計的 殭屍 傳送大量偽造包或者是垃圾資料包對預定目標進行拒絕服務攻擊，造成被攻擊目標癱瘓。 有害軟體 蠕蟲病毒漏洞利用類，也是我們最熟知的病毒，通常在全世界範圍內大規模爆發的就是它了。如針對舊版本未打補丁的 Windows XP 的衝擊波病毒和震盪波病毒。有時與殭屍網路配合，主要使用快取溢位技術。 間諜軟體和流氓軟體，是部分不良網路公司出品的一種收集使用者瀏覽網頁習慣而制訂自己廣告投放策略的軟體。這種軟體本身對計算機的危害性不是很大，只是中毒者隱私遭到洩露被收集走和一旦安裝上它就無法正常刪除解除安裝了。比如對 Internet Explorer 的廣告軟體會自動修改並鎖定使用者預設主頁以及載入廣告公司的工具條。 惡作劇的破壞性軟體，如破壞性很大的 格盤炸彈，執行程式後自動格式化硬碟，原本只為 愚人 目的，但這種惡意程式執行後就會對使用者重要資料造成很大的損失。與此相同的還有檔案感染器（File infector）以及在 DOS 下的根扇區病毒。 檔案型病毒通常寄居於可執行檔（副檔名為EXE 或COM 的檔案），當被感染的檔案被執行，病毒便開始破壞電腦，這種病毒都是偽裝成遊戲，成人影片軟體等釣魚的形態出現引發使用者點選，病毒便明顯地或是偷偷的安裝上去。 指令碼病毒 宏病毒的感染物件為 Microsoft 開發的辦公系列軟體，也有專門針對其他軟體的變種。Microsoft Word，Excel 這些辦公軟體本身支援執行可進行某些檔案操作的命令，所以也被 Office 文件中含有惡意的宏病毒所利用。openofficeorg 對 Microsoft 的 VBSzhhans 宏；zhhant 巨集； 僅進行編輯支援而不執行，所以含有 zhhans 宏病毒；zhhant 巨集病毒； 的 MS Office 文件在 openofficeorg 下開啟後病毒無法執行。 免殺技術以及新特徵 免殺是指：對病毒的處理，使之躲過防毒軟體查殺的一種技術。通常病毒剛從病毒作者手中傳播出去前，本身就是免殺的，甚至可以說「病毒比防毒軟體還新，所以防毒軟體根本無法識別它是病毒」，但由於傳播後部分使用者中毒向防毒軟體公司舉報的原因，就會引起安全公司的注意並將之特徵碼收錄到自己的病毒庫當中，病毒就會被防毒軟體所識別。 病毒作者可以透過對病毒進行再次保護如使用彙編加花指令或者給檔案加殼就可以輕易躲過防毒軟體的病毒特徵碼庫而免於被防毒軟體查殺。 美國的 Norton Antivirus、McAfee、PCcillin，羅馬尼亞的 Bitdefender，俄羅斯的 Kaspersky AntiVirus，斯洛伐克的 NOD32 等產品在國際上口碑較好，但防毒、查殼能力都有限，目前病毒庫總數量也都僅在數十萬個左右。 自我更新性是近年來病毒的又一新特徵。病毒可以藉助於網路進行變種更新，得到最新的免殺版本的病毒並繼續在使用者感染的計算機上執行，比如熊貓燒香病毒的作者就建立了「病毒升級伺服器」，在最勤時一天要對病毒升級 8 次，比有些防毒軟體病毒庫的更新速度還快，因為開發者對程式碼編輯十分勤奮，所以就造成了防毒軟體無法識別病毒。 除了自身免殺自我更新之外，很多病毒還具有了對抗它的「天敵」防毒軟體和防火牆產品反病毒軟體的全新特徵，只要病毒執行後，病毒會自動破壞中毒者計算機上安裝的防毒軟體和防火牆產品，如病毒自身驅動級 Rootkit 保護強制檢測並結束防毒軟體程序，可以過主流防毒軟體「主動防禦」和穿透軟、硬體還原的機器狗「機器狗」病毒正在學校、網咖等公用網路蔓延 ，新華網，自動修改系統時間導致一些防毒軟體廠商的正版認證作廢以致防毒軟體作廢，從而病毒生存能力更加強大。 免殺技術的氾濫使得同一種原型病毒透過外掛，理論上可以衍生出近乎無窮無盡的變種，給依賴於特徵碼技術檢測的防毒軟體帶來很大困擾。近年來，國際反病毒行業普遍開展了各種前瞻性技術研究，試圖扭轉過分依賴特徵碼所產生的不利局面。目前比較有代表性產品的是基於虛擬機器技術的啟發式掃瞄軟體，代表廠商 NOD32，DrWeb，和基於行為分析技術的主動防禦軟體，代表廠商中國的微點主動防禦軟體等。 防範與治療 修補作業系統以及其捆綁的軟體的漏洞 安裝系統以及其捆綁的軟體如 Internet Explorer、Windows Media Player 的漏洞安全補丁，以作業系統 Windows 為例 Windows NT 以及以下版本可以在 Microsoft Update 更新系統，Windows 2000SP2 以上，Windows XP 以及 Windows 2003 等版本可以用系統的 自動更新 程式下載補丁進行安裝。設定一個比較強的系統密碼，關閉系統預設網路共享，防止區域網入侵或弱口令蠕蟲傳播。定期檢查系統配置實用程式啟動選項卡情況，並對不明的 Windows 服務予以停止。 安裝並及時更新防毒軟體與防火牆產品 保持最新病毒庫以便能夠查出最新的病毒，如一些反病毒軟體的升級伺服器每小時就有新病毒庫包可供使用者更新。而在防火牆的使用中應注意到禁止來路不明的軟體訪問網路。由於免殺以及程序注入等原因，有個別病毒很容易穿過防毒以及防火牆的雙重防守，遇到這樣的情況就要注意到使用特殊防火牆來防止程序注入，以及經常檢查啟動項、服務。一些特殊防火牆可以 主動防禦 以及登錄檔即時監控，每次不良程式針對計算機的惡意操作都可以實施攔截阻斷。 不要點來路不明連線以及執行不明程式保護計算機的常識 ，新華網 來路不明的連線，很可能是蠕蟲病毒自動透過電子郵件或即時通訊軟體發過來的，如 QQ 病毒之一的 QQ 尾巴，大多這樣資訊中所帶連線指向都是些利用 IE 瀏覽器漏洞的網站，使用者訪問這些網站後不用下載直接就可能會中更多的病毒。另外不要執行來路不明的程式，如一些 性誘惑 的檔名騙人吸引人去點選，點選後病毒就在系統中運行了。 參見 病毒製作者 程式設計師 駭客 被逮捕的駭客 相關計算機程式 蠕蟲病毒 殭屍網路 分散式拒絕服務攻擊（DDoS） 特洛伊木馬 後門 誘捕、防止以及查殺病毒 蜜罐技術 可以誘捕駭客以及蠕蟲病毒 防毒軟體 防火牆 入侵預防系統（HIPS） 反間諜軟體 參考資料 外部連結 中國國家計算機病毒應急處理中心發表的報告 （PDF）我國計算機病毒的特點和發展趨勢 （DOC）2007 年計算機病毒疫情調查技術分析報告 何謂電腦病毒？ IT 自救術－病毒（和電腦程式）的運作原理 Category 惡意軟體型別 Category 保全漏洞 Category 網路安全 Category 安全洩露