iOS 應用安全權威指南

iOS 應用安全權威指南 pdf epub mobi txt 電子書 下載 2025

[美] David,Thiel(戴維?希爾) 著,程偉 譯
圖書標籤:
  • iOS安全
  • 應用安全
  • 移動安全
  • 安全開發
  • 漏洞分析
  • 逆嚮工程
  • 代碼審計
  • 安全測試
  • 防護措施
  • 實戰指南
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 電子工業齣版社
ISBN:9787121306068
版次:1
商品編碼:12100386
品牌:Broadview
包裝:平裝
開本:16開
齣版時間:2017-01-01
用紙:膠版紙
頁數:292
字數:299000
正文語種:中文

具體描述

編輯推薦

適讀人群 :本書適閤有一定經驗、正緻力於探究 iOS 應用漏洞的開發者,也適閤對滲透測試感興趣的讀者。

無論你是要通過探尋、修復編碼漏洞為應用設防,還是想通過探究iOS應用結構及Objective-C設計模式捕獲他人APP漏洞,本書都會藉由以下內容幫助你很好地完成工作。

√ iOS 安全模型及其內置保護模式的局限

√ 無數種會導緻敏感數據泄漏的方式,例如剪貼闆導緻的泄漏

√ 如何使用鑰匙串、數據保護 API 及 CommonCrypto 實現加密

√ 由於 C 語言本身所遺留的缺陷,從而導緻 iOS 應用如今會遇到的一些問題

√ 收集用戶數據所帶來的隱私問題,以及如何避免在收集過程中會遇到的潛在陷阱


內容簡介

對於所有希望保護用戶免受惡意攻擊的開發者來說,消除iOS 應用當中的安全漏洞至關重要。在本書中,移動端安全專傢David Thiel 嚮你揭示瞭那些會導緻嚴重安全問題的常見iOS 編碼漏洞,並闡述瞭找到並修復這些漏洞的方法。避免在應用的安全漏洞方麵齣現重大紕漏很重要。無論是需要加強應用的防禦能力,還是要在他人的代碼當中尋找安全漏洞,本書都能幫助你很好地完成工作。本書適閤有一定經驗、正緻力於探究iOS 應用漏洞的開發者,也適閤對滲透測試感興趣的讀者。

作者簡介

程偉,SwiftGG 翻譯組核心成員,曾做過路由器、防火牆等安全硬件産品的 firmware 研發工作,對 iOS 開發也頗有研究,自 Swift 發布以來一直關注著它的發展,並保持有對新技術的熱忱。目前就職於某國企負責項目管理工作,業餘時間喜歡看書、跑步、燒菜,研究大前端技術棧,希望能通過自己的努力為國內的技術發展添磚加瓦。馬超,iOS 開發工程師,目前就職於某金融公司手機炒股部門,SwiftGG 翻譯組核心成員。自 Apple 推齣 Swift 語言之後開始學習並應用到 iOS 項目開發中,已上架多款應用到 App Store,目前專注於 Server-Side Swift 的開發,正在構思實現一個底層開源庫;業餘時間喜歡逛技術博客,翻譯外文以及和技術大牛交流學習。新浪微博@Ninth_Day。李俊陽(星夜暮晨),Realm 中文翻譯,SwiftGG 翻譯組核心成員,《Xcode 江湖錄》作者之一。沉迷 Swift,自 Swift 發布以來一直在探索和學習 Swift 的開發和使用;熱愛開源,多次嚮 Swift、Realm Cocoa 開源庫貢獻代碼;喜歡獨闢蹊徑,目前在 App Store 上架瞭專門為彝族同胞開發的「彝文輸入法」,希望通過自己的努力讓所有人都能享受科技帶來的便利。 戴維?希爾在計算機安全領域有近20年的經驗,他的研究成果和著作Mobile Application Security(麥格勞-希爾齣版公司)促進瞭iOS應用安全領域的誕生,他還多次在安全大會(比如Black Hat和DEF CON)上進行演講。希爾曾在iSEC擔任多年應用安全顧問,目前就職於Internet.org的Connectivity實驗室。


作者簡介

David Thiel在計算機安全領域有近 20年的經驗,他的研究成果和著作

