軟件安全(微課版)

彭國軍、傅建明、劉哲理、範玲玲、劉功申

  • 出版商: 清華大學
  • 出版日期: 2025-11-01
  • 售價: $414
  • 語言: 簡體中文
  • ISBN: 7302704252
  • ISBN-13: 9787302704256
  • 相關分類: Penetration-test
  • 下單後立即進貨 (約4週~6週)

  • 軟件安全(微課版)-preview-1
  • 軟件安全(微課版)-preview-2
  • 軟件安全(微課版)-preview-3
  • 軟件安全(微課版)-preview-4
  • 軟件安全(微課版)-preview-5
  • 軟件安全(微課版)-preview-6
  • 軟件安全(微課版)-preview-7
軟件安全(微課版)-preview-1

相關主題

商品描述

"軟件是信息系統的核心基礎,軟件安全無疑是信息安全保障的關鍵。 本書介紹軟件安全領域的部分基礎知識,並重點對軟件安全威脅的兩類主要來源(惡意軟件與軟件漏洞)及其技術機理進行詳細的剖析,同時針對這些攻擊威脅,介紹目前典型的安全防護技術與手段。 本書分為三部分。 第一部分為“軟件安全基礎”,對軟件安全威脅來源及軟件安全相關的基礎知識(磁盤結構與系統引導、內存管理、PE文件結構等)進行講解,以便為後續章節的學習奠定基礎。 第二部分為“惡意代碼機理與防護”,這部分重點對目前惡意軟件(計算機病毒、網絡蠕蟲、網絡木馬、網絡後門等)的技術原理進行講解,同時也對目前典型的惡意軟件檢測技術和分析手段進行介紹。 第三部分為“軟件漏洞利用及挖掘”,對軟件自身的安全缺陷以及軟件漏洞利用機理進行剖析,同時對漏洞挖掘技術及其發展進行介紹。另外,本部分還重點介紹軟件漏洞防護策略與技術。 針對每部分內容,本書對重要知識點均提供了MOOC視頻講解,並在文中以二維碼的方式提供了視頻資源學習渠道。 本書通俗易懂,註重可操作性和實用性,通過對典型的軟件安全威脅本質進行剖析,使讀者能夠舉一反三。本書可作為網絡空間安全、計算機科學與技術,以及其他信息類學科的本科生專業教材,也可作為廣大計算機用戶、系統管理員、信息安全技術從業人員的技術參考書。 "

目錄大綱

目錄第一部分軟件安全基礎

第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