Android安全攻防權威指南 Android安全攻防权威指南

【美】德雷克等

  • 出版商: 人民郵電出版社
  • 出版日期: 2015-04-01
  • 定價: $534
  • 售價: $534
  • 貴賓價: 9.5$507
  • 語言: 簡體中文
  • 頁數: 393
  • 裝訂: 平裝
  • ISBN: 711538570X
  • ISBN-13: 9787115385703
  • 相關分類: Android

立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

《Android安全攻防權威指南》由世界頂尖級駭客打造,是目前最全面的一本Android系統安全手冊。

書中細緻地介紹了Android系統中的漏洞挖掘、分析,並給出了大量利用工具,結合實例從白帽子角度分析了諸多系統問題,是一本難得的安全指南。

移動設備管理者、安全研究員、Android應用程式開發者和負責評估Android安全性的顧問都可以在本書中找到必要的指導和工具。

在本書中你可以: 熟悉實現安全性的細節,以及由Android作業系統開放性帶來的複雜問題; 繞開常見安全隱患,瞭解智慧手機最新駭客攻擊策略; 回顧曾成功攻破Android作業系統的各類攻擊; 探索ROOT操作、分區佈局和引導過程; 理解Android生態圈的複雜性,包括各個硬件廠商和軟件發展者的影響。

目錄大綱

