2023年12月21日,由中国信息通信研究院(以下简称“中国信通院”)主办的“2024中国信通院ICT深度观察——开源和软件供应链论坛”在京召开。会议期间,中国信通院云大所副所长栗蔚解读了《信息安全技术 软件产品开源代码安全评价方法》国家标准编制思路,从标准编制背景、标准编制内容、标准试点评估产业观察等方面进行介绍,最后对我国企业侧开源安全管理办法和发展趋势进行了总结。

开源赋能数字经济高质量发展,同时安全问题突出

当前开源代码应用非常普遍,开源赋能数字经济高质量发展的同时,安全问题也相对突出。开源在科技创新、产业开放、经济提振、全球可持续发展四个方面都显示出重要价值,同时开源的概念也不断拓展。在开源发展不断完善,开源生态愈发成熟的同时,开源风险问题也逐渐显现。一是开源安全漏洞风险日益加剧,部分行业高风险漏洞修复紧迫性凸显。二是开源许可证风险问题显著,根据公开报告显示,在2022年审计的代码库中,1/3的代码库存在开源许可证无法识别问题或使用了自定义许可证,同比增长55%。三是开源供应链涉及环节众多,关系网络复杂。据公开报告显示,2022年针对开源存储库的已知攻击同比增长了63%,自2019年以来,年均增长率高达742%。

各国高度重视开源安全治理

在国家层面,一方面全球通过政策强调开源安全重要性。美国、英国相继发布了开源安全相关的政策,能在全国范围内进行实施,有利于国家层面统筹开源安全治理工作。另一方面开源安全治理需要投入大量资金来提升开源代码质量,在这点上美国白宫、欧盟等国家针对重点开源代码推出漏洞赏金计划来提升开源安全性。

在组织层面,第三方机构促进开源安全治理人才聚集,牵头制定开源安全标准。开源安全组织是开源安全治理人才和资金的聚集地,2021年起欧洲成立开源治理办公室联盟辅导企业安全使用开源代码,2022年OpenUK推出了“开源安全之夏”普及开源安全风险。当前国际上的一些组织也相继发布了一些开源安全的标准,同时中国信通院也牵头立项了国家标准《信息安全技术 软件产品开源代码安全评价方法》来对软件产品开源代码安全进行参数设置和评价规程说明。

在企业层面也积极开展多项开源安全风险治理举措来促进自身和供应链的开源安全性。一方面像谷歌等头部科技巨头通过开源安全审查服务来促进开源代码供应源头的安全性,另一方面以谷歌、微软等为代表的商业科技公司,目前已初步建立了开源项目威胁建模、源代码审核、自动化安全测试在内的主动防御机制,通过对其应用的开源代码进行安全验证和组件标识,以提升商业软件产品的安全性和安全漏洞处置的及时性。

《信息安全技术 软件产品开源代码安全评价方法》国标编制思路

在信安标委指导下,中国信通院于2022年10月牵头立项《信息安全技术 软件产品开源代码安全评价方法》国家标准,旨在提升开源代码安全性,降低开源代码安全风险。

开源安全国标标准范围是描述了软件产品中的开源代码成分安全评价要素和评价规程,评价要素涵盖开源代码来源、开源代码安全质量、开源代码知识产权和开源代码管理。适用于对软件产品包含的开源代码成分进行静态安全评价,为各单位对于软件产品中的开源代码成分进行安全性自评价提供依据,为第三方机构开展此类工作提供参考。

标准囊括了开源代码安全评价的基本要素,此标准评价参数体系由开源代码来源、开源代码安全质量、开源代码知识产权、开源代码管理四个方面的两级参数构成。

标准针对每条参数给出详尽评价规程提高标准可操作性。在评价过程中评价实施方可采用访谈、检查和测试等基本评价规程,以核实被评价单位所提供评价材料是否满足指标考查内容要求。其中评价开源代码来源、开源代码安全质量和开源代码知识产权参数采取检查和检测的方法。评价开源代码管理部分的参数采取检查和访谈的方法。

《信息安全技术 软件产品开源代码安全评价方法》标准框架图

《信息安全技术 软件产品开源代码安全评价方法》试点评估产业观察

我院前期依托金融、通信、汽车和科技制造开源社区开展开源安全国标的试点工作,从试点结果发现各行业开源安全治理的脚步差异较大。

在开源漏洞方面,根据试点结果发现,高危开源漏洞在用户中频繁出现,其中中危漏洞、高危漏洞和超高危漏洞的占比分别为,数据分别为35.2%、35.4%和14.1%。

来源:中国信息通信研究院,2023年8月

行业用户软件产品开源代码漏洞等级平均占比

