Lesson 21 · 约 18 分钟

装在口袋里的风险:移动应用安全需求分析与保护工程

本课目标:分清移动应用三要素;背住 Android 四大组件与权限机制;秒判逆向/篡改/窃取三类风险;掌握加固四防与金融 App 五步法;下午卷能写通信加密 + 本地存储 + 加固对策。

开场:工控守工厂,手机 App 守什么?

第 20 课守的是工厂产线;本课落到手机 App——支付、政务、办公都在掌上完成。 考点核心不是「装个杀毒软件」,而是:终端 + 网络 + 服务端三层一起守;敏感数据传输加密、本地加密;防逆向、篡改、窃取。 教材对应第 25 章;与第 12 课等保扩展要求(移动互联)直接挂钩。

零、先复习再开新

R1 · 工控系统相对传统 IT,安全需求优先序通常是?
答案 A。工控:可用 > 完整 > 机密(第 20 课核心考点)。
R2 · 等保定级对象是工业控制系统时,正确表述是?
答案 B。工控对象 = 通用 + 工控扩展。本课移动对象同理:通用 + 移动互联扩展。

一、移动应用系统三要素

教材把移动应用安全看成端到端系统,不是只看手机:

组成部分说明考点
移动应用(App)安装在终端上的客户端程序代码安全、本地存储、权限申请
通信网络Wi-Fi、4G/5G、互联网窃听、假冒基站、钓鱼、中间人
应用服务端后台 API、数据库、业务逻辑鉴权、访问控制、防注入、日志审计
口诀(移动应用系统三要素):应用终端加网络,后台服务端来扛(字头:应网服)。

二、主要威胁(选择题 + 下午卷素材)

威胁类别典型表现
操作系统平台威胁系统漏洞、提权、沙箱绕过;App 安全依赖 OS
无线网络攻击通信监听、假冒基站、域名欺诈、网络钓鱼
恶意代码APK 重打包、诱惑下载、远程控制、恶意扣费
代码逆向工程反编译获取密钥、业务逻辑、接口地址
应用程序非法篡改二次打包、盗版 App、签名被替换
数据窃取本地明文存储、截获通信、越权读取
口诀(移动应用主要威胁):系统无线恶意码,逆向篡改偷数据
易错:移动 App 威胁不只「手机中毒」——服务端鉴权弱、HTTP 明文传输同样是高频考点。

三、Android 安全机制(上午卷常考)

Android 是开源移动终端 OS,分层:Linux 内核层 → 系统运行层 → 应用框架层 → 应用层。

机制作用
权限声明机制App 须声明并获授权才能访问相机、通讯录等
应用程序签名验证来源与完整性,防二次打包篡改
沙箱机制不同 App/进程隔离,互不能直接访问数据
网络通信加密鼓励 TLS/HTTPS 保护传输
内核安全机制底层进程与资源隔离

四大组件(2023 案例分析考过):

组件作用安全注意
Activity界面交互导出组件可被外部调用,需权限控制
Service后台服务防止未授权绑定与启动
Content Provider跨应用数据共享易导致敏感信息泄露、SQL 注入
Broadcast Receiver接收系统/应用广播注意广播劫持与信息泄露

权限保护等级常考:normal(普通)· dangerous(危险,需用户授权)· signature(签名级)· signatureOrSystem(签名或系统级)。

安装包格式:APK(本质是 zip 结构,但有签名校验——不能改内容后仍当合法包使用)。

口诀(Android 安全四机制):权限签名沙箱立,通信加密内核护
口诀(Android 四大组件):活动界面服务跑,广播接收内容供(Activity · Service · Broadcast Receiver · Content Provider)。

四、iOS 安全机制(与 Android 对照记)

机制要点
安全启动链从芯片到 OS 逐级校验,根信任在硬件
代码签名未签名/签名无效 App 不能正常运行
沙箱机制App 只能访问自己沙箱内资源
数据保护强制加密存储敏感数据
ASLR地址空间布局随机化,增内存攻击难度

安装包格式:IPA(iOS);与 Android APK 对照记即可。

易错:iOS 闭源 ≠ 绝对安全;考点仍是签名、沙箱、加密、启动链这些机制名称。

五、App 安全风险与加固四防

教材归纳三类核心风险:逆向工程 · 篡改 · 数据窃取

