BotGuard-Android

已验证方法论驱动的开发流程
v1.0 · 2026-07-14
📋方法论基础
NIST SP 800-86 → 数据采集按易失性优先
MITRE ATT&CK Mobile → 13项技术映射
多维度框架 v2.0 → 4类10维度+3方法
8专家联合评审 → P0×3 / P1×4 / P2×4
Android安全最佳实践 → 2025-2026行业标准
📊项目概况
8
检测模块
4
开发阶段
12
持久化检测项
8-12
周开发周期
开发语言Kotlin 1.9+ / Compose
最低版本Android 8.0 (API 26)
目标版本Android 14 (API 34)
APK 大小<15MB
内存占用<100MB
扫描时长<2 分钟
🚀开发阶段总览
Phase 0:工程基建
3-5 天 · 搭骨架定规范
→ 可编译空壳 App + 核心接口
Phase 1:MVP 核心检测
2-3 周 · 4 模块可运行
→ A2+A3+A5+A6 + 简版报告
Phase 2:情报增强
2-3 周 · API+IoC+网络/文件审计
→ VT API + 4家族IoC + 详版报告
Phase 3:深度检测
2-3 周 · ATT&CK+Beaconing+Root
→ 攻击链 + 定时扫描 + ADB模式
Phase 4:发布准备
1-2 周 · 加固+测试+发布
→ 签名APK + 全量测试 + GitHub
🔧开源对标项目
HypatiaClamAV签名 · 极低资源
SentinelAppVT API · Material 3 UI
SG360联邦学习 · TFLite端侧
SCAMYNX多模块架构 · PDF报告
LibreAVML推理 · 零网络流量
P0 改进落实
P0-1 MVP验收标准→ Phase 1 定义
P0-2 用户报告结构→ 简版+详版双报告
P0-3 判定阈值→ 每项有明确逻辑

Phase 0 + 1

工程基建 + MVP 核心检测
Phase 0:工程基建(3-5天)
项目初始化(Kotlin 1.9+, Compose, Hilt, Room)
多模块架构搭建(app/core/feature/modules/data)
Gradle 依赖锁定 + 校验
核心接口定义(ScanModule/Finding/RiskLevel)
基础 UI 骨架(3导航页 + Material 3)
编译assembleDebug 成功
静态分析detekt 零 error
UI 骨架3 页可切换
🎯Phase 1 MVP 验收标准
核心模块A2+A3+A5+A6 可运行
扫描时长<2 分钟
风险评级4级(🔴🟠🟡🟢)
输出格式UI + JSON
误报率<15%(有白名单)
离线可用✅ 全部模块
权限要求普通(无Root可用)
5️⃣A5 系统行为审计(第1步·最易失)
检测项阈值排除规则
ADB调试开启即告警用户已知
无线ADB开启即告警用户已知
开发者选项开启即提示用户已知
电池异常>10%/h 持续1h导航/音乐
流量异常>500KB/min 持续5min更新/同步
CPU异常>20% 持续10min编译/杀毒
USB调试仅提示
未知来源安装开启即提示文件管理器
2️⃣A2 应用与进程审计(第2步)
ACCESSIBILITY + INTERNET → Overlay/无障碍劫持
READ_SMS + SEND_SMS + INTERNET → SMS拦截
DEVICE_ADMIN + INTERNET → 勒索/防卸载
READ_CONTACTS + INTERNET → 通讯录窃取
CAMERA + RECORD_AUDIO + INTERNET → 间谍软件
REQUEST_INSTALL + INTERNET → 恶意安装
ACCESS_FINE_LOCATION + INTERNET → 位置追踪
BOOT_COMPLETED + WAKE_LOCK → 自启+保活
隐藏图标无 launcher Activity
伪装系统应用包名/图标模仿
签名异常自签名+非官方来源
动态加载DexClassLoader 使用
多进程守护3+ 进程互拉
3️⃣A3 持久化审计(第3步·12项)
#检测项风险无Root
1设备管理器滥用🔴
2无障碍服务滥用🔴
3开机自启广播🟠
4前台服务保活🟠ADB
5JobScheduler滥用🟠ADB
6AlarmManager定时🟠Root
7电池优化白名单🟠
8唤醒锁滥用🟠ADB
9系统级持久化🔴Root
10tmp目录残留🟠Root
11覆盖窗口权限🟠
12通知监听服务🟠
6️⃣A6 Root与环境检测(第4步)
Root状态su/Magisk/SuperSU
/system修改系统分区可写+非标准文件
模拟器Build属性检测
调试器附加isDebuggerConnected
Xposed/LSPosed框架文件/类检测
Frida注入端口/线程检测
SELinuxgetenforce 状态
Verified Bootdm-verity 状态
📝简版报告设计(P0-2)
总体安全状态:🟢/🟡/🟠/🔴 发现问题数:N(🔴× 🟠× 🟡×) Top 3 需关注: 1. [一句话描述] [风险等级] 2. [一句话描述] [风险等级] 3. [一句话描述] [风险等级] 建议动作: ① 立即断开网络 ② 卸载 XXX 应用 ③ 关闭 XXX 权限