Mobile Application Security(McGraw-Hill齣版社齣版)促進瞭 iOS應用安全領域的發展,他還多次在安全大會(比如 Black Hat和 DEF CON)上進行演講。 Thiel曾在 iSEC擔任多年應用安全顧問,目前就職於 Internet.org的 Connectivity實驗室。


技術評審者

Alban Diquet是軟件工程師和安全研究員,主要研究領域包括 iOS安全協議、數據隱私和移動安全。Diquet曾發布過幾個開源的安全工具,包括 SSLyze、iOS SSL Kill Switch和 TrustKit。此外,他也經常齣席各種安全會議,包括 Black Hat、 Hack in the Box和 Ruxcon。


目錄

目錄

推薦序 ......................................................................................................................... V

譯者序 ....................................................................................................................... VII

作者簡介 ..................................................................................................................... IX

前言 ............................................................................................................................ XI

緻謝 ......................................................................................................................... XXI

第一部分 iOS 基礎

第1 章 iOS 安全模型 ................................................................................................ 2

安全啓動 ........................................................................................................................... 3

沙盒機製 ........................................................................................................................... 3

數據保護和全盤加密 ........................................................................................................ 4

加密密鑰的層級........................................................................................................ 5

鑰匙串API ................................................................................................................ 7

數據保護API ............................................................................................................ 7

防禦代碼漏洞:ASLR、XN 和其他機製 ....................................................................... 8

越獄檢測 ........................................................................................................................... 9

蘋果商店的審查是否有用 .............................................................................................. 10

WebKit 橋接 ............................................................................................................ 11

XXIV iOS應用安全權威指南

動態修復 ................................................................................................................. 11

故意植入不安全的代碼 .......................................................................................... 12

內嵌解釋器 ............................................................................................................. 12

小結 ................................................................................................................................ 12

第2 章 Objective-C 簡明教程.................................................................................. 13

關鍵的iOS 編程技術 ..................................................................................................... 14

消息傳遞 ......................................................................................................................... 14

剖析Objective-C 程序 .................................................................................................... 15

聲明一個接口 ......................................................................................................... 15

具體實現 ................................................................................................................. 16

使用block 指定迴調 ....................................................................................................... 18

Objective-C 如何管理內存 ............................................................................................. 19

自動引用計數 .................................................................................................................. 19

委托和協議...................................................................................................................... 20

should 消息 .............................................................................................................. 20

will 消息 .................................................................................................................. 21

did 消息 ................................................................................................................... 21

聲明並遵守協議....................................................


精彩書摘

推薦序

在數字浪潮席捲全球之前,人們齣門時並不會隨身攜帶裝滿私人敏感信息的電子設備。而現在,幾乎每個人都會隨身攜帶一部手機,裏麵裝滿瞭各種私人信息。

智能手機給我們帶來的不隻是便利。它包含如此多的信息,對許多美國人來說,它就是“生活隱私”的載體。技術的進步讓信息無處不在,但是這並不會降低信息的重要性,我們需要為瞭保護信息不斷奮鬥,就像國父們一樣。

——首席大法官 John Roberts,齣自萊利訴加利福尼亞案(2014)

大多數人都承認,智能手機是 21世紀影響力昀大的發明。自 2007年第一代 iPhone問世以來,智能手機的用戶量暴增。到 2015年年末寫這本書時,全球已有近 34億手機用戶,大概占世界人口的一半(全世界有超過 73億人)。在全球範圍內,智能手機已經超過瞭電腦,成為訪問互聯網的主力。智能手機的普及對人類文明的影響完全能寫一本書。手機正在改變世界,無數人通過手機訪問互聯網上的教育和娛樂資源,到處都是金礦。在某些國傢,移動互聯網和社交網絡甚至能讓專製政權垮颱,能推動社會變革。

即使是美國昀高法院的七旬老人也已經意識到現代移動設備的威力,並做齣瞭新的判例。就像上麵萊利訴加利福尼亞案所提到的,智能手機不僅是一部電子設備——它是人民隱私的入口。

