macOS的最新恶意软件,有点像瘟疫公司的“猥琐流
今年2月初,安全机构 Red Canary 在苹果电脑操作系统 macOS 上发现了一种全新的恶意软件。
当然,在号称更加安全的 macOS 上出现病毒/恶意软件,算不上骇人听闻。不过,安全工程师们对这款恶意软件抱有很大的兴趣,主要在于它有三个特别突出的特性:
1)M1 处理器原生支持;2)使用 JavaScript 执行;3)该恶意软件目前缺乏负载 (payload),也即实际对用户的系统造成负面影响的内容。
Red Canary 将其命名为 Silver Sparrow(银雀)。
虽然按照前述第三条来看,该恶意软件目前没有什么值得称道的危害性,不过根据安全公司 Malwarebytes 追踪,Silver Sparrow目前已经在全球范围感染过接近4万台电脑(主要集中于美国)——这只是该机构能够追踪到的终端,追踪不到的已感染电脑可能更多。
更重要的是,该恶意软件包含了对苹果 M1 ARM64 架构的原生支持,而考虑到苹果正式推出 M1 处理器电脑产品也只是几个月前的事情——Silver Sparrow 潜在的危害程度不容小觑。
Red Canary 认为,M1 兼容性、全球感染范围、高感染率,以及技术成熟程度,足以让该恶意软件成为一个“相当严重的威胁”。
目前,Silver Sparrow 已经存在两个版本,均伪装成 macOS 软件安装包 (.pkg) 的样子。其中第二个版本 加入了对 ARM64 架构的支持。
正如前面提到,M1 兼容性让这款恶意软件非常引人注目,因为 M1 仍然是苹果电脑产品中非常新的一个平台,而针对该平台的安全威胁目前少之又少。
让我们继续来看这个奇异的恶意软件。它的两个版本安装包,采用的都是 JavaScript 代码,并且利用了macOS 安装器的 JavaSciprt API。Red Canary 在一篇博客文章中指出,正是这一点让 Silver Sparrow 在已知常见的 macOS 病毒/恶意软件当中独树一帜。
在 macOS 上,用户不小心点击恶意广告后可能会下载到病毒或恶意软件,体现为 .pkg 或 .dmg 安装包格式,通常会伪装成 Flash Player 的安装器或升级包。这些恶意软件的工作方式是使用 preinstall 或 postinstall(安装前/安装后)脚本来执行命令。
而在 Silver Sparrow 上,这个全新的恶意软件直接用 JavaScript 函数来执行命令,这样的行为是在苹果 macOS 安装器原生的 JavaScript API 支持下才得以实现。这也是安全人士首次发现采用这一方式完成安装的 macOS 恶意软件。
正是因此,恶意软件内含的 JavaScript 代码可以在用户点开安装器并确认安装(见下图)之后就立即执行。这意味着,如果你没有走完安装流程,关掉了安装器,也没有用,恶意代码已经被执行了,你的电脑已经被 Silver Sparrow 感染了……
在感染成功之后,用户的应用列表里会出现一个应用,按照恶意软件版本的不同,这个应用的名字可能叫 tasker 或者 updater。跟进 Silver Sparrow 的安全机构都认为,这个应用没有任何内容也没有什么特殊功能,看起来像是占位用的。
前面提到,这个恶意软件目前不含任何负载,也即会对用户系统造成负面影响的代码之类的东西。这令安全人员感觉非常奇怪……让我们来进一步看看这到底是怎么一回事:
感染之后,恶意软件每个小时都会跟一个 AWS S3 服务器联系,而服务器会返回一些数据。这些返回数据中包含一个下载链接 "downloadUrl",但截至目前,安全机构在所有已感染电脑上看到的下载链接都是空的:
在安装完成后,Silver Sparrow 会回调一个域名并且汇报两组数据,其中包括了原始安装包下载的链接。这在恶意软件领域比较常见,意味着其开发者希望追踪软件的分发渠道。
不仅如此,这个恶意软件回调的域名利用了 Akamai 的 CDN 服务。Red Canary 就此指出,这可能意味着恶意软件的开发者对云服务的理解甚高,因为 AWS 和 Akamai 是世界顶级的云服务提供商,大部分机构通常不会对 它们的域名进行访问封锁。“这一发现进一步证明,我们面对的是一个技术非常成熟的对手,”Red Canary 写道。
安全工程师 Erika Noerenberg 对 Silver Sparrow 进行拆解,发现它的第一个版本(只有 x86 支持)分发的只是一句占位内容。这句话想必大家也已经很熟悉了:
而第二个版本加入了 M1 ARM64 架构支持,分发的同样是一句占位内容,看起来同样人畜无害: