App安全实战指南:Android和iOS App的安全攻防与合规 安亚龙
定 价:99 元
本书覆盖Android和iOS两大主流系统,从零开始,带领读者全面掌握App安全的知识与技能。全书共分为十章,主要包括以下4个方面:1.详细介绍App的运行机制、分析工具和汇编语言等基础知识。帮助读者掌握必要的技术原理和分析技能。2.主要讲解App的常见攻击方式,以及安全加固和通信安全等传统的信息安全理念。为开发者提供有效的防御攻击的方法,构建更加安全的移动应用。3.重点关注业务防控,包括设备指纹、设备环境检测和用户异常行为的识别等。帮助开发者识别并应对各种潜在的安全威胁。4.针对日益严格的App监管环境,根据《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》及相关标准,结合实操,探讨如何实现App合规。总之,通过学习本书,读者不仅能够深入了解App安全的基础知识与高级技术,还能获得丰富的实战经验和实用的防护策略。
(1)全面覆盖App安全:本书覆盖Android和iOS两大系统平台,从基础原理到高级技术,详细介绍了App的运行机制、常见攻击方式、安全加固、通信安全、业务防控及合规要求,提供了系统化的学习路径与实战方法,帮助读者全面掌握App安全的各个方面。(2)提供App合规指导:根据相关法规与标准,结合实操案例,提供了具体的App合规上架流程,确保符合监管要求,帮助企业和开发者有效应对严峻的安全合规挑战。(3)实战案例丰富:书中通过大量的一线攻防实战案例,展示了主流业务场景下的攻防与风控手段,如设备指纹、环境检测、用户行为识别等,帮助读者更好地理解和应对真实的安全威胁,构建更加安全的移动应用。(4)适用广泛,读者友好:本书适合移动安全、App开发、风控合规等领域的工程师及负责人阅读,无论是初学者还是资深从业者,都能从中获益。从基础入门到高级应用,读者可以逐步深入掌握App安全知识,同时通过丰富的实战案例提升职业技能。
前 言智能移动设备重塑了人们的生活模式。从手机到平板电脑,这些设备已经成为日常必需品,并使得越来越多的互联网服务以应用程序(App)的形式进入人们的工作与生活。然而,它们带来极大便利的同时,也带来了众多的问题与风险。频繁的信息泄露事件使网络用户的隐私安全岌岌可危,而不断肆虐的黑灰产活动,如通过水军羊毛党等形式进行的恶意行为,使企业的运营成本不断增加,甚至可能引发严重的社会负面影响。这些情况促使政府及企业高度重视与之相关的安全治理和防控工作。一方面,政府密集发布一系列法律法规及标准,如《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》《常见类型移动互联网应用程序必要个人信息范围规定》等,对相关违规行为进行公开通报并实施惩戒。另一方面,大部分通过App提供服务的企业都设立了负责App安全的专职岗位,如移动安全工程师,主要负责安全测试和加固等工作。根据不同企业的实际情况,这类岗位还需要为风控、合规和法务等部门提供解决方案或技术支持。对于移动安全工程师的要求,也随着大环境的日益严峻和快速发展变得更加多元化。他们可能需要深入挖掘App里的安全漏洞以避免其被恶意利用,采用合理有效的加固措施对抗非法逆向分析或破解操作,准确识别客户端运行环境的安全状态以辅助业务风控或内容安全处置,以及协助法务或政府关系等部门排查不符合监管法规的App功能并提供整改建议,等等。由此可见,除了在细分程度较高、提供专精岗位的少数企业中,移动安全工程师在大多数情况下是一个多领域技能交叉的复合型岗位。经验表明,优秀的移动安全工程师的招聘工作比其他安全岗位的招聘工作难度更大。这绝对不仅是因为App出现的时间晚于Web数十年,或者因为移动安全包含对汇编等技术的要求导致门槛更高,还因为移动安全在过去经常被简单地看作单一领域技术,企业及部门往往忽略了它与业务风控和合规等领域之间天然的融合关系。为了使读者对移动安全建立更清晰、更完整的认知,从而在技术及职业上不断精进,我编写了本书。这是一本复合型的移动安全教程,包含基础知识、安全攻防、业务风控以及隐私合规等移动安全工程师必知必会的内容。请注意,本书在讲解攻防原理的过程中会涉及越狱、砸壳及一些常见的攻击手段,均是为了实现更全面、更稳固的防御机制,仅限于学习交流,不支持非法用途。读者对象本书适合移动安全、风控安全、隐私合规等领域的从业者阅读,也适合对安全领域感兴趣的读者学习。无论是初学者还是有一定经验的从业者,都能从中找到合适的内容。读者通过本书,能够建立起对移动安全问题的全面认识,掌握相关的技术和应对策略,从而更好地为安全行业的健康发展贡献力量。在写作本书的过程中,我力求内容丰富、结构清晰、表达准确。一方面,本书采用了通俗易懂的语句和生动的实例,帮助读者更好地理解和掌握知识。另一方面,本书注重实践性和可操作性,为读者提供了实用的实例代码和工具使用技巧。如何阅读本书在阅读本书时,建议读者按照章节顺序逐步深入,从基础知识开始,逐渐掌握安全攻防、业务风控及隐私合规等方面的知识。另外,读者在阅读本书的过程中可以结合自己的工作实践,思考如何将这些知识应用到实际工作中。勘误和支持由于时间和精力的限制,书中难免存在一些不足之处。如果读者在阅读过程中发现任何错误或需要进一步的解释,可直接将其提交到https://github.com/aylhex/book-code/issues。我将尽力提供勘误和支持,确保读者能够获得最准确、最全面的信息。本书中的实例代码全部托管在GitHub上,读者可以从https://github.com/aylhex/book-code/下载。致谢首先,向我的父母表达深深的谢意。他们不仅赋予我生命,更用无尽的耐心和关爱来悉心培育我。在我人生的每一个阶段,他们都给予我最坚定的支持和最温暖的陪伴。正是因为他们的无私奉献,我才有能力和勇气完成这本书。同时,对我的妻子表达衷心的感谢。她对我的理解和支持,是我坚持下去的动力源泉。我经常忙于写作而无法陪伴她,她却从未有过半句怨言。她让我在写作的道路上更加坚定、更加从容。最后,由衷感谢所有读者的支持和关注。安亚龙
安亚龙,现任好未来集团应用安全负责人,曾担任陌陌的移动安全负责人等。10余年深耕App安全,精通App攻防、业务风控、隐私合规、逆向工程和病毒分析等领域。在与黑灰产的长期对抗过程中,主导开发了具备真机识别、环境分析、通信加密等功能的SDK,现在超亿级客户端上稳定运行,为用户和企业提供坚实的安全保障。
目 录前 言第1章 移动应用安全基础 11.1 移动应用的签名 11.1.1 Android签名机制和原理 11.1.2 iOS签名机制和原理 71.2 移动应用的安装 111.2.1 Android应用安装 111.2.2 iOS应用安装 131.3 移动应用的权限 141.3.1 Android应用的权限 141.3.2 iOS应用的权限 161.4 移动应用的运行 171.4.1 Android应用的运行 171.4.2 iOS应用的运行 20第2章 应用分析基础 232.1 常用工具 232.1.1 越狱版商店Cydia 232.1.2 Root工具Magisk 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应用分析 582.4 iOS应用分析 62第3章 汇编基础 653.1 Smali汇编基础 653.1.1 基本类型 653.1.2 寄存器 663.1.3 基础指令 673.1.4 语法修饰符 703.1.5 函数调用 723.1.6 函数返回值 743.2 ARM汇编基础 753.2.1 寄存器 753.2.2 基础指令 783.2.3 函数调用 813.2.4 ARM64位汇编 84第4章 常见的攻击方式 864.1 重签名攻击 864.1.1 Android应用重签名 864.1.2 iOS应用重签名 904.2 动态注入与Hook操作 924.2.1 Android动态注入 934.2.2 iOS动态注入 944.2.3 Android Hook攻击 974.2.4 iOS Hook攻击 1004.3 动态调试 1054.3.1 Android动态调试 1054.3.2 iOS动态调试 1114.4 Scheme攻击 1144.5 WebView攻击 116第5章 客户端安全加固 1205.1 Java/Kotlin代码保护 1205.2 C/C 代码保护 1225.2.1 代码混淆保护 1225.2.2 文件加壳保护 1255.3 签名校验 1265.3.1 Android签名校验 1265.3.2 iOS签名校验 1285.4 SO文件保护 1295.5 应用防调试 1325.5.1 Android应用防调试 1325.5.2 iOS应用防调试 1345.6 完整性校验 1375.6.1 Android应用完整性校验 1375.6.2 iOS应用完整性校验 1385.7 防动态注入与防Hook 1385.7.1 Android应用防动态注入与防Hook 1395.7.2 iOS应用防动态注入与防Hook 1405.8 Scheme防护 1425.9 WebView防护 143第6章 网络通信安全 1456.1 通信防抓包 1456.1.1 代理检测 1456.1.2 代理对抗 1466.1.3 证书校验 1466.2 数据防篡改 1506.2.1 请求参数防篡改 1506.2.2 请求数据防重放 1516.3 通信数据加密 152第7章 设备指纹 1587.1 设备指纹系统 1587.2 设备数据采集 1597.3 设备指纹生成 1647.4 设备指纹隐藏 1657.5 设备指纹应用 166第8章 风险环境检测 1698.1 模拟器检测 1698.2 设备Root/越狱检测 1718.2.1 Android Root检测 1728.2.2 iOS越狱检测 1748.3 函数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 设备状态检测 1878.4.1 调试状态检测 1878.4.2 VPN状态检测 1888.4.3 代理状态检测 1898.4.4 USB调试状态检测 1908.4.5 充电状态检测 191第9章 异常用户识别 1929.1 位置篡改识别 1929.2 设备篡改识别 1939.3 注册异常识别 1949.4 登录异常识别 1979.5 协议破解识别 1989.6 批量控制识别 199第10章 隐私合规 20210.1 应用上架合规 20210.1.1 软件著作权申请 20210.1.2 ICP备案/ICP许可证 20410.1.3 App备案 20610.1.4 安全评估 20810.1.5 CCRC认证 21110.1.6 算法备案 21710.2 合规实践指南 21710.2.1 隐私政策 21710.2.2 权限申请 22010.2.3 个人信息收集 22110.2.4 双清单与权限说明 22310.2.5 个性化推荐与定向推送 22610.2.6 自启动与关联启动 22710.2.7 广告展示 22910.3 违规整改规范 23110.3.1 工信部 23110.3.2 省通信管理局 23310.3.3 网信办 23610.3.4 238