新到貨2本75折
惡意代碼分析實戰

惡意代碼分析實戰

  • 定價:1068
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

是業內公認的迄今為止最權威的一本惡意代碼分析指南,《惡意代碼分析實戰》也是每一位惡意代碼分析師都必須作為指導手冊珍藏的案頭必備。

《惡意代碼分析實戰》既是一本教材,也是一本動手實踐的指南。不僅教會你如何分析惡意代碼(技術指導),而且配了大量的實驗練習、案例、答案以及詳細的分析過程,同時還包含了所有用作案例的惡意代碼樣本,提供了豐富、安全的學習環境。

針對初學者:本書的技術內容、實驗作業可以幫你漸入佳境;針對中級讀者:本書大量的分析實踐會直接帶你進入更高的級別,臻入化境。

邁克爾•斯科爾斯基(Michael Sikorski)是在Mandiant公司任職的計算機安全顧問。他對惡意代碼進行逆向分析,支持公司安全事件響應調查,並為公司的聯邦政府部門客戶提供專業研究與開發的安全解決方案。邁克創建了一套惡意代碼分析的系列課程,並對不同的受眾進行培訓,包括聯邦調查局和Black Hat黑客大會參會者。在加入Mandiant公司之前,他在麻省理工學院林肯實驗室工作,在那里他對被動網絡映射技術和滲透測試進行研究。邁克也是美國國家安全局為期三年的系統和網絡跨學科研究生項目的畢業生。在美國國家安全局期間,他為逆向工程方面的研究做出了貢獻,並獲得在網絡分析方面的多項發明獎項。
 

目錄

第0章 惡意代碼分析技術入門1
0.1惡意代碼分析目標1
0.2惡意代碼分析技術2
0.2.1靜態分析基礎技術2
0.2.2動態分析基礎技術2
0.2.3靜態分析高級技術2
0.2.4動態分析高級技術2
0.3惡意代碼類型3
0.4惡意代碼分析通用規則4

第1篇 靜態分析
第1章 靜態分析基礎技術6
1.1反病毒引擎掃描:實用的第一步6
1.2哈希值:惡意代碼的指紋7
1.3查找字符串7
1.4加殼與混淆惡意代碼9
1.4.1文件加殼10
1.4.2使用PEiD檢測加殼10
1.5PE文件格式11
1.6鏈接庫與函數12
1.6.1靜態鏈接、運行時鏈接與動態鏈接12
1.6.2使用DependencyWalker工具探索動態鏈接函數13
1.6.3導入函數14
1.6.4導出函數15
1.7靜態分析技術實踐15
1.7.1PotentialKeylogger.exe:一個未加殼的可執行文件15
1.7.2PackedProgram.exe:窮途末路18
1.8PE文件頭與分節18
1.8.1使用PEview來分析PE文件19
1.8.2使用ResourceHacker工具來查看資源節22
1.8.3使用其他的PE文件工具23
1.8.4PE文件頭概述23
1.9小結24
1.10實驗24
第2章 在虛擬機中分析惡意代碼27
2.1虛擬機的結構27
2.2創建惡意代碼分析機28
2.2.1配置VMware29
2.2.2斷開網絡30
2.2.3創建主機模式網絡30
2.2.4使用多個虛擬機30
2.3使用惡意代碼分析機31
2.3.1讓惡意代碼連接互聯網31
2.3.2連接和斷開外圍設備32
2.3.3拍攝快照32
2.3.4從虛擬機傳輸文件33
2.4使用VMware進行惡意代碼分析的風險34
2.5記錄/重放:重復計算機運行軌跡34
2.6小結35
第3章 動態分析基礎技術36
3.1沙箱:簡便但粗糙的方法36
3.1.1使用惡意代碼沙箱36
3.1.2沙箱的缺點37
3.2運行惡意代碼38
3.3進程監視器39
3.3.1進程監視器的顯示40
3.3.2進程監視器中的過濾41
3.4使用進程瀏覽器(ProcessExplorer)來查看進程43
3.4.1進程瀏覽器的顯示43
3.4.2使用驗證選項44
3.4.3比較字符串45
3.4.4使用依賴遍歷器(DependencyWalker)45
3.4.5分析惡意文檔46
3.5使用Regshot來比較注冊表快照46
3.6模擬網絡47
3.6.1使用ApateDNS47
3.6.2使用Netcat進行監視48
3.7使用Wireshark進行數據包監聽49
3.8使用INetSim51
3.9基礎動態分析工具實踐52
3.10小結55
3.11實驗56

