【
仪表网 行业标准】经标准编制单位的辛勤努力,现已形成国家标准《信息安全技术 软件产品开源代码安全评价方法》征求意见稿。为确保标准质量,信安标委秘书处面向社会广泛征求意见。
当前开源代码应用广泛,超过 90%的企业使用的软件产品中涉及开源代码。与此同时开源安全问题凸显,开源代码自身存在的安全隐患被黑客利用攻击导致一系列安全事件,Log4j 等开源代码暴露的安全问题极大程度影响软件产品正常稳定运行。市场亟需标准化的软件产品开源代码安全评价方法。本标准为保障开源代码安全性,针对软件产品开源代码ᨀ出安全评价要素,给出评价方法,旨在降低软件产品中的开源代码安全风险。
本文件按照GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草。
本文件给出了软件产品中的开源代码安全评价目标、评价指标体系和评价方法,评价指标体系涵盖开源代码来源、开源代码质量、开源代码知识产权和开源代码管理能力。本文件适用于软件产品包含的开源代码安全评价工作,为各企事业单位对于软件产品中的开源代码进行安全性自评价提供参考,为第三方机构开展此类工作提供依据。
评价目标:
当前开源代码被广泛应用在软件产品的同时,存在开源代码网络安全风险、知识产权风险和持续性风险(见附录A)。
软件产品包含的开源代码安全评价应达到以下目标:
a) 可控性:通过评价软件产品中开源代码编码语言、贡献量、丰富度等情况掌握开源代码来源,最大程度降低开源代码供应中断风险,保障软件产品包含的开源代码部分使用过程中能够持续使用开源代码。
b) 安全性:通过考察软件产品中开源代码安全漏洞率、版本更新等情况,最大程度降低开源安全事件发生的可能性,保障软件产品中开源代码安全性不遭到破坏。
c) 合规性:通过考察软件产品中开源代码开源许可证互惠性、兼容性等情况,最大程度降低开源许可证知识产权风险,保障软件产品中开源代码符合开源许可证相关要求。
d) 稳定性:通过考察软件产品中开源代码物料清单、开源代码管理团队等情况,应对开源代码管理能力不足,保障软件产品包含的开源代码的稳定运行。
评价流程:
评价流程主要包括评价准备、方案制定、现场实施、分析评估4个阶段:
a) 在评价准备阶段,评价实施方接收被评价单位ᨀ交的评价申请后,与被评价单位沟通所需的评价材料,包括拟提供的软件产品、材料和证据等,依据本文件中的评价体系审核被评价单位提供的评价材料是否满足条件,通过审核后,组建评价实施团队,根据需要可设置专家组;
b) 在方案制定阶段,评价实施方确定评价方法、程序和进度,形成评价方案;
c) 在现场实施阶段,评价实施方依据评价方案,结合被评价单位提供的评价材料逐项核查,必要时可要求被评价单位补充相关材料,双方对现场实施结果进行确认;
d) 在分析评估阶段,评价实施方依据现场实施情况对软件产品包含的开源代码部分进行具体评价和打分。
评价内容:
评价实施方依据国家相关规定,主要对软件产品中的开源代码来源、开源代码质量、开源代码知识产权和开源代码管理能力进行评价。
评价实施方在开展开源代码安全评价工作中应综合采用访谈、检查和测试等基本评价方法,以核实被评价单位所提供评价材料是否满足指标考查内容要求:
a) 访谈:评价实施方通过与被评价单位相关人员进行有针对性的交流以帮助理解、厘清或取得证据,访谈的对象为个人或团体,如技术团队负责人、核心技术工程师等;
b) 检查:评价实施方对被评价单位ᨀ供的相关材料进行观察、查验、分析以帮助理解、厘清或取得证据,检查的对象为制度、文档和记录,如必要的开源代码物料清单、技术设计文档、安全扫描报告、开源代码管理团队背景信息等;
c) 测试:评价实施方使用具备开源代码成分识别功能、漏洞检出功能和代码缺陷检出功能的方法/工具使测试对象产生特定的结果,并将运行结果与预期的结果进行比对。
开源社区安全管理:
开源社区安全管理的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码成分,形成开源代码成分测试报告;
2) 检查软件产品开源代码所在的开源社区声明文档是否定期发布安全问题;
3) 检查软件产品开源代码所在的开源社区开源代码合并是否具备安全测试标记;
4) 检查软件产品包含的开源代码所在的开源社区贡献规则文档,确认是否要求开源贡献者签署协议要求;
5) 检查软件产品包含的开源代码所在的开源社区组织架构,确认是有人员进行代码审查;
6) 检查软件产品直接引入和和间接依赖的开源代码所在的开源社区贡献代码,确认是否具备数字签名;
7) 检查软件产品包含的开源代码所在的开源社区是否具备代码发布安全机制措施。
b) 预期结果:
软件产品包含的开源代码形成的开源社区对于正式版本发布进行安全扫᧿比例和对代码发布安全机制措施比例均为60%及以上。
更多详情请见附件。
全部评论