我们发现了一种新型的安卓恶意软件,它通过车载安卓系统固件中一个合法的内置更新程序进行传播。这种多阶段恶意软件的最终目的是进行广告欺诈,并将受感染的设备变成一个代理僵尸网络的一部分。我们有充分的信心将此活动归因于与 BADBOX 僵尸网络有关联的 MoYu 组织。这是首次有记录的、专门针对车载信息娱乐系统(即“车机”)的恶意软件攻击,表明攻击者正将目标扩展到新的平台。
主要发现
- 发现了一种新的安卓恶意软件,它是一个多阶段的下载器,最终用于广告欺诈和构建代理僵尸网络。
- 该恶意软件通过安卓车载系统固件的内置更新程序传播。
- 这是首次记录到的、具有针对此类设备特定感染链的车载系统恶意软件。
- 我们将此活动高度归因于 MoYu 组织,该组织与 BADBOX 僵尸网络有关。
车载系统固件与攻击方式
车载信息娱乐系统(Head Unit),通常被称为“车机”,集成了多媒体功能和部分车辆功能控制。这些系统有时会运行安卓操作系统,因为这为制造商提供了便利。
然而,安卓系统的开放性也意味着为普通安卓设备开发的恶意软件同样可以在车机上运行。由于车机本身通常没有太多值得攻击者窃取的有价值数据,最常见的攻击场景之一就是将其感染并纳入僵尸网络,类似于对物联网设备的攻击。
我们的研究发现,DoFun 品牌车机的固件设计使攻击者得以分发恶意软件。问题出在一个名为 TWCore 的合法系统应用上。
TWCore 负责收集分析数据和更新车机软件。攻击者利用了它的更新功能,通过一个 MQTT 消息代理发送指令,让 TWCore 下载并安装恶意软件。
TWCore 的更新机制允许安装设备上原本不存在的应用,并且在某些情况下不会检查应用是否已安装,这为恶意软件的植入打开了方便之门。
完整的感染链
恶意软件的植入过程分为多个阶段,从一个简单的释放器开始,最终加载功能强大的恶意模块。
第一阶段:JarService 释放器
JarService 是一个没有用户界面的小型应用。它的唯一作用是解密并加载下一阶段的恶意代码。这些代码被加密存储在自身内部,通过简单的 XOR 加密进行保护。
第二阶段:加载器
这一阶段的恶意加载器会执行以下操作:
- 向攻击者的 C2 (命令与控制) 服务器发送设备信息。
- 服务器返回一个下载链接,指向第三阶段的恶意软件。
- 加载器下载并解密数据,准备执行下一个阶段的 payload。
第三阶段:点击器 / 反向代理加载器
这是恶意软件的核心功能阶段。它会定期与 C2 服务器通信,根据接收到的指令执行不同任务。
- 获取指令: 每隔一段时间(默认为 90 分钟),它会向服务器请求任务。
- 执行任务: 服务器可以下发多种指令,其功能表明该恶意软件可用于:
- 显示广告
- 实施广告欺诈(作为自动点击器)
- 下载并执行其他恶意代码
攻击者在实际攻击中主要使用了
loadlib2和http指令。通过loadlib2指令下载的 payload 是一个名为“zhima”的反向代理模块。这证实了攻击者的最终目标是建立一个代理僵尸网络。
归因分析:MoYu 组织
我们将这次攻击归因于 MoYu 组织,主要基于以下几点证据:
- 命名关联: 在恶意软件代码中发现了一个名为
mosdk-host-loader的线程,同时在另一款类似恶意软件中发现了名为AdmoyuService的服务。这里的“moyu”指向了 MoYu 组织。 - 基础设施重叠: 恶意软件使用的网络基础设施与 MoYu 组织的基础设施有大量重叠。
- 关联服务: 我们发现恶意软件的管理后台与多个提供住宅代理服务的网站(如 PXYEDGE 和 ProxyForU)有关联,这些服务被认为与 MoYu 组织有关。
结论
尽管执法部门努力打击 BADBOX 僵尸网络,但与其相关的个别攻击者仍在继续其恶意活动,并不断寻找新的感染途径。
这次事件展示了一种更为复杂的传播方式:通过合法系统应用的更新功能进行分发。
攻击者也在积极扩展到新的平台。这种恶意软件是已知的首个针对车载信息娱乐系统的恶意应用,这意味着这些以往被认为相对安全的平台现在也需要得到相应的恶意软件防护。