- 核心观点:开源软件在政府部门、关键基础设施和公共生活中得到广泛应用,其漏洞将对下游的行业领域产生广泛影响,各国政府均已高度重视开源安全。
- 研究背景:开源软件的重要性持续增加,已融入到社会各个方面,创造了大约8万亿美元的总价值。软件缺陷和漏洞的后果比过去严重得多,供应链攻击的频率和范围也在不断扩大。
- 核心问题:开源安全要解决两个核心问题和一个基本问题。核心问题是最终用户和软件开发人员想使用某个开源软件时,需再引入哪些开源软件才能保障系统的正确运行,以及确定所需要的各种开源软件组件的版本。基本问题是如何弥合商业消费者的法律合同驱动的规范和开源软件开发商的社会合同驱动的文化规范之间的差距。
- “管理员”角色:需要第三方“管理员”的加入,作为开源软件的生产者和消费者之间的中介,以满足消费者安全使用开源软件的需求。消费者自身、开源软件社区、企业内部团队、政府机构、商业公司等都可以扮演“管理员”角色。
- 软件物料清单(SBOM)和软件工件的供应链级别(SLSA):CISA应该推动采用SBOM和SLSA,并建立SBOM和SLSA两种认证的互操作性格式。
- 开源软件的安全消费规范:
- “顺流而下”的安全消费规范:下游的消费者使用开源软件时,应尽量与最新版本保持一致。
- “逆流而上”的安全消费规范:消费者应尽量将对开源软件的修改反馈给开源软件的开发者或维护者。
- 政府层面鼓励安全消费规范的具体措施:
- 采购:制定采购指南,驱动供应商遵守各类安全规范。
- 感知:利用现有的计划,通过可见指标推广开源软件消费最佳实践。
- 信息交换所:提升开源软件包安全的透明度,并促进信息交流。
- 集中管理:将安全消费的大部分责任集中在一个机构,以帮助其他人安全消费。
- 引导商业公司承担开源安全责任:
- 采用管理员模式:管理员可担任开源软件开发者与消费者之间的“中介”,提供安全保障的技术能力并承担法律责任。
- 标准化的自动化模板:创建并使用标准化的自动化持续集成、自动化测试模板,有助于开源软件的安全。
- 人工智能系统的开源安全和风险防范:
- 政府使用人工智能大模型需格外谨慎,应从透明度、可审计性、可重现性等方面维护人工智能开源安全。
- 推行人工智能大模型的“透明度卡”,以提高透明度。
- 确保人工智能的数据集和模型权重可验证,以提升可重现性。
- 研究结论:安全消费的长期解决方案需要进行开源软件消费机制的结构性变革。可以通过管理弥合差距,由负责任的中介对一部分开源软件包承担责任。透明度和自动化工具也有助于推广开源软件安全消费。