让我们想象一个世界,其中每一行代码默认都是安全的,信任是经过验证的,创新和安全不再是对立的。
译自 Securing the Software Supply Chain: A 2035 Blueprint,作者 Dan Lorenc。
软件行业正处于十字路口。过去十年中,供应链攻击的兴起给该行业留下了不可磨灭的印记。
SolarWinds 和 Log4Shell vulnerability 漏洞利用等备受瞩目的事件暴露了我们在构建和分发软件方式上的系统性弱点。这些事件将受信任的工具变成了攻击媒介,使组织在损害发生后无力应对。如果过去十年教会了我们什么,那就是现状已难以为继。
未来十年软件供应链安全会怎样?行业如何转型以应对 2035 年的挑战?通过解决供应链漏洞的根本原因,并培养一种积极主动、集成安全的企业文化,我们可以构建一个创新和安全不仅兼容而且相互促进的未来。
传统的软件安全方法通常是被动的。旨在识别漏洞或检测恶意软件的工具历来是第一道防线。但是这些工具使组织容易受到原本可以预防的攻击。
这就像你在家里安装了一个安全摄像头,可以记录入侵行为,但对阻止入侵行为没有任何作用。在现代开发环境中,被动是不够的。我们需要安全措施来防止威胁首先进入软件供应链。
端到端软件完整性的新兴标准让我们得以一窥这种积极主动的未来。软件工件上的加密签名,结合对其来源的实时验证,可以确保只有受信任的组件才能进入开发管道。
到 2035 年,我们设想软件供应链安全的格局将发生根本性转变。以下是未来的样子:
- 最小的、不可变的工件: 部署到生产环境的每件软件都将仅包含构建和运行应用程序所需的最小组件集。这将提高性能,减少攻击面并增强零信任安全态势。
- 持续更新,更少的漏洞: 软件将从源代码持续重建,从而最大程度地减少与上游的偏差并减少安全漏洞。这使开发人员不仅可以使用新颖的功能,还可以使用最新的补丁,这意味着生产环境中存在零个或少量漏洞。组织将不再依赖需要破坏性维护并最终需要进行重大系统改造的不受支持或冻结的软件。软件的保质期像牛奶,而不是葡萄酒。
- 端到端完整性: 就像语法突出显示已成为现代 IDE 的主要功能一样,软件依赖项的实时验证将直接集成到 SDLC 的每个阶段。开发人员不必问“我可以信任此依赖项或工件吗?”,因为他们的工具会为他们验证它,并阻止不受信任的软件进入他们的环境。
这些进步不仅将增强安全性,还将通过消除手动、容易出错的流程来加速开发。安全将不再是瓶颈,而是创新的催化剂。
未来十年的这一愿景是雄心勃勃的,并且仍然存在重大挑战,例如在创新和安全之间找到适当的平衡。对于企业而言,快速有效地交付软件对于获胜至关重要。这就是为什么必须将安全性无缝集成到现有的开发工作流程中,而不会增加摩擦。减慢部署速度或需要大量人工干预的安全解决方案是行不通的。行业必须优先构建可在现代 SDLC 速度下运行的可扩展安全架构,在这种架构中,强大的 CI/CD 管道会持续部署代码。安全不应被视为额外的层,而必须以原生方式嵌入到软件开发和部署中。
这使我们认识到开源软件的重要性。开源因其可访问性和灵活性而蓬勃发展。增强的安全措施绝不能以牺牲推动创新的开放性为代价。在安全性和开放性之间取得平衡将需要周到的设计和对维护开源社区协作精神的承诺。
长期以来,信任一直是软件开发中的一个隐含假设。五年前,开发人员信任他们使用的库是安全的,他们部署的容器镜像没有漏洞,并且他们的供应链没有受到损害。但这种信任被错放了。
软件供应链安全的未来取决于用显式验证取代隐式信任。必须设计标准化的工具和流程,以确保每个组件的完整性,从而通过密码学证明而不是假设来建立信任。这种思维模式的转变需要在工具、标准和教育方面进行大量投资,但带来的好处是开发人员可以充满信心地构建和交付软件。
例如,采用可靠的供应链安全实践的组织不仅可以降低风险敞口,还可以获得竞争优势。在一个信任等同于价值的时代,能够证明其软件完整性的公司将赢得客户和合作伙伴的信任。
通往安全和创新未来的道路需要立即采取行动。这种转变的基石已经就位,但要充分发挥其潜力,还需要开发人员、企业和政策制定者的进一步承诺和协作。在塑造软件供应链安全的未来方面,我们都有自己的角色。
展望 2035 年,让我们想象一个默认情况下每一行代码都是安全的,信任得到验证,创新和安全不再相互对立的世界。今天开始适应这一愿景的组织将是明天蓬勃发展的组织。