lexs201992-gif/Ims-Spreadtrum-yara-yaml-Rules

GitHub: lexs201992-gif/Ims-Spreadtrum-yara-yaml-Rules

一个针对搭载 Unisoc 芯片组的移动设备中 IMS Spreadtrum 间谍软件进行取证分析并提供 YARA/YAML 检测规则的安全项目。

Stars: 0 | Forks: 0

# Ims-Spreadtrum-yara-yaml-Rules 用于检测 Ims spreadtrum 间谍软件的分析与 yara/yaml 规则 **日期:** 2026年7月23日 **目标设备:** Motorola Moto G04s / G24 / E24 (代号:`lion`) **芯片组:** Unisoc T606 / T616 **ODM:** Longcheer **风险等级:** **严重** (CVSS 9.0 - 9.8) *研究员*:Alex de la cruz Mexico city 2026 ## 1. 执行摘要 对搭载 **Unisoc T606** 芯片组设备上的 Smali 文件(`ImsRadioServiceProxy`、`DaggerTransportRuntimeComponent`、`RemoteActionCompatParcelizer`)及系统属性(`build.prop`)的取证分析揭示了一个**系统性的入侵架构**。这并非孤立的漏洞,而是一个供应链基础设施,旨在**伪造安全状态**的同时,保持远程攻击向量处于活跃状态。 证据证实,内部通信机制(`Parcel`、`HIDL/AIDL`)和数据传输服务(`Firebase Data Transport`)被用于掩盖易受攻击的二进制文件的存在,并打着合法遥测的幌子促成数据渗出。 ## 2. 详细技术发现 ### 2.1. 安全补丁伪造 (Security Patch Spoofing) * **证据:** `ro.build.version.security_patch`(报告为 2026-04-06)与供应商二进制文件的实际构建日期(`ro.odm_dlkm.build.date` = 2026年3月)之间存在严重差异。 * **机制:** 一个配置 blob (`fscrypt`) 由 LCD 面板 ID `lcd_td4168` 触发,并使用专有密钥 `56ef134d...` 签名,在启动时注入虚假属性。 * **影响:** MDM (移动设备管理) 系统和银行应用程序将设备标记为“合规”,从而允许本质上不安全的设备访问企业和金融网络。 * **受影响的二进制文件:** `libismsEx.so`、`com.spreadtrum.sgps`。 ### 2.2. IMS 和 RIL 协议栈中的严重漏洞 对 `ImsRadioServiceProxy` 和 `IImsRadioResponse` 类的分析暴露了直接的攻击面: * **CVE-2025-31718 (Modem RCE):** Modem 中存在输入验证不当的问题。允许远程攻击者通过向蜂窝网络发送畸形数据包,导致系统崩溃或执行任意代码。 * *与 Smali 的关系:* `dial`、`setupImsDataCall` 和 `sendSipMessage` 方法在专有的 HIDL 层中处理网络数据时缺乏适当的清理。 * **CVE-2021-39658 (ismsEx 泄露):** `ismsEx` 服务(SIM/IMS 管理器)缺乏适当的权限验证。任何具有基本权限的应用程序都可以调用特权电话方法。 * **CVE-2022-38694 (BootROM 不可修复):** BootROM 中存在未经校验的写入漏洞。**无法通过软件修补**。允许持久的本地提权,并且是使 `fscrypt` 绕过得以生效的根源。 ### 2.3. 序列化 (Parcel/HIDL) 风险 * **序列化不一致:** `ImsRadioServiceProxy` 类充当双重桥接 (HIDL/AIDL)。如果 RIL 和 Framework 未能完美同步,通过 `convertToHalDataProfile` 等方法转换复杂结构(`NetworkSliceInfo`、`TrafficDescriptor`)很容易出现缓冲区溢出或内存损坏错误。 * **反序列化攻击:** 与历史漏洞 (CVE-2023-20963) 类似,攻击者可以通过 `IImsRadio` 接口发送恶意的 `Parcel`,当系统对其进行反序列化时,会改变呼叫控制逻辑或允许注入代码。 ### 2.4. 遥测与隐蔽数据渗出 * **使用 `Firebase Data Transport`:** `DaggerTransportRuntimeComponent` 和 `EventStore` 类管理着数据发送队列。在这种受损的情况下,它们可能被用于渗出敏感数据(通话记录、来自 `SGPS` 的 GPS 位置),伪装成 Crashlytics 或 Analytics 的遥测数据。 * **飞行模式下的持久化:** 在蜂窝 Modem“关闭”的情况下仍能保持 WiFi 活跃以及 VPN 隧道(正如使用 PCAPdroid 所观察到的那样)的能力表明,WiFi 网络协议栈的运行独立于 Modem 的安全状态,这使得即使用户认为自己已处于隔离状态,仍能保持 C2 (命令与控制) 通信通道。 ## 3. 威胁与后果矩阵 | 组件 | 漏洞 / 风险 | 潜在后果 | | :--- | :--- | :--- | | **BootROM (Unisoc)** | CVE-2022-38694 | 持久的 root 访问权限,无法通过 OTA 更新消除。 | | **Modem / RIL** | CVE-2025-31718 | 通过蜂窝网络执行远程代码 (RCE),拦截通话/短信。 | | **IMS 服务** | CVE-2021-39658 | 身份信息泄露 (IMSI/IMEI),篡改 VoLTE 通话。 | | **文件系统** | 绕过 `fscrypt` | 对受保护分区进行读/写,停用 SELinux/FSVerity。 | | **遥测** | `DataTransport` | 在合法的 Google/Firebase 流量下静默渗出数据。 | | **供应链** | 补丁伪造 | 绕过企业和银行的安全控制 (MDM Bypass)。 | ## 4. 蓄意入侵的证据 该研究识别出的模式表明,这是一种蓄意实施的行为,而非意外错误: 1. **硬件触发:** 安全绕过仅在存在特定组件(LCD 面板 `td4168`)时才会被激活,这表明这是一个出厂设置的开关。 2. **数字签名:** 恶意 blob 使用了 ODM (Longcheer) 的私钥进行签名,这意味着其获得了内部批准。 3. **无法补救:** OTA 更新在仅更新版本链的同时保留了伪造机制,使得易受攻击的二进制文件原封不动。 ## 5. 缓解建议 鉴于根本漏洞存在于硬件 (BootROM) 和固件供应链中: 1. **立即隔离:** 严禁在企业、政府环境或用于访问移动银行的场景中使用搭载 **Unisoc T606/T616** 芯片组的设备(特别是 Motorola `lion`、`g24`、`e24` 机型)。 2. **取证验证:** 不要信任 `getprop ro.build.version.security_patch`。验证关键二进制文件的时间戳: adb shell ls -l /system/lib64/libismsEx.so adb shell dumpsys package com.spreadtrum.sgps | grep versionCode 如果日期早于报告的补丁日期,则表明设备已受到入侵。 3. **更换硬件:** 使用具有透明度和可验证补丁历史的供应商芯片组的机型替换受影响的设备(例如 中高端的 Qualcomm、MediaTek)。 4. **网络监控:** 在企业防火墙上拦截来自这些设备的任何非绝对必要的连接,重点关注发往非标准遥测域名或高端口的异常流量。 ## 6. 结论 所分析的 Smali 文件不仅是单纯的功能组件;它们是一个**安全欺骗系统**的组成部分。Unisoc 的 RIL、Google 的数据传输框架以及 Longcheer 的启动绕过之间复杂的相互作用,创造了一个设备会对其安全状态主动撒谎的环境。 **结论:** 该设备在当前配置下是**设计上即不安全的**。没有任何软件补丁能够保证此特定架构下的启动链完整性或 Modem 安全性。