和所有的技術革命一樣,移動技術的普及也會産生一些負麵影響。我們有能力與世界各地的人建立聯係,但這並不能提升麵對麵的溝通能力,而且移動技術也無法消除世界上長久以來的貧富差距。與此同時,和企業雲計算、個人計算機及網絡革命一樣,智能手機也會引入新的安全漏洞,同時需要麵對現有的各種安全問題。

2007年發布的智能手機確實有一些重要的技術創新,但是真正吸引第三方開發者的是之後發布的 SDK和開放應用商店。由此也誕生瞭一批新時代的開發者,他們需要從過去的安全教訓中汲取經驗,適應未來全新的、不確定的環境。

我和 David Thiel已經相識 10年之久,他對新技術的熱情給我留下瞭深刻的印象。一旦齣現新技術, David就會馬上通過檢查、反編譯、破解來掌握它,並用新知識來增強其他技術的安全性。David很早就意識到 iPhone會齣現新的安全問題,因此從 iPhone操作係統 SDK發布的第一天起,他就已經開始研究應用開發者可能會犯的錯誤,以及如何越過平颱限製開發安全的應用。

本書是迄今為止對 iOS安全介紹昀為全麵的書籍。每一位心係用戶的開發者都應該遵循本書的指導來設計自身的産品、組織結構和技術決策。David把多年來踩過的坑和解決方案都寫瞭下來,希望你能認真學習。

智能手機潛力巨大,但要讓它真正發揮作用,我們必須盡昀大努力讓設備安全可信,保護用戶隱私不被泄露。

Alex Stamos Facebook首席安全官


譯者序

隨著 2007年第一代 iPhone的誕生,一個嶄新的移動互聯網時代拉開瞭序幕。截至 iPhone 7上市,蘋果的 Apple Store應用纍計下載 1400億次,巨大的商機令全球的開發者們紛至遝來。截至 2015年,僅中國的開發者人數就突破瞭 100萬,穩居世界第一。

隨著硬件機能的日新月異,iOS——這一具有劃時代意義的操作係統也迎來瞭它的 10歲生日。在每年的 WWDC上,蘋果總是不遺餘力地嚮全世界的開發者們展示最新的操作係統,介紹新的特性、新的 API,甚至是最佳編程實踐。

然而正所謂樹大招風,iPhone用戶也是黑産們眼中高質量的攻擊目標。雖然蘋果獨特的沙盒機製已經最大限度地保護瞭用戶的隱私安全,但目前針對 iOS的黑色産業鏈已涉及方方麵麵。 2015年 9月中國大陸地區齣現瞭 XcodeGhost病毒感染開發工具 Xcode的風波,給所有 iOS開發的從業者敲響瞭警鍾,就連微信這種國民級 App都未能幸免,這進一步說明瞭提升國內 iOS開發者安全意識的緊迫性。

每次 iOS版本更新時,市麵上都會齣版大量與 iOS開發相關的書籍,但絕大部分的書都是教你如何使用 iOS SDK提供的 API來開發一個 App。大多數情況下,能熟練運用這些 API就足夠瞭,但如果想立誌成為一名進階的 iOS開發者,使編寫齣來的代碼更加穩定和安全,就要對 iOS係統的底層細節和安全機製有所瞭解。可惜的是,市麵上關於 iOS係統安全機製和底層研究的書鳳毛麟角。

Swift.GG作為國內最走心的翻譯組之一,通過一次偶然的機會得知電子工業齣版社正在尋找《iOS應用安全權威指南》一書的譯者。雙方一拍即閤,決定為中國的開發者們帶來一本關於 iOS安全機製與底層細節的書籍,從而補上 iOS開發“安全”這最後一塊拼圖。

本書的作者 David Thiel,自 2008年初代 iPhone誕生後的第一年起,就開始對 iOS應用進行各種安全檢測和滲透實驗,時至今日,已經積攢瞭大量的經驗。無論你是剛入門的小菜鳥,還是已經摸爬滾打多年的老司機,本書都會循序漸進地帶你重溫 iOS最基礎的基本結構、安全背景;再更進一步地手把手教你搭建一個安全測試環境,進行代碼分析、逆嚮工程;之後本書將 iOS最薄弱、易受攻擊的軟肋一一列舉,並告訴開發者如何避開這些陷阱;最後一部分,將會為我們演示如何利用加密手段最大限度地保護用戶的數據和隱私。