加固手段防什么技术示例
防逆向反编译、静态分析代码混淆(ProGuard 等)、加固壳
防调试动态调试、断点分析反调试检测、发现调试则退出/告警
防篡改二次打包、盗版签名校验、完整性哈希校验
防窃取本地/传输数据泄露本地加密存储、TLS/HTTPS 传输
口诀(移动应用加固四防):防逆防调试,防篡防泄漏(逆向 · 调试 · 篡改 · 窃取)。
易错:敏感数据勿明文存本地(SharedPreferences、SQLite 都要加密);传输必须 TLS,不能 HTTP 裸奔。

六、App 安全监测(认名即可)

上线前后可用安全检测覆盖:

商用加固工具认名:腾讯乐固、360 加固、梆梆加固;开源混淆常见 ProGuard

七、金融移动安全五步法(下午卷模板)

  1. 安全开发管理:SDL、代码审查、第三方 SDK 评估
  2. 通信内容加密:全链路 TLS;证书校验;禁明文 API
  3. App 安全加固:混淆 + 防调试 + 防篡改 + 防窃取
  4. App 安全测评:漏洞扫描、渗透测试、合规检测
  5. App 安全监测:运行时监测、异常行为告警、版本更新
口诀(金融移动安全五步法):开发通信先加固,测评监测全流程

运营商/泛互联网 App 额外风险:账号密码窃取、计费 SDK 破解、恶意刷量、社工库诈骗——对策仍回到认证 + 加密 + 加固 + 监测

八、等保 2.0:通用 + 移动互联扩展

与云、工控一样:定级对象是采用移动互联技术的系统时 = 安全通用要求 + 移动互联安全扩展要求。 扩展侧关注:移动终端管理、移动应用管控、无线接入安全、移动应用软件安全等。

口诀(等保移动互联扩展):通用不够再加移,终端应用要管住

九、动手练一练

Q1 · 移动应用系统由哪三部分构成?
答案 A。移动安全是 App + 网络 + 服务端端到端问题。
Q2 · 移动应用传输敏感数据,首选应使用?
答案 A。传输层必须加密,防窃听与中间人攻击。
Q3 · Android 中负责跨应用数据共享、易导致 SQL 注入的组件是?
答案 B。Content Provider 共享数据,配置不当可泄露或注入(2023 案例考点)。
Q4 · 对 APK 二次打包盗版,最有效的防护思路是?
答案 B。防篡改靠签名 + 完整性校验;改名 zip 不能绕过签名校验。
Q5 · 代码混淆、反调试检测主要防范?
答案 A。混淆防静态逆向,反调试防动态分析。
Q6 · 金融类移动 App 安全保护的正确步骤组合是?
答案 B。金融移动安全五步法:开发 → 加密 → 加固 → 测评 → 监测。
Q7 · Mobile apps should store sensitive tokens?(英文题)
答案 B。敏感令牌/密钥须加密存储,禁止本地明文(sensitive data must not be stored in plain text)。
附加题(下午卷风格)· 点击展开答案

某银行 App 用 HTTP 传登录口令,Token 明文存 SharedPreferences,未做代码混淆,后台 API 无频率限制。请:(1)指出主要风险;(2)给出至少 5 条整改措施。

(1)主要风险
· HTTP 明文 → 中间人窃听口令与 Token。
· 本地明文 Token → 手机被 Root/越狱或恶意 App 读取。
· 无混淆 → 逆向获取接口地址与加密逻辑。
· API 无频率限制 → 撞库、暴力破解。
· 端到端缺监测 → 异常登录难以及时发现。

(2)整改措施(示例)
通信加密:全链路 HTTPS/TLS;证书校验;禁明文 API。
本地存储:Token/密钥加密存储;敏感数据不落明文日志。
身份认证:多因素认证;服务端鉴权 + 会话超时;API 频率限制。
App 加固:代码混淆、防调试、签名校验防二次打包。
组件安全:最小权限;Content Provider 等导出组件加访问控制。
安全测评与监测:漏洞扫描/渗透测试;运行时异常行为监测。
合规:等保通用 + 移动互联扩展
答题模板:先写传输加密 + 本地加密 → 再写认证/加固/监测 → 点名等保扩展

十、今日任务(约 35 分钟)

  1. 精读第 25 章(20 分钟):阅读第 25 章 移动应用安全,对照移动应用安全速查卡背三要素与加固四防。
  2. 口述自测(10 分钟):不看笔记,说出:三要素;Android 四大组件;加固四防;金融五步法;等保怎么叠。
  3. 睡前回忆(5 分钟):按考点背——① 三要素:应用终端加网络,后台服务端来扛;② 威胁:系统无线恶意码,逆向篡改偷数据;③ 加固:防逆防调试,防篡防泄漏;④ 金融:开发通信先加固,测评监测全流程;⑤ 等保:通用不够再加移。

十一、本课知识从哪来