死灵木马
2019 年,网络安全研究人员发现了一个令人不安的问题:Google Play Store 上的一款合法 Android 应用程序被开发者用来赚取广告收入的第三方库入侵。这一修改导致 1 亿台设备连接到攻击者控制的服务器,然后这些服务器部署了隐藏的有效载荷。
类似情况如今再次出现。信息安全专家发现,两款新应用从 Google Play 下载了 1100 万次,它们感染了同一恶意软件家族。看来,用于集成广告功能的不安全软件开发工具包再次成为罪魁祸首。
目录
什么是 SDK?
软件开发工具包(SDK)为开发人员提供预构建的框架,通过处理日常任务来简化和加速应用程序创建过程。在本例中,一个未经验证的 SDK 模块被集成到应用程序中,该模块似乎旨在支持广告显示。然而,在表面之下,它启用了与受感染服务器秘密通信的高级方法。这使得应用程序可以上传用户数据并下载有害代码,这些代码可以随时执行或更新。
死灵木马如何感染设备?
这两个活动背后的恶意软件家族都称为 Necro,在这种情况下,一些变体采用了隐写术等高级技术——这是移动威胁中罕见的混淆方法。某些变体还使用复杂的方法来传递能够以提升的系统权限运行的欺诈代码。一旦设备被感染,它就会与攻击者控制的命令和控制服务器通信。它发送加密的 JSON 数据,报告有关受感染设备和托管欺诈模块的应用程序的详细信息。
然后,服务器会以 JSON 消息进行响应,该消息包含指向 PNG 图像的链接和包含图像哈希值的元数据。如果受感染设备上的模块验证了哈希值,则会继续下载图像。
研究人员解释称,SDK 模块使用了一种简单的隐写算法。通过 MD5 校验后,它会使用标准 Android 工具提取 PNG 文件的内容,特别是 ARGB 通道的像素值。getPixel 方法会检索一个值,其中最低有效字节包含图像的蓝色通道,然后恶意软件会从那里开始处理。
Necro Trojan 可能导致严重后果
恶意软件安装的后续有效载荷会下载欺诈性插件,这些插件可针对每台受感染的设备进行定制,以执行各种操作。其中一个插件允许代码以提升的系统权限执行。通常,Android 会限制特权进程使用 WebView(一种用于在应用程序内显示网页的组件)。为了克服这一限制,Necro 采用了一种称为反射攻击的技术来创建 WebView 工厂的单独实例。
此外,该插件还可以下载并执行其他文件,这些文件会修改通过 WebView 显示的链接。通过提升系统权限,这些可执行文件可以修改 URL 以插入付费订阅的确认码,并从攻击者控制的链接下载并运行代码。研究人员在分析 Necro 时发现了五种不同的有效载荷。此外,Necro 的模块化结构为恶意软件提供了多种操作方式。
在两个应用程序中发现了 Necro 木马病毒
研究人员在 Google Play 上的两款应用中发现了 Necro。其中一款名为 Wuta Camera 的下载量已达 1000 万次。Wuta Camera 的 6.3.2.148 至 6.3.6.148 版本包含导致感染的恶意 SDK,但该应用已更新以消除有害组件。另一款下载量约为 100 万次的应用 Max Browser 也受到了攻击;不过,该应用已不再在 Google Play 上提供。
此外,研究人员还发现 Necro 感染了替代市场上提供的一系列 Android 应用程序。这些应用程序通常以合法应用程序的修改版本出现,包括 Spotify、Minecraft、WhatsApp、Stumble Guys、Car Parking Multiplayer 和 Melon Sandbox。