本書在翻譯過程中,得到瞭阿裏巴巴安全大神蒸米同學的悉心指導;在本書的校對過程中,SwiftGG的創始人梁傑同學提齣瞭很高的要求,並投入瞭極大的精力,在此對二位提齣特彆感謝。參與翻譯的李俊陽、馬超同學,以及後期參與校對的 SwiftGG小夥伴們,雖然大傢身處異地,但從翻譯到校對的整個過程都配閤得行雲流水,體現齣瞭整個團隊的高效與專業,無愧於國內“走心翻譯組”這一稱號,再次感謝大傢。最後感謝電子工業齣版社給瞭我們這次機會,感謝編輯們和審稿專傢的細心檢查。譯者水平有限,bug在所難免,還請讀者批評指正。

程偉 2016年 12月 5日


前言/序言

推薦序

在數字浪潮席捲全球之前,人們齣門時並不會隨身攜帶裝滿私人敏感信息的電子設備。而現在,幾乎每個人都會隨身攜帶一部手機,裏麵裝滿瞭各種私人信息。

智能手機給我們帶來的不隻是便利。它包含如此多的信息,對許多美國人來說,它就是“生活隱私”的載體。技術的進步讓信息無處不在,但是這並不會降低信息的重要性,我們需要為瞭保護信息不斷奮鬥,就像國父們一樣。

——首席大法官John Roberts,齣自萊利訴加利福尼亞案(2014)

大多數人都承認,智能手機是21 世紀影響力最大的發明。自 2007 年第一代iPhone 問世以來,智能手機的用戶量暴增。到2015 年年末寫這本書時,全球已有近34 億手機用戶,大概占世界人口的一半(全世界有超過73 億人)。在全球範圍內,智能手機已經超過瞭電腦,成為訪問互聯網的主力。智能手機的普及對人類文明的影響完全能寫一本書。手機正在改變世界,無數人通過手

機訪問互聯網上的教育和娛樂資源,到處都是金礦。在某些國傢,移動互聯網和社交網絡甚至能讓專製政權垮颱,能推動社會變革。

即使是美國最高法院的七旬老人也已經意識到現代移動設備的威力,並做齣瞭新的判例。就像上麵萊利訴加利福尼亞案所提到的,智能手機不僅是一部電子設備——它是人民隱私的入口。

和所有的技術革命一樣,移動技術的普及也會産生一些負麵影響。我們有能力與世界各地的人建立聯係,但這並不能提升麵對麵的溝通能力,而且移動技術也無法消除世界上長久以來的貧富差距。與此同時,和企業雲計算、個人計算機及網絡革命一樣,智能手機也會引入新的安全漏洞,同時需要麵對現有的各種安全問題。

2007 年發布的智能手機確實有一些重要的技術創新,但是真正吸引第三方開發者的是之後發布的SDK 和開放應用商店。由此也誕生瞭一批新時代的開發者,他們需要從過去的安全教訓中汲取經驗,適應未來全新的、不確定的環境。

我和David Thiel 已經相識10 年之久,他對新技術的熱情給我留下瞭深刻的印象。一旦齣現新技術,David 就會馬上通過檢查、反編譯、破解來掌握它,並用新知識來增強其他技術的安全性。David 很早就意識到iPhone 會齣現新的安全問題,因此從iPhone 操作係統SDK 發布的第一天起,他就已經開始研究應用開發者可能會犯的錯誤,以及如何越過平颱限製開發安全的應用。

本書是迄今為止對iOS 安全介紹最為全麵的書籍。每一位心係用戶的開發者都應該遵循本書的指導來設計自身的産品、組織結構和技術決策。David 把多年來踩過的坑和解決方案都寫瞭下來,希望你能認真學習。

智能手機潛力巨大,但要讓它真正發揮作用,我們必須盡最大努力讓設備安全可信,保護用戶隱私不被泄露。

Alex Stamos

Facebook 首席安全官


譯者序

隨著2007 年第一代iPhone 的誕生,一個嶄新的移動互聯網時代拉開瞭序幕。截至iPhone 7 上市,蘋果的Apple Store 應用纍積下載1400 億次,巨大的商機令全球的開發者們紛至遝來。截至2015 年,僅中國的開發者就突破瞭100萬,穩居世界第一。

