惡意代碼分析實踐
肖新光、辛毅、葉麟、李柏松、彭國軍
買這商品的人也買了...
-
$352深入理解 Android 網絡編程-技術詳解與最佳實踐
-
$454Android 深度探索(捲 2)-系統應用源代碼分析與 ROM 定製(附光盤)
-
$680$537 -
$454Android 安全攻防權威指南
-
$520$442 -
$281網絡設備配置與調試項目實訓(第4版)
-
$690$538 -
$607Spring Boot + Vue 開發實戰
-
$534$507 -
$780$702 -
$620$484 -
$250$198 -
$880$792 -
$520$410 -
$580$458 -
$880$695 -
$354$336 -
$479$455 -
$860$679 -
$390$371 -
$594$564 -
$539$512 -
$594$564 -
$407軟件安全實踐
-
$356DeepSeek 實用操作指南 : 入門、搜索、答疑、寫作
商品描述
本書是一本主要面向高校網絡空間安全等相關專業本科生的專業教材。本書介紹和討論了惡意代碼分析的概念、工具、技術與方法,旨在為讀者提供一本全面、系統的惡意代碼分析指南。從惡意代碼的基本概念入手,詳細介紹了惡意軟件的分類、特點及其潛在威脅,涵蓋了惡意代碼的動態分析和靜態分析技術,為讀者詳細揭示瞭如何從取證、分析、撰寫報告到持續監測惡意代碼在其生命周期內的活動和目的。作者結合多年實踐經驗,通過實際案例分析,讓讀者能夠從實踐中學習到寶貴經驗。書中提供了真實的惡意代碼分析實踐題,鼓勵讀者動手實踐,通過實際操作來鞏固知識和技能。普通高校電腦科學與技術、信息安全等相關專業的學生可以通過本書深化對惡意代碼分析的理解。
作者簡介
李柏松,安天實驗室第一副總工程師,現任安天安全研究與應急處理中心主任。他曾在逆向工程、虛擬機技術方面進行大量探索性研究,是安天主線產品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.4FakeNetNG136
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