今天的软件很大程度上是组装而不是编写的,而且大部分组装都来自开源组件。创建组件并将其包含到应用程序中创建了一个“供应链”,就像在传统制造中一样。虽然实体供应链已经建立了完善的监管链,以建立冷藏维护、真实性或避免损坏等属性,但软件供应链在很大程度上是一个狂野的西部,充满了可能(并被)无意中插入到应用程序中的漏洞。
随着政府和学术界正在探索供应链风险和缓解措施,一个需要解决的更大的攻击面正在被揭开。本演示文稿描述了软件供应链的各个部分、漏洞是如何引入的、构建和分发软件的新方法带来的日益严重的攻击面,以及开发人员可以采取哪些措施来避免或减轻基于汇编的软件开发策略中固有的风险。