第2篇 靜態分析高級技術篇
第4章 x86反匯編速成班60
4.1抽象層次60
4.2逆向工程62
4.3x86體系結構62
4.3.1內存63
4.3.2指令64
4.3.3操作碼和字節序64
4.3.4操作數65
4.3.5寄存器65
4.3.6簡單指令67
4.3.7棧70
4.3.8條件指令73
4.3.9分支指令73
4.3.10重復指令74
4.3.11C語言主函數和偏移76
4.3.12更多信息:Intelx86ArchitectureManual77
4.4小結78
第5章 IDAPro79
5.1加載一個可執行文件79
5.2IDAPro接口81
5.2.1反匯編窗口模式81
5.2.2對分析有用的窗口83
5.2.3返回到默認視圖83
5.2.4導航IDAPro83
5.2.5搜索85
5.3使用交叉引用86
5.3.1代碼交叉引用87
5.3.2數據交叉引用88
5.4分析函數88
5.5使用圖形選項89
5.6增強反匯編91
5.6.1重命名位置91
5.6.2注釋92
5.6.3格式化操作數92
5.6.4使用命名的常量93
5.6.5重新定義代碼和數據94
5.7用插件擴展IDA95
5.7.1使用IDC腳本96
5.7.2使用IDAPython97
5.7.3使用商業插件97
5.8小結98
5.9實驗98
第6章 識別匯編中的C代碼結構100
6.1全局與局部變量101
6.2反匯編算術操作102
6.3識別if語句104
6.3.1用IDAPro圖形化分析函數105
6.3.2識別嵌套的if語句106
6.4識別循環107
6.4.1找到for循環107
6.4.2找到while循環109
6.5理解函數調用約定110
6.5.1cdecl110
6.5.2stdcall111
6.5.3fastcall111
6.5.4壓棧與移動111
6.6分析switch語句112
6.6.1If樣式112
6.6.2跳轉表114
6.7反匯編數組118
6.8識別結構體119
6.9分析鏈表遍歷121
6.10小結123
6.11實驗123
第7章 分析惡意Windows程序126
7.1WindowsAPI126
7.1.1類型和匈牙利表達法126
7.1.2句柄127
7.1.3文件系統函數127
7.1.4特殊文件128
7.2Windows注冊表129
7.2.1注冊表根鍵130
7.2.2Regedit131
7.2.3自啟動程序131
7.2.4常用注冊表函數131
7.2.5練習分析注冊表操作代碼132
7.2.6使用.reg文件的注冊表腳本133
7.3網絡API133
7.3.1伯克利兼容套接字134
7.3.2網絡的服務器和客戶端134
7.3.3WinINetAPI135
7.4跟蹤惡意代碼的運行136
7.4.1DLL136
7.4.2進程137
7.4.3線程139
7.4.4使用互斥量的進程間協作142
7.4.5服務143
7.4.6組件對象模型145
7.4.7異常:當事情出錯時147
7.5內核與用戶模式148
7.6原生API149
7.7小結151
7.8實驗151

第3篇 動態分析高級技術篇
第8章 動態調試154
8.1源代碼級與匯編級的調試器154
8.2內核模式與用戶模式調試155
8.3使用調試器155
8.3.1單步調試155
8.3.2單步跳過(Stepping—Over)和單步跳入(Stepping—Into)156
8.3.3用斷點暫停執行157
8.4異常161
8.4.1首次和二次異常處理162
8.4.2常見異常162
8.5使用調試器修改可執行文件163
8.6修改可執行程序的實踐163
8.7小結164
第9章 OllyDbg165
9.1加載惡意代碼165
9.1.1打開一個可執行文件165
9.1.2附加調試器到一個運行程序166
9.2OllyDbg的接口167
9.3內存映射168
9.3.1基地址重定位169
9.4查看線程和堆棧170
9.5執行代碼171
9.6斷點172
9.6.1軟件斷點173
9.6.2條件斷點174
9.6.3硬件斷點175
9.6.4內存斷點175
9.7加載DLL176
9.8跟蹤177
9.8.1標准回溯跟蹤177
9.8.2堆棧調用跟蹤178
9.8.3運行跟蹤178
9.8.4跟蹤PoisonIvy178
9.9異常處理179
9.10修補180
9.11分析shellcode181
9.12協助功能182
9.13插件182
9.13.1OllyDump183
9.13.2調試器隱藏插件183
9.13.3命令行184
9.13.4書簽185
9.14腳本調試185
9.15小結186
9.16實驗187
第10章 使用WinDbg調試內核189
10.1驅動與內核代碼189
10.2安裝內核調試191
10.3使用WinDbg193
10.3.1從內存中讀取194
10.3.2使用算術操作符194
10.3.3設置斷點194
10.3.4列舉模塊195
10.4微軟符號表195
10.4.1搜索符號195
10.4.2查看結構信息196
10.4.3配置Windows符號表198
10.5內核調試實踐198
10.5.1用戶空間的代碼198
10.5.2內核模式的代碼200
10.5.3查找驅動對象203
10.6Rootkit204
10.6.1Rootkit分析實踐205
10.6.2中斷208
10.7加載驅動209
10.8WindowsVista、Windows7和x64版本的內核問題209
10.9小結210
10.10實驗210