在开源知识产权方面,根据前期试点结果显示,行业用户软件产品中存在未均采用OSI认证的开源许可证,占比为11.8%,未规范使用开源许可证和使用书写不规范的开源许可证现象仍频繁发生。

来源:中国信息通信研究院,2023年8月

行业用户软件产品开源许可证规范性情况

下一步我院将积极推进标准编制进度,力争早日进行标准发布和实施,同时我院前期依托金融、通信、汽车和科技制造开源社区,从2022年11月起共试点4批次共计19个软件产品,后续也将继续分批次开展广泛试点评估来提高标准的可落地实时性。

我国企业侧开源安全建设路径

1、加强开源安全漏洞管理,统一更新版本降低运维成本

企业可制定开源安全漏洞识别修复措施,尽可能降低因开源代码安全问题给软件产品尤其是核心软件产品所造成的业务中断、数据泄露等破环软件产品安全性的后果。因中危及以上漏洞的影响范围较大、被利用难度较低,所以企业需要在此类漏洞出现后尽快修复。软件产品中使用的开源代码版本通常更新速度较快,因较新稳定版本通常开源代码漏洞数量较少,同时技术路径、代码质量也通常进行了持续优化,企业需要定期跟踪软件产品中使用的开源代码是否出现新版本,尽量使内部使用的开源代码与新版本保持一致。

2、提升开源许可证合规性,关注开源许可证变化

企业需根据使用场景选用开源许可证。如需进行再次开源的项目对开源代码的互惠性关注可以降低,对开源许可证间的兼容性考察度需要提升。相反,若引入的开源代码需要进行闭源或进行商业化用途,则需高度关注开源许可证的互惠性;企业在引入开源代码时需要保障开源许可证条款的完整性和防篡改;应使用经过OSI认证过的开源许可证;需关注开源许可证互惠性;关注开源许可证专利授予和适用范围;同时需持续监控开源许可证变化,及时制定开源代码的替换策略。

3、组建开源安全管理团队,提升开源物料清单透明度

传统行业可自上而下进行开源安全管理。即先在企业层面组建开源代码安全治理团队,制定相关规章制度,搭建开源代码安全治理基础设施,在企业内部实行统一的开源代码安全管理,对开源软件的合规使用进行管控,对开源软件的引入、使用、更新、退出等全流程管理提出明确的规定,在制度中明确要求对开源软件进行统一管理。软件行业和中小企业可自下而上进行开源安全管理。即先在项目组或围绕软件产品梳理开源代码安全风险,从落地层面率先进行实践,优先保障项目或软件产品里面的开源代码安全。开源代码安全管理应贯彻代码设计、代码生成和代码运维等软件产品全生命周期中,同时企业需要将使用的全部开源代码梳理成开源代码物料清单,盘点现存软件库资源,防重复、防遗漏。

4、完善开源安全工具链,实现自动化开源安全治理

企业需依据实际采购SCA工具,SCA工具选型应根据企业的常用编码语言、部署方式和对于开源代码识别颗粒度来;企业需建立可信开源代码库。对于代码库的搭建方和应用方都同样重要,对于搭建方来说,需要通过哈希值、数字签名等方式保护托管在代码库的开源代码不被篡改,从而建立可信开源代码下载源,对于应用方来说,内部存储开源代码的仓库需要保障其安全性,同时应提升开源代码库的可用性来促进企业内部的代码协作,提升研发效率的同时降低研发成本,降低基础代码被“重复造轮子”的场景。有条件的企业可将开源安全治理流程、工具等集成至开源治理平台,方便企业进行开源安全统一收口管理。

我国开源安全发展趋势

一是开源安全体系建设逐步加强。一方面,开源安全标准体系将持续完善,企业依据标准进行自我检查,对于不足之处进行查漏补缺。另一方面另外开源社区逐步沉淀开源社区安全开发体系方法论,开源组织对应用广泛的开源代码可投入资金和安全人员,协助提升开源代码安全性,同时开源组织可定期开展开源安全培训,与高校联合开展相关课程培养开源安全治理人才。

二是实现各行业开源安全治理经验共享。开源组织和第三方机构充分利用自身平台优势,聚集行业间开源治理优秀实践经验,针对行业开源治理痛点问题拉通交流,建立资源共享机制将优秀实践经验在行业间进行复用,逐步缩小行业间开源安全治理差距,提升整体开源安全治理水平。同时企业开源安全治理体系逐步建立。另外企业资产梳理逐步清晰,开源资产审查制度逐步完善。

三是开源安全基础设施建设脚步加快。开源安全风险识别工具能力得到进一步完善;开源代码存储资源安全得到进一步保障;开源安全信息监测能力得到进一步建设。

声明:本文来自CAICT可信开源,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。