天天动画片 > 八卦谈 > GB/T -202X 信息安全技术 软件产品开源代码安全评价方法 英文版

GB/T -202X 信息安全技术 软件产品开源代码安全评价方法 英文版

八卦谈 佚名 2023-11-20 02:30:13

GB/T -202X 信息安全技术 软件产品开源代码安全评价方法 英文版
Information security technology -Evaluation method for open source code security of software products

 

前 言
本文件按照GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定
起草。
本文件由全国信息安全标准化技术委员会(SAC/TC260)ᨀ出并归口。

1 范围
本文件给出了软件产品中的开源代码安全评价目标、评价指标体系和评价方法,评价指标体系涵盖
开源代码来源、开源代码质量、开源代码知识产权和开源代码管理能力。
本文件适用于软件产品包含的开源代码安全评价工作,为各企事业单位对于软件产品中的开源代
码进行安全性自评价ᨀ供参考,为第三方机构开展此类工作ᨀ供依据。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,
仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本
文件。
GB/T 25069-2022 信息安全技术 术语
3 术语和定义
GB/T 25069-2022界定的以及下列术语和定义适用于本文件。
软件产品 software product
计算机软件、信息系统或设备中嵌入的软件,或在ᨀ供计算机信息系统集成、应用等技术服务时ᨀ
供的计算机软件,表现形式为一组计算机代码、规程以及可能的相关文档和数据。
[来源:GB/T 36475—2018,3.1,有修改] 
开源代码 open source code
一种可以获取源代码的软件代码,其著作权人通过开源许可证将代码的复制、修改、再发布的权利
向公众开放。
开源许可证 open source license
一种具有法律效力的、允许用户自由使用、修改、复制或分发软件代码的授权条款格式合同或协议。
开源社区 open source community
以开源代码的贡献者为主体,在开源代码贡献过程中形成的具有特定文化、组织结构、运行机制的
共同体。
4 评价目标

开源代码来源
5.2.1 开源代码规模占比
主要统计软件产品包含的各开源代码模块字节数在软件产品代码中所占比例。
5.2.2 开源代码编码语言
主要统计软件产品包含的开源代码模块所使用的编码语言种类及其所开发代码占软件产品的比例,
并据此做出评价。
5.2.3 开源代码著作权人
主要统计软件产品所包含的各开源代码著作人基本信息,包括名称、所属国家或地区等,并据此做
出评价。
5.2.4 开源代码贡献量
主要统计软件产品所包含的开源代码贡献量情况,包括但不限于:
a) 贡献者数量及基本信息,包括名称、所属国家或地区等,并据此做出评价;
b) 各开源代码贡献者贡献代码量及占比,并据此做出评价。
5.2.5 开源代码丰富度
主要统计软件产品所包含的开源代码在功能、性能等方面具有等同实现的其他代码(含开源或商业
代码)情况,并据此做出评价。
5.2.6 开源社区安全管理
主要统计软件产品包含的开源代码所依赖的开源社区安全管理情况,包括但不限于:
a) 对于开源代码的安全扫᧿情况,并据此做出评价;
b) 对于开源代码的贡献管理,如签署开源贡献协议、具备代码审查机制、具备数字签名,并据此
做出评价。
5.2.7 开源代码托管平台
主要统计软件产品包含的开源代码托管平台运营方基本信息,并据此做出评价。
5.2.8 开源代码下载平台
主要统计软件产品包含的开源代码下载平台运营方基本信息和开源代码下载平台对开源代码完整
性具备保障情况,并据此做出评价。
开源代码质量
5.3.1 开源代码漏洞率
主要统计软件产品包含的开源代码模块原始漏洞数量和千行漏洞率情况,并据此做出评价。
5.3.2 开源代码漏洞严重性

