Rootkit和Bootkit:現(xiàn)代惡意軟件逆向分析和下一代威脅
定 價:129 元
叢書名:網(wǎng)絡(luò)空間安全技術(shù)叢書
- 作者:[美]亞歷克斯·馬特羅索夫[美]尤金·羅季奧諾夫[美]謝爾蓋·布拉圖斯
- 出版時間:2022/2/1
- ISBN:9787111699392
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP393.08
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
一本囊括靈活的技巧、操作系統(tǒng)架構(gòu)觀察以及攻擊者和防御者創(chuàng)新所使用的設(shè)計模式的書,基于三位出色安全專家的大量案例研究和專業(yè)研究,主要內(nèi)容包括:Windows如何啟動,在哪里找到漏洞;引導(dǎo)過程安全機(jī)制(如安全引導(dǎo))的詳細(xì)信息,包括虛擬安全模式(VSM)和設(shè)備保護(hù)的概述;如何通過逆向工程和取證技術(shù)分析真正的惡意軟件;如何使用仿真和Bochs和IDA Pro等工具執(zhí)行靜態(tài)和動態(tài)分析;如何更好地了解BIOS和UEFI固件威脅的交付階段,以創(chuàng)建檢測功能;如何使用虛擬化工具,如VMware Workstation;深入分析逆向工程中的Bootkit和Intel Chipsec。
在發(fā)表了一系列關(guān)于Rootkit和Bootkit的文章和博客文章后,我們意識到這個主題并沒有得到應(yīng)有的關(guān)注,因此產(chǎn)生了寫這本書的想法。我們覺得需要有一個宏觀的視角,想要一本能夠涵蓋所有這些內(nèi)容的書—一本集成了高明的技巧、操作系統(tǒng)架構(gòu)視圖,由攻擊者和防御者使用的創(chuàng)新設(shè)計模式的書。我們尋找過這樣的書,但并沒有找到,于是我們就開始自己寫。
這花費了我們四年半的時間,比計劃的時間要長。如果你是搶先版的支持者之一,并且仍在閱讀這本書,我們會非常感激你的持續(xù)關(guān)注!
在此期間,我們觀察到了攻擊和防御的共同演進(jìn)。特別值得注意的是,我們看到了微軟Windows操作系統(tǒng)的防御能力演進(jìn),使得Rootkit和Bootkit設(shè)計的幾個主要分支陷入了死胡同。你可以在本書中找到更多與此相關(guān)的內(nèi)容。
我們還看到了以BIOS和芯片組固件為攻擊目標(biāo)的新型惡意軟件的出現(xiàn),這已經(jīng)超出了當(dāng)前Windows安全防護(hù)軟件的能力范圍。我們將解釋這種共同演進(jìn)是如何發(fā)展起來的,以及我們期望下一步它將把我們帶到哪里。
本書的另一個主題是針對操作系統(tǒng)啟動引導(dǎo)過程的早期階段的逆向工程技術(shù)的開發(fā)。一般來說,在PC啟動引導(dǎo)過程的長鏈條中,一段代碼運行的時間越早,它就越不容易被觀察到。長期以來,這種可觀察性的缺乏一直與安全性在概念上有所混淆。然而,當(dāng)我們深入探究這些突破底層操作系統(tǒng)技術(shù)(如Secure Boot)的Bootkit和BIOS注入威脅的取證方法時,我們發(fā)現(xiàn)在這里通過隱匿實現(xiàn)的安全性并不比計算機(jī)科學(xué)的其他領(lǐng)域更好。短時間后(在互聯(lián)網(wǎng)時間范圍內(nèi)越來越短),相對于防御者而言,通過隱匿實現(xiàn)安全的方法對攻擊者更有利。這一觀點在其他有關(guān)這一主題的書籍中還沒有得到充分的闡述,所以我們試圖填補(bǔ)這一空白。
為什么要讀這本書
我們?yōu)楸姸嘈畔踩芯咳藛T撰寫文章,他們對高級可持續(xù)惡意軟件威脅如何繞過操作系統(tǒng)級別的安全機(jī)制很感興趣。我們主要關(guān)注如何發(fā)現(xiàn)并逆向、有效分析這些高級威脅。書中的每一部分都反映了高級威脅發(fā)展演進(jìn)的不同新階段,包括從它們一開始僅作為概念證明出現(xiàn)的階段,到威脅發(fā)動者展開投遞傳播的階段,后到它們在更隱蔽且有針對性攻擊中被利用的階段。
在寫這本書的時候,我們希望本書不僅僅面向計算機(jī)惡意軟件分析師,而是能使更廣泛的讀者獲益。更進(jìn)一步,我們希望嵌入式系統(tǒng)開發(fā)人員和云安全專家同樣能夠發(fā)現(xiàn)這本書的作用,因為Rootkit及其所注入的威脅對這些生態(tài)系統(tǒng)所產(chǎn)生的影響同樣非常突出。
這本書有什么干貨
在部分中,我們將探索Rootkit,還將介紹Windows內(nèi)核的內(nèi)部機(jī)理—內(nèi)核向來是Rootkit運行的場所。在第二部分中,我們將重點轉(zhuǎn)向操作系統(tǒng)的引導(dǎo)過程和在Windows加強(qiáng)其內(nèi)核模式后開發(fā)的Bootkit。我們將從攻擊者的角度剖析系統(tǒng)引導(dǎo)過程的各個階段,特別關(guān)注新的UEFI固件方案及其漏洞。后,在第三部分中,我們將重點討論針對BIOS和固件的經(jīng)典操作系統(tǒng)Rootkit攻擊和現(xiàn)代Bootkit攻擊的取證工作。
部分 Rootkit
此部分主要介紹全盛時期的經(jīng)典操作系統(tǒng)級Rootkit。這些歷史上的Rootkit案例提供了有價值的視角,讓我們了解攻擊者如何理解操作系統(tǒng)的運行機(jī)制,并找到使用操作系統(tǒng)自身結(jié)構(gòu),可靠地將攻擊負(fù)載注入系統(tǒng)內(nèi)核的方法。
第1章 通過講述當(dāng)時一個有趣的Rootkit的故事,并基于我們自己所遇到的各個Rootkit變種以及對這些威脅的分析,探索Rootkit是如何工作的。
第2章 分析備受關(guān)注的Festi Rootkit,它使用了當(dāng)時的隱匿技術(shù)來發(fā)送垃圾郵件和發(fā)起DDoS攻擊。這些技術(shù)包含自帶的自定義內(nèi)核級TCP/IP協(xié)議棧。
第3章 帶我們深入操作系統(tǒng)內(nèi)核,重點介紹攻擊者用來爭奪內(nèi)核底層控制權(quán)的技巧,例如攔截系統(tǒng)事件和調(diào)用。
第二部分 Bootkit
此部分將重點轉(zhuǎn)移到Bootkit的演進(jìn)、刺激演進(jìn)的條件,以及針對這些威脅的逆向工程技術(shù)。我們將看到Bootkit是如何開發(fā)的,以至于可以將其自身植入BIOS并利用UEFI固件漏洞進(jìn)行攻擊。
第4章 深入探討共同演化的作用,這使Bootkit得以存在并指導(dǎo)了它們的開發(fā)。我們來看一看批被發(fā)現(xiàn)的Bootkit,比如臭名昭著的Elk Cloner。
第5章 介紹Windows系統(tǒng)引導(dǎo)過程的內(nèi)部原理,以及它們是如何隨時間變化的。我們將深入研究主引導(dǎo)記錄、分區(qū)表、配置數(shù)據(jù)和bootmgr模塊等細(xì)節(jié)。
第6章 帶你了解Windows引導(dǎo)進(jìn)程防護(hù)技術(shù),如早期啟動反惡意軟件(ELAM)模塊、內(nèi)核模式代碼簽名策略及其漏洞,以及較新的基于虛擬化的安全機(jī)制。
第7章 剖析感染引導(dǎo)扇區(qū)的方法,并介紹這些方法如何隨著時間的推移而演變。我們將使用一些熟悉的Bootkit作為示例,比如TDL4、Gapz和Rovnix。
第8章 介紹靜態(tài)分析Bootkit感染的方法和工具。我們將以TDL4 Bootkit為例介紹分析過程,并為讀者自己分析提供相關(guān)材料,包括要下載的磁盤映像。
第9章 將重點轉(zhuǎn)移到動態(tài)分析方法上,包括使用Bochs仿真器和VMware的內(nèi)置GDB調(diào)試器,還會介紹動態(tài)分析MBR和VBR Bootkit的步驟。
第10章 回顧隱匿技術(shù)的發(fā)展,這些技術(shù)用于將Bootkit帶到引導(dǎo)過程的更低層級。我們將以O(shè)lmasco為例,
序言
前言
致謝
關(guān)于作者
關(guān)于技術(shù)審校
部分 Rootkit
第1章 Rootkit原理:TDL3案例研究2
1.1 TDL3在真實環(huán)境中的傳播歷史2
1.2 感染例程3
1.3 控制數(shù)據(jù)流5
1.4 隱藏的文件系統(tǒng)8
1.5 小結(jié):TDL3也有“天敵”9
第2章 Festi Rootkit:先進(jìn)的垃圾郵件和DDoS僵尸網(wǎng)絡(luò)10
2.1 Festi僵尸網(wǎng)絡(luò)的案例10
2.2 剖析Rootkit驅(qū)動程序11
2.3 Festi網(wǎng)絡(luò)通信協(xié)議20
2.4 繞過安全和取證軟件22
2.5 C&C故障的域名生成算法24
2.6 惡意的功能25
2.7 小結(jié)28
第3章 觀察Rootkit感染29
3.1 攔截的方法29
3.2 恢復(fù)系統(tǒng)內(nèi)核35
3.3 偉大的Rootkit軍備競賽:一個懷舊的筆記36
3.4 小結(jié)37
第二部分 Bootkit
第4章 Bootkit的演變40
4.1 個Bootkit惡意程序40
4.2 Bootkit病毒的演變42
4.3 新一代Bootkit惡意軟件43
4.4 小結(jié)45
第5章 操作系統(tǒng)啟動過程要點46
5.1 Windows引導(dǎo)過程的高級概述47
5.2 傳統(tǒng)引導(dǎo)過程47
5.3 Windows系統(tǒng)的引導(dǎo)過程48
5.4 小結(jié)55
第6章 引導(dǎo)過程安全性56
6.1 ELAM模塊56
6.2 微軟內(nèi)核模式代碼簽名策略59
6.3 Secure Boot技術(shù)64
6.4 Windows 10中基于虛擬化的安全65
6.5 小結(jié)66
第7章 Bootkit感染技術(shù)68
7.1 MBR感染技術(shù)68
7.2 VBR / IPL感染技術(shù)75
7.3 小結(jié)76
第8章 使用IDA Pro對Bootkit進(jìn)行靜態(tài)分析77
8.1 分析Bootkit MBR78
8.2 VBR業(yè)務(wù)分析技術(shù)86
8.3 高級IDA Pro的使用:編寫自定義MBR加載器88
8.4 小結(jié)92
8.5 練習(xí)92
第9章 Bootkit動態(tài)分析:仿真和虛擬化94
9.1 使用Bochs進(jìn)行仿真94
9.2 使用VMware Workstation進(jìn)行虛擬化102
9.3 微軟Hyper-V和Oracle VirtualBox106
9.4 小結(jié)107
9.5 練習(xí)107
第10章 MBR和VBR感染技術(shù)的演變:Olmasco109
10.1 Dropper109
10.2 Bootkit的功能113
10.3 Rootkit的功能115
10.4 小結(jié)119
第11章 IPL Bootkit:Rovnix和Carberp120
11.1 Rovnix的演化120
11.2 Bootkit架構(gòu)121
11.3 感染系統(tǒng)122
11.4 感染后的引導(dǎo)過程和IPL124
11.5 內(nèi)核模式驅(qū)動程序的功能134
11.6 隱藏的文件系統(tǒng)137
11.7 隱藏的通信信道139
11.8 案例研究:與Carberp的聯(lián)系140
11.9 小結(jié)143
第12章 Gapz:高級VBR感染144
12.1 Gapz Dropper145
12.2 使用Gapz Bootkit感染系統(tǒng)152
12.3 Gapz Rootkit的功能156
12.4 隱藏存儲158
12.5 小結(jié)170
第13章 MBR勒索軟件的興起171
13.1 現(xiàn)代勒索軟件簡史171
13.2 勒索軟件與Bootkit功能172
13.3 勒索軟件的運作方式173
13.4 分析Petya勒索軟件174
13.5 分析Satana勒索軟件187
13.6 小結(jié)191
第14章 UEFI與MBR/VBR 引導(dǎo)過程193
14.1 統(tǒng)一可擴(kuò)展固件接口193
14.2 傳統(tǒng)BIOS和UEFI引導(dǎo)過程之間的差異194
14.3 GUID分區(qū)表的細(xì)節(jié)197
14.4 UEFI固件的工作原理200
14.5 小結(jié)211
第15章 當(dāng)代UEFI Bootkit212
15.1 傳統(tǒng)BIOS威脅的概述213
15.2 所有硬件都有固件218
15.3 感染BIOS的方法221
15.4 理解Rootkit注入224
15.5 真實環(huán)境中的UEFI Rootkit229
15.6 小結(jié)238
第16章 UEFI固件漏洞239
16.1 固件易受攻擊的原因239
16.2 對UEFI固件漏洞進(jìn)行分類242
16.3 UEFI固件保護(hù)的歷史244
16.4 Intel Boot Guard249
16.5 SMM模塊中的漏洞252
16.6 S3引導(dǎo)腳本中的漏洞256
16.7 Intel管理引擎中的漏洞260
16.8 小結(jié)263
第三部分 防護(hù)和取證技術(shù)
第17章 UEFI Secure Boot的工作方式266
17.1 什么是Secure Boot266
17.2 UEFI Secure Boot實現(xiàn)細(xì)節(jié)267
17.3 攻擊Secure Boot279
17.4 通過驗證和測量引導(dǎo)保護(hù)Secure Boot282
17.5 Intel Boot Guard283
17.6 ARM可信引導(dǎo)板288
17.7 驗證引導(dǎo)與固件Rootkit292
17.8 小結(jié)293
第18章 分析隱藏文件系統(tǒng)的方法294
18.1 隱藏文件系統(tǒng)概述294
18.2 從隱藏的文件系統(tǒng)中檢索Bootkit數(shù)據(jù)295
18.3 解析隱藏的文件系統(tǒng)映像301
18.4 HiddenFsReader工具302
18.5 小結(jié)303
第19章 BIOS/UEFI取證:固件獲取和分析方法304
19.1 取證技術(shù)的局限性304
19.2 為什么固件取證很重要305
19.3 了解固件獲取306
19.4 實現(xiàn)固件獲取的軟件方法307
19.5 實現(xiàn)固件獲取的硬件方法313
19.6 使用UEFITool分析固件映像318
19.7 使用Chipsec分析固件映像323
19.8 小結(jié)327