Skip to content

Android 防御网:包体、运行时、界面与服务端证据 ​

入口是包体、设备和业务系统的可观察差异。攻击网用于提出假设;本图将假设连接到防护位置、独立证据和正常功能回归。设备上的检测信号、客户端执行结果、服务端授权结果分别记录。

1. 全网图与防御工作流 ​

mermaid
flowchart TD
  APK[包体 / 签名 / 资源差异] --> E[固定版本、设备与对象身份]
  RUN[运行时 / 模块 / 内存信号] --> E
  UI[覆盖窗口 / 输入 / WebView] --> E
  NET[网络与授权状态异常] --> E
  E --> Q{已定位影响层?}
  Q -->|包体变化| P[签名、DEX 与 SO 完整性]
  Q -->|进程变化| R[运行时访问与 Hook 观测]
  Q -->|界面或桥接| W[输入来源、覆盖与桥接边界]
  Q -->|通信或业务| S[传输、协议与服务端权限]
  Q -->|证据不足| O[补静态定位与时间关联]
  O --> E
  P --> T[可信版本 / 单变量变体 / 正常设备对照]
  R --> T
  W --> T
  S --> T
  T --> V[独立读取安装、运行、网络与业务结果]
  V -->|越界仍成立| B[查未覆盖入口或信任转移]
  B --> E
  V -->|正常功能受损| F[兼容性和误报分流]
  F --> T
  V -->|范围内通过| M[保留版本覆盖与监测]
  M -->|升级 / 新设备 / 新信号| E
  S -.-> WEB[Web 授权与账本]
  R -.-> GEN[通用协议、签名与游戏状态]
  W -.-> AI[移动端 Agent 外部内容边界]
  click P "08-patch-repack/02-signature-integrity-bypass-defense.md" "APK 签名与包体完整性"
  click R "06-dynamic/01-memory-rw-hook-defense.md" "运行时内存与 Hook 防护"
  click W "09-hybrid-frameworks/01-webview-attacks-defense.md" "WebView 防护"
  click S "05-network/02-license-verification-bypass-defense.md" "服务端授权复核"
  click WEB "../../ctf-website/techniques/defense-network.md" "Web 防御网"
  click GEN "../../general/techniques/defense-network.md" "General 防御网"
  click AI "../../general/techniques/ai-security/01-indirect-prompt-injection-defense.md" "间接提示注入防御"

2. 观测入口与已有防线 ​

入口需要保留的证据防御文档正常/异常验证
DEX、smali 或 APK 变化原包/变体摘要、构建版本、变更位置、安装来源Smali 篡改、签名完整性官方/测试可信版本能运行,变体触发的检测与业务结果可关联
新 SO、依赖或加载变化SO 摘要、架构、加载时机、调用来源SO 注入与重打包对照正常插件、动态组件与变体,检查实际敏感操作
内存读写、附加、Hook 信号进程身份、模块映射、被修改地址、事件时间内存与 Hook不仅看检测提示,还看目标状态是否改变
覆盖窗口或异常手势前后台状态、窗口来源、输入序列及用户操作Overlay、触摸输入辅助功能、输入法、分屏与测试自动化作为正常对照
WebView 导航、JS bridge 或混合框架异常URL/Origin、frame、桥接方法、参数与宿主能力WebView、混合框架合法页面仍可操作,非预期来源不能获得宿主能力
代理、证书或协议异常实际请求、TLS 配置、会话与服务端响应TLS pinning、协议 Hook合法证书轮换与网络错误对照;服务端独立验证请求权限
本地授权显示与服务端不一致登录主体、许可证状态、缓存版本、实际服务结果在线许可证从新会话查询受保护资源,检查撤权、到期和离线策略

3. 跨层分叉 ​

路径 A:重打包后仍可调用受保护服务 ​

text
包体差异 → 客户端检测是否触发 → 服务端看到的身份与完整性信号
  ├─ 服务端授权错误 → Web 对象权限、会话与业务规则
  ├─ 本地显示授权但远端拒绝 → 区分显示篡改和实际权益变化
  └─ 离线功能允许 → 核对产品离线授权范围和有效期

接入 Web 业务授权防御。客户端检测与云端授权是不同控制点,均需实际证据。

路径 B:封包没有变,服务器状态仍异常 ​

检查重复提交、并发、客户端时间和业务状态转移。接入 General 重放防御和 Web 交易竞态,用服务端账本及事务结果确认。

路径 C:WebView 或插件内含 Agent ​

浏览器源与桥接权限之外,还要沿 AI 外部内容防御检查检索文本是否影响工具调用。正常加载网页与允许执行页面提出的动作分别判定。

4. 证据与独立验证 ​

每轮记录构建版本、Android/API 版本、ABI、安装来源、设备状态、应用身份和测试输入。正文中的检测方案先在目标版本上验证支持情况,不能从示例代码推断设备已受保护。

sh
python scripts/misc/kb_router.py "APK signature integrity" --board apk-reverse --track blue
python scripts/misc/kb_router.py "WebView bridge origin" --board apk-reverse --track blue

命令只路由知识。将安装/运行记录、必要网络证据和服务端回执放在本地 exports/android/<case>/,用 observed / recommended / unverified 区分已发生事件、建议措施与缺口。

结果判定与下一步
异常变体被拒绝,正常版本可用,服务端权益无变化当前测试组合通过;记录未测设备与入口
检测告警但异常业务动作成功沿服务器权限与异步消费链继续分析
测试进程崩溃查兼容性、插桩和异常路径,不能直接归为防御成功
正常设备大面积告警对照 OEM、辅助功能、合法插件和发布版本,调整条件
没有客户端事件查采集遗漏和路径未触达,补静态调用链与运行触发证据

5. 当前覆盖边界 ​

现有蓝队正文侧重包体、Hook、界面、网络和授权。独立的导出组件/Intent、ContentProvider、备份与本地数据存储、Keystore 生命周期、Play Integrity 服务端验证、JNI 内存安全、SELinux/内核驱动防护正文仍待补充。对应静态或攻击篇可提供定位线索,不能视为完整防御方案。

系统级或硬件威胁接入 General 防御网的覆盖缺口节点;Windows 配套客户端进入 PE 防御网。

MCP 工具映射 ​

阶段工具能力边界
按信号找路线kb_router使用 board="apk-reverse" 读取蓝队条目
选择配置与验证步骤kb_read_file读取对应防御文档和配对分析方法
确认覆盖kb_catalog查看已有正文;不判断设备是否被攻陷或加固是否生效

APK 静态分析、动态观测与服务端复核使用正文对应工具,分别保留结果与失败原因。

Apache-2.0 · 仅供授权环境下的学习与防御性研究使用 · 免责声明