惡意代碼分析實踐

肖新光、辛毅、葉麟、李柏松、彭國軍

  • 出版商: 清華大學
  • 出版日期: 2025-02-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 383
  • ISBN: 7302681015
  • ISBN-13: 9787302681014
  • 相關分類: 資訊安全
  • 下單後立即進貨 (約4週~6週)

  • 惡意代碼分析實踐-preview-1
  • 惡意代碼分析實踐-preview-2
  • 惡意代碼分析實踐-preview-3
惡意代碼分析實踐-preview-1

買這商品的人也買了...

商品描述

本書是一本主要面向高校網絡空間安全等相關專業本科生的專業教材。本書介紹和討論了惡意代碼分析的概念、工具、技術與方法,旨在為讀者提供一本全面、系統的惡意代碼分析指南。從惡意代碼的基本概念入手,詳細介紹了惡意軟件的分類、特點及其潛在威脅,涵蓋了惡意代碼的動態分析和靜態分析技術,為讀者詳細揭示瞭如何從取證、分析、撰寫報告到持續監測惡意代碼在其生命周期內的活動和目的。作者結合多年實踐經驗,通過實際案例分析,讓讀者能夠從實踐中學習到寶貴經驗。書中提供了真實的惡意代碼分析實踐題,鼓勵讀者動手實踐,通過實際操作來鞏固知識和技能。普通高校電腦科學與技術、信息安全等相關專業的學生可以通過本書深化對惡意代碼分析的理解。

作者簡介

李柏松,安天實驗室第一副總工程師,現任安天安全研究與應急處理中心主任。他曾在逆向工程、虛擬機技術方面進行大量探索性研究,是安天主線產品AVLSDK反病毒引擎的核心技術實現者之一,先後主持或參與多項相關科研項目,申請了多項技術專利。

目錄大綱

目錄

 

 

第1篇樣本分析篇

第1章惡意代碼分析基礎3

1.1惡意代碼3

1.1.1惡意代碼的概念3

1.1.2惡意代碼的生命周期5

1.1.3惡意代碼與執行體和執行體安全6

1.1.4惡意代碼的分類和命名規則7

1.1.5惡意代碼的傳播方式13

1.1.6惡意代碼違法行為的法律責任14

1.2惡意代碼的威脅15

1.2.1惡意代碼對信息系統的威脅15

1.2.2惡意代碼對受害主體的威脅16

1.3惡意代碼分析流程17

1.3.1惡意代碼樣本的捕獲和採集18

1.3.2惡意代碼靜態分析20

1.3.3惡意代碼動態分析21

1.3.4惡意代碼特徵提取22

1.3.5惡意代碼處置23

1.3.6報告撰寫與分享23

1.4惡意代碼分析技能基礎24

1.4.1編程開發技能24

1.4.2匯編基礎知識24

1.4.3操作系統知識24

1.4.4加密和解密技術25

1.4.5電腦網絡知識25

 

第2章惡意代碼分析環境搭建26

2.1引言26

2.1.1惡意代碼分析環境26

2.1.2惡意代碼分析環境搭建意義27

2.1.3惡意代碼分析環境搭建原則27

2.2分析環境搭建要點28

2.2.1虛擬環境28

2.2.2硬件配置29

2.2.3操作系統配置30

2.2.4網絡配置31

2.2.5分析環境分析軟件配置31

2.2.6分析環境管理與維護32

2.3分析環境搭建實踐34

2.3.1構建基本的硬件虛擬環境35

2.3.2安裝操作系統36

2.3.3創建初始快照39

2.3.4部署基本軟件41

2.3.5快照或克隆基礎環境41

2.3.6部署分析軟件41

2.3.7快照或克隆分析環境43

2.4常用工具44

2.4.1在線工具44

2.4.2離線工具45

2.4.3知識源46

2.5實踐題47

 

第3章惡意代碼取證技術48

3.1Windows取證技術48

3.1.1系統信息取證48

3.1.2進程取證52

3.1.3服務取證56

3.1.4網絡取證 57

3.1.5註冊表取證58

3.1.6任務計劃取證59

3.1.7文件取證61

3.1.8日誌取證62

3.2Linux取證技術68

3.2.1系統信息取證68

3.2.2進程取證70

3.2.3服務取證73

3.2.4系統啟動項取證73