主要统计软件产品包含的开源代码模块原始漏洞严重性,并据此做出评价,指标项可参考
GB/T30279-2020中6.3.3要求。
5.3.3 开源代码漏洞影响程度
主要统计软件产品包含的开源代码模块原始漏洞影响范围,并据此做出评价,指标项可参考
GB/T30279-2020 6.2.2中影响程度要求。
5.3.4 开源代码漏洞利用复杂度
主要统计软件产品包含的开源代码模块原始漏洞攻击复杂性,并据此做出评价,指标项可参考
GB/T30279-2020 6.2.1中被利用性要求。
5.3.5 开源代码漏洞修复率
主要统计软件产品中针对开源代码的漏洞修复率及修复时间,并据此做出评价。
5.3.6 开源代码版本更新情况
主要统计软件产品包含的开源代码所用版本和最新版本情况,并据此做出评价。
开源代码知识产权
5.4.1 开源许可证规范性
主要统计软件产品开源许可证规范性情况,包括但不限于:
a) 软件产品包含的开源代码相关许可证的规范性,评价内容涉及授权范围、授权条件、违约与授
权终止、免责声明等;
b) 软件产品履行开源许可证规定的相关条款、义务情况。
5.4.2 开源许可证互惠性
主要统计软件产品包含的开源代码是否存在互惠性开源许可证,对自由互惠的开源许可证进行识
别和风险评估,判断自研代码与开源代码之间的合规使用情况。
5.4.3 开源许可证兼容性
主要统计软件产品包含的开源许可证兼容性情况,判断开源代码之间的许可证合规使用情况。
5.4.4 开源许可证专利情况
主要统计软件产品包含的开源代码涉及专利是否得到授予,并据此做出评价。
5.4.5 开源许可证适用范围
主要统计软件产品包含的开源许可证的适用范围和出现纠纷时法律声明情况,并据此做出评价。
开源代码管理能力
5.5.1 开源代码物料清单
主要统计软件产品包含的开源代码物料清单的完备性,包括建立和维护可追溯性的策略和程序,记
录和保留开源代码的原始供应方、开源社区或开发贡献者等相关信息,并据此做出评价。
5.5.2 开源代码设计

主要统计软件产品设计阶段开源代码使用部分设计文档的完备性,以及梳理开源代码兼容性、使用
规范性情况,并据此做出评价。
5.5.3 开源代码生成
主要统计软件产品程序的源代码编写完成后,在编译以及链接过程中对使用的开源代码采取的安
全措施,包括配置检查,漏洞扫᧿等,达到代码生成安全。
5.5.4 开源代码管理团队
主要统计软件产品中开源代码的管理团队完善程度,内容包括但不限于:
a) 建立管理团队对开源代码进行统一管控,并进行相应管理角色划分,并据此做出评价;
b) 建立开源代码管理人员白名单和退出机制,并据此做出评价。
6 评价方法
概述
6.1.1 评价流程
评价流程主要包括评价准备、方案制定、现场实施、分析评估4个阶段:
a) 在评价准备阶段,评价实施方接收被评价单位ᨀ交的评价申请后,与被评价单位沟通所需的评
价材料,包括拟ᨀ供的软件产品、材料和证据等,依据本文件中的评价体系审核被评价单位ᨀ
供的评价材料是否满足条件,通过审核后,组建评价实施团队,根据需要可设置专家组;
b) 在方案制定阶段,评价实施方确定评价方法、程序和进度,形成评价方案;
c) 在现场实施阶段,评价实施方依据评价方案,结合被评价单位ᨀ供的评价材料逐项核查,必要
时可要求被评价单位补充相关材料,双方对现场实施结果进行确认;
d) 在分析评估阶段,评价实施方依据现场实施情况对软件产品包含的开源代码部分进行具体评
价和打分。
6.1.2 评价内容
评价实施方依据国家相关规定,主要对软件产品中的开源代码来源、开源代码质量、开源代码知识
产权和开源代码管理能力进行评价。
评价实施方在开展开源代码安全评价工作中应综合采用访谈、检查和测试等基本评价方法,以核实
被评价单位所ᨀ供评价材料是否满足指标考查内容要求:
a) 访谈:评价实施方通过与被评价单位相关人员进行有针对性的交流以帮助理解、厘清或取得证
据,访谈的对象为个人或团体,如技术团队负责人、核心技术工程师等;
b) 检查:评价实施方对被评价单位ᨀ供的相关材料进行观察、查验、分析以帮助理解、厘清或取
得证据,检查的对象为制度、文档和记录,如必要的开源代码物料清单、技术设计文档、安全
扫᧿报告、开源代码管理团队背景信息等;
c) 测试:评价实施方使用具备开源代码成分识别功能、漏洞检出功能和代码缺陷检出功能的方法
/工具使测试对象产生特定的结果,并将运行结果与预期的结果进行比对。
开源代码来源评价方法
6.2.1 开源代码规模占比

6.2.2 开源代码编码语言
开源代码编码语言的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码成分,形成开源代码成分测试报告;
2) 检查测试报告中软件产品开源代码编码语言名称;
3) 检查各类型编码语言对应的安装包下载量;
4) 访谈软件研发相关研发人员获取软件产品研发常用编码语言信息;
5) 判断编码语言是否为应用范围广、规范程度高、参与人数多的。
b) 预期结果:
软件产品包含的开源代码编码语言使用应用范围广、规范程度高、参与人数多的占比为80%及
以上。
6.2.3 开源代码著作权人
开源代码著作权人的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码成分,形成开源代码成分测试报告;
2) 检查测试报告中软件产品包含的开源代码所在托管地址著作权人的地址信息、所属组织信
息;
3) 检查软件产品开源代码是否受国际政治、战争、贸易管制、知识产权等一种或多种国际环
境影响。
b) 预期结果:
软件产品包含的开源代码不受国际政治、战争、贸易管制、知识产权等一种或多种国际环境影
响的比例为60%及以上。
6.2.4 开源代码贡献量
开源代码贡献量的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码成分,形成开源代码成分测试报告;
2) 检查测试报告中软件产品开源代码所在托管平台地址贡献者信息;
3) 检查贡献者的地址信息和所属组织信息;
4) 软件产品包含的开源代码贡献者是否不受国际政治、战争、贸易管制、知识产权等一种或
多种国际环境影响。
b) 预期结果:
1) 软件产品使用的开源代码60%及以上具备不受国际政治、战争、贸易管制、知识产权等一
种或多种国际环境影响的代码贡献者;

