1. 执行摘要
受 iKuai 委托,对 iKuai RouterOS v4.0.24(x64 Enterprise)固件进行了全面的安全审计。审计覆盖固件加密体系、云控通信、认证机制、证书管理及 Docker 安全等方面。
85 / 100
风险评分(极高风险)
3
严重
4
高危
2
中危
1
低危
关键发现:固件加密方案的密钥可从固件文件本身提取,所有设备共用同一组 TLS 客户端证书,root 密码可被字典攻击破解。这些问题组合起来意味着攻击者可以解包固件、提取证书、冒充合法设备连接云管服务器。
建议优先级:立即修复固件加密机制和证书管理方案,中期迁移密码哈希算法,长期建立设备唯一身份体系。
2. 测试范围与方法
| 项目 | 详情 |
|---|---|
| 固件版本 | iKuai8_x64_4.0.24_Build202601131850 |
| 文件哈希 (SHA-256) | 4e49adf703082552018a7c0d4bc220886e2bcc103484ad171240e688d761fd89 |
| 架构 | x86_64, Linux Kernel 5.10.194 |
| 测试时间 | 2026-04-21 ~ 2026-04-22 |
| 测试方法 | 固件逆向工程、静态分析、密码学分析、凭据审计 |
| 工具 | Nyarc v1.1.0 (自研)、Ghidra 11.3.2、GDB 13.1、strace、Frida 17.9.1 |
3. 发现总览
| 编号 | 严重级别 | 发现 | CVSS |
|---|---|---|---|
| IK-001 | CRITICAL | 固件加密密钥可从文件本身提取 | 9.8 |
| IK-002 | CRITICAL | 全设备共用 TLS 客户端证书 | 9.1 |
| IK-003 | CRITICAL | Root 密码可被字典攻击破解 | 8.6 |
| IK-004 | HIGH | 云控客户端无法完全禁用 | 7.5 |
| IK-005 | HIGH | OpenSSL 1.0.0 已停止维护 | 7.3 |
| IK-006 | HIGH | 包管理系统缺乏签名验证 | 7.2 |
| IK-007 | HIGH | libusranalyse.so 预加载监控库 | 6.8 |
| IK-008 | MEDIUM | 密码使用 MD5crypt 弱哈希 | 5.3 |
| IK-009 | MEDIUM | Web 管理界面使用自签名证书 | 4.3 |
| IK-010 | LOW | 固件包含调试信息 | 2.1 |
4. 详细发现
IK-001: 固件加密密钥可从文件本身提取
CRITICAL
1. 获取固件文件 iKuai8_x64_4.0.24.bin 2. 提取密钥: key = data[size-20:size-4](16字节) 3. 生成 S-Box: sbox[i] = ((i+1)*0x12FE500/0x83 + key[i%16]) & 0xFF 4. 逐字节解密: XOR + 位旋转 5. 解密后数据以 XZ magic (FD 37 7A) 开头 6. xz 解压即可获得完整 rootfs
- 密钥不应从固件文件本身派生
- 考虑使用 Secure Boot 链 + 设备唯一密钥
- 加密算法强度建议升级至 AES-256-GCM
IK-002: 全设备共用 TLS 客户端证书
CRITICAL
/etc/remote2/ca-certificates.d/ikuai/client.key。证书主体为 CN=*.ikuai8.com,自签名,有效期至 2029 年。- 实现设备级证书 provisioning(首次联网时生成密钥对,向 CA 申请签发)
- 参考 AWS IoT / Azure IoT Hub 的设备身份模型
- 支持证书吊销机制 (CRL/OCSP)
IK-003: Root 密码可被字典攻击破解
CRITICAL
/etc/shadow 中 root 用户密码哈希使用 MD5crypt ($1$) 算法,且密码为 2015.ikuai8.com(公司成立年份+域名),可通过字典攻击在数秒内破解。5. 外连通信分析
固件内置多个云控组件,持续与以下服务器建立连接:
| 组件 | 目标 | 端口 | 用途 | 风险 |
|---|---|---|---|---|
| ik_rc_client | as1.ikuai8.com | 9443 | 远程控制 | CRITICAL |
| ik_rc_client | as2.ikuai8.com | 9443 | 远程控制(备) | CRITICAL |
| cre | dis.ikuai8.com | 1853 | 数据采集上报 | HIGH |
| pmd | pkgmanager.ikuai8.com | 15602 | 包管理 | HIGH |
| system | genuine.ikuai8.com | 443 | 正版验证 | MEDIUM |
6. 加固建议路线图
| 优先级 | 措施 | 时间 |
|---|---|---|
| P0 | 重新设计固件加密方案(密钥不从文件派生) | 1-2 个月 |
| P0 | 实现设备级证书 provisioning | 2-3 个月 |
| P1 | 更换 root 默认密码为设备唯一密码 | 1 周 |
| P1 | 升级 OpenSSL 至 3.x | 1-2 个月 |
| P1 | 为 ikpkg 添加包签名验证 | 2-4 周 |
| P2 | 迁移密码哈希至 SHA-512 | 1 周 |
| P2 | 提供云控开关,允许企业客户禁用 | 2-4 周 |
| P3 | 清理固件中的调试信息 | 1 周 |