隨著硬件機能的日新月異,iOS——這一具有劃時代意義的操作係統也迎來瞭它的10 歲生日。在每年的WWDC 上,蘋果總是不遺餘力地嚮全世界的開發者們展示最新的操作係統,介紹新的特性、新的API,甚至是最佳編程實踐。

然而正所謂樹大招風,iPhone 用戶也是黑産們眼中高質量的攻擊目標。雖然蘋果獨特的沙盒機製已經最大限度地保護瞭用戶的隱私安全,但目前針對iOS 的黑色産業鏈已涉及方方麵麵。2015 年9 月中國大陸地區齣現瞭XcodeGhost 病毒感染開發工具Xcode 的風波,給所有iOS 開發的從業者敲響瞭警鍾,就連微信這種國民級App 都未能幸免,這進一步說明瞭提升國內iOS開發者安全意識的緊迫性。

每次iOS 版本更新時,市麵上都會齣版大量與iOS 開發相關的書籍,但絕大部分的書都是教你如何使用iOS SDK 提供的API 來開發一個App。大多數情況下,能熟練運用這些API 就足夠瞭,但如果想立誌成為一名進階的iOS 開發者,使編寫齣來的代碼更加穩定和安全,就要對iOS 係統的底層細節和安全機製有所瞭解。可惜的是,市麵上關於iOS 係統安全機製和底層研究的書鳳毛

麟角。

Swift.GG 作為國內最走心的翻譯組之一,通過一次偶然的機會得知電子工業齣版社正在尋找《iOS 應用安全權威指南》一書的譯者。雙方一拍即閤,決定為中國的開發者們帶來一本關於iOS 安全機製與底層細節的書籍,從而補上iOS 開發“安全”這最後一塊拼圖。

本書的作者David Thiel,自2008 年初代iPhone 誕生後的第一年起,就開始對iOS 應用進行各種安全檢測和滲透實驗,時至今日,已經積攢瞭大量的經驗。

無論你是剛入門的小菜鳥,還是已經摸爬滾打多年的老司機,本書都會循序漸進地帶你重溫iOS 最基礎的基本結構、安全背景;再更進一步地手把手教你搭建一個安全測試環境,進行代碼分析、逆嚮工程;之後本書將iOS 最薄弱、易受攻擊的軟肋一一列舉,並告訴開發者如何避開這些陷阱;最後一部分,將會為我們演示如何利用加密手段最大限度地保護用戶的數據和隱私。

本書在翻譯過程中,得到瞭阿裏巴巴安全大神蒸米同學的悉心指導;在本書的校對過程中,SwiftGG 的創始人梁傑同學提齣瞭很高的要求,並投入瞭極大的精力,在此對二位提齣特彆感謝。參與翻譯的李俊陽、馬超同學,以及後期參與校對的SwiftGG 小夥伴們,雖然大傢身處異地,但從翻譯到校對的整個過程都配閤得行雲流水,體現齣瞭整個團隊的高效與專業,無愧於國內“走心

翻譯組”這一稱號,再次感謝大傢。最後感謝電子工業齣版社給瞭我們這次機會,感謝編輯們和審稿專傢的細心檢查。譯者水平有限,bug 在所難免,還請讀者批評指正。

程偉


前言

目前市麵上有許多與iOS 安全有關的文章,主要涉及iOS 的安全模型、越獄、查找代碼執行漏洞以及其他一些安全相關的特性。此外,還有一些文章從取證學角度來介紹,比如在犯罪調查中如何從物理設備或備份中提取數據。這些信息非常有用,但市麵上主流的iOS 書籍都在介紹應用開發,而本書的目標是要填補一個更大的空白。

在真實世界中,人們的注意力並沒有聚焦在如何開發安全的iOS 應用或對iOS 應用進行安全評估上。由此産生的後果,就是在iOS 應用中存在著一些令人尷尬的安全漏洞,這些漏洞會曝光用戶的敏感數據、規避認證機製,甚至濫用用戶隱私(無論是有意還是無意的)。隨著iPhone 等智能設備的普及,人們越來越多地使用iOS 來處理一些關鍵任務,並委托這些應用來處理與之相關的

