如果说2020年是人们敏锐地意识到消费品供应链压力的一年,那么2021年是软件供应链安全意识兴起的一年。在2021年发生的令人关注的网络攻击事件中,包括美国一些政府机构在内的数以千计的客户下载了受损的SolarWinds更新软件而受到影响。
SolarWinds供应链攻击事件并不是孤例。事实上,软件供应链中的弱点在最近发生的Log4j漏洞事件中非常明显。Log4j是一个广泛使用的开源Java日志框架,该漏洞使数以万计的应用程序(从数据存储服务到在线视频游戏)面临风险。
由于在生产中运行了大量轻量级维护代码,因此软件供应链对于Log4j等安全漏洞利用的时机已经成熟。这是开源中的一个热门话题,因为很多人使用轻量级维护的软件库,将它们投入生产,然后再也不打补丁。
这就是为什么说2022年将成为软件供应链安全元年的原因。
以下是行业专家的预测,企业将在2022年努力加强软件供应链安全,并应该进行的三种实践。
(1) 深入探索容器镜像distroless
在2022年,企业应该考虑标准化,并精心修改他们的容器镜像,其中包括发行版。事实上,有些人甚至会说企业应该“不受干扰”。
在distroless模型中,应用程序仍然打包在容器镜像中,但只保留了操作系统的最小痕迹。这个想法是通过尽可能多地剥离操作系统(例如删除包管理器、库和外壳)而减小网络攻击面。
但是,重要的是要了解,就像无服务器计算中采用了服务器一样,无发行版中有发行版(发行版较少)。这可能就是distroless模型的真正价值,即提供一个框架来仔细挑选需要的和不需要的资源,而不是不加选择地专注于减小单个容器映像的大小。
(2) 检查容器镜像和注册表
软件从未像现在这样复杂,如果企业不了解正在部署的所有内容,就会遇到问题。随着容器使用的增加,企业需要考虑他们如何使用和部署容器镜像。换句话说,需要从受信任的地方下载受信任的东西。
企业可以抓住机会,以更快的速度生产产品。或者非常小心谨慎,保证不会成为下一个SolarWinds网络攻击事件的受害者。
事实上,一些企业在从容器注册表中提取软件时有一个受到控制的安全环境。企业可以让开发人员从他们想要的任何地方撤出。
这有点像让每个承包商管理自己的供应链合同,但如果事先考虑到恶意攻击,那就太可怕了。当涉及到容器供应链时,很容易进入被黑客入侵的镜像。因此,企业需要从受信任的供应商处获取容器映像,或确保了解(并且可以从头开始重建)供应链中的每个容器映像。
(3) 评估SLSA
预测企业将开始探索并实施软件的供应链级别(SLSA),SLSA 是一个保护软件供应链完整性的框架。
SLSA基于谷歌公司的Borg内部二进制授权(BAB)平台,这是一种内部部署的强制检查,旨在确保生产软件和配置得到适当的审查和授权。谷歌公司指出,采用BAB有助于降低内部风险、防止网络攻击,并支持生产系统的一致性。
谷歌公司声称,SLSA的目标是通过防范网络威胁来改善行业安全状况,尤其是在开源环境中。SLSA还让消费者安心地了解他们使用的软件的安全状况。
加州大学伯克利分校国际计算机科学研究所的安全研究员Nick Weaver说:“供应链攻击很可怕,因为它们真的很难处理,而它们明确表示企业可以信任整个生态系统,信任所有代码在其机器的供应商,信任每个供应商的供应商。”
谷歌公司发布了一个SLSA概念证明,允许用户在构建组件的同时创建和上传出处,从而达到SLSA级别1。在此建议任何软件开发商都要查看这个概念证明。
永远不要打破软件供应链
企业在过去几年中经历了很多事件,软件供应链攻击激增也加大了挑战,因为企业应对新冠疫情,从而忽略了供应链安全。当企业计划如何度过疫情时,保护软件供应链应该是首要任务。
如果不能保证软件供应链的安全,企业和他们的客户一直处在小心翼翼的状态。当然,保障供应链安全的理念是,其安全取决于最薄弱的环节,这意味着没有任何一家企业可以靠自己来保护软件供应链。
在2022年,考虑可以添加到现有最佳实践中的策略和技术非常重要。这种连续分层将帮助企业在对抗软件供应链攻击时保持最新状态。
人们一直在提防着下一个“黑天鹅”事件——看不见的威胁。对于这种情况,实际上只有一个全面防御措施:密切关注供应链!