供应链是公司内部深层次的复杂环境,涉及公司大部分基础设施、运营、人员和外部关系,比如供应商、合作伙伴和客户。保护供应链很难,因为安全团队需要照顾的敏感节点、线路和流程太多:软硬件资源、云、混合环境与本地环境、各个平台,以及Web应用。

这种复杂性也是供应链的弱点和如此吸引网络罪犯的原因所在。这几年我们已经经历过多次供应链攻击,统计数据也显示未来供应链攻击可能呈上升趋势。本文专注软件供应链攻击和安全团队需要着手的最佳实践,旨在帮助保护供应链和维持公司安全环境。

供应链攻击基础知识

供应链攻击往往指向两个或多个目标,其中包括中间目标和最终目标。成功渗透进小供应商之类中间目标的网络后,网络罪犯会利用恶意代码入侵供应商的软件,借此染指他们的最终目标:高价值供应商、客户和企业的软件。

不同于实体系统,软件在离开生产商后通过更新和补丁不断修改,容易出现许多无意和恶意的缺陷。随着软件供应链融入更广泛的信息与通信技术(ICT)供应链框架,安全团队必须意识到,网络罪犯能够潜入ICT供应链生命周期的各个阶段并实施攻击。

图1:ICT供应链生命周期及威胁样例

供应链攻击有三个主要阶段。首先,攻击者寻找并感染其中间目标。然后,恶意软件传播扩散,网络罪犯坐等成效。最后一个阶段是实际攻击,也就是攻击最终目标,通常伴随着开始勒索赎金。感染和攻击之间的时间间隔令供应链攻击深受网络罪犯喜爱,因为这有助于他们长期潜伏。

图2:供应链攻击的三个阶段

供应链攻击技术

供应链攻击大多遵循归属以下技术之一的模式,但可以同时运用这些技术:

● 劫持更新

● 破坏代码签名

● 入侵开源代码

● 应用商店攻击

劫持更新

如今,现代软件接收更新修复安全问题是个分发过程,属于从集中服务器到客户的产品维护的一部分。艺高人胆大的恶意黑客会潜入公司网络,向更新中插入恶意代码,从而劫持更新,获取软件功能控制权。受感染的更新会沿硬件和网络进一步扩散。

这种复杂攻击通常会加密数据、锁定实体系统,或者抽取敏感信息。过往案例已经证明了这种技术极具灾难性,可导致关键行业出现全球大混乱。

破坏代码签名

代码签名仰赖公钥密码体制,这是一种用数字签名验证代码及代码作者完整性的机制。网络罪犯可通过多种手段破坏这一过程,比如自签名证书、破坏签名系统,或者利用错误配置和防护薄弱的账户访问控制。

这么做可以使网络罪犯能够通过冒充可信第三方和向更新注入恶意软件而利用软件更新。然后,供他们大肆执行非法操作(比如修改开源代码和从事间谍活动等)的道路就敞开了。

入侵开源代码

这种技术便于利用,开发人员往自己的第三方代码中添加开源代码时,攻击者往其中插入恶意软件就行。很多案例中,攻击者要么通过获取账户权限修改软件包,要么发布名称接近常用包的软件包。恶意代码通常试图访问目标的数据和支付信息。

恶意Python库就是这种技术的一个例子,库中含有与所冒充的库相同的代码和功能,但添加了支持启动和在远程工作站上打开反向shell的功能。

应用商店攻击

此类攻击利用Web应用分销商,通过入侵合法应用或开发恶意应用感染移动设备。通常,这些应用安装或执行时会尝试访问并抽取支付信息及其他敏感信息,然后将之回传给始作俑者。

确保供应链安全的必要性

Mike Sentonas强调:“坦白讲,供应链很容易遭到攻击,对手一直在积极探索利用供应链的方法。我们尚未看到这些攻击的终结,而每次攻击都会对供应链上下游的受害者及其客户和合作伙伴产生重大影响。”

软件供应链攻击是网络罪犯钟爱的目标,且此趋势短期内不会改变。软件供应链的主要吸引力在于链上各环节间的一对多关系:感染一个就能白嫖全部。这就是2021年供应链攻击频率和复杂度上升650%的原因所在,且这一上升趋势预计在未来几年还将延续。

网络罪犯利用此类攻击进行大规模勒索,或者拿下间谍相关目标的访问权限。他们利用固有的组织缝隙,滥用用户期望找到可靠代码的关系。

这些攻击影响巨大,还会大幅增加数据泄露的价值,因为会影响到广为使用的开源项目。然后,软件供应链攻击有可能深入机构或企业,削弱开发和管理工具,最终破坏其凝聚力。最后,更重要的是,供应链攻击对黑客国家队而言具有战略价值,且已得到有效利用。

由于供应链攻击趋势上升并可致瘫关键基础设施,政策制定者、决策者和网络安全专业人员应当激发斗志,并立即采取行动增加攻击成本,降低供应链攻击的影响。美国总统拜登已经签署了行政令,试图协调公营和私营部门的举措,通过改革和现代化美国的网络安全来最大限度地减少美国国家安全威胁。

看顾好供应链

想要解决供应链不安全的问题,可以遵循以下三条战略层面的建议:

改善基础:因为最佳实践各自为战无甚效果,应让所有人都熟悉最佳供应链安全工具,遵循广受支持的标准,并共享相关知识。

加强开源防护:开源无处不在,社区必须妥善保护开源项目。

对抗系统性威胁:团结才有力量,大家必须通力合作,有效支持联合溯源,从而防止共同威胁。

创建软件物料清单(SBOM)

在运营层面,企业可以给自己的安全工具箱配备多项活动来改善安全态势。以下几项活动可供参考:

● 启用诱饵(蜜罐)来获取早期威胁警报。

● 确保特权访问管理(PAM)安全,从而保护敏感资源;最大限度减少敏感数据访问;保护易受攻击的资源;实现最小权限原则(PoLP)。

● 假定自己将会经历数据泄露,然后实现零信任架构。

● 识别潜在内部人威胁,尝试通过持续的安全意识培训减少此类威胁。

● 实施严格的影子IT规则;严格按照指南注册全部IT设备。

● 定期执行第三方和业务风险评估。

● 监测并审核供应商的网络,查找漏洞和数据泄露。

保持供应链平稳运作

供应链攻击一旦成功会极其有效和极具毁灭性,因为此类攻击传播范围广,且会影响受保护的系统。想要改善供应链安全,公共和私营部门的决策者应鼓励向开源计划投入更多资金和支持,而网络安全专业人员应重新聚焦于实施最佳安全实践、修订安全策略和共享事件知识。