第1章 縱觀Android生態圈 1
1.1 瞭解Android的根源 1
1.1.1 公司歷史 1
1.1.2 版本歷史 2
1.1.3 審視Android設備家族 3
1.1.4 主體開源 5
1.2 瞭解Android的利益相關者 6
1.2.1 穀歌 7
1.2.2 硬件廠商 7
1.2.3 移動通信運營商 9
1.2.4 開發者 9
1.2.5 用戶 10
1.3 理解生態圈的複雜性 11
1.3.1 碎片化問題 12
1.3.2 兼容性 13
1.3.3 更新問題 13
1.3.4 安全性與開放性 15
1.3.5 公開披露 16
1.4 小結 17
第2章 Android的安全設計與架構 18
2.1 理解Android系統架構 18
2.2 理解安全邊界和安全策略執行 19
2.2.1 Android沙箱 19
2.2.2 Android權限 22
2.3 深入理解各個層次 25
2.3.1 Android應用層 25
2.3.2 Android框架層 28
2.3.3 DalvikVM 29
2.3.4 用戶空間原生代碼層 30
2.3.5 內核 36
2.4 複雜的安全性,複雜的漏洞利用 41
2.5 小結 42
第3章 root Android設備 43
3.1 理解分區佈局 43
3.2 理解引導過程 45
3.3 引導加載程序的鎖定與解鎖 47
3.4 對未加鎖引導加載程序的設備進行root 50
3.5 對鎖定引導加載程序的設備進行root 52
3.5.1 在已啟動系統中獲取root權限 52
3.5.2 NAND 鎖、臨時性root與永久性root 53
3.5.3 對軟root 進行持久化 55
3.6 歷史上的一些已知攻擊 56
3.6.1 內核:Wunderbar/asroot 56
3.6.2 恢復:Volez 57
3.6.3 udev:Exploid 57
3.6.4 adbd:RageAgainstTheCage 58
3.6.5 Zygote:Zimperlich和Zysploit 58
3.6.6 ashmem:KillingInTheName-
Of 和psneuter 58
3.6.7 vold:GingerBreak 59
3.6.8 PowerVR:levitator 59
3.6.9 libsysutils:zergRush 60
3.6.10 內核:mempodroid 60
3.6.11 文件權限和符號鏈接相關的攻擊 61
3.6.12 adb 恢復過程競爭條件漏洞 61
3.6.13 Exynos4:exynos-abuse 62
3.6.14 Diag:lit/diaggetroot 62
3.7 小結 63
第4章 應用安全性評估 64
4.1 普遍性安全問題 64
4.1.1 應用權限問題 64
4.1.2 敏感數據的不安全傳輸 66
4.1.3 不安全的數據存儲 67
4.1.4 通過日誌的信息洩露 68
4.1.5 不安全的IPC端點 69
4.2 案例分析:移動安全應用 71
4.2.1 初步剖析 71
4.2.2 靜態分析 72
4.2.3 動態分析 87
4.2.4 攻擊 95
4.3 案例分析:SIP客戶端 97
4.3.1 瞭解Drozer 97
4.3.2 發現漏洞 98
4.3.3 snarfing 99
4.3.4 註入 102
4.4 小結 104
第5章 理解Android的攻擊面 105
5.1 攻擊基礎術語 105
5.1.1 攻擊向量 106
5.1.2 攻擊面 106
5.2 對攻擊面進行分類 107
5.2.1 攻擊面屬性 108
5.2.2 分類決策 108
5.3 遠程攻擊面 108
5.3.1 網絡概念 109
5.3.2 網絡協議棧 112
5.3.3 暴露的網絡服務 113
5.3.4 移動技術 114
5.3.5 客戶端攻擊面 115
5.3.6 穀歌的基礎設施 119
5.4 物理相鄰 123
5.4.1 無線通信 123
5.4.2 其他技術 127
5.5 本地攻擊面 128
5.5.1 探索文件系統 128
5.5.2 找到其他的本地攻擊面 129
5.6 物理攻擊面 133
5.6.1 拆解設備 133
5.6.2 USB 134
5.6.3 其他物理攻擊面 137
5.7 第三方修改 137
5.8 小結 137
第6章 使用模糊測試來挖掘漏洞 139
6.1 模糊測試的背景 139
6.1.1 選定目標 140
6.1.2 構造畸形輸入 140
6.1.3 處理輸入 141
6.1.4 監控結果 142
6.2 Android上的模糊測試 142
6.3 對Broadcast Receiver進行模糊測試 143
6.3.1 選定目標 143
6.3.2 生成輸入 144
6.3.3 傳遞輸入 145
6.3.4 監控測試 145
6.4 對Android上的Chrome進行模糊測試 147
6.4.1 選擇一種技術作為目標 148
6.4.2 生成輸入 149
6.4.3 處理輸入 151
6.4.4 監控測試 152
6.5 對USB攻擊面進行模糊測試 155
6.5.1 對USB進行模糊測試的挑戰 155
6.5.2 選定目標模式 155
6.5.3 生成輸入 156
6.5.4 處理輸入 158
6.5.5 監控測試 158
6.6 小結 159
第7章 調試與分析安全漏洞 161
7.1 獲取所有信息 161
7.2 選擇一套工具鏈 162
7.3 調試崩潰Dump 163
7.3.1 系統日誌 163
7.3.2 Tombstone 164
7.4 遠程調試 165
7.5 調試Dalvik代碼 166
7.5.1 調試示例應用 167
7.5.2 顯示框架層源代碼 168
7.5.3 調試現有代碼 170
7.6 調試原生代碼 173
7.6.1 使用NDK進行調試 174
7.6.2 使用Eclipse進行調試 177
7.6.3 使用AOSP進行調試 179
7.6.4 提升自動化程度 183
7.6.5 使用符號進行調試 184
7.6.6 調試非AOSP設備 189
7.7 調試混合代碼 190
7.8 其他調試技術 191
7.8.1 調試語句 191
7.8.2 在設備上進行調試 191
7.8.3 動態二進制註入 192
7.9 漏洞分析 193
7.9.1 明確問題根源 193
7.9.2 判斷漏洞可利用性 205
7.10 小結 205
第8章 用戶態軟件的漏洞利用 206
8.1 內存破壞漏洞基礎 206
8.1.1 棧緩衝區溢出 206
8.1.2 堆的漏洞利用 209
8.2 公開的漏洞利用 215
8.2.1 GingerBreak 215
8.2.2 zergRush 218
8.2.3 Mempodroid 221
8.3 Android瀏覽器漏洞利用 222
8.3.1 理解漏洞 222
8.3.2 控制堆 224
8.4 小結 227
第9章 ROP漏洞利用技術 228
9.1 歷史和動機 228
9.2 ARM 架構下的ROP 基礎 230
9.2.1 ARM 子函數調用 231
9.2.2 將gadget組成ROP鏈 232
9.2.3 識別潛在的gadget 234
9.3 案例分析:Android 4.0.1鏈接器 235
9.3.1 遷移棧指針 236
9.3.2 在新映射內存中執行任意代碼 237
9.4 小結 240
第10章 攻擊內核 242
10.1 Android 的Linux內核 242
10.2 內核提取 242
10.2.1 從出廠固件中提取內核 243
10.2.2 從設備中提取內核 245
10.2.3 從啟動鏡像中提取內核 246
10.2.4 解壓內核 247
10.3 運行自定義內核代碼 247
10.3.1 獲取源代碼 247
10.3.2 搭建編譯環境 250
10.3.3 配置內核 251
10.3.4 使用自定義內核模塊 252
10.3.5 編譯自定義內核 254
10.3.6 製作引導鏡像 257
10.3.7 引導自定義內核 258
10.4 調試內核 262
10.4.1 獲取內核崩潰報告 263
10.4.2 理解Oops信息 264
10.4.3 使用KGDB進行Live調試 267
10.5 內核漏洞利用 271
10.5.1 典型Android內核 271
10.5.2 獲取地址 273
10.5.3 案例分析 274
10.6 小結 283
第11章 攻擊RIL無線接口層 284
11.1 RIL簡介 284
11.1.1 RIL架構 285
11.1.2 智能手機架構 285
11.1.3 Android電話棧 286
11.1.4 對電話棧的定製 287
11.1.5 RIL 守護程序 287
11.1.6 用於vendor-ril的API 289
11.2 短信服務 290
11.2.1 SMS消息的收發 290
11.2.2 SMS消息格式 291
11.3 與調制解調器進行交互 293
11.3.1 模擬調制解調器用於模糊測試 293
11.3.2 在Android中對SMS進行模糊測試 295 
11.4 小結 302
第12章 漏洞利用緩解技術 303
12.1 緩解技術的分類 303
12.2 代碼簽名 304
12.3 加固堆緩衝區 305
12.4 防止整數溢出 305
12.5 阻止數據執行 306
12.6 地址空間佈局隨機化 308
12.7 保護棧 310
12.8 保護格式化字符串 310
12.9 只讀重定位表 312
12.10 沙盒 313
12.11 增強源代碼 313
12.12 訪問控制機制 315
12.13 保護內核 316
12.13.1 指針和日誌限制 316
12.13.2 保護零地址頁 317
12.13.3 只讀的內存區域 318
12.14 其他加固措施 318
12.15 漏洞利用緩解技術總結 320
12.16 禁用緩解機制 322
12.16.1 更改personality 322
12.16.2 修改二進制文件 323
12.16.3 調整內核 323
12.17 對抗緩解技術 323
12.17.1 對抗棧保護 324
12.17.2 對抗ASLR 324
12.17.3 對抗數據執行保護 324
12.17.4 對抗內核級保護機制 325
12.18 展望未來 325
12.18.1 進行中的官方項目 325
12.18.2 社區的內核加固工作 326
12.18.3 一些預測 326
12.19 小結 327
第13章 硬件層的攻擊 328
13.1 設備的硬件接口 328
13.1.1 UART 串行接口 329
13.1.2 I2C、SPI 和單總線接口 331
13.1.3 JTAG 334
13.1.4 尋找調試接口 343
13.2 識別組件 353
13.2.1 獲得規格說明書 353
13.2.2 難以識別的組件 354
13.3 攔截、監聽和劫持數據 355
13.3.1 USB 355
13.3.2 I2C、SPI和UART串行埠 359
13.4 竊取機密和固件 364
13.4.1 無損地獲得固件 364
13.4.2 有損地獲取固件 365
13.4.3 拿到dump文件後怎麼做 368
13.5 陷阱 371
13.5.1 定製的接口 371