軟件安全(微課版)
彭國軍、傅建明、劉哲理、範玲玲、劉功申
- 出版商: 清華大學
- 出版日期: 2025-11-01
- 售價: $414
- 語言: 簡體中文
- ISBN: 7302704252
- ISBN-13: 9787302704256
-
相關分類:
Penetration-test
下單後立即進貨 (約4週~6週)
相關主題
商品描述
目錄大綱
目錄第一部分軟件安全基礎
第1章軟件安全概述3
1.1軟件安全威脅及其來源3
1.1.1軟件缺陷與漏洞3
1.1.2惡意軟件4
1.1.3軟件知識產權侵犯6
1.2軟件級安全防護方法6
1.2.1軟件漏洞挖掘與利用檢測6
1.2.2惡意代碼分析與檢測7
1.2.3安全設計與開發7
1.2.4軟件自身加固8
1.3系統級安全防護方法9
1.3.1系統自身防護機制構建9
1.3.2系統還原10
1.3.3虛擬隔離10
1.3.4可信計算11
課後習題13
第2章計算機引導與磁盤管理14
2.1系統引導與控制權傳遞14
2.1.1系統引導與控制權傳遞的過程14
2.1.2Legacy BIOS引導模式16
2.1.3UEFI BIOS引導模式20
2.2處理器的工作模式20
2.2.1實模式21
2.2.2保護模式21
2.2.3虛擬8086模式21
2.3內存結構與管理22
2.3.1內存布局22
2.3.2分頁機制24
2.3.3頁面的權限管理25
2.4磁盤的物理與邏輯結構27
2.4.1磁盤的物理結構27
2.4.2磁盤的邏輯結構29
2.4.3典型文件系統格式(FAT32、NTFS等)34
2.5FAT32文件系統及數據恢復34
2.5.1FAT32文件系統結構34
2.5.2FAT32文件系統的文件管理36
2.5.3FAT32文件系統被刪除文件恢復的機理36
2.5.4FAT32數據恢復實踐37
2.6NTFS文件系統37
2.6.1NTFS文件系統的總體結構37
2.6.2MFT38
2.6.3NTFS文件存儲與數據運行(Data Run)39
2.7二進制程序的生成與表示39
2.7.1程序的生成過程39
2.7.2程序的二進制表示40
2.7.3反編譯與反匯編40
課後習題40
第3章PE可執行文件格式42
3.1PE文件及其表現形式42
3.2PE文件格式與PE病毒的關系42
3.3PE文件格式總體結構概述43
3.3.1PE文件原始數據43
3.3.2PE文件相關工具介紹43
3.3.3MZ及PE文件頭44
3.3.4可選映像頭45
3.3.5節表與節48
3.4代碼節與數據節50
3.4.1代碼節及數據節介紹50
3.4.2代碼節與數據節舉例51
3.5引入函數節與函數引入機制51
3.5.1引入目錄表51
3.5.2引入名字表及IAT52
3.6引出函數節與函數引出機制53
3.6.1引出目錄表53
3.6.2引出函數節舉例分析55
3.7資源節: 文件資源索引、定位與修改55
3.8重定位節: 鏡像地址改變後的地址自動修正55
3.9PE程序的數字簽名與驗證機制56
3.10PE32+文件格式與PE32文件格式的區別57
課後習題57
第4章PE文件格式實踐58
4.1手工構建引入函數表58
4.2手工替換程序的已有圖標59
4.3手工提取程序的圖標59
4.4手工為程序新增圖標59
4.5手工漢化59
4.6PE程序的數字簽名過程與數據植入59
4.6.1PE程序的數字簽名過程59
4.6.2PE程序簽名數據的提取與分析59
4.7挑戰自己: 手工打造最小PE文件59
課後習題60
第二部分惡意代碼機理與防護
第5章惡意代碼的定義及分類63
5.1惡意代碼的定義63
5.2惡意代碼的分類63
5.2.1計算機病毒63
5.2.2網絡蠕蟲64
5.2.3網絡木馬66
5.2.4網絡後門66
5.2.5僵屍程序與僵屍網絡67
5.2.6Rootkit67
5.2.7Exploit67
5.2.8其他68
5.3惡意代碼的發展階段68
5.3.1單機階段68
5.3.2網絡傳播階段69
5.3.3混合攻擊與對抗階段69
5.4惡意代碼與網絡犯罪70
5.5惡意代碼與APT攻擊中的武器71
5.5.1從惡意代碼的發展看APT攻擊71
5.5.2高級惡意代碼工程體系——A2PT的攻擊武器73
5.5.3普通APT組織的自研惡意代碼74
5.5.4商用惡意代碼74
5.5.5無文件惡意代碼作業、開源和免費工具75
5.5.6總結與思考75
課後習題76
第6章Windows PE病毒77
6.1PE病毒的基本概念77
6.2Windows PE病毒的分類77
6.3傳統文件感染型78
6.3.1傳統文件感染型病毒感染機理78
6.3.2傳統文件感染型病毒關鍵技術78
6.4捆綁釋放型84
6.5系統感染型84
6.5.1系統感染型病毒及控制權再次獲取84
6.5.2系統感染型病毒的傳播方式86
6.6典型案例87
課後習題88
第7章腳本病毒及宏病毒89
7.1宏的基本概念與使用89
7.2宏病毒的傳播方法90
7.2.1宏的概念90
7.2.2宏病毒如何拿到控制權90
7.2.3宏病毒如何傳播91
7.3宏病毒的自我保護及對抗措施94
7.3.1宏病毒的自我保護94
7.3.2如何對抗宏病毒的自我保護96
7.3.3APT攻擊中的宏利用97
7.4VBS腳本病毒98
7.5VBS腳本病毒的感染技術98
7.5.1VBS腳本病毒如何感染、搜索文件98
7.5.2VBS腳本病毒的傳播方式99
7.5.3VBS腳本病毒如何獲取控制權100
7.6PowerShell腳本病毒101
課後習題102
第8章網絡蠕蟲103
8.1網絡蠕蟲的定義103
8.2網絡蠕蟲的功能模塊103
8.3網絡蠕蟲的檢測與防治105
8.3.1主機上蠕蟲的檢測與防治105
8.3.2網絡上蠕蟲的檢測與防治105
8.4典型網絡蠕蟲分析106
課後習題112
第9章網絡木馬及其他113
9.1木馬的基本概念113
9.2木馬的分類113
9.3木馬的植入方式114
9.4木馬的通信方式117
9.5遠程控制型木馬的常見功能與意圖118
9.5.1遠程控制型木馬的結構118
9.5.2木馬的典型功能118
9.5.3木馬的性能123
9.6典型木馬123
9.6.1系統行為123
9.6.2業務功能126
9.7APT攻擊與遠程控制型木馬129
課後習題130
第10章惡意代碼檢測及對抗技術131
10.1惡意代碼防護模型131
10.1.1Fred Cohen提出的“四模型”理論131
10.1.2類IPM模型132
10.1.3防護模型的啟示132
10.2靜態檢測技術133
10.2.1特征碼檢測技術133
10.2.2校驗和檢測技術135
10.2.3啟發式掃描技術138
10.3動態檢測技術142
10.3.1虛擬機檢測技術142
10.3.2主動防禦技術144
10.3.3沙箱技術146
10.4綜合檢測技術147
10.4.1雲查殺技術148
10.4.2基於智能算法的檢測技術148
10.5惡意代碼對抗技術150
10.5.1惡意代碼對抗靜態分析的手段151
10.5.2惡意代碼對抗動態分析的手段153
10.5.3反病毒軟件對抗155
10.6人工分析對抗156
10.7本章小結160
課後習題161
第11章惡意軟件樣本的捕獲與分析162
11.1惡意軟件樣本的捕獲方法162
11.1.1蜜罐162
11.1.2用戶上報162
11.1.3雲查殺平臺上傳163
11.1.4誘餌郵箱163
11.1.5樣本交流163
11.2惡意軟件載體 163
11.3惡意軟件樣本的分析164
11.3.1虛擬機環境準備165
11.3.2系統監控166
11.3.3文件類型偵測171
11.3.4PE文件格式分析171
11.3.5靜態反匯編172
11.3.6動態調試174
11.3.7文本及十六進制數據分析175
11.4惡意軟件分析報告176
11.5威脅情報共享179
11.5.1威脅情報179
11.5.2TTPs典型描述框架182
11.5.3威脅情報的應用場景183
11.5.4威脅情報的標準與規範184
11.6本章小結185
課後習題185
第三部分軟件漏洞利用及挖掘
第12章軟件漏洞機理189
12.1軟件漏洞概念189
12.1.1軟件漏洞的定義及威脅189
12.1.2漏洞共享庫192
12.2漏洞分類與時效194
12.2.1軟件漏洞的技術分類194
12.2.2軟件漏洞的時效分類195
12.3漏洞產業鏈195
12.4通用漏洞評估系統196
12.4.1CVSS評分框架概述196
12.4.2CVSS評分示例198
12.4.3CVSS的評分範圍與計算器199
12.5緩沖區溢出漏洞199
12.5.1基本概念199
12.5.2棧溢出漏洞200
12.5.3堆溢出漏洞205
12.5.4單字節溢出211
12.6格式化字符串漏洞211
12.6.1格式化字符串的定義211
12.6.2格式化字符串漏洞的利用——數據泄露212
12.6.3格式化字符串漏洞的利用——數據寫入214
12.7整數溢出漏洞216
12.8UAF漏洞、DoubleFree219
12.9攻擊C++虛函數220
12.10其他類型的漏洞223
12.10.1註入類漏洞223
12.10.2權限類漏洞224
課後習題225
第13章軟件漏洞利用及系統保護機制227
13.1漏洞利用與Exploit227
13.1.1漏洞利用的基本概念227
13.1.2Exploit的結構228
13.2典型漏洞利用方法228
13.3Shellcode開發230
13.3.1Shellcode的編寫語言230
13.3.2地址重定位技術231
13.3.3API函數自搜索技術231
13.3.4S.E.H結構覆蓋235
13.3.5返回導向編程236
13.4典型漏洞利用框架237
13.4.1Metasploit Framework237
13.4.2Immunity CANVAS237
13.5Windows安全防護238
13.5.1地址空間分布隨機化——ASLR238
13.5.2棧溢出檢查——GS241
13.5.3數據執行保護——DEP245
13.5.4SafeSEH248
13.5.5EMET250
13.5.6Exploit Protection機制251
課後習題251
第14章漏洞挖掘技術基礎253
14.1方法概述253
14.1.1方法分類253
14.1.2符號執行253
14.1.3汙點分析255
14.2程序切片技術256
14.2.1基礎定義256
14.2.2工作原理260
14.2.3典型方法261
14.3程序插樁技術263
14.3.1插樁概念263
14.3.2插樁分類264
14.3.3Pin插樁示例265
14.4Hook技術272
14.4.1Hook概念272
14.4.2消息Hook273
14.4.3API Hook277
課後習題289
第15章典型漏洞挖掘方法290
15.1詞法分析290
15.1.1基本概念290
15.1.2詞法分析漏洞挖掘實踐290
15.1.3基於IDA腳本的漏洞挖掘294
15.2數據流分析295
15.2.1基本概念295
15.2.2漏洞分析297
15.3符號執行技術299
15.3.1基本原理299
15.3.2方法分類303
15.3.3Angr應用示例304
15.4汙點分析技術308
15.4.1基本原理308
15.4.2顯式流分析310
15.4.3隱式流分析312
15.4.4檢測漏洞示例313
15.5模糊測試314
15.5.1模糊測試簡介314
15.5.2智能模糊測試316
15.5.3模糊測試工具示例317
15.5.4動手寫Fuzzer322
15.5.5AFL模糊測試工具324
課後習題328
參考文獻329