3.2.5計劃任務取證75

3.2.6文件取證76

3.2.7日誌取證 78

3.3內存取證技術79

3.3.1系統內存鏡像提取80

3.3.2內存分析 80

3.4挖礦木馬事件取證分析實例84

3.4.1挖礦木馬取證環境介紹84

3.4.2取證分析實踐過程85

3.4.3取證分析總結93

3.5實踐題93

 

第4章惡意代碼靜態分析94

4.1靜態分析方法94

4.2惡意代碼信息檢索94

4.2.1反病毒引擎掃描95

4.2.2惡意代碼哈希值匹配95

4.2.3威脅情報平臺檢索95

4.3惡意代碼格式分析97

4.3.1文件格式97

4.3.2字符串97

4.3.3殼信息99

4.3.4PE文件格式99

4.3.5導入函數103

4.3.6導出函數103

4.4靜態反匯編基礎104

4.4.1寄存器104

4.4.2指令105

4.4.3棧106

4.4.4條件指令107

4.4.5分支指令108

4.5二進制分析工具109

4.5.1加載可執行文件109

4.5.2IDA界面110

4.5.3交叉引用116

4.5.4函數分析118

4.5.5增強反匯編118

4.6靜態分析實例120

4.7實踐題126

 

第5章惡意代碼動態分析127

5.1動態分析方法127

5.2樣本行為監控128

5.2.1API Monitor128

5.2.2Sysinternals套件129

5.2.3Process Hacker129

5.3沙箱和虛擬機131

5.3.1Sandboxie131

5.3.2在線沙箱131

5.4網絡分析133

5.4.1Wireshark133

5.4.2TCPDump134

5.4.3TCPView135

5.4.4FakeNetNG136

5.4.5Packet Sender136

5.5二進制調試器137

5.5.1OllyDbg137

5.5.2x64dbg137

5.5.3IDA138

5.5.4dnSpy139

5.5.5WinDbg139

5.5.6GDB139

5.6二進制Hook140

5.6.1使用Frida tools141

5.6.2編寫Python腳本141

5.7模擬執行141

5.7.1Unicorn引擎142

5.7.2Qiling142

5.7.3scdbg和speakeasy142

5.8腳本動態分析143

5.8.1Windows PowerShell143

5.8.2Vbs143

5.8.3Windows批處理文件143

5.8.4Shell腳本144

5.9動態分析實例144

5.9.1本地行為監控144

5.9.2網絡監控分析145

5.9.3確認網絡數據包146

5.9.4動態調試147

5.9.5案例總結147

5.10實踐題148

 

第6章二進制惡意代碼分析技術149

6.1二進制惡意代碼149

6.2二進制惡意代碼發展歷史149

6.3PE文件病毒150

6.3.1PE文件病毒的運行過程150

6.3.2重定位151

6.3.3獲取API函數151

6.3.4搜索目標文件152

6.3.5感染152

6.4二進制惡意代碼文件結構分析和識別153

6.4.1通用文件結構分析和識別153

6.4.2惡意代碼特異性文件結構分析和識別154

6.5二進制惡意代碼靜態分析154

6.5.1控制流分析154

6.5.2數據流分析156

6.5.3程序切片158

6.5.4污點分析159

6.5.5相似性分析161

6.6二進制惡意代碼動態分析161

6.6.1文件行為分析161

6.6.2進程行為分析162

6.6.3註冊表行為分析163

6.6.4網絡行為分析163

 

第7章腳本惡意代碼分析技術164

7.1腳本文件格式164

7.2腳本分析工具165

7.2.1Windows PowerShell ISE165

7.2.2Visual Studio Code166

7.2.3文本編輯器167

7.3PowerShell腳本惡意代碼分析168

7.3.1PowerShell介紹168

7.3.2參數168

7.3.3混淆方法169

7.4PowerShell腳本惡意代碼分析實例172

7.5實踐題174

 

第8章宏惡意代碼分析技術176

8.1Office文件格式176

8.1.1OLE復合文件176

8.1.2Open XML177

8.2宏惡意代碼分析工具178

8.2.1VBA編輯器179

8.2.2oledump181

8.2.3olevba182

8.3宏惡意代碼常見技術分析183

8.3.1VBA184

8.3.2自動執行宏185

8.3.3調用API和命令執行186

