编译:代码卫士
专栏·供应链安全
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。
随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。
为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。
注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。
今年7月,旨在提升欧洲整体网络安全水平的欧盟网络安全局 (ENISA) 发布了《供应链攻击威胁全景图》报告,分九个部分全面介绍了供应链相关情况,如下:
1、引言
2、什么是供应链攻击?
3、供应链攻击的生命周期
4、典型的供应链攻击
5、供应链事件分析
6、并非所有攻击都叫供应链攻击
7、建议
8、结论
附录A:供应链攻击总结
本文为第二部分的内容。
该分类系统元素指的是在通过供应商攻陷客户过程中使用的攻击技术。透过该元素,我们识别出客户是“如何”遭攻击的而非遭攻击的是“什么”。它是一种攻击技术而非某种攻击类型。例如,如果客户更新了供应商提供的软件并收到某种恶意软件,那么该攻击就同时和“可信关系”和“恶意软件感染”有关。显然,多起攻击中可能使用了超过一种攻击技术。虽然客户可能并不一定总是具备攻击技术相关知识,但有办法识别出不在其范围内的攻击技术。
表4:用于攻陷客户的攻击技术。每种技术识别攻击如何发生而非被攻击的是什么。同一起攻击中可能使用了多种攻击技术。
客户资产是攻击者的主要及最终目标,通常是供应链攻击的存在理由。根据行业和所提供服务的不同,这些资产不尽相同。该分类系统元素旨在便于了解攻击的影响并对攻击者目标进行对比。有些资产可能会遭直接攻击,而有些资产可能不可避免地受影响。通常一起供应链攻击会导致1个以上的客户受影响。客户很可能并未意识到攻击者的攻击目标是谁(如攻击不成功或被快速检测到)。
表5:遭攻击的客户资产。每个元素识别客户遭攻击的是什么。同一起攻击中可能使用了多种攻击技术。客户资产通常是攻击的最终目标。
如下是关于在真实案例中应用分类系统如何帮助识别特定特性并便于了解攻击特征的例子。
Codecov 公司是一家代码覆盖率和测试工具软件提供商。该公司向其它企业如IBM、惠普企业等提供工具。2021年4月,Codecov 公司报道称,由于某些 Docker 镜像的创建过程出现错误,攻击者从一个 Docker 镜像中获取了其中一些有效凭据。攻击者获得凭据后,攻陷了客户使用的 “upload bash script”。攻击者下载并执行该脚本后,攻击者就能够提取客户数据,包括可导致攻击者访问客户资源的敏感信息。多名客户报告称攻击者能够利用被盗信息访问自己的源代码。该攻击并未归咎于具体的攻击者。如下图表1说明了这起攻击中涉及的步骤。
通过该信息,我们可以识别出上述分类系统中提到的四个元素。攻击供应商说明的是攻击者如何获得访问供应商的权限,在本例中,是通过“利用配置漏洞“获得的。通过这起攻击,攻击者瞄准的是供应商的”代码“资产。分类系统识别出供应商元素后,我们可了解客户是如何遭攻击的。在 Codecov 案例中是通过和供应商的”可信关系“实施攻击,而这种关系是不安全且未经验证的。客户遭攻击的最终资产是代码,即分类系统中的“软件”。
表6:应用于攻击中的供应链攻击分类系统涉及的是 Codecov 公司。攻击者利用 Codecov 中的一个配置漏洞用于修改供应商代码。攻击者滥用了Codecov 及其客户之间的可信关系,提取访问客户软件源代码所需的数据。
图表1:关于Codecov 供应链攻击如何运作的图解。Codecov 容器创建过程中存在一个bug,位于在线部署的容器中(1)。攻击者访问容器并获得 Codecov 公司的凭据 (2)。之后他们修改了 Codecov 的 bash 脚本 (3) ,该脚本在客户处更新 (4)。该恶意 bash 脚本将客户凭据提取给攻击者 (5),使其访问客户数据 (6)。
MITRE ATT&CK® 是经过策划的网络攻击者行为的知识库和模型,不同于本报告中提出的分类系统,因为它们的目的迥异。因此,供应链分类系统中不可能使用MITRE ATT&CK®,因为本报告中的分类系统强调的是能够描述供应链攻击的四个方面,尤其是供应商-客户关系。虽然MITRE ATT&CK® 完整地描述了所有攻击生命周期中的选项和步骤,但关于供应链的详情并未形成。
例如,MITRE ATT&CK® 的“初始访问”类别中提到了“供应链攻陷”的攻击技术。虽然对于识别供应链风险的企业很有用,但在明确关注供应链攻击本身方面过于笼统。本报告中提到的分类系统描述了供应链攻击本身的所有详情,因此有可能成为MITRE ATT&CK®知识库的补充。
本报告提出的分类系统和众所周知的Lockheed Martin网络 Kill Chain® 框架的目的也不相同。网络kill chain 框架旨在识别攻击者为实现其目标而采取的步骤。虽然这些步骤可作为供应链攻击的组成部分,但由于太笼统宽泛而难以分类、理解和对比供应链攻击。本报告提出的分类系统提供了对这些攻击更为详尽的分析,更重要的是有助于描述供应链攻击中针对供应商和针对客户两方面的攻击情况。
3、 供应链攻击的生命周期
通常情况下,供应链攻击涉及攻击一个或多个供应商,之后攻击最终目标即客户。每起攻击可能和 APT 攻击的生命周期非常相近。
尽管我们难以对 APT 攻击形成统一的定义,但本报告认为APT攻击是指满足这些条件的任何攻击:具有针对性、获得对组织机构越权访问权限(通常是代码执行)、持续很长时间以及最终目的和目标具有特定关系(和密币挖掘不同)。当然,这种定义并不完整,还可能存在其它定义。然而,定义的重要性在于了解供应链攻击通常是针对性的、复杂的、成本高昂的以及攻击者很可能策划了很长时间。仅仅是一般供应链事件中涉及至少两种成功攻击类型的事实就不仅表明了攻击者的复杂程度,而且表明了其持久性和成功的决心。
值得注意的是,安全社区认为从代码、exploit 和恶意软件角度来看,很多APT攻击并不“高阶”。然而,我们或许应该这样考虑,“高阶“的特征指的是整个运作而非仅仅指代码。最终,在两个组织机构中策划、发动、发展和执行两起攻击是一项复杂的任务。
这些不同对于了解这一点至关重要:组织机构可易受供应链攻击,即使其自身的防御措施非常不错,因此攻击者通过转向供应商并对其中的目标实施攻击来探索新的渗透高地。此外,影响同一个供应商无数客户的供应链攻击所造成的潜在影响很可能是巨大的。这也是为何此类攻击变得越来越常见的另外一个原因:这些攻击使得攻击者能提升自己的名声以及可能牟取暴利。
供应链攻击的另外一个特征涉及处理攻击的复杂度和缓解并解决这些攻击所要求的精力投入。单是至少两家组织机构实体受影响以及很可能使用复杂攻击向量的事实,就加剧了处理事件、取证分析和事件整体管理的复杂性。供应商-客户关系持续演进,客户不断更新系统要求供应链的持续安全性以及主动的风险评估和管理。
供应链攻击的生命周期主要分两部分:针对供应商的攻击和针对客户的攻击。通常而言这两种攻击都是复杂的、要求具备攻击向量、行动计划和仔细执行。这些攻击的成功可能需要数月的时间,而在很多情况下可能长期都不会被检测到。供应链攻击的生命周期可见图表2。
生命周期的第一部分是“供应商APT攻击‘,主要是攻陷一个或多个供应商。第二部分是“客户APT攻击”,主要关注最终攻击目标。这两部分攻击虽然由对供应商的访问连接,但在所使用的攻击技术、利用的攻击向量和攻击花费的时间方面可能大不相同。
图表2:供应链攻击的生命周期可看作两起APT攻击的交织。第一起攻击针对的是一个或多个供应商,第二起攻击针对的是客户。这些攻击要求缜密计划和执行。
经过调查证实,在本文研究的所有案例中(24起),至少有11起供应链攻击是由已知的APT组织发动的。这些归因判断由附录中负责报告的安全公司做出。在另外13起攻击中,这些安全事件并未得到完整调查或者无法归因。这种归因支持这种观点:供应链攻击的生命周期类似于APT攻击的生命周期。值得注意的是,攻击者的归属问题非常困难、易出错、不精确且具有政治风险,但并非不可能。
由于供应链攻击的每个组成部分可看作APT攻击,但其个体的生命周期一般遵循其它APT攻击的攻击阶段。企业版MITRE ATT&CK®战术详细说明了这类攻击阶段。
4、 典型的供应链攻击
本节内容概述了从2020年1月至2021年7月初发生的最引人注意的供应链攻击,以及根据本报告分类系统进行的分类。这些案例入选的原因是它们对安全社区造成了巨大的影响或者因为它们突出了某些特征(如分类系统中的元素所示)起着重要作用。完整案例清单和描述可见附录A。
SolarWinds 公司是管理和监控软件的供应商。Orion 是SolarWinds 公司的网络管理系统 (NMS) 产品。2020年12月,Orioni 被发现遭攻陷。大规模的调查表明,攻击者获得对SolarWinds 网络的访问权限,可能是通过利用第三方应用或设备中的0day,通过暴力攻击或社工获得的。攻陷该产品后,攻击者长时间地收集了信息。恶意软件在 build 过程中被注入 Orion 中。之后客户直接下载了受陷软件并用于收集和窃取信息。该攻击被归咎于APT29 组织。
表7:供应链攻击分类系统应用于SolarWinds 攻击中。攻击者利用多种攻击技术攻陷 SolarWinds Orion 软件。攻击者修改了供应商中的代码并滥用客户的可信关系使客户在更新中感染恶意软件。攻击者的最终目标是客户的数据。
图表3:SolarWinds 供应链攻击图解。攻击者攻陷 SolarWinds 并修改了 ORION 软件的代码。客户中的 ORION 实例更新时感染恶意软件,使得攻击者访问了客户数据。
Mimecast 是一家基于云的网络安全服务供应商。它提供的其中一项服务是邮件安全服务,要求客户安全地连接 Mimecast 服务器以使用 Microsoft 365 账户。2021年1月,攻击者通过供应商 SolarWinds 攻陷 Mimecast。之后攻击者访问了客户用于访问 Microsoft 365 服务的由 Mimecast 发放的证书,从而能够拦截网络连接并连接到 Microsoft 365 账户窃取信息。该公司被归咎于 APT29 组织。据称供应商攻击和 SolarWinds 事件相关,但尚未找到具体验证信息。
表8:适用于 Mimecast 的供应链攻击分类系统。目前不清楚攻击者如何攻击供应商数据即 Mimecast 颁发的证书。攻击者滥用了将数据上传至 Mimecast 的客户可信关心。攻击者访问了客户在 Mimecast 的数据。
图表4:Mimecast 供应链攻击图解。攻击者利用发现的凭据攻陷供应商并访问其证书。之后,客户验证并信任该证书后,攻击者利用证书访问客户数据。
Ledger 公司供应密币硬件钱包技术。2020年7月,攻击者获得访问Ledger 电子数据库的有效凭据,并在某在线论坛公开发布。攻击者利用被盗数据实施钓鱼和绑架活动,并向用户提供伪造的 Ledger 钱包通过物理攻击窃取用户钱财。当伪造的Ledger 钱包连接到电脑时,会要求用户提供安全密钥,从而通过恶意软件感染电脑并将被盗信息返给攻击者。该攻击的归因不明。
表9:应用于 Ledger 攻击的供应链攻击分类系统。攻击者使用开源情报技术找到访问 Ledger 记录的有效凭据并窃取客户数据。攻击者通过该数据滥用了客户信任关系,发送钓鱼邮件和伪造的USB加密钱包设备,窃取客户的密币。
图表5:Ledger 供应链攻击图解。攻击者在网络发现 Ledger 凭据,访问了其客户的数据库并利用该信息攻击客户。
Kaseya 是一家提供远程监控和管理工具的软件服务提供商。它提供VSA(虚拟系统/服务器管理员)软件供客户下载并运作自己的云服务器。MSPs(管理服务提供商)可本地使用VSA软件或许可Kaseya 的VSA 云服务器。MSPs 向其它客户提供多种IT服务。2021年7月,攻击者利用 Kaseya 系统中的一个 0day (CVE-2021-30116) 在客户的VSA设备上远程执行命令。Kaseya 可向所有VSA服务器发送远程更新,2021年7月2日周五,一条更新被分发到Kaseya 客户端的VSA 上,使攻击者执行代码。该恶意代码在受VSA管理的客户处部署了勒索软件。
表10:应用于Kaseya 攻击的供应链攻击分类系统。攻击者通过利用软件漏洞获得对 Kaseya 软件的访问权限。攻击者利用该访问权限在客户基础设施上安装勒索软件。该攻击通过勒索瞄准Kaseya 公司客户的数据和金融资源。
图表6:Kaseya 供应链攻击图解决。攻击者向MSP 供应商的VSA实例(仍在调查是在云中还是本地)中部署了代码。某些MSPs 遭利用,向其客户端部署恶意软件和勒索软件。
SITA案例之所以值得关注,是因为供应链攻击的很多组件仍然是未知的以及可能产生的影响。该案例表明在很多情况下,企业考虑到技术上的不可能或者政治及营销决策的原因,攻击的详情从未公开。这是安全社区和个体公司之间的取舍:通过了解其它公司如何被攻陷以改进自身的安全性与企业金融、名誉和市场的重要性。
SITA 公司从事空中信息技术和运输信息业务。SITA的乘客服务系统用于在乘客登机时向航空公司提供乘客信息,包括乘客可能为某个国家带来的风险。
2021年3月,消息称攻击者已攻陷SITA服务器,从SITA客户处获得对乘客数据的访问权限。某些SITA客户也称数据遭泄露,如印度航空、新加坡航空和马来西亚航空。
数据被暴露在网络后,印度航空公司还称网络遭攻陷且数据被盗。印度航空公司内网受陷被指和SITA安全事件相关,因为一家安全公司发现印度航空公司内部一台电脑的名称为 “SITASERVER4”。截至目前,我们仍不清楚攻击者如何获得对SITA 服务器的访问权限,也不清楚攻击者如何访问印度航空公司或者是否真的访问了该公司。针对印度航空公司的内部攻击被归咎于APT41。
该事件中的未知变量众多,正是供应链攻击威胁局势的一个表现。网络调查的成熟度以及很多企业的准备工作也应该延伸至其供应商,因为二者存在复杂且互相交织的关系。
表11:应用于 SITA 攻击的供应链攻击分类系统。目前尚不知晓攻击者如何访问供应商。攻击者访问了供应商客户的数据。目前尚不清楚攻击者如何设法渗透印度航空公司。已有信息表明攻击者的主要目标是客户数据。
图表7:SITA供应链攻击图解。攻击者从SITA的客户公司窃取乘客数据。截至目前尚不清楚攻击者如何获得对SITA服务器的访问权限,以及攻击者如何访问印度航空公司或者是否真的访问了印度航空公司。
推荐阅读
欧盟网络安全局发布《供应链攻击威胁全景图》报告(上)
在线阅读版:《2021中国软件供应链安全分析报告》全文
开源软件 Nagios 曝11个漏洞,可使IT 基础设施遭接管引发供应链攻击
Apache OpenOffice 漏洞使数千万用户易受代码执行攻击
谷歌资助OSTIF审计8个重要开源项目,提升软件供应链安全
【BCS2021】软件供应链完整演讲回看
美国政府召开网络安全峰会,与私营行业巨头合力提振软件供应链和开源等安全
原文链接
https://www.enisa.europa.eu/publications/threat-landscape-for-supply-chain-attacks
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。