前言
病毒如何在系統中傳播?本文詳細解析病毒從外部儲存媒體進入記憶體駐留、監控系統、感染目標、寫入磁碟再傳播的完整生命週期,並分別說明可執行檔感染與開機區感染兩大類型的具體運作流程。
通用傳染流程
- 系統運行時,病毒透過外部儲存媒體(軟碟/硬碟)進入記憶體,並常駐記憶體。
- 病毒在記憶體中監控系統運行,發現符合條件的攻擊目標時,將自身從記憶體寫入目標檔案/區域,完成感染。
- 利用系統
INT 13H 磁碟讀寫中斷,將感染後的程式碼寫回外部儲存媒體,進而感染其他系統。
可執行檔(.COM/.EXE)感染流程 —— 以「黑色星期五」病毒為例
- 感染條件:執行帶毒檔案時進入記憶體駐留。
- 駐留後監控系統運行,發現目標檔案時執行:
- 檢查目標檔案特定位址的標識位,判斷是否已感染。
- 條件滿足時,利用
INT 13H 將病毒程式碼連結至目標檔案首部、尾部或中間,並寫入磁碟。
- 完成感染後繼續監控,尋找新目標。
開機區/系統型病毒傳染流程
正常 PC DOS 開機流程
- 通電自檢(POST)。
- 讀取系統盤 0 面 0 軌 1 扇區(邏輯 0 扇區)的 Boot 引導程式至記憶體
0000:7C00。
- 轉入 Boot 執行。
- Boot 判斷是否為系統盤,否則提示錯誤;是則讀入
IBMBIO.COM、IBMDOS.COM 兩個隱藏檔。
- 執行上述兩檔,載入
COMMAND.COM。
- DOS 成功啟動,系統正常運行。
感染病毒後的開機流程
- Boot 區的病毒碼優先被讀入
0000:7C00。
- 病毒將完整程式碼讀入記憶體安全區駐留,監控系統。
- 修改
INT 13H 中斷服務程式入口位址,指向病毒控制模組並執行(感染磁碟必經此中斷)。
- 病毒碼讀入完成後,再讀入正常 Boot 內容至
0000:7C00,繼續正常開機流程。
- 病毒在記憶體中伺機等待,發現可攻擊目標(新磁碟)時:
- 讀取目標磁碟引導扇區至記憶體,判斷是否已感染。
- 滿足條件則將病毒全部或部分寫入 Boot 區,正常引導程式另存磁碟特定位置。
- 返回正常
INT 13H 中斷處理程式,完成感染。
結語
理解病毒傳染的完整技術細節,有助於我們從底層機制設計更有效的防禦與清除策略,也是反病毒工程師必備的核心知識。