出版時間:2013-9 出版社:人民郵電出版社 作者:[美]Charlie Miller,[美]Dionysus Blazakis,[美]Dino Dai Zovi,[美]Stefan Esser,[美]Vincenzo Iozzo,[美]Ralf-Philipp Weinmann 譯者:傅爾也
Tag標簽:無
內容概要
安全始終是計算機和互聯(lián)網領域最重要的話題。進入移動互聯(lián)網時代,移動平臺和設備的安全問題更加突出。iOS系統(tǒng)憑借其在移動市場的占有率擁有著舉足輕重的地位。雖然iOS系統(tǒng)向來以安全著稱,但由其自身漏洞而引發(fā)的威脅同樣一直存在。
《黑客攻防技術寶典:iOS實戰(zhàn)篇》由美國國家安全局全球網絡漏洞攻擊分析師、連續(xù)4年Pwn2Own黑客競賽大獎得主Charlie Miller領銜,6位業(yè)內頂級專家合力打造,全面深入介紹了iOS的工作原理、安全架構、安全風險,揭秘了iOS越獄工作原理,探討了加密、代碼簽名、內存保護、沙盒機制、iPhone模糊測試、漏洞攻擊程序、ROP有效載荷、基帶攻擊等內容,為深入理解和保護iOS設備提供了足夠的知識與工具,是學習iOS設備工作原理、理解越獄和破解、開展iOS漏洞研究的重量級專著。
本書作為國內第一本全面介紹iOS漏洞及攻防的專著,作者陣容空前豪華,內容權威性毋庸置疑。Charlie Miller曾在美國國家安全局擔任全球網絡漏洞攻擊分析師5年,并連續(xù)4屆摘得Pwn2Own黑客競賽桂冠。Dionysus Blazakis擅長漏洞攻擊緩解技術,2010年贏得了Pwnie Award最具創(chuàng)新研究獎。Dino Dai Zovi是Trail of Bits聯(lián)合創(chuàng)始人和首席技術官,有十余年信息安全領域從業(yè)經驗,出版過兩部信息安全專著。Vincenzo Iozzo現(xiàn)任BlackHat和Shakacon安全會議評審委員會委員,因2010年和2011年連續(xù)兩屆獲得Pwn2Own比賽大獎在信息安全領域名聲大振。Stefan Esser是業(yè)界知名的PHP安全問題專家,是從原廠XBOX的硬盤上直接引導Linux成功的第一人。Ralf-Philipp Weinmann作為德國達姆施塔特工業(yè)大學密碼學博士、盧森堡大學博士后研究員,對密碼學、移動設備安全等都有深入研究。
本書適合想了解iOS設備工作原理的人,適合對越獄和破解感興趣的人,適合關注iOS應用及數(shù)據(jù)安全的開發(fā)人員,適合公司技術管理人員(他們需要了解如何保障iOS設備安全),還適合從事iOS漏洞研究的安全研究人員。
作者簡介
Charlie Miller
Accuvant Labs首席研究顧問,曾在美國國家安全局擔任全球網絡漏洞攻擊分析師5年,連續(xù)4年贏得CanSecWest Pwn2Own黑客大賽。他發(fā)現(xiàn)了iPhone與G1安卓手機第一個公開的遠程漏洞,通過短信對iPhone進行漏洞攻擊并發(fā)現(xiàn)了可以讓惡意軟件進入iOS的代碼簽名機制缺陷。作為圣母大學博士的他還與人合著了The Mac Hacker's Handbook和Fuzzing for Software Security Testing and Quality Assurance兩本信息安全類圖書。
Dionysus Blazakis
程序員和安全研究人員,擅長漏洞攻擊緩解技術,經常在安全會議上發(fā)表有關漏洞攻擊緩解技術、繞過緩解技術和尋找漏洞的新方法等主題演講,因利用即時編譯器繞過數(shù)據(jù)執(zhí)行保護的技術贏得了2010年Pwnie Award最具創(chuàng)新研究獎。另外,他與Charlie Miller為參加2011年Pwn2Own大賽開發(fā)的iOS漏洞攻擊程序贏得了iPhone漏洞攻擊比賽的大獎。
Dino Dai Zovi
Trail of Bits聯(lián)合創(chuàng)始人和首席技術官,有十余年信息安全領域從業(yè)經驗,
做過紅隊(red teaming,又稱“倫理黑客”)、滲透測試、軟件安全、信息安全管理和網絡安全研究與開發(fā)等多種工作。Dino是信息安全會議的常客,在DEFCON、BlackHat和CanSecWest等世界知名的信息安全會議上發(fā)表過對內存損壞利用技術、802.11無線客戶端攻擊和英特爾VT-x虛擬化rootkit程序等課題的獨立研究成果。他還是The Mac Hacker's Handbook和The Art of Software Security Testing的合著者。
Vincenzo Iozzo
Tiqad srl安全研究人員,BlackHat和Shakacon安全會議評審委員會成員,常在BlackHat和CanSecWest等信息安全會議上發(fā)表演講。他與人合作為BlackBerryOS和iPhoneOS編寫了漏洞攻擊程序,因2010年和2011年連續(xù)兩屆獲得Pwn2Own比賽大獎在信息安全領域名聲大振。
Stefan Esser
因在PHP安全方面的造詣為人熟知,2002年成為PHP核心開發(fā)者以來主要關注PHP和PHP應用程序漏洞的研究,早期發(fā)表過很多關于CVS、Samba、OpenBSD或Internet Explorer等軟件中漏洞的報告。2003年他利用了XBOX字體加載器中存在的緩沖區(qū)溢出漏洞,成為從原廠XBOX的硬盤上直接引導Linux成功的第一人;2004年成立Hardened-PHP項目,旨在開發(fā)更安全的PHP,也就是Hardened-PHP(2006年融入Suhosin PHP安全系統(tǒng));2007年與人合辦德國Web應用開發(fā)公司SektionEins GmbH并負責研發(fā)工作;2010年起積極研究iOS安全問題,并在2011年提供了一個用于越獄的漏洞攻擊程序(曾在蘋果多次更新后幸存下來)。
Ralf-Philipp Weinmann
德國達姆施塔特工業(yè)大學密碼學博士、盧森堡大學博士后研究員。他在信息安全方面的研究方向眾多,涉及密碼學、移動設備安全等很多主題。讓他聲名遠播的事跡包括參與讓WEP破解劇烈提速的項目、分析蘋果的FileVault加密、擅長逆向工程技術、攻破DECT中的專屬加密算法,以及成功通過智能手機的Web瀏覽器(Pwn2Own)和GSM協(xié)議棧進行滲透攻擊。
書籍目錄
目 錄
第1章 iOS安全基礎知識 1
1.1 iOS硬件/設備的類型 1
1.2 蘋果公司如何保護App Store 2
1.3 理解安全威脅 3
1.4 理解iOS的安全架構 4
1.4.1 更小的受攻擊面 4
1.4.2 精簡過的iOS 5
1.4.3 權限分離 5
1.4.4 代碼簽名 5
1.4.5 數(shù)據(jù)執(zhí)行保護 6
1.4.6 地址空間布局隨機化 6
1.4.7 沙盒 6
1.5 iOS攻擊簡史 7
1.5.1 Libtiff 7
1.5.2 短信攻擊 8
1.5.3 Ikee蠕蟲 8
1.5.4 Storm8 9
1.5.5 SpyPhone 10
1.5.6 Pwn2Own 2010 10
1.5.7 Jailbreakme.com 2(“Star”) 10
1.5.8 Jailbreakme.com 3(“Saffron”) 11
1.6 小結 11
第2章 企業(yè)中的iOS 12
2.1 iOS配置管理 12
2.1.1 移動配置描述文件 13
2.1.2 iPhone配置實用工具 14
2.2 移動設備管理 21
2.2.1 MDM網絡通信 21
2.2.2 Lion Server描述文件管理器 22
2.3 小結 36
第3章 加密 37
3.1 數(shù)據(jù)保護 37
3.2 對數(shù)據(jù)保護的攻擊 40
3.2.1 對用戶密碼的攻擊 40
3.2.2 iPhone Data Protection Tools 43
3.3 小結 54
第4章 代碼簽名和內存保護 55
4.1 強制訪問控制 56
4.1.1 AMFI鉤子 56
4.1.2 AMFI和execv 57
4.2 授權的工作原理 59
4.2.1 理解授權描述文件 59
4.2.2 如何驗證授權文件的有效性 62
4.3 理解應用簽名 62
4.4 深入了解特權 64
4.5 代碼簽名的實施方法 65
4.5.1 收集和驗證簽名信息 65
4.5.2 如何在進程上實施簽名 68
4.5.3 iOS如何確保已簽名頁不發(fā)生改變 72
4.6 探索動態(tài)代碼簽名 73
4.6.1 MobileSafari的特殊性 73
4.6.2 內核如何處理即時編譯 75
4.6.3 MobileSafari內部的攻擊 77
4.7 破壞代碼簽名機制 78
4.7.1 修改iOS shellcode 79
4.7.2 在iOS上使用Meterpreter 83
4.7.3 取得App Store的批準 85
4.8 小結 86
第5章 沙盒 87
5.1 理解沙盒 87
5.2 在應用開發(fā)中使用沙盒 89
5.3 理解沙盒的實現(xiàn) 95
5.3.1 理解用戶空間庫的實現(xiàn) 95
5.3.2 深入內核 98
5.3.3 沙盒機制對App Store應用和平臺應用的影響 109
5.4 小結 113
第6章 對iOS應用進行模糊測試 114
6.1 模糊測試的原理 114
6.2 如何進行模糊測試 115
6.2.1 基于變異的模糊測試 116
6.2.2 基于生成的模糊測試 116
6.2.3 提交和監(jiān)測測試用例 117
6.3 對Safari進行模糊測試 118
6.3.1 選擇接口 118
6.3.2 生成測試用例 118
6.3.3 測試和監(jiān)測應用 119
6.4 PDF模糊測試中的冒險 122
6.5 對快速查看(Quick Look)的模糊測試 126
6.6 用模擬器進行模糊測試 127
6.7 對MobileSafari進行模糊測試 130
6.7.1 選擇進行模糊測試的接口 130
6.7.2 生成測試用例 130
6.7.3 MobileSafari的模糊測試與監(jiān)測 131
6.8 PPT模糊測試 133
6.9 對SMS的模糊測試 134
6.9.1 SMS基礎知識 135
6.9.2 聚焦協(xié)議數(shù)據(jù)單元模式 136
6.9.3 PDUspy的使用 138
6.9.4 用戶數(shù)據(jù)頭信息的使用 139
6.9.5 拼接消息的處理 139
6.9.6 其他類型UDH數(shù)據(jù)的使用 139
6.9.7 用Sulley進行基于生成的模糊測試 141
6.9.8 SMS iOS注入 145
6.9.9 SMS的監(jiān)測 146
6.9.10 SMS bug 151
6.10 小結 153
第7章 漏洞攻擊 154
7.1 針對bug類的漏洞攻擊 154
7.2 理解iOS系統(tǒng)自帶的分配程序 156
7.2.1 區(qū)域 156
7.2.2 內存分配 157
7.2.3 內存釋放 157
7.3 馴服iOS的分配程序 158
7.3.1 所需工具 158
7.3.2 與分配/釋放有關的基礎知識 159
7.4 理解TCMalloc 167
7.4.1 大對象的分配和釋放 167
7.4.2 小對象的分配 168
7.4.3 小對象的釋放 168
7.5 馴服TCMalloc 168
7.5.1 獲得可預知的堆布局 168
7.5.2 用于調試堆操作代碼的工具 170
7.5.3 堆風水:以TCMalloc對算術漏洞進行攻擊 172
7.5.4 以TCMalloc就對象生存期問題進行漏洞攻擊 175
7.6 對ASLR的挑戰(zhàn) 176
7.7 案例研究:Pwn2Own 2010 177
7.8 測試基礎設施 181
7.9 小結 181
第8章 面向返回的程序設計 182
8.1 ARM基礎知識 182
8.1.1 iOS的調用約定 183
8.1.2 系統(tǒng)調用的調用約定 183
8.2 ROP簡介 185
8.2.1 ROP與堆bug 186
8.2.2 手工構造ROP有效載荷 187
8.2.3 ROP有效載荷構造過程的自動化 191
8.3 在iOS中使用ROP 193
8.4 iOS中ROP shellcode的示例 195
8.4.1 用于盜取文件內容的有效載荷 196
8.4.2 利用ROP結合兩種漏洞攻擊程序(JailBreakMe v3) 202
8.5 小結 206
第9章 內核的調試與漏洞攻擊 207
9.1 內核的結構 207
9.2 內核的調試 208
9.3 內核擴展與IOKit驅動程序 213
9.3.1 對IOKit驅動程序對象樹的逆向處理 213
9.3.2 在內核擴展中尋找漏洞 216
9.3.3 在IOKit驅動程序中尋找漏洞 219
9.4 內核漏洞攻擊 222
9.4.1 任意內存的重寫 223
9.4.2 未初始化的內核變量 227
9.4.3 內核棧緩沖區(qū)溢出 231
9.4.4 內核堆緩沖區(qū)溢出 236
9.5 小結 245
第10章 越獄 246
10.1 為何越獄 246
10.2 越獄的類型 247
10.2.1 越獄的持久性 247
10.2.2 漏洞攻擊程序的類型 248
10.3 理解越獄過程 249
10.3.1 對bootrom進行漏洞攻擊 250
10.3.2 引導ramdisk 250
10.3.3 為文件系統(tǒng)越獄 250
10.3.4 安裝完美越獄漏洞攻擊程序 251
10.3.5 安裝AFC2服務 251
10.3.6 安裝基本實用工具 252
10.3.7 應用轉存 253
10.3.8 應用包安裝 254
10.3.9 安裝后的過程 255
10.4 執(zhí)行內核有效載荷和補丁 255
10.4.1 內核狀態(tài)修復 255
10.4.2 權限提升 256
10.4.3 為內核打補丁 257
10.4.4 安全返回 267
10.5 小結 268
第11章 基帶攻擊 269
11.1 GSM基礎知識 270
11.2 建立OpenBTS 272
11.2.1 硬件要求 272
11.2.2 OpenBTS的安裝和配置 273
11.3 協(xié)議棧之下的RTOS 276
11.3.1 Nucleus PLUS 276
11.3.2 ThreadX 277
11.3.3 REX/OKL4/Iguana 277
11.3.4 堆的實現(xiàn) 278
11.4 漏洞分析 281
11.4.1 獲得并提取基帶固件 281
11.4.2 將固件鏡像載入IDA Pro 283
11.4.3 應用/基帶處理器接口 283
11.4.4 棧跟蹤與基帶核心轉儲 283
11.4.5 受攻擊面 284
11.4.6 二進制代碼的靜態(tài)分析 285
11.4.7 由規(guī)范引路的模糊測試 285
11.5 對基帶的漏洞攻擊 286
11.5.1 本地棧緩沖區(qū)溢出:AT+XAPP 286
11.5.2 ultrasn0w解鎖工具 287
11.5.3 空中接口可利用的溢出 293
11.6 小結 299
附錄 參考資料 300
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載