如何提升开源软件安全:CISA的四大战略方向
美国国家网络总监办公室(ONCD)、网络安全与基础设施安全局(CISA)、国家科学基金会(NSF)、国防高级研究计划局(DARPA)和管理与预算办公室(OMB)近期联合发布关于开源软件(OSS)安全的信息请求(RFI)。本文基于对RFI的正式回应,提出以下四大核心解决方案。
推动内存安全编程语言的应用
内存损坏漏洞仍是开源安全的重大威胁,近期libwebp堆缓冲区溢出漏洞的活跃利用便是明证。相比运行时缓解措施,Rust等同时提供内存安全和类型安全的语言更具前景。
Rust不仅能显著减少漏洞,还具备与遗留代码库的良好兼容性、高性能和易用性优势。我们建议资助对重要遗留代码库进行战略性重写,并通过系统化分析确定最适合迁移至内存安全语言的开源组件,重点关注使用广泛、测试覆盖不足且易发内存安全漏洞的软件模块。
强化软件供应链安全
2020年SolarWinds攻击事件表明供应链攻击对开源安全的严重威胁。我们提出跨全链路的防护改进方案:从开发者到软件包仓库再到下游用户。
核心策略包括由CISA发布"强链路"指南,为开源开发者、仓库托管方、软件包索引和消费者提供标准化指导。同时资助提升合规性的开源解决方案,例如通过集成构建系统改进软件物料清单(SBOM)的准确性。
大规模消减漏洞类别
OSS-Fuzz等项目已成功缓解数千个潜在安全问题,我们建议以此为基础资助类似项目。漏洞跟踪工具(如cargo-audit和pip-audit)在快速修复影响广泛的漏洞方面成效显著,但需注意维护漏洞数据库时避免过度报告次要问题导致开发者产生安全疲劳。
解决方案包括资助漏洞跟踪工具的开发维护、Semgrep和CodeQL等分析工具,以及支持安全HTTP解析等高价值问题的创新技术研究。
推进开发者教育
与当前聚焦常见漏洞的教育不同,我们建议扩展教育范围至攻击面缩减、复杂功能管理和左移安全实践。针对这些领域创建专门的文档和培训材料,将对开源安全产生长期积极影响。
实施路径展望
通过三项策略组合最大化影响:提供全面指南、通过DARPA等机构分配资金、与OSTIF等开源基金会协作。这种综合方法将为研究和工程任务提供必要的赞助与资金支持,共同构建更安全的开源软件未来。
欢迎阅读我们的完整回应报告。