GB_T 43848-2024 网络安全技术 软件产品开源代码安全评价方法.docx
ICS35.030CCS1.80SB中华人民共和国国家标准GB/T438482024网络安全技术软件产品开源代码安全评价方法Cybersccuritytechno1.ogyEva1.uationmethodforopensourcecodesecurityofsoftwareproducts2024-11-01实施2024T)4-25发布国家市场监督管理总局恰*国家标准化管理委员会发布目次前言III1范围12烷范性引用文件I3术语和定义I5评价要素25.1 评价参数25.2 开源代码来源35.2.1 概述35.2.2 开源代码规模与占比35.2.3 开源代码编码追吉35.2.4 开源代码著作权人35.2.5 开源代码近觎奴35.2.6 开源代码丰富度35.2.7 开源社区安全管理35.2.8 开源代码托管平台35.2.9 开源代码下栽平台35.3 开源代码安全质量45.3.1 概述45.3.2 开源代码漏洞率45.3.3 开源代码漏洞严正性45.3.4 开源代码训洞修更率45.3.5 开源代码版本更新情况45.4 开既代码知识产权45.4.1 概述45.4.2 开源许可证遵从度45.4.3 开源许可证规范性45.4.4 开源许可证互惠性45.4.5 开源许可证兼容性45.4.6 开源许可证专利情况45.4.7 升双许可证适用范用55.5 开源代码管理55.5.1 概述55.5.2 开源代码管理团队55.5.3 开源代码物料清单55.5.4 开源代码设计55.5.5 开源代码生成56评价流程56.1 概述56.2 开源代码来源评价流程56.2.1 开源代码规模与占比56.2.2 开源代码编码语音66.2.3 开源代码著作权人66.2.4 开源代码贡献信66.2.5 开源代码丰富度66.2.6 开源社区安全管理66.2.7 开源代码托管平台66.2.8 升源代码卜栽平台66.3 开源代码安全防盘评价流程76.3.1 开海代码漏洞率76.3.2 开源代码漏洞产理性76.3.3 开源代码漏洞修身率76.3.4 开源代码版本更新情况76.4 开源代码知识产权评价流程76.4.1 开源许可证遵从度76.4.2 开源许可证规范性86.4.3 开源许可证互惠性86.4.4 开源许可证兼容性86.4.5 升源许可证专利情况86.4.6 开滁许可证适用范胭86.5 开源代码管理评价流程86.5.1 开源代码管理团队86.5.2 开滁代码物料满旗86.5.3 开源代码设计86.5.4 开源代码生成9附录A(资料性)开源代码安全风嗓10A.I开源网络安全风险IOA.2开源知识产权风除10A.3开源持续性风哙IO参考文献I1.本文件按照GB"I.I-2O2Og标准化工作导则笫1部分:标准化文件的结构和起草规肌3的规定起草.请注通本文件的某些内容可能涉及专利.本文件的发布机构不承担识别专利的责任.本文件由全国网络安全标准化技术委员会(SACrrC260)提出并归1.1.本文件起草单位:中国信息通信研究院、蛆蚊科技集团股份有限公司、华为技术有限公司、中兴通讯股份有限公M、山东浪潮科学研究院有限公司、阿里云计算有限公司、深信服科技股份有限公M、腭讯云计算.(北京)有限货任公司、杭州默安科技有限公司、深圳开源互联网安全技术有限公司、北京百度网讯科技有限公司、深圳市腾讯计算机系统有限公司、北京天融信网络安全技术有限公司、奇安信网神信息技术(北京)股份有限公司、浪潮电子信息产业股份有限公司、北京小米移动软件有限公司、北京京东尚科信息技术有限公司、北京金山云网络技术有限公司、北京火山引擎科技有限公司、Ia安西新(北京)科技股份公司、启明星板信息技术集团股份有限公司、用友网络科技股份有限公司、桃州安保信息技术股份有限公司、北京如道创宇信息技术股份有限公司、长扬科技(北京)股份有限公司、星环信息科技(上海)股份有限公司、浙江大华技术股份有限公司、超聚变数字技术行取公司、美的集团股份有限公司、马上消快金融股份有眼公司、泰康保险集团股份有限公司、道普信息技术有限公司、中电科网络安全科技股份有限公司、国网区块链科技(北京)市限公司、北京安普诺信息技术有限公司、中国信息安全测评中心、中国软件评测中心、中电科拟态安全技术有限公司、杭州孝道科技有限公司、北京珞安科有限而任公司、深圳华大生命科学研究院、兴利通信科技有限公司、携菲未来科技(北京)有限公司、北京酷娜啄木”信息技术有限公司、中国科学院软件研究所、中国网络空间研究院、国家计算机网络应急技术处理用调中心、国家信息技术安全研究中心、中国科学院信息工程研究所、浙江省电子信息产品检照研究院、中国电子信息产业集团有限公司第六研究所、博触实华(北京)技术彳!限公司、ABB(中国)皆限公司、三六室科技集团有限公司、北京神州绿SI科技有限公司、西安交大捷普网络科技有限公司、深圳市能信安科技股份有限公司、联想(北京)有限公司、北京长亭未来科技。限公司、北京山石网科信.&技术彳子限公司、广东云百科技有限公司、武汉安天信息技术有限,任公司、北京智源网安科技有限公司、北京九章云极科技有限公司、制N软件有限公司、新华三技术有限公司、天翼云科技有限公司、OPK)广东移动通信有限公司.本文件主要起草人:栗KK嫡、李晓明、吴江伟、程岩、门I第瓯IK三H.高琨、张锐刚,项用明、李响、雕力工方强、曾懈,赵搁II、口匕阿珠郑邠锋、沈锡谨、孟珏、聂万泉、王颌、郭建领、/国杨剑、市国隹、西柱、钱佳煜、李欣博、Wk张志文、李胞超、赵军凯、钿宇、袁明坤、冏景平、范缶、刘汪根、张剑/、山帆张亮冬刘&S、安丙寿、喇军、王会波、杨凤张涛、壬财、袁薇、侯大瞅谢国苗、廷骷、蔡国输、郝高健、欧阳强斌、史明超、始敏、姜伟、知以吴佰、刘楠、许丽丽、尹肖械、王绍杰、茄霁、物、张杰、张帆、何建锋、榜大、刘俊、根羽佳、荣钮、文崛、余雨蟒、韩云、方奇、刘敏,万晓兰、洪钧煌、朱丽亚,网络安全技术软件产品开源代码安全评价方法1范B1.本文件规定了软件产品中的开源代眄成分安全评价要索和评价流程.本文件适用于对软件产品包含的开源代码成分进行的志安全评价,为各总位对于软件产品中的开源代码成分进行安全性自评价提供依据为第三方机构开展此类工作提供参考.2规范性引用文件下列文件中的内容通过文中的现苞性引用而构成本文件必不可少的条款.其中,注日期的引用文件,仅该日期对应的版本适用于本文件:不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB,T250692022信息安全技术术语3 #f1.H11JtXGBT25069-2022界定的以及卜列术语和定义适用于本文件,3.1软件产品softwareproduct计算机软件、伯恩系统或设备中嵌入的软件,或在提供计算机信息系统佻成、应用等技术服务时提供的计算机软件,表现形式为一组计算机代码、规程以及可旎的相关文档和数据.【来源:GB3N752018.3.1,有修改3.2开海代码opensourcecode公众可以获取源代码的计算机代码.由其著作权人通i方网许可证将代fit仰J复制、修改、再发布的权利向公众开放3.3开源许可证OPCnsourceIkrcnsc允许公众用户根据协议内容使用、修改、复制和分发开M代码的授权协议.3.4开源社区opensourcecommunity以开源代码的贡献者为主体,在开源代码贡献过程中形成的具彳T特定文化、组织结构、运行机制的共同体.4当前开源代码被广泛应用在软件产品时,存在开源代码网络安全风险、知识产权风险和持续性风险(见附录A).»1产品例MWFWR码触刑f"续)一级善败二级多数开激代码管理开滋代码管理团队开源代码物料消承开源代码设计开海代码生成5 .211*f*&Z1此类参数主要常握软件产品中3例代码来源情况,实现对其可控性的判断.&2.2统计软件产品包含的各开源代码模块字节数规模及其在软件产品代码中所占比例.1.1 .3刑呻涵却幽T统计软件产品包含的开源代码模块所使用的编码语言种类及其所开发代码占软件产品的比例。统计软件产M包含的各用针炫马著作权人拓本信息,包括名称、所在国家或地区、所喇im、贞献承诺签署情况等。62.5统计软件产品包含的开源代码参与者的贡献量侑况包括但不限于:a)各开源代码贡献者贡献代码后及占比:b),隔代码维护并情况,包括翻译、测试、活动组织等.A269H4UE统计软件产M包含的开源代码在功能等方面具有可更换的其他代码(含开源或商业代码)情况。&27统计软件产品包含的开源代码所依他的开源社区安全管理情况,包括但不限尸:a)统计开源社区对于开源代玛的安全扫描情况;b)统计开源社区对于开源代科的贡献管理,如签署开源贡献协议、具会代码审杳机制、具备数字签名。62.8 用状码托平台统计软件产品包含的开源代码托管平台运营方基本信息.62.9 9开雪HMEt平台统计软件产品包含的开源代码下载平台运营方情况,包括但不限于:&4.7统计软件产品包含的开源代码所使用的开源许可证的适用范用和出现纠纷时法律声明情况。5.5开豪代班网5.5.1 0此类参数:七要掌握软件产品中开源代码管理情况,实现对稳定性的判断.&S2评价软件产丛包含的开源代码的管理团队完善程度,内容包括但不限于:a)建立管理团队时开源代码进行统一管控,并进行相应管理角色划分:b)建立开源代码管理人员白名昭和退出机制。区5.3评价软件产M包含的开源代码物料清单的完笛性,包括建立和维护可迫溯性的笈略和程序,记豉和保留开薪代码的原始供应方、开源社区或开发贞献者等楣关信息。5.5.4 ff三Wftit评价软件产品包含的开源代码设计文档完备性,以及梳理开源代码越容性、使用规范性情况。5.5.5评价软件产品程疗的源代码漏n完成后,在编讳以及链接过程中对使用的开源代码采取的安全措施,包括配置检查、漏洞去端等达却H弋码4班安全。6 WaWa1磔评价实施方依据国家相关规定,主要对软件产品中的开源代码来源、开源代码安全友城、开源代码知盼乂和开源代码管理曲市价.评价实旅方在开展开源代码安全评价工作中应嫁合采用访谈、检查和测试等范本评价流程,以核实被评价单位所提供评价材料是否满足指标考杳内容要求,a)访谈:评价实施方通过与被评价取位相关人员进行有针对性的交流以帮助理解、制活或取得证据,访谈的对象为个人或团体.如技术团队负货人、核心技术工程帏等.b)检杳:评价实施方对被评价单位提供的相关材料进行观察、台验、分析以帮助理斛、原酒或取得三1,检查的对象为iM度、文惭诂,如:必要的J掰代硼沐版十文档、安全扫描报告、开演代码管理团队背景信息等.C)信测:评价实施方检测软件产品中未经流动的开源代码成分,形成开源代码清单列表:检测软件产品中未经改动的开源代码漏洞,形成开源代码漏洞检测报告“62 *3Hmta6.2.1甜检测软件产品形成开源代码清单列表,检查各开源代码模块的规模大小及所占比例并进行id案.a)检测软件产息形成开源代码清单列表,检杳各开源代码模块的下载运营方是否不受战争、贸易管制、知识产权等一种或多种安全因素影响:b)检查各3厢代码模块的哈希值和数字签名:C)检查各开源代码模块官网地址哈希值和数字签名,与软件产品使用的开源代码进行比对,判断软件产品使用的开源代码是否被领改。&3UHmm开海代妈漏洞率的泮价流程如下:a)检测软件产品形成开源代码漏洞信测报r.检行各开源代码模块是否存在已知涧洞:b)检杳开源代码中每千行的已知漏洞数W:c)计算有漏洞的开源代码中平均漏洞个数.&a211*Rfwmtt开源代码沏洞严重性的评价i旃程如F:a)将各已知漏洞的被利用性参数进行赋值,根据赋值结果,参考GIVT3027A2020的附录计算得出漏洞被利用性分皴:b)将已知漏洞的影响程度参数进行赋值,根据赋值结果,参考GB/T3O27A-2OR的附录B计算得到影响程或分级:C)根拉;被利用性和影响程度分级的结果,参考GB,T302792020的附录D计算得到安全漏洞分级结果:S检查软件产品包含的开源代码是否存在中危及以上漏洞:e)统计软件产M包含的开源代码中危及以上漏洞占比。ai3刑K代g”率开源代码漏洞修现率的评价流程如.a)检查软件产品包含的开源代码漏洞修旦记录:b)检查漏洞出现正式编号的时间:C)检查修更记录中危及以上漏洞的平均修发时间是否超过3个月;5统if中危及以上漏洞的平均修发时间在3个月内的占比,a11mtm*三*x开源代码版本更新情况的评价流程如下:a)检测软件产品形成开源代码清单列表,检杳各开源代码模块当前使用的版本发布时间;b)检查各开源代码模块在开源社区中最新版本发布时间:c)检查各开源代码模块是否为较新桧定版本,如4年内发布:d)统计开源代码为较新稳定版本的占比,&4开骞代丽R产权评价潼程开源许可证遵从度的评价流程如下:a)检测软件产品形成开源代码清单列表,检查各开源代码模块是否遵守开源许可证的稠关要求:b)统计软件产M中按照相关开源许可证要求规范使用的开源代码占比。a4.2开谭的阳琥性检测软件产品形成开源代码清单列表,检连各开源许可证条款中是否包含授权范围、授权条件、述约与授权终止、免会声明等,a4.3那酬可证S雌开源许可证互思性的评价流程如下:a)检测软件产品形成开源代码清单.列表,检查开源代妈中的弱互惠性开源许可证是否通过弱心离方式引入,如静态锥接和动态链接等:b)检查开源代码中的强.互惠性开源许可证是否通过强隔离方式引入,如聚合体.&449Fam三E*tt检测软件产品形成开源代码清单列表,检查各开源代码模块的开源许可证之间是否兼容。&45JRKAFBja*tt1WX检测软件产品形成开源代码清单列表,检查各开海代码模块的开源许可证是否有明确专利授予.&4611*wi三ff1.%a检测软件产赭形成开源代码清单列表,检查各开源代码模块的开源许可证适用范围是否为全球,&59Rvmm3»&&17F*RMK开源代码管理团队评价i施程如H:a)检查组织架构图,确认软件产品是否具备开源代码管理团队:b)检查软件产品开源代码管理团队是否具备明确角色划分,范维对开源代码准入管理、供应商开源代码管理和开源代码的运维管理:C)访谈软件产品团队人员获取人员从业经历情况,确认是否符合项目管理要求.&&2开骞代码卷幅!单开源代码物料清单的评价流程如I':a)检自软件产品是否具备开源代码物料清城;b)c)d)检杳物料清单是有包含也接引入的开源代码原始供应方、开源社区或开发贡献者等基本信息:检查物料活取是否包含间接依赖的开源代码原始供应方、开源社区或开发贡献者等掂本信息:检畲软件产品包含的开源代码物料清单是否具备可追溯性.&&3JRiRWft«开源代码设计的评价流程如F:a)检查软件产品是否具备开源代码部分的设计文档:b)情宜设计文档是否包含与运行环境兼容内容:O检行设计文档是否包含接口濮容和版本接口兼容内容,&a411*RI½M开源代码生成的评价流程如下:a)检向软件产品在生成阶段是否具法开源代码部分的安全扫描报告;b)检连软件产品包含的开源代码安全扫描策略配应是否合理.M»A开号代码安全风ItA.I开毒删株全风Xft开海网络安全风险足指由于源代码公开,资产直接暴勰在互联网,在开源代码出现漏洞时容易被黑客读取.降低鼎客攻击门槛导致代码安全性爱到挑战.A.2开源知识产权风除开源知识产权风险大致分为版权侵权风险、专利侵权风险、商标侵权风险和许可证冲突四类.a)版权侵权由于不遵守开源许可协议造成.此类风险较易现遍.b)专利侵权出于开源代码中包含诸多软件专利,使用开源代码未得到软件专利权人的专利许可,从而导致专利侵权,此类风险较难规避.O商标侵权由于未经许可使用开源代码的商标造成,此类风险较易规避。d)许可证冲突由于未遵守许可证的装容性要求造成.此类风险较难规避.A.3开谭梅(性风»开源持续性风陵是指开源代码能否持续使用的风险,开源会因自然环境、外交、国际经贸等原因造成使用中断.K1.“考文献HIGB/T30279-2020信息安全技术网络安全漏洞分类分级指南2GB/T364752018软件产品分类131GB/T39786-2021信息安全技术伯息系统密码应用基本要求I1.