《iOS套用安全攻防實戰》是2015年7月電子工業出版社出版的圖書,作者是【美】Jonathan Zdziarski(約翰坦.斯的扎斯克)。
基本介紹
- 書名:iOS套用安全攻防實戰
- 作者:【美】Jonathan Zdziarski(約翰坦.斯的扎斯克)
- 譯者:肖梓航、李俱順
- ISBN:978-7-121-26074-2
- 頁數:384
- 定價:79.00元
- 出版社:電子工業出版社
- 出版時間:2015年7月
- 裝幀:平裝
- 開本:16
內容簡介,內容提要,目錄,
內容簡介
數據被盜等安全問題已經不再是一件罕見的事情了。在這個信息化的時代里,數據就是價值,而且有越來越多的跡象表明,攻擊者也正逐步將攻擊目標轉到移動端。如何保障自己的套用數據安全?《iOS套用安全攻防實戰》將會提供一些用於防禦常見攻擊方法的方式。
內容提要
數據被盜等安全問題已經不再是一件罕見的事情了。在這個信息化的時代里,數據就是價值,而且有越來越多的跡象表明,攻擊者也正逐步將攻擊目標轉到移動端。如何保障自己的套用數據安全?《iOS套用安全攻防實戰》將會提供一些用於防禦常見攻擊方法的方式。Jonathan Zdziarski 將演示攻擊者用來竊取數據、操控軟體的許多技術,並向開發者介紹如何避免在軟體中犯下各類常見的錯誤,以及避免軟體被輕易地攻擊。
目錄
前言 .................................... xv
第1 章 你所知道的一切都是錯的 ................................... 1
單一化方案的誤解 ...............2
iOS 安全模型 ......................4
iOS 安全模型的組件 .....4
鑰匙和鎖存在一起 ...............7
密碼等於弱安全 ..................8
數字取證擊敗加密 ...............9
外部數據同樣也有風險 ......10
劫持流量 ............................10
數據可能很快就被偷走 ........................................ 11
誰都不要信,包括你的套用軟體 ................................12
物理訪問並非必需的 .........13
總結 ...................................14
第1 篇 攻擊
第2 章 iOS 攻擊基礎 ......... 17
為什麼要學習如何破解一台設備 ................................17
越獄解析 ............................18
開發者工具 .................18
終端用戶越獄 ....................20
越獄一台iPhone .........21
DFU 模式 ....................22
不完美越獄和完美越獄 ........................................24
攻破設備並注入代碼 .........24
構建定製代碼 ..............25
分析你的二進制程式 .........27
測試你的二進制程式 .........29
代碼守護化 .................31
以tar 歸檔包的形式部署惡意代碼 .......................35
以RAM 磁碟形式部署惡意代碼 ..........................36
練習 ...................................50
總結 ...................................50
第3 章 竊取檔案系統 ......... 53
全盤加密 ............................53
固態NAND .................53
磁碟加密 .....................54
iOS 硬碟加密會讓你在哪裡失敗 ..........................55
複製實時檔案系統 .............56
DataTheft 載荷 ............56
定製launchd ................66
準備RAM 磁碟 ...........72
創建檔案系統鏡像 ......73
複製原始檔案系統 .............75
RawTheft 載荷.............75
定製launchd ................80
準備RAM 磁碟 ...........81
創建檔案系統鏡像 ......82
練習 ...................................83
社會工程學的作用 .............83
無法正常使用的誘餌設備 ....................................84
未激活的誘餌設備 ......85
包含惡意代碼的誘餌 ...86
密碼工程學軟體 ..........86
總結 ...................................87
第4 章 取證跟蹤和數據泄露 ........................................ 89
提取照片的地理標籤 .........90
被合併到一起的GPS 快取 ...................................91
SQLite 資料庫 ....................93
連線到一個資料庫 ......93
SQLite 內建命令 .........94
執行SQL 查詢 ............95
重要的資料庫檔案 ......95
聯繫人地址簿 ..............95
地址簿頭像 .................97
Google 地圖數據 .........99
日曆事件 ................... 105
通話記錄 ................... 105
電子郵件資料庫 ........ 106
筆記 ........................... 107
照片元數據 ............... 108
簡訊 ........................... 108
Safari 書籤 ................. 109
簡訊spotlight 快取 .... 109
Safari Web 快取 ......... 110
Web 套用快取 ........... 110
WebKit 存儲 .............. 110
語音郵件 ................... 110
對殘餘的資料庫記錄進行逆向 ................................. 111
簡訊草稿 .......................... 113
屬性列表 .......................... 113
重要的屬性列表檔案 . 114
其他重要的檔案 ............... 119
總結 ................................. 121
第5 章 對抗加密 .............. 123
Sogeti 數據保護工具 ........ 123
安裝數據保護工具 .... 124
構建暴力破解器 ........ 125
構建需要的Python 庫 ........................................ 126
提取加密密鑰 .................. 126
KeyTheft 載荷 ........... 126
定製launchd .............. 127
準備RAM 磁碟 ......... 128
準備核心 ................... 129
執行暴力破解 ............ 130
解密鑰匙鏈 ...................... 133
解密原始磁碟 .................. 135
解密iTunes 備份檔案 ...... 137
通過間諜件對抗加密 ....... 137
SpyTheft 載荷............ 138
將spyd 守護化 .......... 143
定製launchd .............. 144
準備RAM 磁碟 ......... 145
執行載荷 ................... 145
練習 ................................. 146
總結 ................................. 146
第6 章 無法銷毀的檔案 ... 147
刮取HFS 日誌 ................. 148
還原閒置空間 .................. 150
常被還原出來的數據 ....... 150
套用軟體螢幕截圖 .... 150
已刪除的屬性列表 .... 152
已刪除的語音郵件和錄音 .................................. 152
以刪除的鍵盤快取 .... 152
照片和其他個人信息 . 152
總結 ................................. 153
第7 章 操作運行時環境 ... 155
分析二進制軟體 ............... 156
Mach-O 檔案格式 ...... 156
class-dump-z 簡介 ..... 160
符號表 ....................... 161
加密的二進制檔案 ........... 163
計算偏移值 ............... 164
轉儲記憶體 ................... 165
將解密的代碼複製回檔案 .................................. 167
重置cryptid ............... 168
利用Cycript 操作運行時 . 170
安裝Cycript .............. 171
使用Cycript .............. 171
破解簡單的鎖 ............ 173
替換方法 ................... 180
撒網搜尋數據 ............ 182
記錄數據 ................... 185
更多嚴重的隱含問題 . 186
練習 ................................. 194
SpringBoard 動畫 ...... 194
接聽來電 ................... 195
螢幕截圖 ................... 195
總結 ................................. 195
第8 章 操縱運行時庫 ....... 197
Objective-C 程式解析 ...... 197
類實例變數 ............... 199
類方法 ....................... 200
類方法快取 ............... 200
反彙編與調試 .................. 201
監視 ........................... 206
底層Objective-C 框架 ........................................ 208
Objective-C 接口 ....... 210
惡意代碼注入 .................. 212
CodeTheft 載荷 ......... 212
使用調試器注入 ........ 213
使用動態連線攻擊注入 .... 215
全設備感染 ............... 216
總結 ................................. 217
第9 章 劫持流量 .............. 219
APN 劫持 ......................... 219
交付載荷 ................... 222
清除 ........................... 224
簡單的代理設定 ............... 225
攻擊SSL .......................... 225
SSLStrip .................... 225
Paros Proxy ............... 227
瀏覽器警告 ............... 228
攻擊套用軟體級別的SSL 驗證 ................................ 231
SSLTheft 載荷 ........... 233
劫持基礎HTTP 類 ........... 238
POSTTheft 載荷 ........ 238
分析數據 .......................... 241
Driftnet ............................. 243
構建 ........................... 243
運行 ........................... 244
練習 ................................. 246
總結 ................................. 246
第2 篇 防護
第10 章 加密實現 ............ 249
密碼強度 .......................... 249
當心隨機密碼生成器 . 252
Common Crypto 介紹 ....... 253
無狀態操作 ............... 253
有狀態加密 ............... 258
主密鑰加密 ...................... 261
地理加密 .......................... 266
使用口令的地理加密 . 269
拆分伺服器端密鑰 ........... 271
安全記憶體 .......................... 273
清除記憶體 ................... 274
公鑰加密體系 .................. 275
練習 ................................. 280
第11 章 反取證 ............... 281
安全的檔案擦除 ............... 281
美國國防部 5220.22-M 標準擦除 ....................... 282
Objective-C ............... 284
擦除SQL 記錄 ................. 286
鍵盤快取 .......................... 292
隨機化PIN 碼 .................. 292
應用程式螢幕快照 ........... 294
第12 章 運行時庫安全 ..... 297
篡改回響 .......................... 297
擦除用戶數據 ............ 298
禁止網路訪問 ............ 298
報告機制 ................... 299
啟用日誌記錄 ............ 299
暗樁和自殺分支 ........ 299
進程調試檢測 .................. 300
阻擋調試器 ...................... 302
運行時庫類完整性檢查 .... 304
檢查記憶體地址空間 .... 304
內聯函式 .......................... 316
反彙編複雜化 .................. 324
最佳化標記 ................... 324
去除符號 ................... 329
循環展開-funroll-loops ...................................... 336
練習 ................................. 339
第13 章 越獄檢測 ............ 341
沙盒完整性檢測 ............... 341
檔案系統檢測 .................. 343
越獄檔案是否存在 .... 343
/etc/fstab 檔案大小 .... 344
符號連結檢測 ............ 345
分頁執行檢查 .................. 345
第14 章 下一步 ............... 347
像攻擊者一樣思考 ........... 347
其他逆向攻擊 .................. 347
安全對抗代碼管理 ........... 348
靈活的方式實現安全 ....... 349
其他不錯的書籍 ............... 349
附錄A 新的起點 ............... 351