第4篇 惡意代碼功能篇
第11章 惡意代碼行為214
11.1下載器和啟動器214
11.2后門(backdoor)214
11.2.1反向shell215
11.2.2遠程控制工具216
11.2.3僵屍網絡216
11.2.4遠程控制工具與僵屍網絡的比較217
11.3登錄憑證竊密器217
11.3.1GINA攔截217
11.3.2口令哈希轉儲218
11.3.3擊鍵記錄221
11.4存活機制223
11.4.1Windows注冊表223
11.4.2特洛伊木馬化(Trojanized)系統二進制文件225
11.4.3DLL加載順序劫持227
11.5提權228
11.5.1使用SeDebugPrivilege228
11.6隱藏它的蹤跡——用戶態的Rootkit229
11.6.1IATHook230
11.6.2InlineHook231
11.7小結232
11.8實驗232
第12章 隱蔽的惡意代碼啟動234
12.1啟動器(Launcher)234
12.2進程注入234
12.2.1DLL注入235
12.2.2直接注入237
12.3進程替換238
12.4鉤子(Hook)注入240
12.4.1本地和遠程鉤子(Hook)240
12.4.2使用鉤子的擊鍵記錄器241
12.4.3使用SetWindowsHookEx241
12.4.4目標線程241
12.5Detours242
12.6APC注入243
12.6.1用戶模式下APC注入244
12.6.2內核模式的APC注入245
12.7小結246
12.8實驗246
第13章 數據加密248
13.1分析加密算法的目的248
13.2簡單的加密算法248
13.2.1凱撒密碼249
13.2.2XOR249
13.2.3其他一些簡單的加密策略254
13.2.4Base64255
13.3常見的加密算法258
13.3.1識別字符串和導入259
13.3.2查找加密常量259
13.3.3查找高熵值內容261
13.4自定義加密262
13.4.1識別自定義加密263
13.4.2攻擊者使用自定義加密的優勢265
13.5解密265
13.5.1自解密265
13.5.2手動執行解密函數266
13.5.3使用通用的解密規范267
13.6小結270
13.7實驗271
第14章 惡意代碼的網絡特征273
14.1網絡應對措施273
14.1.1在原始環境中觀察惡意代碼273
14.1.2惡意行為的痕跡274
14.1.3OPSEC=操作安全性275
14.2安全地調查在線攻擊者275
14.2.1間接性策略275
14.2.2獲取IP地址和域名信息276
14.3基於內容的網絡應對措施278
14.3.1使用Snort進行入侵檢測278
14.3.2深入觀察279
14.4結合動態和靜態分析技術282
14.4.1過度分析的危險283
14.4.2在眾目睽睽下隱藏283
14.4.3理解周邊代碼286
14.4.4尋找網絡操作代碼287
14.4.5了解網絡內容的來源288
14.4.6硬編碼數據vs.臨時數據289
14.4.7確定和利用編碼步驟289
14.4.8創建特征291
14.4.9分析解析例程292
14.4.10針對多個元素294
14.5了解攻擊者的意圖295
14.6小結296
14.7實驗296

