CISA如何通过四大策略提升开源软件安全

本文针对美国政府关于开源软件安全的RFI提出四大解决方案:推广内存安全编程语言Rust、强化软件供应链防护、大规模减少漏洞类别、提升开发者教育水平,旨在系统性提升OSS安全性。

CISA如何提升开源软件安全 - Trail of Bits博客

美国政府近期发布了关于开源软件(OSS)安全的征求意见(RFI)。本文将总结我们的回应及建议方案,包括用Rust等内存安全语言重写遗留代码、资助合规解决方案、赞助漏洞分析工具研发,以及教育开发者减少攻击面和管理复杂功能。

背景详情

负责此次RFI的政府机构包括国家网络总监办公室(ONCD)、网络安全与基础设施安全局(CISA)、国家科学基金会(NSF)、国防高级研究计划局(DARPA)和管理与预算办公室(OMB)。RFI旨在收集公众对OSS安全长期优先事项的意见,这是识别OSS系统性风险和促进社区可持续发展的重要举措。

RFI包含五个长期重点领域,我们优先关注“保护OSS基础”及其四个子领域:推广内存安全编程语言、强化软件供应链、大规模减少漏洞类别、推进开发者教育。以下针对每个子领域提出具体建议。

推广内存安全编程语言

内存损坏漏洞仍是OSS安全的严重威胁,例如libwebp堆缓冲区溢出漏洞在RFI回应期间被积极利用。此类漏洞表明需要超越运行时缓解的解决方案,而像Rust这样提供内存和类型安全的语言是最有前景的。

Rust不仅能大幅减少漏洞,还能与遗留代码库良好集成,提供高性能且易用。因此,我们建议赞助关键遗留代码库的战略重写。由于重写成本高昂,我们推荐进行全面系统分析,以确定最适合过渡到内存安全语言(如Rust)的OSS组件,重点关注使用广泛、测试覆盖不足且易受内存安全漏洞影响的软件。

强化软件供应链

2020年SolarWinds攻击事件表明,供应链攻击是OSS安全的另一重大风险。供应链安全是多层面复杂问题,因此我们建议从开发者、包索引到下游用户的全链条防护改进。

策略包括发布CISA“强链”指南,为OSS开发者、仓库托管方、包索引和消费者提供指导。此外,资助OSS合规解决方案,如通过集成构建系统提升软件物料清单(SBOM)的准确性。

大规模减少漏洞类别

重点应放在大规模减少OSS生态系统中的漏洞。OSS-Fuzz等项目已成功缓解数千个安全问题,我们建议以此为模型资助类似项目。漏洞跟踪工具(如cargo-audit和pip-audit)能快速修复影响广泛的漏洞,但需维护漏洞数据库并避免过度报告次要问题导致安全疲劳。

因此,我们提议赞助漏洞跟踪工具、分析工具(如Semgrep和CodeQL)及其他规模化新技术的开发和维护。同时,赞助研究解决高价值问题,如安全HTTP解析。

推进开发者教育

提升开发者教育是OSS安全的重要长期领域。当前教育主要关注常见漏洞,我们建议扩展至减少攻击面、管理复杂功能和“左移”实践。针对这些领域创建文档和培训材料,可对OSS安全产生长期积极影响。

展望未来

解决OSS安全虽复杂,但通过在这四个领域 targeted 干预,可显著改善。美国政府可通过三大策略最大化影响:提供全面指南、通过DARPA和ONR等机构分配资金、与OSTIF、OTF和OpenSSF等OSS基金会合作。这种组合方法能为研究和工程任务提供必要赞助与资金支持。

这些行动共同为开源软件构建更安全的未来。我们欢迎ONCD、CISA、NSF、DARPA和OMB推动开放讨论并让我们贡献力量。

欢迎阅读我们的完整回应。

如果您喜欢本文,请分享至: Twitter LinkedIn GitHub Mastodon Hacker News


© 2025 Trail of Bits. 使用Hugo和Mainroad主题生成。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计