Phase 2 + 3

情报增强 + 深度检测
📡Phase 2:情报增强(2-3周)
VirusTotalAPI v3 · 4次/min
AbuseIPDBIP信誉查询
API Key安全EncryptedSharedPreferences
本地缓存Room · TTL 24h
离线降级本地IoC库兜底
Kimwolf v75 C2域名 + ENS + 进程/文件/Socket
Vo1d系统分区安装特征
BTMOB无障碍劫持/多进程守护
Rafel RAT设备管理器/反卸载
流量统计NetworkStatsManager 按应用
IoC比对外连IP/域名 vs IoC库
DoT检测853端口(Kimwolf特征)
VPN异常分裂隧道篡改
tmp目录/data/local/tmp/ 扫描
下载目录/sdcard/Download/ APK检测
APK分析SHA256 + Androguard
隐藏文件.开头文件检测
VT查询✅ 速率限制生效
误报率<10%(情报增强后)
详版报告8章结构完整
🔬Phase 3:深度检测(2-3周)
ATT&CK ID技术模块
T1437.001开机自启A3
T1418.001设备管理器A3
T1418.002无障碍服务A3
T1637.001权限滥用A2
T1417.002覆盖窗口A2
T1432付费短信A5
T1418.003通知监听A3
T1636.002动态加载A2
T1444伪装系统应用A2
T1481.001C2通信A1
T1481.002DNS C2A1
T1638.001系统分区修改A3
T1407代码混淆A2
算法CV 变异系数法
阈值CV<0.3 且连接>10
采集窗口30分钟时间戳
Tor检测Kimwolf v7 备用通道
区块链C2Ethereum RPC / ENS
系统分区/system/bin 非标准二进制
init.rc解析自启服务
进程枚举ps -A 全量
Socketss/netstat 枚举
WorkManager每日/每周定时
安装监控新应用自动扫描
告警推送高风险通知

风险模型 + 质量保证

评分引擎 · 误报控制 · 发布检查
⚖️三维风险评分模型
评分 = 严重性(1-5) × 紧迫性(1-5) × 置信度(1-5) 范围:1 ~ 125
🔴 立即响应 · 75-125 · 断网+隔离+取证
🟠 紧急处理 · 30-74 · 卸载/禁用+深扫
🟡 关注处理 · 10-29 · 建议处理+复查
🟢 记录观察 · 1-9 · 记录+下次复查
⚪ 无风险 · 0 · 无需操作
🛡️误报控制策略
策略1系统应用白名单(AOSP+GMS+厂商)
策略2良性权限组合白名单
策略3用户反馈闭环("这是误报"按钮)
策略4双条件命中(高风险需双条件)
策略5渐进式告警(3次发现才升级)
📋响应建议引擎
1.威胁描述发现了什么+意味着什么
2.紧急动作断网/终止/禁用
3.取证建议保留什么证据
4.清理选项手动步骤/建议重装
5.预防建议如何防止再次感染
🔒Phase 4 APK安全加固
加固项方法优先级
R8混淆全量混淆+压缩P0
签名验证运行时APK签名校验P0
密钥安全EncryptedPrefs+KeystoreP0
清除日志BuildConfig.DEBUG守卫P0
组件审计exported组件全审查P0
反调试ptrace检测P1
反Frida端口/线程检测P1
完整性APK hash自校验P1
证书固定OkHttp CertificatePinnerP1
依赖扫描dependencyCheckP1
🧪测试策略
单元测试JUnit5 + MockK · 覆盖率>70%
插桩测试AndroidX Test + Espresso
安全测试MobSF 静态分析
误报测试干净设备+良性应用
检出测试Kimwolf IoC 样本
性能测试Macrobenchmark
兼容测试Firebase Test Lab
渗透测试Burp Suite + 手动
发布检查清单
APK 签名(v2+v3方案)
R8 混淆启用,mapping 备份
API Key 未硬编码
usesCleartextTraffic=false
网络安全配置已设置
exported 组件已审查
无调试日志残留
APK <15MB
扫描 <2分钟(真机验证)
内存 <100MB
干净设备零误报
恶意样本检出率>90%
隐私政策+免责声明
README+用户指南
🚪质量门禁
Phase 完成检查: ├── 验收标准全部通过? ├── 单元测试覆盖率 >70%? ├── detekt 零 error? ├── 干净设备零误报? └── 文档已更新? → 任一不通过 → 不进入下一阶段
总览
Phase 0-1
Phase 2-3
质量