8.3.4特定字符串 187

8.4宏惡意代碼分析實例190

8.4.1實例一190

8.4.2實例二195

8.4.3實例三199

8.5實踐題200

 

第9章惡意代碼生存技術分析與實踐201

9.1惡意代碼混淆與加密技術201

9.1.1代碼混淆201

9.1.2代碼加密208

9.2惡意代碼逃避技術210

9.2.1環境檢測210

9.2.2反調試技術215

9.2.3反虛擬機技術223

9.3加殼與脫殼227

9.3.1流行殼軟件227

9.3.2常見脫殼技術228

9.4生存技術分析實例230

9.4.1手動脫UPX殼230

9.4.2樣本實例分析234

9.5實踐題240

第2篇網絡分析篇

第10章僵屍網絡分析與實踐243

10.1僵屍網絡243

10.1.1僵屍網絡類別243

10.1.2僵屍網絡攻擊手法245

10.2僵屍網絡分析要點250

10.3僵屍網絡分析實例256

10.4實踐題259

 

第11章挖礦木馬分析與實踐261

11.1挖礦木馬261

11.1.1挖礦木馬概述261

11.1.2挖礦術語263

11.1.3挖礦活動現狀264

11.1.4挖礦主流方式 264

11.1.5挖礦木馬常見攻擊手法266

11.2Linux挖礦木馬分析要點267

11.2.1總體思路267

11.2.2Linux挖礦木馬分析要點268

11.3挖礦木馬分析實例276

11.3.1攻擊流程276

11.3.2樣本功能與技術梳理276

11.4實踐題281

 

第12章竊密木馬分析與實踐283

12.1竊密木馬283

12.2竊密木馬分析要點284

12.2.1竊取軟件數據的分析要點284

12.2.2竊取高價值文件的分析要點284

12.2.3鍵盤記錄器的分析要點285

12.2.4捕獲屏幕截圖的分析要點285

12.2.5網絡監聽的分析要點285

12.2.6回傳數據的分析要點286

12.3分析實例286

12.3.1檢查樣本格式286

12.3.2查看字符串287

12.3.3動態執行288

12.3.4分析核心代碼289

12.3.5實例總結289

12.4實踐題291

 

第13章遠控木馬分析與實踐292

13.1遠控木馬292

13.1.1遠控木馬功能292

13.1.2遠控木馬危害296

13.1.3遠控木馬對關鍵基礎設施的攻擊298

13.1.4遠控木馬防範299

13.2遠控木馬分析要點300

13.2.1文件格式及字符串300

13.2.2指令分支303

13.2.3收集信息303

13.2.4網絡相關函數304

13.3遠控木馬分析實例305

13.3.1查看文件基本信息306

13.3.2查看字符串306

13.3.3指令分支307

13.3.4收集信息308

13.3.5構建上線包,並加密回傳311

13.3.6在虛擬分析環境中運行樣本311

13.4實踐題314

 

第14章勒索軟件分析與實踐315

14.1勒索軟件315

14.1.1起源及發展過程315

14.1.2傳播模式316

14.1.3造成的影響與危害317

14.1.4應對與防護318

14.2勒索軟件分析要點319

14.2.1刪除捲影副本319

14.2.2禁用系統修復319

14.2.3遍歷系統磁盤、目錄、文件320

14.2.4加密策略和加密算法322

14.2.5更改文件後綴名,生成勒索信,修改桌面背景等324

14.3勒索軟件分析實例326

14.4總結331

14.5實踐題332

第3篇APT分析篇

第15章高級持續性威脅分析335

15.1APT基本概念335

15.1.1APT基本定義335

15.1.2APT組織與行動340

15.1.3APT攻擊活動中的技戰術346

15.2APT與威脅情報349

15.2.1APT威脅情報來源349

15.2.2IoC情報350

15.2.3主機側情報352

15.2.4網絡側情報354

15.3APT分析要點357

15.3.1攻擊階段分析357

15.3.2攻擊路徑分析359

15.3.3關聯與溯源分析364

 

第16章綜合分析實驗372

16.1案例介紹372

16.2環境準備372

16.2.1工具準備372

16.2.2環境搭建372

16.3取證377

16.3.1工具準備377

16.3.2取證過程378

16.4分析381

16.4.1工具準備381

16.4.2分析過程381

16.5總結382