App安全實(shí)戰(zhàn)指南:Android和iOS App的安全攻防與合規(guī) 安亞龍
定 價(jià):99 元
本書覆蓋Android和iOS兩大主流系統(tǒng),從零開始,帶領(lǐng)讀者全面掌握App安全的知識與技能。全書共分為十章,主要包括以下4個(gè)方面:1.詳細(xì)介紹App的運(yùn)行機(jī)制、分析工具和匯編語言等基礎(chǔ)知識。幫助讀者掌握必要的技術(shù)原理和分析技能。2.主要講解App的常見攻擊方式,以及安全加固和通信安全等傳統(tǒng)的信息安全理念。為開發(fā)者提供有效的防御攻擊的方法,構(gòu)建更加安全的移動(dòng)應(yīng)用。3.重點(diǎn)關(guān)注業(yè)務(wù)防控,包括設(shè)備指紋、設(shè)備環(huán)境檢測和用戶異常行為的識別等。幫助開發(fā)者識別并應(yīng)對各種潛在的安全威脅。4.針對日益嚴(yán)格的App監(jiān)管環(huán)境,根據(jù)《中華人民共和國數(shù)據(jù)安全法》《中華人民共和國個(gè)人信息保護(hù)法》及相關(guān)標(biāo)準(zhǔn),結(jié)合實(shí)操,探討如何實(shí)現(xiàn)App合規(guī)。總之,通過學(xué)習(xí)本書,讀者不僅能夠深入了解App安全的基礎(chǔ)知識與高級技術(shù),還能獲得豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)和實(shí)用的防護(hù)策略。
(1)全面覆蓋App安全:本書覆蓋Android和iOS兩大系統(tǒng)平臺,從基礎(chǔ)原理到高級技術(shù),詳細(xì)介紹了App的運(yùn)行機(jī)制、常見攻擊方式、安全加固、通信安全、業(yè)務(wù)防控及合規(guī)要求,提供了系統(tǒng)化的學(xué)習(xí)路徑與實(shí)戰(zhàn)方法,幫助讀者全面掌握App安全的各個(gè)方面。(2)提供App合規(guī)指導(dǎo):根據(jù)相關(guān)法規(guī)與標(biāo)準(zhǔn),結(jié)合實(shí)操案例,提供了具體的App合規(guī)上架流程,確保符合監(jiān)管要求,幫助企業(yè)和開發(fā)者有效應(yīng)對嚴(yán)峻的安全合規(guī)挑戰(zhàn)。(3)實(shí)戰(zhàn)案例豐富:書中通過大量的一線攻防實(shí)戰(zhàn)案例,展示了主流業(yè)務(wù)場景下的攻防與風(fēng)控手段,如設(shè)備指紋、環(huán)境檢測、用戶行為識別等,幫助讀者更好地理解和應(yīng)對真實(shí)的安全威脅,構(gòu)建更加安全的移動(dòng)應(yīng)用。(4)適用廣泛,讀者友好:本書適合移動(dòng)安全、App開發(fā)、風(fēng)控合規(guī)等領(lǐng)域的工程師及負(fù)責(zé)人閱讀,無論是初學(xué)者還是資深從業(yè)者,都能從中獲益。從基礎(chǔ)入門到高級應(yīng)用,讀者可以逐步深入掌握App安全知識,同時(shí)通過豐富的實(shí)戰(zhàn)案例提升職業(yè)技能。
前 言智能移動(dòng)設(shè)備重塑了人們的生活模式。從手機(jī)到平板電腦,這些設(shè)備已經(jīng)成為日常必需品,并使得越來越多的互聯(lián)網(wǎng)服務(wù)以應(yīng)用程序(App)的形式進(jìn)入人們的工作與生活。然而,它們帶來極大便利的同時(shí),也帶來了眾多的問題與風(fēng)險(xiǎn)。頻繁的信息泄露事件使網(wǎng)絡(luò)用戶的隱私安全岌岌可危,而不斷肆虐的黑灰產(chǎn)活動(dòng),如通過水軍羊毛黨等形式進(jìn)行的惡意行為,使企業(yè)的運(yùn)營成本不斷增加,甚至可能引發(fā)嚴(yán)重的社會負(fù)面影響。這些情況促使政府及企業(yè)高度重視與之相關(guān)的安全治理和防控工作。一方面,政府密集發(fā)布一系列法律法規(guī)及標(biāo)準(zhǔn),如《中華人民共和國數(shù)據(jù)安全法》《中華人民共和國個(gè)人信息保護(hù)法》《常見類型移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序必要個(gè)人信息范圍規(guī)定》等,對相關(guān)違規(guī)行為進(jìn)行公開通報(bào)并實(shí)施懲戒。另一方面,大部分通過App提供服務(wù)的企業(yè)都設(shè)立了負(fù)責(zé)App安全的專職崗位,如移動(dòng)安全工程師,主要負(fù)責(zé)安全測試和加固等工作。根據(jù)不同企業(yè)的實(shí)際情況,這類崗位還需要為風(fēng)控、合規(guī)和法務(wù)等部門提供解決方案或技術(shù)支持。對于移動(dòng)安全工程師的要求,也隨著大環(huán)境的日益嚴(yán)峻和快速發(fā)展變得更加多元化。他們可能需要深入挖掘App里的安全漏洞以避免其被惡意利用,采用合理有效的加固措施對抗非法逆向分析或破解操作,準(zhǔn)確識別客戶端運(yùn)行環(huán)境的安全狀態(tài)以輔助業(yè)務(wù)風(fēng)控或內(nèi)容安全處置,以及協(xié)助法務(wù)或政府關(guān)系等部門排查不符合監(jiān)管法規(guī)的App功能并提供整改建議,等等。由此可見,除了在細(xì)分程度較高、提供專精崗位的少數(shù)企業(yè)中,移動(dòng)安全工程師在大多數(shù)情況下是一個(gè)多領(lǐng)域技能交叉的復(fù)合型崗位。經(jīng)驗(yàn)表明,優(yōu)秀的移動(dòng)安全工程師的招聘工作比其他安全崗位的招聘工作難度更大。這絕對不僅是因?yàn)锳pp出現(xiàn)的時(shí)間晚于Web數(shù)十年,或者因?yàn)橐苿?dòng)安全包含對匯編等技術(shù)的要求導(dǎo)致門檻更高,還因?yàn)橐苿?dòng)安全在過去經(jīng)常被簡單地看作單一領(lǐng)域技術(shù),企業(yè)及部門往往忽略了它與業(yè)務(wù)風(fēng)控和合規(guī)等領(lǐng)域之間天然的融合關(guān)系。為了使讀者對移動(dòng)安全建立更清晰、更完整的認(rèn)知,從而在技術(shù)及職業(yè)上不斷精進(jìn),我編寫了本書。這是一本復(fù)合型的移動(dòng)安全教程,包含基礎(chǔ)知識、安全攻防、業(yè)務(wù)風(fēng)控以及隱私合規(guī)等移動(dòng)安全工程師必知必會的內(nèi)容。請注意,本書在講解攻防原理的過程中會涉及越獄、砸殼及一些常見的攻擊手段,均是為了實(shí)現(xiàn)更全面、更穩(wěn)固的防御機(jī)制,僅限于學(xué)習(xí)交流,不支持非法用途。讀者對象本書適合移動(dòng)安全、風(fēng)控安全、隱私合規(guī)等領(lǐng)域的從業(yè)者閱讀,也適合對安全領(lǐng)域感興趣的讀者學(xué)習(xí)。無論是初學(xué)者還是有一定經(jīng)驗(yàn)的從業(yè)者,都能從中找到合適的內(nèi)容。讀者通過本書,能夠建立起對移動(dòng)安全問題的全面認(rèn)識,掌握相關(guān)的技術(shù)和應(yīng)對策略,從而更好地為安全行業(yè)的健康發(fā)展貢獻(xiàn)力量。在寫作本書的過程中,我力求內(nèi)容豐富、結(jié)構(gòu)清晰、表達(dá)準(zhǔn)確。一方面,本書采用了通俗易懂的語句和生動(dòng)的實(shí)例,幫助讀者更好地理解和掌握知識。另一方面,本書注重實(shí)踐性和可操作性,為讀者提供了實(shí)用的實(shí)例代碼和工具使用技巧。如何閱讀本書在閱讀本書時(shí),建議讀者按照章節(jié)順序逐步深入,從基礎(chǔ)知識開始,逐漸掌握安全攻防、業(yè)務(wù)風(fēng)控及隱私合規(guī)等方面的知識。另外,讀者在閱讀本書的過程中可以結(jié)合自己的工作實(shí)踐,思考如何將這些知識應(yīng)用到實(shí)際工作中。勘誤和支持由于時(shí)間和精力的限制,書中難免存在一些不足之處。如果讀者在閱讀過程中發(fā)現(xiàn)任何錯(cuò)誤或需要進(jìn)一步的解釋,可直接將其提交到https://github.com/aylhex/book-code/issues。我將盡力提供勘誤和支持,確保讀者能夠獲得最準(zhǔn)確、最全面的信息。本書中的實(shí)例代碼全部托管在GitHub上,讀者可以從https://github.com/aylhex/book-code/下載。致謝首先,向我的父母表達(dá)深深的謝意。他們不僅賦予我生命,更用無盡的耐心和關(guān)愛來悉心培育我。在我人生的每一個(gè)階段,他們都給予我最堅(jiān)定的支持和最溫暖的陪伴。正是因?yàn)樗麄兊臒o私奉獻(xiàn),我才有能力和勇氣完成這本書。同時(shí),對我的妻子表達(dá)衷心的感謝。她對我的理解和支持,是我堅(jiān)持下去的動(dòng)力源泉。我經(jīng)常忙于寫作而無法陪伴她,她卻從未有過半句怨言。她讓我在寫作的道路上更加堅(jiān)定、更加從容。最后,由衷感謝所有讀者的支持和關(guān)注。安亞龍
安亞龍,現(xiàn)任好未來集團(tuán)應(yīng)用安全負(fù)責(zé)人,曾擔(dān)任陌陌的移動(dòng)安全負(fù)責(zé)人等。10余年深耕App安全,精通App攻防、業(yè)務(wù)風(fēng)控、隱私合規(guī)、逆向工程和病毒分析等領(lǐng)域。在與黑灰產(chǎn)的長期對抗過程中,主導(dǎo)開發(fā)了具備真機(jī)識別、環(huán)境分析、通信加密等功能的SDK,現(xiàn)在超億級客戶端上穩(wěn)定運(yùn)行,為用戶和企業(yè)提供堅(jiān)實(shí)的安全保障。
目 錄前 言第1章 移動(dòng)應(yīng)用安全基礎(chǔ) 11.1 移動(dòng)應(yīng)用的簽名 11.1.1 Android簽名機(jī)制和原理 11.1.2 iOS簽名機(jī)制和原理 71.2 移動(dòng)應(yīng)用的安裝 111.2.1 Android應(yīng)用安裝 111.2.2 iOS應(yīng)用安裝 131.3 移動(dòng)應(yīng)用的權(quán)限 141.3.1 Android應(yīng)用的權(quán)限 141.3.2 iOS應(yīng)用的權(quán)限 161.4 移動(dòng)應(yīng)用的運(yùn)行 171.4.1 Android應(yīng)用的運(yùn)行 171.4.2 iOS應(yīng)用的運(yùn)行 20第2章 應(yīng)用分析基礎(chǔ) 232.1 常用工具 232.1.1 越獄版商店Cydia 232.1.2 Root工具M(jìn)agisk 252.1.3 Hook框架EdXposed 272.1.4 Hook框架Frida 352.1.5 Hook工具Objection 402.1.6 Hook工具Tweak 432.1.7 安全測試工具Drozer 472.2 常用命令行工具 492.2.1 ADB 492.2.2 readelf 532.2.3 Apktool 552.2.4 Clutch 552.2.5 Class-dump 572.3 Android應(yīng)用分析 582.4 iOS應(yīng)用分析 62第3章 匯編基礎(chǔ) 653.1 Smali匯編基礎(chǔ) 653.1.1 基本類型 653.1.2 寄存器 663.1.3 基礎(chǔ)指令 673.1.4 語法修飾符 703.1.5 函數(shù)調(diào)用 723.1.6 函數(shù)返回值 743.2 ARM匯編基礎(chǔ) 753.2.1 寄存器 753.2.2 基礎(chǔ)指令 783.2.3 函數(shù)調(diào)用 813.2.4 ARM64位匯編 84第4章 常見的攻擊方式 864.1 重簽名攻擊 864.1.1 Android應(yīng)用重簽名 864.1.2 iOS應(yīng)用重簽名 904.2 動(dòng)態(tài)注入與Hook操作 924.2.1 Android動(dòng)態(tài)注入 934.2.2 iOS動(dòng)態(tài)注入 944.2.3 Android Hook攻擊 974.2.4 iOS Hook攻擊 1004.3 動(dòng)態(tài)調(diào)試 1054.3.1 Android動(dòng)態(tài)調(diào)試 1054.3.2 iOS動(dòng)態(tài)調(diào)試 1114.4 Scheme攻擊 1144.5 WebView攻擊 116第5章 客戶端安全加固 1205.1 Java/Kotlin代碼保護(hù) 1205.2 C/C 代碼保護(hù) 1225.2.1 代碼混淆保護(hù) 1225.2.2 文件加殼保護(hù) 1255.3 簽名校驗(yàn) 1265.3.1 Android簽名校驗(yàn) 1265.3.2 iOS簽名校驗(yàn) 1285.4 SO文件保護(hù) 1295.5 應(yīng)用防調(diào)試 1325.5.1 Android應(yīng)用防調(diào)試 1325.5.2 iOS應(yīng)用防調(diào)試 1345.6 完整性校驗(yàn) 1375.6.1 Android應(yīng)用完整性校驗(yàn) 1375.6.2 iOS應(yīng)用完整性校驗(yàn) 1385.7 防動(dòng)態(tài)注入與防Hook 1385.7.1 Android應(yīng)用防動(dòng)態(tài)注入與防Hook 1395.7.2 iOS應(yīng)用防動(dòng)態(tài)注入與防Hook 1405.8 Scheme防護(hù) 1425.9 WebView防護(hù) 143第6章 網(wǎng)絡(luò)通信安全 1456.1 通信防抓包 1456.1.1 代理檢測 1456.1.2 代理對抗 1466.1.3 證書校驗(yàn) 1466.2 數(shù)據(jù)防篡改 1506.2.1 請求參數(shù)防篡改 1506.2.2 請求數(shù)據(jù)防重放 1516.3 通信數(shù)據(jù)加密 152第7章 設(shè)備指紋 1587.1 設(shè)備指紋系統(tǒng) 1587.2 設(shè)備數(shù)據(jù)采集 1597.3 設(shè)備指紋生成 1647.4 設(shè)備指紋隱藏 1657.5 設(shè)備指紋應(yīng)用 166第8章 風(fēng)險(xiǎn)環(huán)境檢測 1698.1 模擬器檢測 1698.2 設(shè)備Root/越獄檢測 1718.2.1 Android Root檢測 1728.2.2 iOS越獄檢測 1748.3 函數(shù)Hook檢測 1758.3.1 Java Hook檢測 1758.3.2 GOT Hook檢測 1778.3.3 Inline Hook檢測 1808.3.4 Swizzle Hook檢測 1838.3.5 Fishhook檢測 1858.3.6 Substrate Hook檢測 1868.4 設(shè)備狀態(tài)檢測 1878.4.1 調(diào)試狀態(tài)檢測 1878.4.2 VPN狀態(tài)檢測 1888.4.3 代理狀態(tài)檢測 1898.4.4 USB調(diào)試狀態(tài)檢測 1908.4.5 充電狀態(tài)檢測 191第9章 異常用戶識別 1929.1 位置篡改識別 1929.2 設(shè)備篡改識別 1939.3 注冊異常識別 1949.4 登錄異常識別 1979.5 協(xié)議破解識別 1989.6 批量控制識別 199第10章 隱私合規(guī) 20210.1 應(yīng)用上架合規(guī) 20210.1.1 軟件著作權(quán)申請 20210.1.2 ICP備案/ICP許可證 20410.1.3 App備案 20610.1.4 安全評估 20810.1.5 CCRC認(rèn)證 21110.1.6 算法備案 21710.2 合規(guī)實(shí)踐指南 21710.2.1 隱私政策 21710.2.2 權(quán)限申請 22010.2.3 個(gè)人信息收集 22110.2.4 雙清單與權(quán)限說明 22310.2.5 個(gè)性化推薦與定向推送 22610.2.6 自啟動(dòng)與關(guān)聯(lián)啟動(dòng) 22710.2.7 廣告展示 22910.3 違規(guī)整改規(guī)范 23110.3.1 工信部 23110.3.2 省通信管理局 23310.3.3 網(wǎng)信辦 23610.3.4 238