本書從計算機病毒生命周期的全新視角,詳細介紹了計算機病毒的基本理論與主要攻防技術。計算機病毒生命周期,是指從病毒編寫誕生開始到病毒被獵殺的全生命歷程,主要包括誕生、傳播、潛伏、發(fā)作、檢測、凋亡等階段。從攻防博弈的角度,病毒的誕生、傳播、潛伏、發(fā)作等階段屬于病毒攻擊范疇,而病毒的檢測、凋亡等階段屬于病毒防御范疇。本書以計算機病毒生命周期為邏輯主線,全景式展示計算機病毒攻防因果鏈,將內(nèi)容劃分為基礎篇、攻擊篇、防御篇3篇共9章。首先,在基礎篇中介紹了計算機病毒概論、計算機病毒基礎知識及計算機病毒分析平臺等理論基礎。其次,在攻擊篇中介紹了計算機病毒攻擊方法與技術,包括計算機病毒的誕生、傳播、潛伏、發(fā)作等攻擊技術方法。最后,在防御篇中討論了計算機病毒防御理論與方法,包括計算機病毒檢測、病毒免疫與凋亡等防御技術方法。
張瑜,博士,教授,網(wǎng)絡空間安全學科帶頭人,中國指揮與控制學會網(wǎng)絡空間安全專委會委員,中國計算機學會計算機安全專委會委員,中國網(wǎng)絡空間安全協(xié)會會員,海南省南海名家(網(wǎng)絡空間安全領軍人才),海南省網(wǎng)絡安全與信息化專家,海南省商用密碼庫入選專家。2013年獲國家留學基金委資助,赴美國Sam Houston State University訪學一年,在網(wǎng)絡空間安全領域與美方進行了深度科研合作。主持國家自然科學基金、教育部、海南省自然科學基金等國家計劃項目的研究,在國內(nèi)外權威期刊上發(fā)表論文30余篇,20多篇被SCI、EI收錄。出版《計算機病毒學》《Rootkit隱遁攻擊技術及其防范》《計算機病毒進化論》《免疫優(yōu)化理論及其應用》等4部專著,申請國家發(fā)明專利6項,獲準計算機軟件著作權15項。
目 錄
基 礎 篇
第1章 計算機病毒概論 002
1.1 計算機病毒起源 002
1.1.1 計算機病毒理論起源 002
1.1.2 計算機病毒游戲起源 003
1.1.3 計算機病毒科幻起源 004
1.1.4 計算機病毒實驗起源 005
1.2 計算機病毒定義 006
1.3 計算機病毒特性 006
1.3.1 繁殖性 007
1.3.2 破壞性 007
1.3.3 傳染性 007
1.3.4 潛伏性 008
1.3.5 可觸發(fā)性 008
1.3.6 衍生性 008
1.3.7 不可預見性 008
1.4 計算機病毒類型 009
1.4.1 按照存儲介質(zhì)劃分 010
1.4.2 按照感染系統(tǒng)劃分 010
1.4.3 按照破壞性劃分 010
1.4.4 按照算法功能劃分 010
1.5 計算機病毒結構 010
1.6 計算機病毒進化 012
1.6.1 計算機病毒外部環(huán)境變遷視角 012
1.6.2 計算機病毒攻擊載體視角 015
1.6.3 計算機病毒編寫者視角 016
1.7 計算機病毒環(huán)境 018
1.7.1 計算機體系結構依賴 019
1.7.2 計算機操作系統(tǒng)依賴 020
1.7.3 文件系統(tǒng)及文件格式依賴 021
1.7.4 解釋環(huán)境依賴 022
1.8 計算機病毒生命周期 022
1.9 課后練習 024
第2章 計算機病毒基礎知識 025
2.1 Windows PE文件格式 025
2.1.1 Windows PE簡介 025
2.1.2 Windows PE文件基本概念 026
2.1.3 Windows PE文件格式 030
2.2 Powershell基礎 043
2.2.1 Powershell簡介 043
2.2.2 Powershell基本概念 044
2.2.3 Powershell安全技術 050
2.3 Windows內(nèi)核機制 056
2.3.1 Windows系統(tǒng)體系結構 056
2.3.2 Windows的分段與分頁 057
2.3.3 Windows系統(tǒng)服務調(diào)用機制 058
2.4 課后練習 062
第3章 計算機病毒分析平臺 064
3.1 計算機病毒分析簡介 064
3.1.1 計算機病毒分析環(huán)境 064
3.1.2 虛擬機創(chuàng)建 065
3.2 計算機病毒靜態(tài)分析 067
3.2.1 反病毒引擎掃描 068
3.2.2 查找字符串 069
3.2.3 加殼與混淆檢測 070
3.2.4 PE文件格式檢測 070
3.2.5 鏈接庫與函數(shù) 071
3.3 計算機病毒動態(tài)分析 071
3.3.1 注冊表快照對比 072
3.3.2 進程監(jiān)控 072
3.3.3 程序調(diào)試監(jiān)控 072
3.4 計算機病毒分析文檔 073
3.4.1 計算機病毒樣本分析登記文檔 074
3.4.2 計算機病毒樣本分析結果登記文檔 074
3.4.3 計算機病毒分析報告 074
3.5 課后練習 075
攻 擊 篇
第4章 計算機病毒誕生 078
4.1 程序設計生成 078
4.1.1 編程心理學 078
4.1.2 編程經(jīng)濟學 080
4.2 軟件代碼復用 084
4.2.1 代碼復用 084
4.2.2 低代碼 085
4.3 病毒生產(chǎn)機 086
4.4 基于ChatGPT生成病毒 087
4.4.1 ChatGPT簡介 087
4.4.2 基于ChatGPT生成病毒 087
4.5 課后練習 093
第5章 計算機病毒傳播 094
5.1 文件寄生 094
5.1.1 可執(zhí)行文件寄生 094
5.1.2 數(shù)據(jù)文件寄生 101
5.2 實體注入 102
5.2.1 DLL注入 102
5.2.2 進程鏤空 108
5.2.3 注冊表注入 110
5.2.4 映像劫持 115
5.3 漏洞利用 118
5.3.1 Exploit結構 118
5.3.2 Exploit原理 118
5.3.3 Exploit實現(xiàn) 126
5.4 社會工程學 130
5.5 課后練習 132
第6章 計算機病毒潛伏 133
6.1 病毒隱匿 133
6.1.1 Rootkit技術 133
6.1.2 無文件病毒 165
6.2 病毒混淆 205
6.2.1 混淆原理 205
6.2.2 混淆實現(xiàn) 206
6.3 病毒多態(tài) 208
6.3.1 病毒多態(tài)原理 208
6.3.2 多態(tài)代碼實現(xiàn) 209
6.3.3 病毒多態(tài)演示 211
6.4 病毒加殼 212
6.4.1 病毒加殼原理 212
6.4.2 加殼代碼實現(xiàn) 213
6.4.3 病毒加殼演示 214
6.5 課后練習 215
第7章 計算機病毒發(fā)作 216
7.1 病毒啟動 216
7.1.1 注冊表啟動 216
7.1.2 實體劫持啟動 219
7.1.3 系統(tǒng)服務啟動 219
7.2 加密勒索 220
7.2.1 密碼學原理 221
7.2.2 加密勒索實現(xiàn) 222
7.3 數(shù)據(jù)泄露 223
7.4 數(shù)據(jù)銷毀 225
7.4.1 數(shù)據(jù)存儲原理 225
7.4.2 數(shù)據(jù)銷毀方法 228
7.5 軟硬件破壞 229
7.5.1 惡作劇 229
7.5.2 數(shù)據(jù)破壞 232
7.5.3 物理破壞 234
7.6 課后練習 239
防 御 篇
第8章 計算機病毒檢測 242
8.1 基于特征碼檢測 242
8.1.1 病毒特征碼定義 242
8.1.2 病毒特征碼提取 245
8.1.3 病毒特征碼檢測 246
8.2 啟發(fā)式檢測 247
8.2.1 啟發(fā)式病毒屬性 248
8.2.2 啟發(fā)式病毒檢測 248
8.3 虛擬沙箱檢測 251
8.4 數(shù)據(jù)驅動檢測 252
8.4.1 基于機器學習的病毒檢測 253
8.4.2 基于深度學習的病毒檢測 257
8.4.3 基于強化學習的病毒檢測 260
8.5 基于ChatGPT的安全防御 262
8.5.1 計算機病毒檢測 262
8.5.2 逆向分析 263
8.5.3 漏洞發(fā)現(xiàn) 264
8.5.4 事件分析與響應 264
8.6 課后練習 265
第9章 計算機病毒凋亡 266
9.1 病毒獵殺 266
9.1.1 病毒獵殺流程 266
9.1.2 病毒獵殺方法 267
9.2 病毒免疫 269
9.2.1 免疫接種 270
9.2.2 疫苗注射 271
9.3 環(huán)境升級 272
9.3.1 操作系統(tǒng) 272
9.3.2 編程語言 274
9.3.3 安全軟件 275
9.4 課后練習 276
參考文獻 277