买回来的新手机,开箱就能用,没点过可疑链接,也没装过来路不明的应用——但恶意代码已经在系统里了。研究人员在150多个国家的数千部安卓手机上发现了预装在固件里的恶意软件,这批设备以低价机型为主。

打开网易新闻 查看精彩图片

这轮行动被命名为Midnight Mimosa。它的关键点在于攻击者拿到的是系统级权限:不需要机主下载任何有害应用,也不需要点击任何可疑链接,恶意组件就能在设备上活动。

拿到这层权限之后,它能做的事相当具体:偷偷安装和卸载应用、加载新的代码、制造虚假的广告活动。在安装额外载荷之前,它会临时停用 Google Play 商店的应用包,装完之后再恢复回去。

研究人员把这一行为评估为试图规避 Google Play Protect 的检测,而不是证明所有防护已被永久关闭。这个区分很重要——临时停用和彻底失效是两回事。

相关结论来自 PolySwarm 于10月19日发布的 Midnight Mimosa 研究报告。其分析基于 Bitdefender 的调查,后者在约两年时间里观察了数千部受感染的设备。

从观察到的感染数量看,墨西哥、法国、意大利排在最前,其后是美国、德国、巴西和西班牙。这些数字描述的是已观察到的感染情况,并不等于确认的攻击目标分布。

感染是怎么开始的

起点是一个用 Android 平台证书签名的恶意系统应用。这个受信任的身份让它能够安装软件包、移除应用、授予权限,并修改受保护的设置。

该组件把主要功能藏在一个原生库里。库被加载后,会用 RC4 加密解开一个隐藏的 Java 框架。框架随后连接命令与控制服务器,接收配置,并下载 DEX 或 JAR 插件。

这些插件是安卓代码模块,让运营者无需替换原始系统应用就能改变恶意软件的行为。不同插件分工明确:有的负责广告欺诈,有的负责静默安装应用。部分插件通过隐藏窗口和自动化操作,伪造广告曝光、点击和转化事件。

这些活动伪装成普通工具的样子,包括天气应用、应用锁、文字扫描器和文件管理器。Bitdefender 在更大的载荷网络中识别出至少 32 个伪装应用。

规避检测的手法

临时停用 Play 商店,等于开了一个窗口:在这段时间里安装额外软件,同时试图躲过检测。另一些恶意应用会把自己的安装来源伪造成 Google Play,但它们并不具备通过 Play 分发时附带的签名块。

这种不匹配可以帮助调查人员区分“声称的安装来源”和“应用实际到达设备的证据”。

研究人员还另外发现了 13 个通过 Google Play 分发的相关广告欺诈应用。它们共享恶意软件标记和基础设施,但不具备固件预装组件那样的特权访问能力。

这个启用组件还包含与无障碍功能、通知访问和短信权限相关的功能,其中包括自动开启敏感权限的途径。研究人员没有观察到这些权限被用于窃取行为。不过,既然它能拉取新代码,就不能只凭目前已经检查过的广告模块来判断这轮行动的后续行为。

另一个载荷包含代理软件,能够注册设备并开启双向 TCP 隧道。这理论上可以让外部流量借道受感染手机的网络连接通过。

这里需要分清:研究人员确认了底层能力存在,但在有记录的测试中并未观察到实际的流量中转。最初报告的一个控制端点,后来也被识别为黑洞服务器。

受影响的设备包括采用联发科芯片的低价手机、仿冒的旗舰机型,以及报告了与 Doogee 和 Cubot 产品相关标识符的设备。部分固件证书带有与深圳 Zediel 相关的标识符。研究人员无法确定恶意软件是在供应链的哪个环节进入的,也无法证实证书所有者知情参与。

与 Joker、Phantom 和 Click 恶意软件的关联,同样不能证明存在同一个运营者。删掉一个看得见的应用,固件里的启用组件仍可能装回替代品。因此清理需要针对底层固件,而不只是处理单个载荷。

Google 方面的说明是,其应用安全检查会在安装时检查应用,并定期扫描设备。这起案例说明,受信任的系统组件同样需要被审视。