大量敏感信息,所以iOS 應用的安全性需要被充分考慮到。

我編寫本書的目的,就是盡可能地為讀者介紹真實環境中是如何安全地開發iOS 應用程序的。iOS 是一個快速更迭的係統,但是我會盡可能講解一些不變的知識,並教你使用一些工具來剖析iOS 係統,讓你能適應未來API 的變化(萬變不離其宗)。

不同版本的iOS 存在不同的安全漏洞。雖然蘋果已經終結瞭某些設備的壽命(停産),但是開發者仍然希望他們的應用能夠運行在這些老舊設備上(比如第一代iPad)。本書所要展示的漏洞覆蓋瞭(本書完稿之時)從iOS 5.x 到9.0 的係統,針對每一個版本,我都會討論相應的風險與應對措施。

本書的目標讀者首先,這是一本關於安全的書。如果你是一個開發者或者安全專傢,並且

正在研究iOS 應用存在的漏洞(以及對應的修復方法),那麼恭喜你,看這本書就對瞭!

如果你有一些iOS 開發經驗或者熟悉iOS 應用的底層工作機製,那麼你將從本書中學到大量的乾貨。不過,即使沒有這些知識,隻要你是一個有經驗的程序員或滲透測試人員,必要時有鑽研蘋果官方文檔的勇氣,那就完全可以暢讀本書。我會在第2 章帶你快速預覽一遍Objective-C 和一些常用的API,順便熟悉一下Cocoa Touch。如果需要強化一下語言方麵的基礎知識(或者想復習

一下),可以從第2 章開始。

本書的內容

大概從2008 年開始,我就一直在進行各種各樣的iOS 應用安全檢測和滲透實驗,從中收集瞭大量的陷阱和錯誤,這些都是開發者在實際開發iOS 應用程序時會碰到的。如果你正在尋求更安全的應用開發最佳實踐,又或者是作為一個安全專傢想要學習如何定位iOS 的安全問題,那麼你一定不能錯過本書總結的知識點。

本書的結構

第一部分:iOS 基礎,你將深入瞭解iOS 的背景,熟悉它的安全曆史及其應用程序的基本結構。

? 第1 章:iOS 安全模型,簡要分析iOS 的安全模型,介紹該平颱的基礎防範措施,展示它能做什麼、不能做什麼。

? 第2 章:Objective-C 簡明教程,解釋瞭Objective-C 與其他編程語言的不同之處,簡要介紹瞭一些專業術語和設計模式。對於經驗豐富的Objective-C 程序員來說,這可能並不算什麼新的內容,但是對於初學者和初次涉獵iOS 的開發者來說很有價值。

? 第3 章:iOS 應用剖析,概述瞭iOS 應用程序的結構和打包方式,研究瞭本地的存儲機製以及泄露敏感信息的方式。

第二部分:安全性測試,你將學習如何在開發或滲透測試中建立安全的測試環境,我也會分享一些配置Xcode 的小技巧,從而最大化地利用現有的安全機製。

? 第4 章:構建測試平颱,工欲善其事必先利其器,本章將介紹所有用到的工具軟件,並學習如何配置這些軟件,讓它們幫助我們來檢查和測試iOS 應用。具體來說,本章將會介紹模擬器、配置代理、繞過TLS 驗證以及分析應用的特徵行為。

? 第5 章:使用lldb 和其他工具進行調試,你可以使用lldb 和Xcode 的內建工具來更加深入地監控應用程序的行為,這些工具將幫助你分析代碼中的復雜問題,還能幫你實現錯誤注入這樣的功能。

? 第6 章:黑盒測試,深入



用戶評價

評分

發貨很快,包裝完整,定瞭很多書,快遞師傅送過來不容易

評分

完好

評分

不錯,看看,學習一下安全

評分

買來還沒看,英文版之前看過不錯的,希望翻譯到位

評分

很好,內容比較精煉。快遞很快!

評分

一次買瞭十幾本。不錯的書。

評分

還不錯,圖文一緻,內容很細。

評分

還不錯,主要是京東快遞給力

評分

還是京東自營書最好,這次購物非常滿意。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有