恶意软件分析诀窍与工具箱——对抗“流氓”软件的技术与利器
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
?
基本信息
作者: (美)Michael Hale Ligh??? Steven Adair??? Blake Hartstein??? Matthew Richard??
譯者: 胡喬林 鐘讀航
叢書名: 安全技術(shù)經(jīng)典譯叢
出版社:清華大學(xué)出版社
ISBN:9787302274407
上架時間:2012-2-8
出版日期:2012 年1月
開本:16開
頁碼:584
版次:1-1
樣章試讀:http://product.china-pub.com/59230
內(nèi)容簡介:
???????針對多種常見威脅的強大而循序漸進的解決方案
我們將《惡意軟件分析訣竅與工具箱——對抗“流氓”軟件的技術(shù)與利器》稱為工具箱,是因為每個訣竅都給出了解決某個特定問題或研究某個給定威脅的原理和詳細的步驟。在配書光盤中提供了補充資源,您可以找到相關(guān)的支持文件和原始程序。您將學(xué)習如何使用這些工具分析惡意軟件,有些工具是作者自己開發(fā)的,另外數(shù)百個工具則是可以公開下載的。如果您的工作涉及緊急事件響應(yīng)、計算機取證、系統(tǒng)安全或者反病毒研究,那么本書將會為您提供極大的幫助。
●學(xué)習如何在不暴露身份的前提下進行在線調(diào)查
●使用蜜罐收集由僵尸和蠕蟲分布的惡意軟件
●分析javascript、pdf文件以及office文檔中的可疑內(nèi)容
●使用虛擬或基礎(chǔ)硬件建立一個低預(yù)算的惡意軟件實驗室
●通用編碼和加密算法的逆向工程
●建立惡意軟件分析的高級內(nèi)存取證平臺
●研究主流的威脅,如zeus、silent banker、coreflood、conficker、virut、clampi、bankpatch、blackenergy等
作者簡介
?????? Michael Hale Ligh是Verisign iDefense公司的惡意代碼分析專家,專門從事開發(fā)各種用于檢測、解密以及調(diào)查惡意軟件的工具。在過去數(shù)年里,他在里約熱內(nèi)盧、上海、吉隆坡、倫敦、華盛頓特區(qū)和紐約等地講授惡意軟件分析課程,已經(jīng)培訓(xùn)了數(shù)百名學(xué)生。在進入Verisign iDefense公司之前,Michael在全國最大的醫(yī)療保健服務(wù)提供商之一中擔任漏洞研究員,并提供黑客倫理服務(wù)。正是由于擔任過該職務(wù),他對逆向工程以及操作系統(tǒng)內(nèi)部的背景有著深刻理解。
?
目錄
《惡意軟件分析訣竅與工具箱——對抗“流氓”軟件的技術(shù)與利器》第1章 行為隱匿 1
1.1 洋蔥路由器(tor) 1
1.2 使用tor研究惡意軟件 4
1.3 tor缺陷 7
1.3.1 速度 7
1.3.2 不可信賴的tor操作員 7
1.3.3 tor阻止列表 8
1.4 代理服務(wù)器和協(xié)議 8
1.4.1 超文本傳輸協(xié)議(http) 8
1.4.2 socks4 9
1.4.3 socks5 9
1.5 基于web的匿名代理 14
1.6 保持匿名的替代方法 15
1.6.1 蜂窩internet連接 15
1.6.2 虛擬專用網(wǎng) 16
1.7 唯一且匿名 18
第2章 蜜罐 19
2.1 nepenthes蜜罐 20
2.1.1 利用nepenthes收集惡意軟件樣本 20
.2.1.2 使用irc日志進行實時攻擊監(jiān)視 23
2.1.3 使用基于python的 http接收nepenthes提交的文件 25
2.2 使用dionaea蜜罐 27
2.2.1 使用dionaea收集惡意軟件樣本 27
2.2.2 使用基于python的http接收dionaea提交的文件 30
2.2.3 實時事件通告以及使用xmpp共享二進制文件 31
2.2.4 分析重放dionea記錄的攻擊 32
2.2.5 使用p0f工具被動識別遠程主機操作系統(tǒng) 33
2.2.6 使用sqlite 和gnuplot繪制dionaea記錄的攻擊模式圖 35
第3章 惡意軟件分類 39
3.1 使用clamav分類 39
3.1.1 檢查現(xiàn)有clamav特征碼 40
3.1.2 創(chuàng)建自定義clamav特征碼數(shù)據(jù)庫 42
3.2 使用yara分類 46
3.2.1 將clamav特征碼轉(zhuǎn)換到y(tǒng)ara格式特征碼 46
3.2.2 使用yara和peid識別加殼文件 47
3.2.3 使用yara檢測惡意軟件的能力 49
3.3 工具集成 53
3.3.1 使用python識別文件類型及哈希算法 54
3.3.2 編寫python多殺毒掃描軟件 56
3.3.3 python中檢測惡意pe文件 60
3.3.4 使用ssdeep查找相似惡意軟件 64
3.3.5 使用ssdeep檢測自修改代碼 66
3.3.6 使用ida和bindiff檢測自修改代碼 68
第4章 沙箱和多殺毒掃描軟件 73
4.1 公用殺毒掃描軟件 73
4.1.1 使用virus total掃描文件 74
4.1.2 使用jotti掃描文件 76
4.1.3 使用novirusthanks掃描文件 77
4.1.4 啟用數(shù)據(jù)庫的python多殺毒上傳程序 78
4.2 多殺毒掃描軟件的比較 82
4.3 公用沙箱分析 82
4.3.1 使用threatexpert分析惡意軟件 82
4.3.2 使用cwsandbox分析惡意軟件 84
4.3.3 使用anubis分析惡意軟件 85
4.3.4 編寫joebox autoit腳本 86
4.3.5 使用joebox應(yīng)對路徑依賴型惡意軟件 88
4.3.6 使用joebox應(yīng)對進程依賴型動態(tài)鏈接庫 89
4.3.7 使用joebox設(shè)置主動型http代理 91
4.3.8 使用沙箱結(jié)果掃描項目 92
第5章 域名與ip地址 99
5.1 研究可疑域名 99
5.1.1 利用whois研究域 100
5.1.2 解析dns主機名 104
5.2 研究ip地址 107
5.3 使用被動dns和其他工具進行研究 109
5.3.1 使用bfk查詢被動dns 110
5.3.2 使用robtex檢查dns記錄 111
5.3.3 使用domaintools執(zhí)行反向ip搜索 112
5.3.4 使用dig啟動區(qū)域傳送 113
5.3.5 使用dnsmap暴力攻擊子域 114
5.3.6 通過shadowserver將ip地址映射到asn 115
5.3.7 使用rbl檢查ip信譽 117
5.4 fast flux域名 118
5.4.1 使用被動dns和ttl檢測fast flux網(wǎng)絡(luò) 119
5.4.2 跟蹤fast flux域名 121
5.5 ip地址地理映射 123
第6章 文檔、shellcode和url 127
6.1 分析javascript 127
6.1.1 使用spidermonkey分析javascript 127
6.1.2 使用jsunpack自動解碼javascript 130
6.1.3 優(yōu)化jsunpack-n的解碼速度和完整性 133
6.1.4 通過模擬瀏覽器dom元素觸發(fā)漏洞利用 134
6.2 分析pdf文檔 138
6.2.1 使用pdf.py從pdf文件中提取javascript 138
6.2.2 偽造pdf軟件版本觸發(fā)漏洞利用 142
6.2.3 利用didier stevens的pdf工具集 145
6.2.4 確定利用pdf文件中的哪些漏洞 148
6.2.5 使用distorm反匯編shellcode 154
6.2.6 使用iibemu模擬shellcode 159
6.3 分析惡意office文檔 161
6.3.1 使用officemalscanner分析microsoft office文件 161
6.3.2 使用disview和malhost-setup調(diào)試office shellcode 167
6.4 分析網(wǎng)絡(luò)流量 170
6.4.1 使用jsunpack從報文捕獲文件中提取http文件 171
6.4.2 使用jsunpack繪制url關(guān)系圖 173
第7章 惡意軟件實驗室 177
7.1 網(wǎng)絡(luò)互聯(lián) 179
7.1.1 實驗室中tcp/ip路由連接 180
7.1.2 捕獲、分析網(wǎng)絡(luò)流量 182
7.1.3 使用inetsim模擬internet 185
7.1.4 使用burp套件操作http/https 188
7.2 物理目標機 191
7.2.1 使用joe stewart開發(fā)的truman 191
7.2.2 使用deep freeze保護物理系統(tǒng) 192
7.2.3 使用fog克隆和映像磁盤 194
7.2.4 使用mysql數(shù)據(jù)庫自動調(diào)度fog任務(wù) 197
第8章 自動化操作 201
8.1 惡意軟件分析周期 201
8.2 使用python實現(xiàn)自動化操作 203
8.2.1 使用virtualbox執(zhí)行自動化惡意軟件分析 203
8.2.2 分析virtualbox磁盤以及內(nèi)存映像 208
8.2.3 使用vmware執(zhí)行自動化惡意軟件分析 210
8.3 添加分析模塊 213
8.3.1 在python中使用tshark捕獲報文 214
8.3.2 在python中使用inetsim收集網(wǎng)絡(luò)日志 216
8.3.3 使用volatility分析內(nèi)存轉(zhuǎn)儲 217
8.3.4 組合所有的沙箱塊 219
8.4 雜項系統(tǒng) 229
8.4.1 使用zerowine和qemu執(zhí)行自動化分析 229
8.4.2 使用sandboxie和buster執(zhí)行自動化分析 233
第9章 動態(tài)分析 237
9.1 變化檢測 237
9.1.1 使用process monitor記錄api調(diào)用 239
9.1.2 使用regshot進行變化檢測 240
9.1.3 接收文件系統(tǒng)變化通知 242
9.1.4 接收注冊表變化通知 245
9.1.5 句柄表的差異比較 246
9.1.6 使用handlediff研究代碼注入 250
9.1.7 觀察bankpatch.c禁用windows文件保護的活動 252
9.2 api監(jiān)視/鉤子 253
9.2.1 使用microsoft detours構(gòu)建api監(jiān)視器 254
9.2.2 使用api監(jiān)視器追蹤子進程 260
9.2.3 捕獲進程、線程和映像加載事件 263
9.3 數(shù)據(jù)保護 267
9.3.1 阻止進程終止 268
9.3.2 阻止惡意軟件刪除文件 270
9.3.3 阻止加載驅(qū)動程序 272
9.3.4 使用數(shù)據(jù)保護模塊 273
9.3.5 使用reactos創(chuàng)建定制命令shell 276
第10章 惡意軟件取證 283
10.1 the sleuth kit(tsk) 283
10.1.1 使用tsk發(fā)現(xiàn)備用數(shù)據(jù)流 283
10.1.2 使用tsk檢測隱藏文件和目錄 286
10.1.3 使用microsoft脫機api查找隱藏注冊表數(shù)據(jù) 293
10.2 取證/事件響應(yīng)混合 298
10.2.1 繞開poison ivy鎖定的文件 298
10.2.2 繞開conficker文件系統(tǒng)的acl限制 302
10.2.3 使用gmer掃描rootkit 306
10.2.4 通過檢查ie的dom檢測html注入 309
10.3 注冊表分析 318
10.3.1 使用regripper插件對注冊表取證 319
10.3.2 檢測惡意安裝的pki證書 325
10.3.3 檢查泄露數(shù)據(jù)到注冊表的惡意軟件 328
第11章 調(diào)試惡意軟件 335
11.1 使用調(diào)試器 335
11.1.1 打開和附加到進程 336
11.1.2 為shellcode分析配置jit調(diào)試器 337
11.1.3 熟悉調(diào)試器的圖形用戶界面 339
11.1.4 檢查進程內(nèi)存和資源 344
11.1.5 控制程序執(zhí)行 347
11.1.6 設(shè)置和捕獲斷點 348
11.1.7 使用有條件的日志記錄斷點 351
11.2 immunity debugger的python api接口 352
11.2.1 使用python腳本和pycommand調(diào)試 353
11.2.2 在二進制文件中檢測shellcode 356
11.2.3 調(diào)查silentbanker木馬的api鉤子 360
11.3 winappdbg python調(diào)試器 363
11.3.1 使用winappdbg工具操作進程內(nèi)存 364
11.3.2 使用winappdbg工具設(shè)計一個python api監(jiān)視器 366
第12章 反混淆 373
12.1 解碼常見算法 373
12.1.1 python中的逆向xor算法 373
12.1.2 使用yaratize檢測xor編碼的數(shù)據(jù) 378
12.1.3 使用特殊字母解碼base64 379
12.2 解密 382
12.2.1 從捕獲的數(shù)據(jù)包中隔離加密數(shù)據(jù) 382
12.2.2 使用snd反向工具、findcrypt和kanal搜索加密機制 384
12.2.3 使用zynamics bindiff移植open ssl的符號 386
12.2.4 在python中使用pycrypto解密數(shù)據(jù) 387
12.3 惡意軟件脫殼 389
12.3.1 查找加殼惡意軟件的oep 390
12.3.2 使用lordpe轉(zhuǎn)儲進程內(nèi)存 392
12.3.3 使用imprec重建導(dǎo)入表 394
12.4 與脫殼有關(guān)的資源 400
12.5 調(diào)試器腳本 401
12.5.1 破解域名生成算法 402
12.5.2 使用x86emu和python解碼字符串 406
第13章 處理dll 411
13.1 枚舉dll的導(dǎo)出函數(shù) 411
13.1.1 cff explorer 412
13.1.2 pefile 412
13.1.3 ida pro 413
13.1.4 常見和不常見的導(dǎo)出名 414
13.2 使用rundll32.exe執(zhí)行dll 415
13.3 繞過宿主進程的限制 416
13.4 使用rundll32ex遠程調(diào)用dll導(dǎo)出函數(shù) 418
13.4.1 創(chuàng)建新工具的原因 418
13.4.2 使用rundll32ex 420
13.5 使用loaddll.exe調(diào)試dll 421
13.5.1 將dll加載到調(diào)試器中 421
13.5.2 找到dll的入口點 422
13.6 捕獲dll入口點處的斷點 422
13.7 執(zhí)行作為windows服務(wù)的dll 423
13.7.1 服務(wù)dll的入口點 424
13.7.2 服務(wù)初始化 424
13.7.3 安裝服務(wù)dll 425
13.7.4 傳遞參數(shù)給服務(wù) 425
13.8 將dll轉(zhuǎn)換成獨立的可執(zhí)行文件 428
第14章 內(nèi)核調(diào)試 431
14.1 遠程內(nèi)核調(diào)試 431
14.2 本地內(nèi)核調(diào)試 431
14.3 軟件需求 432
14.3.1 使用livekd進行本地調(diào)試 432
14.3.2 啟用內(nèi)核調(diào)試啟動開關(guān) 433
14.3.3 調(diào)試vmware工作站客戶機(在windows系統(tǒng)中) 436
14.3.4 調(diào)試parallels客戶機(在mac os x上) 438
14.3.5 windbg命令和控制簡介 439
14.3.6 探索進程和進程上下文 445
14.3.7 探索內(nèi)核內(nèi)存 451
14.3.8 在驅(qū)動程序加載時捕捉斷點 456
14.3.9 脫殼驅(qū)動程序 463
14.3.10 轉(zhuǎn)儲和重建驅(qū)動程序 469
14.3.11 使用windbg腳本檢測rootkit 474
14.3.12 使用ida pro進行內(nèi)核調(diào)試 479
第15章 使用volatility進行內(nèi)存取證 483
15.1 內(nèi)存獲取 483
15.1.1 使用moonsols windows內(nèi)存工具箱轉(zhuǎn)儲內(nèi)存 483
15.1.2 使用f-response獲取遠程、只讀內(nèi)存 486
15.1.3 訪問虛擬機的內(nèi)存文件 487
15.2 準備安裝volatility 488
15.2.1 volatility概覽 488
15.2.2 在內(nèi)存轉(zhuǎn)儲中研究進程 491
15.2.3 使用psscan檢測dkom攻擊 496
15.2.4 研究csrss.exe的備用進程列表 499
15.2.5 識別進程上下文的技巧 501
第16章 內(nèi)存取證:代碼注入與提取 507
16.1 深入研究dll 507
16.1.1 搜尋已加載的可疑dll 508
16.1.2 使用ldr_modules檢測未鏈接的dll 510
16.2 代碼注入和vad 514
16.2.1 研究vad 514
16.2.2 轉(zhuǎn)換頁面保護 517
16.2.3 在進程內(nèi)存中搜索證據(jù) 520
16.2.4 使用malfind和yara識別注入代碼 522
16.3 重建二進制文件 527
16.3.1 從內(nèi)存中重建可執(zhí)行文件的映像 529
16.3.2 使用impscan掃描導(dǎo)入函數(shù) 530
16.3.3 轉(zhuǎn)儲可疑的內(nèi)核模塊 533
第17章 內(nèi)存取證:rootkit 537
17.1 檢測iat鉤子 537
17.2 檢測eat鉤子 539
17.3 檢測內(nèi)聯(lián)api鉤子 540
17.4 檢測idt鉤子 543
17.5 檢測驅(qū)動程序的irp鉤子 544
17.6 檢測ssdt鉤子 547
17.6.1 ssdt的角色 548
17.6.2 鉤子和鉤子檢測 548
17.7 使用ssdt_ex自動研究 551
17.8 根據(jù)附加的內(nèi)核線程搜索rootkit 552
17.8.1 使用線程在內(nèi)核中隱藏 553
17.8.2 在內(nèi)存轉(zhuǎn)儲中檢測分離線程 554
17.9 識別系統(tǒng)范圍的通知例程 555
17.9.1 找出檢查的位置 555
17.9.2 使用notifyroutines插件 556
17.10 使用svscan定位惡意的服務(wù)進程 557
17.10.1 惡意軟件如何濫用服務(wù) 558
17.10.2 scm的服務(wù)記錄結(jié)構(gòu) 558
17.10.3 枚舉進程內(nèi)存中的服務(wù) 560
17.10.4 blazgel木馬的例子 560
17.10.5 使用volatility的svcscan插件 561
17.11 使用mutantscan掃描互斥體對象 564
第18章 內(nèi)存取證:網(wǎng)絡(luò)和注冊表 567
18.1 探索套接字和連接對象 567
18.1.1 套接字和連接證據(jù) 567
18.1.2 套接字和連接對象 569
18.2 分析zeus留下的網(wǎng)絡(luò)證據(jù) 570
18.3 檢測企圖隱藏tcp/ip的活動 572
18.3.1 掃描套接字和連接對象 572
18.3.2 其他項目 574
18.4 檢測原始套接字和混雜模式的網(wǎng)絡(luò)接口 574
18.4.1 混雜模式的套接字 574
18.4.2 檢測混雜模式 575
18.5 注冊表分析 575
18.5.1 使用內(nèi)存注冊表工具分析注冊表證據(jù) 576
18.5.2 通過最后寫入時間戳排序注冊表項 580
18.5.3 使用volatility和reg-ripper 582 ? 前言 《惡意軟件分析訣竅與工具箱——對抗“流氓”軟件的技術(shù)與利器》一書提供了大量的解決方案和教程,能夠提高個人分析惡意軟件的技能和水平,或者避免受到惡意軟件的攻擊。不管您是進行取證調(diào)查、事件響應(yīng),還是出于個人興趣對惡意軟件進行逆向工程,本書都能夠教會您許多達到目的的方法。本書在材料的選取上有幾個重要的目標。第一個目標是希望能夠?qū)⑽覀兌嗄陙硖幚韾阂獯a的經(jīng)驗以一種比較好的方式傳授給非技術(shù)讀者,同時又不能太簡單,使技術(shù)讀者也能從中受益。也就是說,惡意軟件分析人員需要結(jié)合使用多種技能。我們希望讀者至少應(yīng)當熟悉下面一些知識:
● 網(wǎng)絡(luò)和TCP/IP
● 操作系統(tǒng)內(nèi)部原理(Windows和Unix)
● 計算機安全
● 取證和事件響應(yīng)
● 程序設(shè)計語言(C、C++、Python和Perl)
● 逆向工程
● 漏洞利用研究
● 惡意軟件基礎(chǔ)
第二個目標是闡述各種工具的工作原理,而不僅僅是講述如何使用工具。如果能夠理解單擊某個按鈕(或者輸入某個命令)后所發(fā)生的事情,而不是只知道單擊哪個按鈕,就能夠更好地根據(jù)工具的輸出結(jié)果進行分析,而不僅僅是收集輸出結(jié)果。我們知道并不是每個人都愿意編寫程序,因此在配書光盤中提供了50多個工具供讀者使用,并且在整個正文中討論了100多個其他的工具。我們盡量避免提供隨處都可以找到的工具的鏈接。本書中討論的工具都是我們所熟悉的,并且盡可能是免費的工具。
最后,本書并不是研究惡意軟件樣本或進行取證調(diào)查時所執(zhí)行操作的完整指南。我們盡量包括了最常見問題的解決方案,但又是在其他書籍和網(wǎng)站上很少見到的知識。盡管惡意軟件可能會運行在多種平臺(如Windows、Linux、Mac OSX、移動設(shè)備和硬件/固件組件)上,但是本書主要關(guān)注分析Windows平臺上的惡意軟件。
0.1 本書讀者對象
如果您要學(xué)習惡意軟件,就應(yīng)當閱讀本書。我們期望本書的讀者包括取證調(diào)查人員、事件響應(yīng)人員、系統(tǒng)管理員、安全工程師、滲透測試人員、惡意軟件分析師、漏洞利用研究人員和所有對安全感興趣的人。如果您是如下所示的情況之一,您就是我們的目標讀者之一。
● 您是組織內(nèi)事件處理、事件響應(yīng)或取證小組的成員,并且希望學(xué)習一些新的工具和技術(shù)來處理惡意軟件。
● 您是系統(tǒng)、安全或網(wǎng)絡(luò)管理員,并且希望理解如何更加高效地保護最終用戶。
● 您是國家計算機緊急事件響應(yīng)小組(Computer Emergency Response Team,CERT)的成員,并且需要識別和研究惡意軟件的入侵。
● 您在某個反病毒或研究公司工作,并且需要實際分析和報告最新的惡意軟件。
● 您是一名在校學(xué)生,并且希望學(xué)習一些學(xué)校不會教授的新技術(shù)。
● 您在IT領(lǐng)域工作,但是對目前的工作感到厭倦,因此您需要尋找一個新的專業(yè)來補充技術(shù)知識。
. 0.2 本書主要內(nèi)容
本書組織成許多訣竅的集合,每個訣竅解決一個特定的問題,講述一些工具的使用方法,或者討論如何使用有趣的方式檢測和分析惡意軟件。其中有一些訣竅是獨立的,即問題、討論和解決方案都是在同一個訣竅中講述。也有一些訣竅是聯(lián)系在一起,共同描述一個問題的一系列操作步驟,共同解決一個更大的問題。本書涵蓋了很多主題,隨著學(xué)習的深入,所討論的主題也變得越來越復(fù)雜和專業(yè)。如下所示是每一章所討論主題的簡要介紹:
● 第1章 行為隱匿:描述如何在不暴露自身身份的前提下進行在線調(diào)查。當按照本書進行練習或者在將來進行研究時,您可以使用該技術(shù)保持自身的安全。
● 第2章 蜜罐:描述如何使用蜜罐來收集采用蠕蟲和病毒形式發(fā)布的惡意軟件。使用這些技術(shù),您可以收集到最新的惡意軟件族的變種、實時與其他研究人員共享、分析攻擊模式或者生成工作流自動分析樣本。
● 第3章 惡意軟件分類:說明如何識別、區(qū)分和組織惡意軟件。您將學(xué)習如何使用定制的反病毒特征碼檢測惡意文件、確定樣本之間的關(guān)系以及準確地找出攻擊者可能在新變種中引入的新功能。
● 第4章 沙箱和多病毒掃描軟件:描述如何使用在線病毒掃描軟件和公共沙箱。您將學(xué)習如何使用腳本控制樣本在目標沙箱中的行為、如何使用Python腳本在命令行下提交樣本、如何將結(jié)果存儲到數(shù)據(jù)庫中以及如何根據(jù)沙箱結(jié)果掃描惡意證據(jù)。
● 第5章 域名與IP地址:說明如何識別和關(guān)聯(lián)有關(guān)域名、主機名和IP地址的信息。您將學(xué)習如何跟蹤fast flux域、確定域名的擁有者、定位攻擊者擁有的其他系統(tǒng),以及根據(jù)IP地址的地理位置信息創(chuàng)建靜態(tài)或交互地圖。
● 第6章 文檔、shellcode和URL:在該章中,您會學(xué)習如何分析JavaScript、PDF、
● Office 文檔以及惡意活動捕獲的數(shù)據(jù)包。我們討論了如何在調(diào)試器或模擬環(huán)境下提取shellcode并進行分析。
● 第7章 惡意軟件實驗室:說明了如何建立一個安全、可擴展和不太昂貴的實驗室,在其中執(zhí)行和監(jiān)視惡意代碼。我們分別討論了涉及虛擬機或物理機的解決方案,并且使用真實或模擬的Internet。
● 第8章 自動化操作:描述如何在VMware或VirtualBox虛擬機中自動執(zhí)行惡意軟件。該章講述了幾個Python腳本,用于創(chuàng)建關(guān)于惡意軟件行為的報告,包括網(wǎng)絡(luò)流量日志和在物理內(nèi)存中留下的證據(jù)。
● 第9章 動態(tài)分析:理解惡意軟件行為最好的一種方式是執(zhí)行并觀察它的行為。該章將講述如何構(gòu)建自己的API監(jiān)視器、如何防止某些證據(jù)被破壞、如何在不使用鉤子的情況下實時記錄文件系統(tǒng)和注冊表活動、如何比較進程句柄表的變化,以及如何記錄攻擊者通過后門發(fā)送的命令。
● 第10章 惡意軟件取證:關(guān)注使用取證工具檢測rootkit和竊密惡意軟件的各種方法。該章講述了如何掃描文件系統(tǒng)和注冊表搜索隱藏數(shù)據(jù)、如何繞過鎖定文件限制并刪除頑固的惡意軟件、如何檢測HTML注入以及如何研究新形式的注冊表閑置空間。
● 第11章 調(diào)試惡意軟件:講述如何使用調(diào)試器分析、控制和操作惡意軟件樣本的行為。您將學(xué)習如何用Python控制調(diào)試會話,以及如何創(chuàng)建調(diào)試器插件來監(jiān)視API調(diào)用、輸出HTML形式的行為報告以及自動突出顯示可疑活動。
● 第12章 反混淆:描述如何解碼、解密和脫殼攻擊者試圖掩蓋自己活動的數(shù)據(jù)。我們遍歷了一個惡意軟件樣本的逆向工程過程,恢復(fù)出了被竊取的數(shù)據(jù),該惡意軟件加密了其網(wǎng)絡(luò)數(shù)據(jù)。該章還介紹了破解域名生成算法的技術(shù)。
● 第13章 處理DLL:描述如何分析以DLL形式分發(fā)的惡意軟件。您將學(xué)習如何枚舉和檢查DLL的導(dǎo)出函數(shù)、如何按照您的選擇將DLL作為進程運行(并且繞過宿主進程限制)、如何將DLL作為Windows服務(wù)執(zhí)行,以及如何將DLL轉(zhuǎn)變?yōu)閱为毜目蓤?zhí)行文件。
● 第14章 內(nèi)核調(diào)試:有一些惡意軟件只運行在內(nèi)核模式下。該章講述了如何調(diào)試受到惡意軟件感染的虛擬機的內(nèi)核,以便于理解惡意軟件的底層功能。您將學(xué)習如何創(chuàng)建WinDbg腳本、脫殼內(nèi)核驅(qū)動程序以及利用IDA Pro的調(diào)試器插件。
● 第15章 使用Volatility進行內(nèi)存取證:描述了如何從物理機和虛擬機中獲取內(nèi)存樣本、如何安裝Volatility高級內(nèi)存取證平臺和有關(guān)插件,以及如何通過檢測進程上下文的詭計和DKOM攻擊開始分析。
● 第16章 內(nèi)存取證:代碼注入和提取:描述了如何從進程內(nèi)存中檢測和提取隱藏的代碼(解除鏈接的DLL、shellcode等)。您將學(xué)習如何從內(nèi)存樣本中重建二進制文件,包括用戶模式程序和內(nèi)核驅(qū)動程序,以及如何根據(jù)內(nèi)存轉(zhuǎn)儲中的信息重建加殼惡意軟件的輸入地址表(IAT)。
● 第17章 內(nèi)存取證:rootkit:講述了如何檢測各種形式的rootkit活動,包括系統(tǒng)中存在的IAT、EAT、驅(qū)動程序IRP、IDT和SSDT鉤子。您將學(xué)習如何識別在內(nèi)核內(nèi)存中不需要加載驅(qū)動程序進行隱藏的惡意軟件、如何定位系統(tǒng)級的通知例程,以及如何檢測隱藏運行Windows服務(wù)的企圖。
● 第18章 內(nèi)存取證:網(wǎng)絡(luò)和注冊表:講述了如何搜索系統(tǒng)由于惡意軟件樣本的網(wǎng)絡(luò)活動而留下的證據(jù)。您將學(xué)習如何檢測活動連接、偵聽套接字以及使用原始套接字和混雜模式的網(wǎng)卡。該章還講述了如何從內(nèi)存中提取注冊表鍵和值。
0.3 建立環(huán)境
本書所執(zhí)行的絕大多數(shù)的開發(fā)和測試Windows工具的活動都是在32位的Windows XP和Windows 7系統(tǒng)下進行的,使用了Microsoft的Visual Studio和Windows Driver Kit。如果需要重新編譯本書提供的工具 (如為了修復(fù)某個bug),或者希望在源代碼的基礎(chǔ)上開發(fā)自己的工具,那么可以從這里下載開發(fā)環(huán)境:
● Windows Driver Kit:http://www.microsoft.com/whdc/devtools/WDK/default.mspx。
● Visual Studio C++ Express:http://www.microsoft.com/express/Downloads/#2010-Visual- CPP。
對于Python工具而言,我們都是在Linux(主要是在Ubuntu9.04、9.10或10.04)和Mac OSX 10.4和10.5下開發(fā)和測試的。您會發(fā)現(xiàn)絕大多數(shù)的Python工具都支持在多個平臺下運行。如果需要安裝Python,可以從http://python.org/download/處下載。建議使用Python 2.6或者更高的版本(但是不要使用3.x),因為這樣能夠與本書DVD中的絕大多數(shù)工具更好地兼容。
在整本書中,當討論如何在Linux下安裝工具時,我們都是假設(shè)使用的是Ubuntu系統(tǒng)。只要您理解了Linux系統(tǒng)的工作方式,您就會了解如何從源代碼編譯包、如何解決包的基本依賴問題,這樣在使用其他Linux分發(fā)版本時就不會有任何問題。我們之所以選擇使用Ubuntu,是因為本書中引用的絕大多數(shù)工具(或者工具依賴的庫)要么是可以預(yù)安裝的,可以通過apt-get包管理器獲得,要么是工具的開發(fā)人員指定其工具要運行在Ubuntu系統(tǒng)中。
以下幾種方式可以訪問Ubuntu機器:
● 直接下載Ubuntu:http://www.ubuntu.com/desktop/get-ubuntu/download。
● 下載Lenny Zeltser的REMnux:http://REMnux.org。REMnux是一個預(yù)先配置了各種開源惡意軟件分析工具的Ubuntu系統(tǒng)。REMnux提供兩種形式的下載:VMWare鏡像和ISO映像。
● 下載Rob Lee的SANS SIFT工作站:https://computer-forensicssans.org/community/ siftkit/。SIFT是一個預(yù)配置各種取證工具的Ubuntu系統(tǒng)。SIFT也提供了兩種下載形式:VMWare鏡像和ISO映像。
我們總是試圖提供訣竅中使用工具的URL,然而有幾個工具使用得特別頻繁,同時出現(xiàn)在了5~10個訣竅中。因而沒有在每次使用時都給出其鏈接,下面是在所有章節(jié)中都會經(jīng)常用到的工具的列表:
● Sysinternals Suite:http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx。
● Wireshark:http://www.wireshark.org/。
● IDA Pro and Hex-Rays:http://www.hex-rays.com/idapro/。
● Volatility:http://code.google.com/p/volatility/。
● WinDbg Debugger:http://www.microsoft.com/whdc/devtools/debuggingdefault.mspx。
● YARA:http://code.google.com/p/yara-project/。
● Process Hacker:http://processhacker.sourceforge.net/。
閱讀本書之前,還應(yīng)當注意一些事情。許多工具都需要在管理員特權(quán)下安裝和執(zhí)行。通常情況下,將惡意代碼與管理員特權(quán)混在一起是很糟糕的,因此必須非常小心地加固您的環(huán)境(參見第7章建立虛擬機),您必須還要了解那些禁止收集、分析、共享或報告惡意代碼的法律法規(guī)。因為本書中討論的技術(shù)并不一定在您所居住的國家或城市中是可以合法應(yīng)用的。
致 謝
Michael向現(xiàn)在以及曾經(jīng)的老板們表示感謝,因為他們提供了鼓勵和激發(fā)創(chuàng)意的良好環(huán)境。Michael同時也要感謝他的同事們和工作中共享知識的所有人。尤其感謝AAron Walters和Ryan Smith,他們毫不猶豫地參與了有趣的新技術(shù)研究和討論。特別感謝從繁忙的工作中抽出時間審閱本書的朋友們:Lenny Zeltser、Tyler Hudak和 Ryan Olson。
Steven向那些在幕后花費了無數(shù)個小時調(diào)查惡意軟件以及與網(wǎng)絡(luò)犯罪作斗爭的人們致以感謝!同時對Shadowserver Foundation的同事們的辛勤工作以及促使Internet變得更加安全的無私奉獻的精神表示感謝!
我們還要感謝以下人員:
● Wiley出版社的Maureen Spears和Carol A. Long,他們幫助完成了我們的第一本書。
● Ilfak Guilfanov(以及Hex-Rays小組)與Halvar Flake(以及Zynamics小組),允許我們使用一些他們的靈巧的工具。
● 所有本書參考過的工具的開發(fā)人員,特別是Frank Boldewin、Mario Vilas、Harlan Carvey以及Jesse Kornblum在其專業(yè)知識領(lǐng)域上幫助審閱了本書的一些訣竅。
● 其他書籍、博客的作者,以及有助于收集社區(qū)討論知識的網(wǎng)站。
——Michael、Steven、Blake和 Matthew
《惡意軟件分析訣竅與工具箱——對抗“流氓”軟件的技術(shù)與利器》一書提供了大量的解決方案和教程,能夠提高個人分析惡意軟件的技能和水平,或者避免受到惡意軟件的攻擊。不管您是進行取證調(diào)查、事件響應(yīng),還是出于個人興趣對惡意軟件進行逆向工程,本書都能夠教會您許多達到目的的方法。本書在材料的選取上有幾個重要的目標。第一個目標是希望能夠?qū)⑽覀兌嗄陙硖幚韾阂獯a的經(jīng)驗以一種比較好的方式傳授給非技術(shù)讀者,同時又不能太簡單,使技術(shù)讀者也能從中受益。也就是說,惡意軟件分析人員需要結(jié)合使用多種技能。我們希望讀者至少應(yīng)當熟悉下面一些知識:
● 網(wǎng)絡(luò)和TCP/IP
● 操作系統(tǒng)內(nèi)部原理(Windows和Unix)
● 計算機安全
● 取證和事件響應(yīng)
● 程序設(shè)計語言(C、C++、Python和Perl)
● 逆向工程
● 漏洞利用研究
● 惡意軟件基礎(chǔ)
第二個目標是闡述各種工具的工作原理,而不僅僅是講述如何使用工具。如果能夠理解單擊某個按鈕(或者輸入某個命令)后所發(fā)生的事情,而不是只知道單擊哪個按鈕,就能夠更好地根據(jù)工具的輸出結(jié)果進行分析,而不僅僅是收集輸出結(jié)果。我們知道并不是每個人都愿意編寫程序,因此在配書光盤中提供了50多個工具供讀者使用,并且在整個正文中討論了100多個其他的工具。我們盡量避免提供隨處都可以找到的工具的鏈接。本書中討論的工具都是我們所熟悉的,并且盡可能是免費的工具。
最后,本書并不是研究惡意軟件樣本或進行取證調(diào)查時所執(zhí)行操作的完整指南。我們盡量包括了最常見問題的解決方案,但又是在其他書籍和網(wǎng)站上很少見到的知識。盡管惡意軟件可能會運行在多種平臺(如Windows、Linux、Mac OSX、移動設(shè)備和硬件/固件組件)上,但是本書主要關(guān)注分析Windows平臺上的惡意軟件。
0.1 本書讀者對象
如果您要學(xué)習惡意軟件,就應(yīng)當閱讀本書。我們期望本書的讀者包括取證調(diào)查人員、事件響應(yīng)人員、系統(tǒng)管理員、安全工程師、滲透測試人員、惡意軟件分析師、漏洞利用研究人員和所有對安全感興趣的人。如果您是如下所示的情況之一,您就是我們的目標讀者之一。
● 您是組織內(nèi)事件處理、事件響應(yīng)或取證小組的成員,并且希望學(xué)習一些新的工具和技術(shù)來處理惡意軟件。
● 您是系統(tǒng)、安全或網(wǎng)絡(luò)管理員,并且希望理解如何更加高效地保護最終用戶。
● 您是國家計算機緊急事件響應(yīng)小組(Computer Emergency Response Team,CERT)的成員,并且需要識別和研究惡意軟件的入侵。
● 您在某個反病毒或研究公司工作,并且需要實際分析和報告最新的惡意軟件。
● 您是一名在校學(xué)生,并且希望學(xué)習一些學(xué)校不會教授的新技術(shù)。
● 您在IT領(lǐng)域工作,但是對目前的工作感到厭倦,因此您需要尋找一個新的專業(yè)來補充技術(shù)知識。
. 0.2 本書主要內(nèi)容
本書組織成許多訣竅的集合,每個訣竅解決一個特定的問題,講述一些工具的使用方法,或者討論如何使用有趣的方式檢測和分析惡意軟件。其中有一些訣竅是獨立的,即問題、討論和解決方案都是在同一個訣竅中講述。也有一些訣竅是聯(lián)系在一起,共同描述一個問題的一系列操作步驟,共同解決一個更大的問題。本書涵蓋了很多主題,隨著學(xué)習的深入,所討論的主題也變得越來越復(fù)雜和專業(yè)。如下所示是每一章所討論主題的簡要介紹:
● 第1章 行為隱匿:描述如何在不暴露自身身份的前提下進行在線調(diào)查。當按照本書進行練習或者在將來進行研究時,您可以使用該技術(shù)保持自身的安全。
● 第2章 蜜罐:描述如何使用蜜罐來收集采用蠕蟲和病毒形式發(fā)布的惡意軟件。使用這些技術(shù),您可以收集到最新的惡意軟件族的變種、實時與其他研究人員共享、分析攻擊模式或者生成工作流自動分析樣本。
● 第3章 惡意軟件分類:說明如何識別、區(qū)分和組織惡意軟件。您將學(xué)習如何使用定制的反病毒特征碼檢測惡意文件、確定樣本之間的關(guān)系以及準確地找出攻擊者可能在新變種中引入的新功能。
● 第4章 沙箱和多病毒掃描軟件:描述如何使用在線病毒掃描軟件和公共沙箱。您將學(xué)習如何使用腳本控制樣本在目標沙箱中的行為、如何使用Python腳本在命令行下提交樣本、如何將結(jié)果存儲到數(shù)據(jù)庫中以及如何根據(jù)沙箱結(jié)果掃描惡意證據(jù)。
● 第5章 域名與IP地址:說明如何識別和關(guān)聯(lián)有關(guān)域名、主機名和IP地址的信息。您將學(xué)習如何跟蹤fast flux域、確定域名的擁有者、定位攻擊者擁有的其他系統(tǒng),以及根據(jù)IP地址的地理位置信息創(chuàng)建靜態(tài)或交互地圖。
● 第6章 文檔、shellcode和URL:在該章中,您會學(xué)習如何分析JavaScript、PDF、
● Office 文檔以及惡意活動捕獲的數(shù)據(jù)包。我們討論了如何在調(diào)試器或模擬環(huán)境下提取shellcode并進行分析。
● 第7章 惡意軟件實驗室:說明了如何建立一個安全、可擴展和不太昂貴的實驗室,在其中執(zhí)行和監(jiān)視惡意代碼。我們分別討論了涉及虛擬機或物理機的解決方案,并且使用真實或模擬的Internet。
● 第8章 自動化操作:描述如何在VMware或VirtualBox虛擬機中自動執(zhí)行惡意軟件。該章講述了幾個Python腳本,用于創(chuàng)建關(guān)于惡意軟件行為的報告,包括網(wǎng)絡(luò)流量日志和在物理內(nèi)存中留下的證據(jù)。
● 第9章 動態(tài)分析:理解惡意軟件行為最好的一種方式是執(zhí)行并觀察它的行為。該章將講述如何構(gòu)建自己的API監(jiān)視器、如何防止某些證據(jù)被破壞、如何在不使用鉤子的情況下實時記錄文件系統(tǒng)和注冊表活動、如何比較進程句柄表的變化,以及如何記錄攻擊者通過后門發(fā)送的命令。
● 第10章 惡意軟件取證:關(guān)注使用取證工具檢測rootkit和竊密惡意軟件的各種方法。該章講述了如何掃描文件系統(tǒng)和注冊表搜索隱藏數(shù)據(jù)、如何繞過鎖定文件限制并刪除頑固的惡意軟件、如何檢測HTML注入以及如何研究新形式的注冊表閑置空間。
● 第11章 調(diào)試惡意軟件:講述如何使用調(diào)試器分析、控制和操作惡意軟件樣本的行為。您將學(xué)習如何用Python控制調(diào)試會話,以及如何創(chuàng)建調(diào)試器插件來監(jiān)視API調(diào)用、輸出HTML形式的行為報告以及自動突出顯示可疑活動。
● 第12章 反混淆:描述如何解碼、解密和脫殼攻擊者試圖掩蓋自己活動的數(shù)據(jù)。我們遍歷了一個惡意軟件樣本的逆向工程過程,恢復(fù)出了被竊取的數(shù)據(jù),該惡意軟件加密了其網(wǎng)絡(luò)數(shù)據(jù)。該章還介紹了破解域名生成算法的技術(shù)。
● 第13章 處理DLL:描述如何分析以DLL形式分發(fā)的惡意軟件。您將學(xué)習如何枚舉和檢查DLL的導(dǎo)出函數(shù)、如何按照您的選擇將DLL作為進程運行(并且繞過宿主進程限制)、如何將DLL作為Windows服務(wù)執(zhí)行,以及如何將DLL轉(zhuǎn)變?yōu)閱为毜目蓤?zhí)行文件。
● 第14章 內(nèi)核調(diào)試:有一些惡意軟件只運行在內(nèi)核模式下。該章講述了如何調(diào)試受到惡意軟件感染的虛擬機的內(nèi)核,以便于理解惡意軟件的底層功能。您將學(xué)習如何創(chuàng)建WinDbg腳本、脫殼內(nèi)核驅(qū)動程序以及利用IDA Pro的調(diào)試器插件。
● 第15章 使用Volatility進行內(nèi)存取證:描述了如何從物理機和虛擬機中獲取內(nèi)存樣本、如何安裝Volatility高級內(nèi)存取證平臺和有關(guān)插件,以及如何通過檢測進程上下文的詭計和DKOM攻擊開始分析。
● 第16章 內(nèi)存取證:代碼注入和提取:描述了如何從進程內(nèi)存中檢測和提取隱藏的代碼(解除鏈接的DLL、shellcode等)。您將學(xué)習如何從內(nèi)存樣本中重建二進制文件,包括用戶模式程序和內(nèi)核驅(qū)動程序,以及如何根據(jù)內(nèi)存轉(zhuǎn)儲中的信息重建加殼惡意軟件的輸入地址表(IAT)。
● 第17章 內(nèi)存取證:rootkit:講述了如何檢測各種形式的rootkit活動,包括系統(tǒng)中存在的IAT、EAT、驅(qū)動程序IRP、IDT和SSDT鉤子。您將學(xué)習如何識別在內(nèi)核內(nèi)存中不需要加載驅(qū)動程序進行隱藏的惡意軟件、如何定位系統(tǒng)級的通知例程,以及如何檢測隱藏運行Windows服務(wù)的企圖。
● 第18章 內(nèi)存取證:網(wǎng)絡(luò)和注冊表:講述了如何搜索系統(tǒng)由于惡意軟件樣本的網(wǎng)絡(luò)活動而留下的證據(jù)。您將學(xué)習如何檢測活動連接、偵聽套接字以及使用原始套接字和混雜模式的網(wǎng)卡。該章還講述了如何從內(nèi)存中提取注冊表鍵和值。
0.3 建立環(huán)境
本書所執(zhí)行的絕大多數(shù)的開發(fā)和測試Windows工具的活動都是在32位的Windows XP和Windows 7系統(tǒng)下進行的,使用了Microsoft的Visual Studio和Windows Driver Kit。如果需要重新編譯本書提供的工具 (如為了修復(fù)某個bug),或者希望在源代碼的基礎(chǔ)上開發(fā)自己的工具,那么可以從這里下載開發(fā)環(huán)境:
● Windows Driver Kit:http://www.microsoft.com/whdc/devtools/WDK/default.mspx。
● Visual Studio C++ Express:http://www.microsoft.com/express/Downloads/#2010-Visual- CPP。
對于Python工具而言,我們都是在Linux(主要是在Ubuntu9.04、9.10或10.04)和Mac OSX 10.4和10.5下開發(fā)和測試的。您會發(fā)現(xiàn)絕大多數(shù)的Python工具都支持在多個平臺下運行。如果需要安裝Python,可以從http://python.org/download/處下載。建議使用Python 2.6或者更高的版本(但是不要使用3.x),因為這樣能夠與本書DVD中的絕大多數(shù)工具更好地兼容。
在整本書中,當討論如何在Linux下安裝工具時,我們都是假設(shè)使用的是Ubuntu系統(tǒng)。只要您理解了Linux系統(tǒng)的工作方式,您就會了解如何從源代碼編譯包、如何解決包的基本依賴問題,這樣在使用其他Linux分發(fā)版本時就不會有任何問題。我們之所以選擇使用Ubuntu,是因為本書中引用的絕大多數(shù)工具(或者工具依賴的庫)要么是可以預(yù)安裝的,可以通過apt-get包管理器獲得,要么是工具的開發(fā)人員指定其工具要運行在Ubuntu系統(tǒng)中。
以下幾種方式可以訪問Ubuntu機器:
● 直接下載Ubuntu:http://www.ubuntu.com/desktop/get-ubuntu/download。
● 下載Lenny Zeltser的REMnux:http://REMnux.org。REMnux是一個預(yù)先配置了各種開源惡意軟件分析工具的Ubuntu系統(tǒng)。REMnux提供兩種形式的下載:VMWare鏡像和ISO映像。
● 下載Rob Lee的SANS SIFT工作站:https://computer-forensicssans.org/community/ siftkit/。SIFT是一個預(yù)配置各種取證工具的Ubuntu系統(tǒng)。SIFT也提供了兩種下載形式:VMWare鏡像和ISO映像。
我們總是試圖提供訣竅中使用工具的URL,然而有幾個工具使用得特別頻繁,同時出現(xiàn)在了5~10個訣竅中。因而沒有在每次使用時都給出其鏈接,下面是在所有章節(jié)中都會經(jīng)常用到的工具的列表:
● Sysinternals Suite:http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx。
● Wireshark:http://www.wireshark.org/。
● IDA Pro and Hex-Rays:http://www.hex-rays.com/idapro/。
● Volatility:http://code.google.com/p/volatility/。
● WinDbg Debugger:http://www.microsoft.com/whdc/devtools/debuggingdefault.mspx。
● YARA:http://code.google.com/p/yara-project/。
● Process Hacker:http://processhacker.sourceforge.net/。
閱讀本書之前,還應(yīng)當注意一些事情。許多工具都需要在管理員特權(quán)下安裝和執(zhí)行。通常情況下,將惡意代碼與管理員特權(quán)混在一起是很糟糕的,因此必須非常小心地加固您的環(huán)境(參見第7章建立虛擬機),您必須還要了解那些禁止收集、分析、共享或報告惡意代碼的法律法規(guī)。因為本書中討論的技術(shù)并不一定在您所居住的國家或城市中是可以合法應(yīng)用的。
致 謝
Michael向現(xiàn)在以及曾經(jīng)的老板們表示感謝,因為他們提供了鼓勵和激發(fā)創(chuàng)意的良好環(huán)境。Michael同時也要感謝他的同事們和工作中共享知識的所有人。尤其感謝AAron Walters和Ryan Smith,他們毫不猶豫地參與了有趣的新技術(shù)研究和討論。特別感謝從繁忙的工作中抽出時間審閱本書的朋友們:Lenny Zeltser、Tyler Hudak和 Ryan Olson。
Steven向那些在幕后花費了無數(shù)個小時調(diào)查惡意軟件以及與網(wǎng)絡(luò)犯罪作斗爭的人們致以感謝!同時對Shadowserver Foundation的同事們的辛勤工作以及促使Internet變得更加安全的無私奉獻的精神表示感謝!
我們還要感謝以下人員:
● Wiley出版社的Maureen Spears和Carol A. Long,他們幫助完成了我們的第一本書。
● Ilfak Guilfanov(以及Hex-Rays小組)與Halvar Flake(以及Zynamics小組),允許我們使用一些他們的靈巧的工具。
● 所有本書參考過的工具的開發(fā)人員,特別是Frank Boldewin、Mario Vilas、Harlan Carvey以及Jesse Kornblum在其專業(yè)知識領(lǐng)域上幫助審閱了本書的一些訣竅。
● 其他書籍、博客的作者,以及有助于收集社區(qū)討論知識的網(wǎng)站。
——Michael、Steven、Blake和 Matthew
?
轉(zhuǎn)載于:https://my.oschina.net/cjkall/blog/195960
總結(jié)
以上是生活随笔為你收集整理的恶意软件分析诀窍与工具箱——对抗“流氓”软件的技术与利器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【总结】教你怎么将centos7打造成桌
- 下一篇: 软件工程的一些了解