對于所有希望保護(hù)用戶免受惡意攻擊的開發(fā)者來說,消除iOS應(yīng)用當(dāng)中的安全漏洞至關(guān)重要。在本書中,移動端安全專家戴維·希爾向你揭示了那些會導(dǎo)致嚴(yán)重安全問題的常見iOS編碼漏洞,并闡述了該如何找到并修復(fù)這些漏洞的方法。避免在應(yīng)用的安全漏洞方面出現(xiàn)重大紕漏很重要。無論是需要加強(qiáng)應(yīng)用的防御能力,還是要在他人的代碼當(dāng)中尋找安全漏洞,本書都能幫助你很好地完成這項(xiàng)工作。
無論你是要通過探尋、修復(fù)編碼漏洞為應(yīng)用設(shè)防,還是想通過探究iOS應(yīng)用結(jié)構(gòu)及Objective-C設(shè)計(jì)模式捕獲他人APP漏洞,本書都會借由以下內(nèi)容幫助你很好地完成工作。
√ iOS 安全模型及其內(nèi)置保護(hù)模式的局限
√ 無數(shù)種會導(dǎo)致敏感數(shù)據(jù)泄漏的方式,例如剪貼板導(dǎo)致的泄漏
√ 如何使用鑰匙串、數(shù)據(jù)保護(hù) API 及 CommonCrypto 實(shí)現(xiàn)加密
√ 由于 C 語言本身所遺留的缺陷,從而導(dǎo)致 iOS 應(yīng)用如今會遇到的一些問題
√ 收集用戶數(shù)據(jù)所帶來的隱私問題,以及如何避免在收集過程中會遇到的潛在陷阱
程偉,SwiftGG 翻譯組核心成員,曾做過路由器、防火墻等安全硬件產(chǎn)品的 firmware 研發(fā)工作,對 iOS 開發(fā)也頗有研究,自 Swift 發(fā)布以來一直關(guān)注著它的發(fā)展,并保持有對新技術(shù)的熱忱。目前就職于某國企負(fù)責(zé)項(xiàng)目管理工作,業(yè)余時(shí)間喜歡看書、跑步、燒菜,研究大前端技術(shù)棧,希望能通過自己的努力為國內(nèi)的技術(shù)發(fā)展添磚加瓦。馬超,iOS 開發(fā)工程師,目前就職于某金融公司手機(jī)炒股部門,SwiftGG 翻譯組核心成員。自 Apple 推出 Swift 語言之后開始學(xué)習(xí)并應(yīng)用到 iOS 項(xiàng)目開發(fā)中,已上架多款應(yīng)用到 App Store,目前專注于 Server-Side Swift 的開發(fā),正在構(gòu)思實(shí)現(xiàn)一個(gè)底層開源庫;業(yè)余時(shí)間喜歡逛技術(shù)博客,翻譯外文以及和技術(shù)大牛交流學(xué)習(xí)。新浪微博@Ninth_Day。李俊陽(星夜暮晨),Realm 中文翻譯,SwiftGG 翻譯組核心成員,《Xcode 江湖錄》作者之一。沉迷 Swift,自 Swift 發(fā)布以來一直在探索和學(xué)習(xí) Swift 的開發(fā)和使用;熱愛開源,多次向 Swift、Realm Cocoa 開源庫貢獻(xiàn)代碼;喜歡獨(dú)辟蹊徑,目前在 App Store 上架了專門為彝族同胞開發(fā)的「彝文輸入法」,希望通過自己的努力讓所有人都能享受科技帶來的便利。 戴維?希爾在計(jì)算機(jī)安全領(lǐng)域有近20年的經(jīng)驗(yàn),他的研究成果和著作Mobile Application Security(麥格勞-希爾出版公司)促進(jìn)了iOS應(yīng)用安全領(lǐng)域的誕生,他還多次在安全大會(比如Black Hat和DEF CON)上進(jìn)行演講。希爾曾在iSEC擔(dān)任多年應(yīng)用安全顧問,目前就職于Internet.org的Connectivity實(shí)驗(yàn)室。
作者簡介
David Thiel在計(jì)算機(jī)安全領(lǐng)域有近 20年的經(jīng)驗(yàn),他的研究成果和著作
Mobile Application Security(McGraw-Hill出版社出版)促進(jìn)了 iOS應(yīng)用安全領(lǐng)域的發(fā)展,他還多次在安全大會(比如 Black Hat和 DEF CON)上進(jìn)行演講。 Thiel曾在 iSEC擔(dān)任多年應(yīng)用安全顧問,目前就職于 Internet.org的 Connectivity實(shí)驗(yàn)室。
技術(shù)評審者
Alban Diquet是軟件工程師和安全研究員,主要研究領(lǐng)域包括 iOS安全協(xié)議、數(shù)據(jù)隱私和移動安全。Diquet曾發(fā)布過幾個(gè)開源的安全工具,包括 SSLyze、iOS SSL Kill Switch和 TrustKit。此外,他也經(jīng)常出席各種安全會議,包括 Black Hat、 Hack in the Box和 Ruxcon。
目錄
推薦序 ......................................................................................................................... V
譯者序 ....................................................................................................................... VII
作者簡介 ..................................................................................................................... IX
前言 ............................................................................................................................ XI
致謝 ......................................................................................................................... XXI
第一部分 iOS 基礎(chǔ)
第1 章 iOS 安全模型 ................................................................................................ 2
安全啟動 ........................................................................................................................... 3
沙盒機(jī)制 ........................................................................................................................... 3
數(shù)據(jù)保護(hù)和全盤加密 ........................................................................................................ 4
加密密鑰的層級........................................................................................................ 5
鑰匙串API ................................................................................................................ 7
數(shù)據(jù)保護(hù)API ............................................................................................................ 7
防御代碼漏洞:ASLR、XN 和其他機(jī)制 ....................................................................... 8
越獄檢測 ........................................................................................................................... 9
蘋果商店的審查是否有用 .............................................................................................. 10
WebKit 橋接 ............................................................................................................ 11
XXIV iOS應(yīng)用安全權(quán)威指南
動態(tài)修復(fù) ................................................................................................................. 11
故意植入不安全的代碼 .......................................................................................... 12
內(nèi)嵌解釋器 ............................................................................................................. 12
小結(jié) ................................................................................................................................ 12
第2 章 Objective-C 簡明教程.................................................................................. 13
關(guān)鍵的iOS 編程技術(shù) ..................................................................................................... 14
消息傳遞 ......................................................................................................................... 14
剖析Objective-C 程序 .................................................................................................... 15
聲明一個(gè)接口 ......................................................................................................... 15
具體實(shí)現(xiàn) ................................................................................................................. 16
使用block 指定回調(diào) ....................................................................................................... 18
Objective-C 如何管理內(nèi)存 ............................................................................................. 19
自動引用計(jì)數(shù) .................................................................................................................. 19
委托和協(xié)議...................................................................................................................... 20
should 消息 .............................................................................................................. 20
will 消息 .................................................................................................................. 21
did 消息 ................................................................................................................... 21
聲明并遵守協(xié)議....................................................