第5篇 逆向工程
第15章 對抗反匯編300
15.1何謂對抗反匯編技術300
15.2挫敗反匯編算法301
15.2.1線性反匯編302
15.2.2面向代碼流的反匯編303
15.3對抗反匯編技術306
15.3.1相同目標的跳轉指令306
15.3.2固定條件的跳轉指令307
15.3.3無效的反匯編指令308
15.3.4用IDAPro對指令進行NOP替換311
15.4混淆控制流圖312
15.4.1函數指針問題312
15.4.2在IDAPro中添加代碼的交叉引用313
15.4.3濫用返回指針313
15.4.4濫用結構化異常處理315
15.5挫敗棧幀分析317
15.6小結320
15.7實驗320
第16章 反調試技術322
16.1探測Windows調試器322
16.1.1使用WindowsAPI322
16.1.2手動檢測數據結構324
16.1.3系統痕跡檢測326
16.2識別調試器的行為327
16.2.1INT掃描327
16.2.2執行代碼校驗和檢查328
16.2.3時鍾檢測328
16.3干擾調試器的功能330
16.3.1使用TLS回調330
16.3.2使用異常332
16.3.3插入中斷333
16.4調試器漏洞334
16.4.1PE頭漏洞334
16.4.2OutputDebugString漏洞336
16.5小結336
16.6實驗336
第17章 反虛擬機技術338
17.1VMware痕跡338
17.1.1繞過VMware痕跡的探測340
17.1.2探測內存痕跡342
17.2查找漏洞指令342
17.2.1使用RedPill反虛擬機技術343
17.2.2使用NoPill技術344
17.2.3查詢I/O通信端口344
17.2.4使用str指令345
17.2.5反虛擬機的x86指令346
17.2.6在IDAPro中高亮顯示反虛擬機代碼347
17.2.7使用ScoopyNG347
17.3調整設置348
17.4虛擬機逃逸349
17.5小結349
17.6實驗349
第18章 加殼與脫殼352
18.1剖析加殼352
18.1.1脫殼存根353
18.1.2加載可執行文件353
18.1.3解析導入函數表353
18.1.4尾部跳轉354
18.1.5圖示脫殼過程354
18.2識別加殼程序355
18.2.1加殼程序的標識355
18.2.2熵計算356
18.3脫殼選項356
18.4自動脫殼356
18.5手動脫殼357
18.5.1使用導入重構器重構導入表358
18.5.2查找OEP359
18.5.3手動修復導入表363
18.6常見殼的技巧與竅門364
18.6.1UPX364
18.6.2PECompact365
18.6.3ASPack365
18.6.4Petite365
18.6.5WinUpack366
18.6.6Themida367
18.7不完全脫殼情況下的分析368
18.8加殼DLL368
18.9小結369
18.10實驗369

第6篇 高級專題
第19章 shellcode分析372
19.1加載shellcode進行分析372
19.2位置無關代碼373
19.3識別執行位置373
19.3.1使用call/pop指令374
19.3.2使用fnstenv指令376
19.4手動符號解析377
19.4.1在內存中找到kernel32.dll378
19.4.2解析PE文件導出數據380
19.4.3使用散列過的導出符號名382
19.5一個完整的HelloWorld例子383
19.6shellcode編碼385
19.7空指令雪橇387
19.8找到shellcode387
19.9小結388
19.10實驗389
第20章 C++代碼分析391
20.1面向對象的編程語言391
20.1.1this指針392
20.1.2重載與修飾394
20.1.3繼承(Inheritance)和函數重寫(Overriding)395
20.2虛函數和非虛函數396
20.2.1虛函數表的使用398
20.2.2識別虛函數表399
20.3創建和銷毀對象400
20.4小結401
20.5實驗401
第21章 64位惡意代碼403
21.1為什麼需要64位惡意代碼403
21.2x64架構上的差別404
21.2.1x64調用約定和棧使用上的差別406
21.2.264位異常處理408
21.3在Windows64位上的Windows32位408
21.4惡意代碼功能上的64位提示409
21.5小結410
21.6實驗410

附錄A 常見Windows函數列表412
附錄B 流行的惡意代碼分析工具列表424
附錄C 實驗作業參考解答435
附錄D 致青春,基礎軟件開發的中國故事691
附錄E Syser操作入門695
 

電話鈴聲急促響起,網絡管理員告訴你說公司網站被黑了,網站上的客戶敏感信息被盜了。於是你立馬開始調查分析,首先檢查了日志記錄,來確定事件涉及的主機。你用殺毒軟件對這些主機進行了掃描,檢查是否感染了惡意代碼。你的運氣還算不錯,殺毒軟件檢測到一個木馬程序,名為TROJ.snapAK。你刪除這個文件,並清理了現場,同時你還部署了一個入侵檢測系統,來確認沒有其他主機被感染。最后你修補了一個你認為是被攻擊者利用來入侵主機的安全漏洞,來確保這種攻擊事件不會再次發生。
 

詳細資料

  • ISBN:9787121224683
  • 規格:704頁 / 普通級 / 1-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折