內核漏洞的利用與防范 ( 簡體 字) |
作者:Enrico | 類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 32406 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:3/1/2012 |
頁數:353 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 |
ISBN:9787111374299 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:本書概覽
目前針對用戶態漏洞利用的安全措施較以往有所增加,同時,內核態的漏洞利用也變得越來越流行。本書覆蓋了開發可靠和有效的內核態攻擊所需的理論技術和方法,并將它們應用于不同的操作系統—UNIX家族、Mac OS X和Windows。
內核利用既是藝術也是科學。每個操作系統都有其自身的特點,所以必須建立攻擊模型以便充分分析其目標。本書討論了最流行的操作系統并介紹如何控制它們。
本書介紹了主流操作系統的概念和安全策略,可以幫助信息安全研究人員更加深入了解內核攻擊的方式和方法,為抵制系統級內核攻擊,降低安全隱患提供了重要的理論支撐和技術保障。
本書的組織結構
本書分4個部分,共9章。
第一部分 內核態 介紹了本書的目標—內核,并討論了本書后續內容所依賴的理論基礎。這一部分包括:
第1章 從用戶態利用到內核態利用 這一章介紹了漏洞利用的世界,并分析了致使安全研究人員和攻擊者將漏洞利用的焦點從用戶態應用程序轉到系統內核上來的原因。
第2章 內核漏洞分類 這一章討論了不同類型漏洞(錯誤類別)的分類,并闡述了它們的共同特性和利用方法。越是能夠描述多種錯誤類型的模型,我們越是能夠針對其設計出可靠有效的利用技術。這個分類也便于我們從另一方面看待問題:防御。越多地理解錯誤類型,越是能夠創造出更好的保護和防御手段。
第3章 成功內核利用進階 這一章剖析了內核利用的各個階段,并描述了針對第2章中每個錯誤類型的最佳利用方法和技術。鑒于操作系統實現子系統的方法不一樣,本章致力于提供能夠應用于不同內核和體系結構的利用方法。
第二部分 UNIX家族、Mac OS X和Windows 在這一部分中我們將深入探討不同操作系統的自身特性,并編寫針對不同錯誤類型的利用代碼。對于每種操作系統,我們介紹了相應的調試工具和方法,這在編寫漏洞利用代碼時非常實用。在本部分中,我們介紹了對真實漏洞的利用,而不是人為設計的例子。這一部分包括:
第4章 UNIX家族 這一章分析了UNIX類系統,主要討論了Linux并簡單討論了(開源)Solaris操作系統。部分章節也涉及這些操作系統提供的主要工具(如動態追蹤、內核調試器等)的調試技術。
第5章 Mac OS X 這一章覆蓋了目前非常流行的Mac OS X操作系統,主要討論了其Leopard版本。同時分析了主要的錯誤類型(如棧和堆的利用),在查找漏洞時,我們介紹了如何利用閉源內核部分進行逆向工程分析。
第6章 Windows 這一章覆蓋了當今最流行的操作系統—微軟Windows。和之前的內容不同,在這一章中,我們沒有涉及內核的源代碼;相反,我們對內部(以及漏洞/攻擊方法)的理解來自對不同內核部分的逆向工程。本章著重介紹了逆向分析工具的調試方法,這是非常重要的。
第三部分 遠程內核漏洞利用 這一部分將我們的關注點從本地場景(對于內核攻擊來說這是常見的場景)轉移到遠程情況。實際上,我們進入了更加復雜的境地,我們學到的在本地攻擊中使用的許多技術已經不適用了。雖然錯誤類型仍然一樣,但是我們需要為我們的“武器庫”增加新的“武器”。第三部分共兩章,重溫了本書之前的部分(第一部分偏向理論,第二部分偏向實踐)。這一部分的主要內容包括:
第7章 遠程內核漏洞利用面臨的挑戰 這一章從理論開始介紹,分析了為什么以及在多大程度上遠程情境會影響我們的方法,并給出新的技術來解決遠程利用問題。雖然這一章更偏向理論,但是也給出了一些實際例子,特別關注于Windows操作系統,而UNIX(Linux)的情景將在第8章闡述。
第8章 一個Linux案例 這一章依次分析了針對一個真實漏洞的可靠利用、一次性利用和遠程利用的開發—在Linux內核中發現的一個影響SCTP子系統(http://cve.mitre.org/cgi-bi/cvename.cgi?name=CVE-2009-0065)的bug。
第四部分 展望 這一部分總結全書,結束我們對內核安全的分析,由單獨的一章組成:
第9章 內核演變:未來內核攻防模式 在這一章中,基于我們所學的內核利用知識對未來進行展望。為了深入探討攻擊和防御技術,在這一章中我們討論了計算機安全的基礎:信息流控制。然后,我們將其作為標準來檢查和理解一些bug和漏洞利用的基本特點,這樣我們才能夠更好地展望未來。
本書中介紹的利用實例和工具的代碼在網站www.attackingthecoe.com上可以找到,它也是報告錯誤的主要參考;您也可以聯系我們獲得更多的資料。
小結
編寫一本書是一個繁瑣但很有趣的過程。它給了作者一個將大腦中浮現的感興趣的概念表達出來的機會。編寫這本書對我們來說是一個挑戰。我們力爭用準確而清晰的陳述來傳遞那種發現新的防御方法和提供有價值的攻防信息時的激情和樂趣。我們希望讀者能夠喜歡我們的成果,如同我們樂于將它奉獻出來那樣。 |
內容簡介:本書系統地講解內核級別漏洞利用所需的理論技術和方法,并將其應用于主流操作系統——UNIX家族、Mac OS X和 Windows。本書分4個部分:第一部分介紹漏洞利用的目標、內核以及理論基礎;第二部分深入介紹了目前主流操作系統的細節,并針對不同錯誤類別分別編寫了漏洞利用程序。第三部分將關注點從本地場景轉移到遠程利用的情景;第四部分介紹未來內核的攻防模式。本書不僅從軟件安全研究人員的角度談論如何發現軟件漏洞,也從軟件開發者的角度給出了防止軟件出現漏洞的方法,以幫助軟件編程人員開發出安全的軟件系統。
本書內容詳實,實例豐富,可操作性強,涉及主流操作系統內核漏洞利用的各個方面,適合軟件開發人員、測試人員、安全工程師等閱讀。 |
目錄:譯者序
序言
前言
致謝
作者簡介
第一部分 內核態
第1章 從用戶態利用到內核態利用2
引言2
內核和內核漏洞利用的世界2
漏洞利用的藝術4
為什么用戶態漏洞利用不再有效7
內核態漏洞利用和用戶態漏洞利用8
一個漏洞利用者的內核觀10
用戶態進程和調度10
虛擬內存11
開源操作系統和閉源操作系統14
小結14
相關閱讀15
尾注15
第2章 內核漏洞分類16
引言16
未初始化的/未驗證的/已損壞的指針解引用17
內存破壞漏洞20
內核棧漏洞20
內核堆漏洞21
整數誤用22
算術/整數溢出23
符號轉換錯誤24
競態條件26
邏輯bug31
引用計數器溢出31
物理設備輸入驗證32
內核生成的用戶態漏洞33
小結35
尾注36
第3章 成功內核利用進階37
引言37
架構級概覽38
基本概念38
x86和x86-6443
執行階段46
放置shellcode46
偽造shellcode52
觸發階段55
內存破壞55
競態條件66
信息收集階段69
環境告訴我們什么70
環境不想告訴我們的:信息泄露74
小結75
相關閱讀76
第二部分 UNIX家族、Mac OS X和Windows
第4章 UNIX家族78
引言78
UNIX家族成員79
Linux79
Solaris/OpenSolaris87
BSD衍生操作系統97
執行步驟97
濫用Linux的權限模型98
實戰UNIX108
內核堆利用108
利用OpenSolaris的slab分配器109
利用Linux 2.6 SLAB^H^HUB 分配器127
Linux的棧溢出利用142
重拾 CVE-2009-3234148
小結156
尾注157
第5章 Mac OS X158
引言158
XNU概述159
Mach160
BSD160
IOKit160
系統調用表161
內核調試162
內核擴展 (kext)169
IOKit174
內核擴展審計174
執行步驟185
利用注釋186
隨意的內存重寫186
基于棧的緩沖區溢出195
內存分配符利用208
競態條件219
Snow Leopard利用219
小結219
尾注220
第6章 Windows221
引言221
Windows內核概述223
內核信息收集 223
DVWD介紹227
內核內部組織攻略228
內核調試232
執行階段234
Windows驗證模型234
編寫shellcode242
Windows 漏洞利用實踐253
重寫任意內存253
棧緩沖區溢出261
小結278
尾注278
第三部分 遠程內核漏洞利用
第7章 遠程內核漏洞利用面臨的挑戰280
引言280
利用遠程漏洞281
缺少公開信息281
缺少對遠程目標的控制283
執行第一條指令284
直接執行流程重定向284
內核內存的任意寫294
遠程payload296
payload遷移297
KEP上下文297
多級shellcode306
小結311
尾注312
第8章 一個Linux案例313
引言313
SCTP的轉發塊堆內存損壞313
SCTP簡要概述314
漏洞路徑316
遠程漏洞利用:總體分析319
獲得任意內存重寫原語320
遠程調整堆布局320
創建SCTP消息:從相對到絕對內存的重寫323
安裝shellcode327
從中斷上下文直接跳到用戶態327
執行shellcode333
檢查當前進程,模擬gettimeofday()函數333
執行反向連接334
恢復Vsyscall336
小結337
相關閱讀337
尾注337
第四部分 展望
第9章 內核演變:未來內核攻防模式340
引言340
內核攻擊341
保密性341
完整性342
可用性344
內核防御344
內核威脅的分析與建模345
內核防御機制346
內核保證機制347
超越內核bug:虛擬化350
虛擬層安全350
客戶機內核安全351
小結351 |
序: |