首页 > 新闻动态 > 机构动态

机构动态
工联检测实验室系列专题报道之五:源代码自主率检测能力介绍
发布时间:2024-08-28 14:01:09

在国家“十四五”规划《纲要》中,明确提出坚持创新在我国现代化建设全局中的核心地位,把科技自立自强作为国家发展的战略支撑。随着数字化转型的深入,国内软件行业的技术迭代和产品升级不断加速,培育自主可控的基础软件,提升软件源代码的自主化水平和安全性,将有效激发创新解决方案的涌现和产品的不断升级,减少对外部开源代码和组件的依赖。

2021年,工业和信息化部印发《十四五软件和信息技术服务业发展规划》中提出,加强开源代码安全检测,保障开源代码组件供给安全,提升开源代码、第三方代码使用的安全风险防控能力。在“数字化”和“信创化”的加速推进下,代码自主率检测逐渐成为评估软件产品自研水平的重要手段。中国工业互联网研究院(以下简称工联院)基于工业互联网行业发展现状,依托工联检测实验室面向社会提供包括软件代码成分分析等在内的各类信创测评服务,并对开源代码检测的需求、原理、检测方法流程等方面做了深入分析和研究,助力提升工业互联网信创技术水平与产品质量,加快信创技术和产品在企业推广应用。

一、需求来源

结合项目经验和调研结果,软件开源代码检测需求来源主要包括:政府机关及大型央企、国企等在采购软硬件设备时,要求所提供设备满足国产化,并对应用软件开源代码占比做明确要求;某些行业或法规对软件开发过程的安全性提出严格要求(如金融、医疗等),并对所开发软件中的开源代码安全指标做了明确规定;此外,国家级、省部级等各类专项课题的验收指标中,也明确规定了攻关项目开源代码占比要求,等等。

二、检测原理

1)成分分析及许可证分析

基于第三方软件、企业本地软件的代码库、漏洞库进行软件成分分析,能够发现软件中使用了哪些第三方组件和企业内部的其它软件,包含项目级、版本级、文件级乃至函数级等多级分析。提供超过数千种许可证检测,包括GPL、BSD、LGPL、NPL等主流许可证类型。通过检测引用第三方组件的许可证信息,避免软件可能产生的侵权风险。

2)代码自主研发率分析

检测代码组成成分,识别出自研代码和引用的第三方库中的开源框架/组件,计算代码自主研发率,帮助软件资产评估和工作量评估。

3)同源漏洞及漏洞影响分析

对于复用第三方代码或企业其它项目代码的同源漏洞,提供漏洞的发布日期、漏洞类型、所在组件、影响项目、CWE编号等信息。当发现一个漏洞时,漏洞传播影响分析基于成分分析的结果,构建跨项目的大规模漏洞传播图,用户可以发现漏洞的传播影响范围,并采取适当的修复措施。

三、检测流程

工联检测实验室(以下简称实验室)根据实验室内部检测标准,结合客户检测需求,制定项目实施方案。项目实施依托专业的代码成分分析工具,工具的使用主要包括分布式部署和本地部署两种方式。

本地部署方式下,通过工具生成被测项目指纹,本地进行检测,该部署方式生成的指纹具有不可逆性且可以与生产环境完全隔离,更具安全性。

分布式部署方式下,通过文件压缩包、SVN、Git等方式上传到代码成分分析代码仓库。代码库和漏洞库全部在互联网云端,并支持库的自动更新,易用性更强。

代码成分分析检测通过工具扫描与人工分析相结合的方式开展,经相关方确认无误后,根据分析检测结果出具测评报告。

四、应用场景

通过代码成分分析工具对软件产品代码的开源代码成分、开源许可证合规性及兼容性进行测试,实现软件成分分析、自主研发率分析、不同代码对比分析、成分中的已知漏洞及影响范围评估、许可证分析等功能,帮助相关方快速构建代码安全保障体系。

软件产品源代码开源将带来合规性风险、安全漏洞风险和不符合监管要求等风险。通过产品源代码成分分析检测可满足以下需求:

△企业内部的代码检测需求,查找自有代码的开源风险,规避合规性风险。

政府部门监管政策对开源治理的要求,对自主知识产权和风险防控要求。

国际合作中甲方提出的代码扫描需求,出具检测报告免责。

司法鉴定过程中的代码检测需求。

企业兼并过程中的代码审计需求,收购标的进行软件资产评估。

实验室持续深入开展源代码成分分析检测技术研究,面向社会提供专业的源代码分析检测服务,助力软件产品自主可控水平进一步提升。

业务联系人:赵老师 18701298832(微信同号)