装在口袋里的风险:移动应用安全需求分析与保护工程
开场:工控守工厂,手机 App 守什么?
第 20 课守的是工厂产线;本课落到手机 App——支付、政务、办公都在掌上完成。 考点核心不是「装个杀毒软件」,而是:终端 + 网络 + 服务端三层一起守;敏感数据传输加密、本地加密;防逆向、篡改、窃取。 教材对应第 25 章;与第 12 课等保扩展要求(移动互联)直接挂钩。
零、先复习再开新
一、移动应用系统三要素
教材把移动应用安全看成端到端系统,不是只看手机:
| 组成部分 | 说明 | 考点 |
|---|---|---|
| 移动应用(App) | 安装在终端上的客户端程序 | 代码安全、本地存储、权限申请 |
| 通信网络 | Wi-Fi、4G/5G、互联网 | 窃听、假冒基站、钓鱼、中间人 |
| 应用服务端 | 后台 API、数据库、业务逻辑 | 鉴权、访问控制、防注入、日志审计 |
二、主要威胁(选择题 + 下午卷素材)
| 威胁类别 | 典型表现 |
|---|---|
| 操作系统平台威胁 | 系统漏洞、提权、沙箱绕过;App 安全依赖 OS |
| 无线网络攻击 | 通信监听、假冒基站、域名欺诈、网络钓鱼 |
| 恶意代码 | APK 重打包、诱惑下载、远程控制、恶意扣费 |
| 代码逆向工程 | 反编译获取密钥、业务逻辑、接口地址 |
| 应用程序非法篡改 | 二次打包、盗版 App、签名被替换 |
| 数据窃取 | 本地明文存储、截获通信、越权读取 |
三、Android 安全机制(上午卷常考)
Android 是开源移动终端 OS,分层:Linux 内核层 → 系统运行层 → 应用框架层 → 应用层。
| 机制 | 作用 |
|---|---|
| 权限声明机制 | App 须声明并获授权才能访问相机、通讯录等 |
| 应用程序签名 | 验证来源与完整性,防二次打包篡改 |
| 沙箱机制 | 不同 App/进程隔离,互不能直接访问数据 |
| 网络通信加密 | 鼓励 TLS/HTTPS 保护传输 |
| 内核安全机制 | 底层进程与资源隔离 |
四大组件(2023 案例分析考过):
| 组件 | 作用 | 安全注意 |
|---|---|---|
| Activity | 界面交互 | 导出组件可被外部调用,需权限控制 |
| Service | 后台服务 | 防止未授权绑定与启动 |
| Content Provider | 跨应用数据共享 | 易导致敏感信息泄露、SQL 注入 |
| Broadcast Receiver | 接收系统/应用广播 | 注意广播劫持与信息泄露 |
权限保护等级常考:normal(普通)· dangerous(危险,需用户授权)· signature(签名级)· signatureOrSystem(签名或系统级)。
安装包格式:APK(本质是 zip 结构,但有签名校验——不能改内容后仍当合法包使用)。
四、iOS 安全机制(与 Android 对照记)
| 机制 | 要点 |
|---|---|
| 安全启动链 | 从芯片到 OS 逐级校验,根信任在硬件 |
| 代码签名 | 未签名/签名无效 App 不能正常运行 |
| 沙箱机制 | App 只能访问自己沙箱内资源 |
| 数据保护 | 强制加密存储敏感数据 |
| ASLR | 地址空间布局随机化,增内存攻击难度 |
安装包格式:IPA(iOS);与 Android APK 对照记即可。
五、App 安全风险与加固四防
教材归纳三类核心风险:逆向工程 · 篡改 · 数据窃取。
| 加固手段 | 防什么 | 技术示例 |
|---|---|---|
| 防逆向 | 反编译、静态分析 | 代码混淆(ProGuard 等)、加固壳 |
| 防调试 | 动态调试、断点分析 | 反调试检测、发现调试则退出/告警 |
| 防篡改 | 二次打包、盗版 | 签名校验、完整性哈希校验 |
| 防窃取 | 本地/传输数据泄露 | 本地加密存储、TLS/HTTPS 传输 |
六、App 安全监测(认名即可)
上线前后可用安全检测覆盖:
- 身份认证机制 · 通信会话安全 · 敏感信息保护
- 日志安全策略 · 交易流程安全 · 服务端鉴权
- 访问控制 · 数据防篡改 · 防 SQL 注入 · 防钓鱼
- App 安全漏洞扫描(SAST/DAST 思路)
商用加固工具认名:腾讯乐固、360 加固、梆梆加固;开源混淆常见 ProGuard。
七、金融移动安全五步法(下午卷模板)
- 安全开发管理:SDL、代码审查、第三方 SDK 评估
- 通信内容加密:全链路 TLS;证书校验;禁明文 API
- App 安全加固:混淆 + 防调试 + 防篡改 + 防窃取
- App 安全测评:漏洞扫描、渗透测试、合规检测
- App 安全监测:运行时监测、异常行为告警、版本更新
运营商/泛互联网 App 额外风险:账号密码窃取、计费 SDK 破解、恶意刷量、社工库诈骗——对策仍回到认证 + 加密 + 加固 + 监测。
八、等保 2.0:通用 + 移动互联扩展
与云、工控一样:定级对象是采用移动互联技术的系统时 = 安全通用要求 + 移动互联安全扩展要求。 扩展侧关注:移动终端管理、移动应用管控、无线接入安全、移动应用软件安全等。
九、动手练一练
附加题(下午卷风格)· 点击展开答案
某银行 App 用 HTTP 传登录口令,Token 明文存 SharedPreferences,未做代码混淆,后台 API 无频率限制。请:(1)指出主要风险;(2)给出至少 5 条整改措施。
· HTTP 明文 → 中间人窃听口令与 Token。
· 本地明文 Token → 手机被 Root/越狱或恶意 App 读取。
· 无混淆 → 逆向获取接口地址与加密逻辑。
· API 无频率限制 → 撞库、暴力破解。
· 端到端缺监测 → 异常登录难以及时发现。
(2)整改措施(示例)
① 通信加密:全链路 HTTPS/TLS;证书校验;禁明文 API。
② 本地存储:Token/密钥加密存储;敏感数据不落明文日志。
③ 身份认证:多因素认证;服务端鉴权 + 会话超时;API 频率限制。
④ App 加固:代码混淆、防调试、签名校验防二次打包。
⑤ 组件安全:最小权限;Content Provider 等导出组件加访问控制。
⑥ 安全测评与监测:漏洞扫描/渗透测试;运行时异常行为监测。
⑦ 合规:等保通用 + 移动互联扩展。
答题模板:先写传输加密 + 本地加密 → 再写认证/加固/监测 → 点名等保扩展。
十、今日任务(约 35 分钟)
- 精读第 25 章(20 分钟):阅读第 25 章 移动应用安全,对照移动应用安全速查卡背三要素与加固四防。
- 口述自测(10 分钟):不看笔记,说出:三要素;Android 四大组件;加固四防;金融五步法;等保怎么叠。
- 睡前回忆(5 分钟):按考点背——① 三要素:应用终端加网络,后台服务端来扛;② 威胁:系统无线恶意码,逆向篡改偷数据;③ 加固:防逆防调试,防篡防泄漏;④ 金融:开发通信先加固,测评监测全流程;⑤ 等保:通用不够再加移。
十一、本课知识从哪来
- 《信息安全工程师教程(第 2 版)》第 25 章 移动应用安全需求分析与安全保护工程(清华大学出版社)
- 备考笔记整理:博客园·devdog·第 25 章
- 2023 案例 Android 组件考点:CSDN·2023 下半年案例分析
- 速查:移动应用安全速查 · 第 21 课口诀 · 第 12 课 等保 2.0 · 第 20 课 工控安全