开源代码质量评价方法
6.3.1 开源代码漏洞率
开源代码漏洞率的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码漏洞,形成漏洞扫᧿报告;
2) 检查软件产品包含的开源代码是否存在漏洞;
3) 检查千行漏洞率;
4) 检查有漏洞的开源代码中平均漏洞个数。
b) 预期结果:
1) 软件产品包含的开源代码存在漏洞的千行漏洞率为1.5及以下;
2) 软件产品有漏洞的开源代码中平均漏洞个数为1个。
6.3.2 开源代码漏洞严重性
开源代码漏洞严重性的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码漏洞,形成漏洞扫᧿报告;
2) 对被利用性指标进行赋值,根据赋值结果,参考GB/T30279-2020附录A计算得出漏洞被利
用性分级;
3) 对影响程度指标进行赋值,根据赋值结果,参考GB/T30279-2020附录B得到影响程度分级;
4) 根据被利用性和影响程度分级的结果,参考GB/T30279-2020附录D,计算得到安全漏洞分
级结果;
5) 检查软件产品包含的开源代码是否存在中危及以上漏洞。
b) 预期结果:
软件产品包含的开源代码无中危及以上漏洞。
6.3.3 开源代码漏洞影响程度
开源代码漏洞影响程度的评价方法如下:
a) 评价方法:
1) 测试软件产品中未经改动的开源代码漏洞,形成漏洞扫᧿报告;
2) 检查软件产品包含的开源代码保密性影响,即漏洞对受影响实体承载信息的保密性的影响
程度,判断赋值是否为严重;
3) 检查软件产品包含的开源代码完整性影响,即漏洞对受影响实体承载信息的完整性的影响
程度,判断赋值是否为严重;

开源代码知识产权评价方法
6.4.1 开源许可证规范性

开源代码管理能力评价方法
GB/T XXXXX—XXXX
6.5.1 开源代码物料清单
开源代码物料清单的评价方法如下:
a) 评价方法:
1) 检查软件产品是否具备开源代码物料清单,物料清单应包括物料清单信息、直接引入的开
源代码基本信息、间接依赖的开源代码基本信息和相关说明材料;
2) 检查软件产品包含的开源代码物料清单是否具备可追溯性。
b) 预期结果:
软件产品包含的开源代码存在规范的物料清单,开源代码信息有记录、可追溯。
6.5.2 开源代码设计
开源代码设计的评价方法如下:
a) 评价方法:
1) 检查软件产品是否具备开源代码部分的设计文档;
2) 检查软件产品包含的开源代码是否与运行环境兼容;
3) 检查软件产品包含的开源代码是否具备外包接口兼容和版本接口兼容;
4) 检查软件产品包含的开源代码是否具备外部数据兼容和版本数据兼容;
5) 检查软件产品包含的开源代码使用是否具备代码、数据和注释的规范性。
b) 预期结果:
软件产品包含的开源代码未出现与其他代码产生兼容性冲突、使用不规范情况。
6.5.3 开源代码生成
开源代码生成的评价方法如下:
a) 评价方法:
1) 检查软件产品在生成阶段是否具备开源代码部分的安全扫᧿报告;
2) 检查软件产品包含的开源代码安全扫᧿策略配置是否合理。
b) 预期结果:
软件产品包含的开源代码生成均经过安全检查,安全扫᧿策略配置合理。
6.5.4 开源代码管理团队
开源代码管理团队评价方法如下:
a) 评价方法:
1) 检查组织架构图,确认软件产品是否具备开源代码管理团队;
2) 检查软件产品开源代码管理团队是否具备明确角色划分;
3) 访谈软件产品团队人员获取人员从业经历情况,确认是否符合项目管理要求。
b) 预期结果:
1) 具备完善的软件产品开源代码管理团队;
2) 人员分工清晰;
3) 从业人员符合项目管理要求。
评价结果
被评价单位结合所属行业和企业规模大小实际情况,依据评价体系及评价细则确认软件产品包
含的开源代码安全性:


本文标题:GB/T -202X 信息安全技术 软件产品开源代码安全评价方法 英文版 - 八卦谈
本文地址:www.ttdhp.com/article/42476.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们