Fifty Years of Open Source Software Supply-Chain Security

1972年3月,美国空军开始审查霍尼韦尔公司的Multics系统,以评估其是否可用于安全环境。该审查报告于1974年年中发布,结论是Multics虽然本身并不安全,但比同类系统更为优越,或许可作为开发安全系统的合理起点。报告还提到了一种潜在风险:在看似无害的系统调用中添加后门(当时称为“trap door”)。当该系统调用接收到某个特定且极不可能出现的输入时,便允许读取或写入内核内存中的任意一个字。这一微小的改动将彻底破坏系统的安全性,报告深入研究了此类改动可能的实现方式及其隐藏机制。

开源软件供应链安全是一个热门话题,尤其是在2024年XZ攻击之后,XZ 攻击是开源软件供应链上的首次重大攻击,而非漏洞。

软件供应链安全问题的轮廓在半个世纪以来没有改变,因为它们是根本性的。计算机安全领域没有简单的答案,软件供应链安全也不例外。我们所能追求的最佳目标是不断改进我们的防御措施,而许多有前景的强化手段尚未得到普遍部署。本文旨在强调一些应更广泛采用的有前景的方法,并指出仍需进一步努力的领域。

1.理解软件供应链
“理解”更重要的含义是,了解你自己特定的软件供应链具体是什么样子,观察构建单个程序所执行的命令,以及这些命令之间的依赖关系。虽然“链”这个词听起来很简单,但供应链更像是一个分形:无论你观察得多仔细,它都极其复杂。
2.验证软件
在某种程度上,如果能够解决身份问题,让作者对其软件进行签名可以提供更强的保证。
3.实现可重现的构建
验证二进制文件未被修改的最好、最明显的方法是重新构建它们,并将结果与分发的二进制文件进行比对。
4.快速发现和修复漏洞
5.预防漏洞
省略不必要的依赖项。
6.资助开源

1974 年 Multics 审查预见了我们今天面临的许多问题,这证明了这些问题具有根本性,没有简单的答案。我们必须努力持续改进开源软件供应链安全,使攻击变得更加困难和昂贵。

https://cacm.acm.org/practice/fifty-years-of-open-source-software-supply-chain-security/
 
 
Back to Top