60 Journal of Cyber Security 信息安全学报, 2020 年 1 月, 第 5 卷, 第 1 期
图 1 软件供应链安全的发展历程
Figure 1 Timelines of Development of Software Supply Chain Security
1) XcodeGhost 开发工具污染事件
Xcode 是一个用以开发 OS X 和 IOS 应用程序的
集成开发环境(Integrated Development Environment,
IDE), 由苹果公司官方发布。XcodeGhost 事件爆发
于 2015 年 9 月, 是一起有攻击者的网络攻击事件。
攻击者利用当时通过官方渠道获取 Xcode 官方版本
困难的情况, 通过注入病毒污染了在非官方渠道发
布的 Xcode
[27]
。其具体方法为修改 Xcode 软件的用
于加载动态库的配置文件, 在其中添加了非官方的,
具有恶意功能的 Framwork 软件开发工具包(Software
Development Kit, SDK), 同时利用 Xcode 开发环境中
使用的 Object-C 语言的扩展类功能这一特性重写系
统应用启动时调用的名为 makeKeyAndVisible 的函
数, 使得恶意代码能够随着应用的启动而自行启动。
多个知名 APP 的开发组织在通过非官方渠道获取了
被注入病毒的 Xcode, 并使用被污染的工具编译出
了被注入病毒的 APP。受感染的 APP 会将运行过程
中获取的含有用户隐私数据的信息发送到病毒作者
架构的域名为“init.icloud-analysis.com”的服务器中,
并可能被用于各种潜在的非法用途。这些木马化的
APP 受到开发者的签名认证, 得以在官方渠道发布,
对企业业务逻辑的正常运行以及它们在 OS X 和 IOS
等平台下用户隐私的安全造成了巨大的威胁, 并可
能为攻击者带来了可观的经济利益。
2) CCleaner 恶意代码植入事件
CCleaner 是一款具有庞大用户群体的系统优化
和隐私保护工具, 由 Piriform 公司开发和发布。2017
年 9 月, Piriform 官方声称该公司发布的被公开下载
的 CCleaner 和 CCleaner Cloud 软件中被植入了后
门。由于 CCleaner 软件具有隐私保护的功能, 这一
事件可能影响了数百万终端用户的数据安全。此次
事件的源头是攻击者入侵了该公司的开发环境, 篡
改了 CRT 函数库(C Runtime Lib)
[28]
, 在其中植入了
恶意代码, 影响了所有在编译过程中使用了被污染
的库函数的程序, 因而可以被认为是表现为恶意代
码植入的软件供应链安全事件。类似的, NetSarang
公司开发的 Xshell 软件在 2017 年 7 月被以相同手段
植入了恶意代码
[29]
。
图 2 XcodeGhost 事件流程
Figure 2 Procedure of XcodeGhost Event
3) WireX Android 僵尸网络事件
WireX Botnet 是一种典型的僵尸网络, 通过控制
大量的安卓设备发动 DDoS 攻击。WireX 僵尸网络中
的僵尸程序病毒通过与普通 Android 程序捆绑进行
伪装, 成功避过了 Google Play 应用商店对于恶意软
件的检测。被捆绑的普通 Android 程序通过 Google
Play 的官方渠道被用户下载安装后将 Android 主机
感染为僵尸主机
[30]
。WireX Botnet 的网络传播过程利
用了软件从软件开发商到交付用户使用的环节, 使
其成为一次典型的软件供应链安全事件。
4) NotPetya 勒索病毒事件
勒索病毒(Ransomware)是一种通过加密用户数
据向用户勒索赎金的病毒
[31]
。NotPetya 勒索病毒事
件于 2017 年 6 月被披露, 来自欧洲多个国家的多个
机构的数万台机器受到了感染。在这次事件中, 病毒
感染用户计算机系统的行为与传统的勒索病毒行为