2021开源安全和风险分析报告_29页_11mb
报告摘要
2021开源安全和风险分析报告(OSSRA)总结
核心内容
2021年开源安全和风险分析报告(OSSRA)由Synopsys网络安全研究中心(CyRC)发布,旨在深入分析商业软件中开源代码的安全性、合规性、许可和代码质量风险。报告基于Black Duck®软件组成分析(SCA)解决方案的审计数据,以及来自Coverity Scan®和Black Duck Binary Analysis的数据,揭示了当前开源生态系统的挑战与机遇。
主要观点
1. 开源代码的广泛使用
- 75% 的代码库包含开源代码,98% 的Android应用程序使用开源代码。
- 63% 的Android应用程序包含易受攻击的开源代码库。
- 100% 的营销科技类公司代码库包含开源代码,95% 包含开源漏洞。
- 71% 的零售和电子商务代码库包含漏洞。
- 60% 以上的金融服务和医疗保健行业代码库包含开源漏洞。
2. 漏洞与安全风险
- 84% 的被审代码库包含至少一个公开漏洞,比2019年增加了9%。
- 60% 的被审代码库包含高风险漏洞(已被利用或存在远程代码执行风险)。
- 前十大漏洞 中,部分漏洞的占比显著上升,如CVE-2019-10744(Iodash漏洞)在2020年审计中仍占 29%。
- 83% 的GitHub漏洞源于编码错误,而非恶意攻击。
3. 开源许可风险
- 65% 的被审代码库包含存在许可证冲突的开源代码。
- 26% 的代码库使用无许可证或定制许可证的开源代码,存在潜在的知识产权和法律问题。
- 能源与清洁科技 和 制造业、工业和机器人 行业的许可证冲突比例最高,分别为 86%。
- 零售和电子商务 行业的许可证冲突比例最低,为 47%。
4. 开源可持续性问题
- 91% 的被审代码库中包含在过去两年中未更新的开源依赖项。
- 85% 的被审代码库包含至少四年未曾更新的开源组件。
- 开源项目的维护依赖于志愿者,随着使用量的增加,维护压力也增加,导致部分项目被放弃。
- “核心基础设施计划”(The Core Infrastructure Initiative)旨在支持关键开源项目的维护。
5. 开源质量与安全保障
- 大多数软件漏洞是由于编码错误,而非恶意攻击。
- 静态分析工具 如Coverity Scan®和clang security Checker被广泛使用,有助于识别和修复代码缺陷。
- NGINX Open Source 使用Coverity Scan®进行静态分析,其缺陷密度仅为 0.02%,展示了高质量开源代码的管理方式。
关键信息
开源管理的重要性
- 开源代码已成为现代软件开发的基础,但其使用也带来了显著的安全、合规、许可和可持续性风险。
- 软件组成分析(SCA)工具 如Black Duck®能够自动识别和跟踪开源依赖项,提供全面的物料清单(BOM),有助于风险管理。
风险类型
- 安全风险:开源漏洞的普及率和高风险漏洞比例持续上升。
- 许可风险:许可证冲突、无许可证或定制许可证可能导致法律纠纷。
- 可持续性风险:开源项目的维护依赖于志愿者,缺乏长期支持可能导致项目失效。
编码错误与漏洞
- 编码错误是漏洞的主要来源,占GitHub漏洞的 83%。
- 静态分析工具是识别和修复编码错误的重要手段。
物料清单(BOM)
- BOM是开源代码依赖项的全面清单,包含许可证、版本和下载位置等信息。
- Gartner预测,到2024年,至少一半的企业软件买家 将要求供应商提供详细的、定期更新的BOM。
结语与建议
- 得·帕克原则:“能力越大、责任越大。” 开源生态系统的成功依赖于所有成员对安全和质量的责任感。
- 开源开发者和使用者应采取措施确保代码的安全性、合规性和可持续性,例如:
- 使用SCA工具进行依赖项管理。
- 采用静态分析工具发现编码错误。
- 定期更新依赖项,避免使用过时的库。
- 了解并管理开源许可证,避免法律风险。
- 建立支持开源项目维护的机制,如参与“核心基础设施计划”。
相关读物推荐
- Backstabber's Knife Collection:开源软件供应链攻击综述
- Dependency Confusion:如何入侵Apple、Microsoft等公司
- DevSecOps Practices and Open Source Management in 2020:2020年DevSecOps实践与开源管理调查
- Finding Critical Open Source Projects:寻找关键开源项目
- Peril in a Pandemic: The State of Mobile Application Security:疫情中的移动应用安全隐患
- Know, Prevent, Fix: A framework for shifting the discussion around vulnerabilities in open source:漏洞管理框架
- OpenSSF: Secure Software Development Fundamentals Courses:安全软件开发基础课程
- What is a software bill of materials?:软件物料清单(BOM)简介
参考资料
- Tyler Clifford, “随着生物科技公司竞相寻找新冠肺炎的治疗方案,Veeva Systems的产品使用量增加了十倍”,CNBC,2020年3月26日。
- David Sharp, “新冠疫情引发的户外运动热潮导致L.L.Bean产品销量激增”,美国新闻,2021年3月19日。
- 维基百科,“开源许可诉讼”,2021年3月26日访问。
- Kemal Altinkemer、Jackie Rees和Sanjay Sridhar,“开源软件的漏洞和补丁:一项实证研究”,普渡大学,2005年1月。
- Explain xkcd, “2347: 依赖关系”,2020年8月17日。
- Frank Nagle等人,“2020年FOSS贡献者调查报告”,Linux基金会,2020年12月8日。
- GitHub,Nicole Forsgren等人,“2020年Octoverse状态报告”,2020年。
- Mark Horvath、Dionisio Zumerle和Dale Gardner,“应用程序安全测试魔力象限”,Gartner,2020年4月29日。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载