当前位置: 首页 > 专利查询>上海大学专利>正文

一种基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法技术

技术编号:35557317 阅读:13 留言:0更新日期:2022-11-12 15:38
本发明专利技术面向开源软件供应链安全提出了基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,可有针对性的解决对开源.Net软件供应链场景下安全漏洞评分系统未考虑上下游依赖关系问题。该方法包括如下步骤:1)依赖项检测:使用依赖项检测程序获取开源组件的上下游依赖项数据信息;2)开源评分体系:基于针对上下游依赖关系的评分指标提出开源评分体系及计分公式。在本发明专利技术中,运用NuGet平台的依赖项检测为开源漏洞评分提供了评判供应链上下游依赖关系影响程度的度量指标,开源评分体系对开源组件漏洞评估时能够给出更加准确的严重性评分,最终形成的.Net开源供应链漏洞评分方法能有效提高.Net安全漏洞在严重性评分过程中的客观性和全局性。重性评分过程中的客观性和全局性。重性评分过程中的客观性和全局性。

【技术实现步骤摘要】
一种基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法


[0001]本专利技术涉及一种基于依赖项检测和开源评分体系的.Net开源供应链漏洞评分方法,适用 于开源工业组件的漏洞评估,同时考虑了软件供应链上下游依赖关系因素的评分指标,提高 了安全评分系统针对开源工业组件漏洞评分的全局性和客观性。

技术介绍

[0002]由于信息技术的迭代和商业发展的需求,无数的企业团队开始采用敏捷开发模式以提升 软件开发的效率,而开源组件正好为开发者实现快速开发与技术创新提供了坚实的基础。随 着开源生态的逐步繁荣和工业互联网的迅速兴起,开源软件供应链的安全问题日益凸显。
[0003]开源生态中的工业组件若出现漏洞缺陷,开发团队或者安全人员在缺陷被修复之前需对 组件进行安全评估,并告知组件使用者准确的危害程度及风险范围。安全评估中的两大重点 是风险要素的量化和缺陷的识别,这两点直接关系到安全评估的准确性和客观性。在信息安 全领域中,通用漏洞评分系统(CVSS)是针对软件漏洞严重性的评分方法中最具有权威性的 行业标准。软件漏洞公布后,CVSS将对其进行具体分析,最终得出量化评分,即一个从0 到10之间的具体分数,数值越大,风险等级越高。CVSS直观通用、完全开放,它在产业界 的广泛应用解决了大部分的安全漏洞评估问题,但依旧存在一些不足之处。
[0004]CVSS的三组度量标准可以得出三个分数,基础评分、时限评分和环境评分。评分中的 部分指标因素定义模糊,实际操作中评分过于主观。所以产业界的大部分厂商只会关注基础 评分,对时限评分与环境评分的关注度较低,这大大降低了CVSS对安全漏洞或者组件缺陷 整体评估的准确性和客观性。同时,CVSS的评分因素中没有考虑开源生态的复杂性和软件 供应链的组件依赖关系,而工业依赖项漏洞的实际危害性在很大程度上取决于软件API的对 外暴露程度,这与该组件处于供应链的具体位置有着密不可分的关系。CVSS针对工业软件 供应链场景下的度量指标不够明确和细化,因此无法对目前开源软件供应链中的工业组件漏 洞进行全面和有效的安全评估。
[0005]为了解决上述问题,本专利技术提出一种基于依赖项检测和开源评分体系的.Net开源供应链 漏洞评分方法,以实现对开源组件漏洞更加合理和客观全面的评估。使用基于NuGet开源平 台API和自定义信息处理程序获取开源组件的上下游依赖项数据,并为所提方法选取和定义 评判供应链上下游影响程度的度量指标,从而在对开源工业组件漏洞进行安全评估时做出更 加准确的严重性评分,有效提高安全漏洞评分系统的客观性。

技术实现思路

[0006]本专利技术面向工业软件供应链开源漏洞的安全评估问题,提出一种基于依赖项检测和开源 评分体系的NET平台开源软件供应链漏洞评分方法。该方法针对开源软件供应链场景中的工 业组件漏洞进行安全评估,首先在NuGet开源生态社区中对开源组件的上下游依
赖关系进行 数据统计,并定义相关的指标区间;然后基于CVSS构建开源评分体系,开源评分体系中包 含依赖关系因素的评分指标;最后融合CVSS的计分公式和开源评分体系提出开源供应链漏 洞评分方法。该方法充分考虑了工业软件供应链中的上下游依赖关系,对开源漏洞的严重性 进行评估时能够给出更加合理的分数,有效提高了安全漏洞评分系统的客观性。
[0007]为了达到上述专利技术目的,本专利技术通过以下具体技术方案进行实现:
[0008]一种基于依赖项检测和开源评分体系的.Net开源供应链漏洞评分方法,其特征包括如下 步骤:
[0009]1)依赖项检测:使用依赖项检测程序获取上下游依赖项数据信息并定义指标区间;
[0010]2)开源评分体系:基于针对上下游依赖关系的评分指标提出开源评分体系及计分公式。
[0011]所述步骤1)具体包括下列步骤:
[0012]步骤1.1、实现NuGet目录读取器的游标,标识出处理目录资源的时间点或者时间段;
[0013]步骤1.2、确定目录读取器的资源链接,对JSON格式的资源文档进行目录检索;
[0014]步骤1.3、在@type属性标识的资源目录中,按照对应的@id属性读取下一级的目录;
[0015]步骤1.4、处理步骤1.3中获取到的次级目录页,读取对应NuGet组件的名称、描述、大 小和依赖项等信息;
[0016]步骤1.5、基于步骤1.4中获取到的NuGet组件信息进行数据统计,并对数据结果的相关 概念做出定义、归纳区间。
[0017]所述步骤2)具体包括下列步骤:
[0018]步骤2.1、将CVSS可利用度评分S
e
中的攻击复杂度指标E
ac
重新进行等级划分,并作为 开源评分体系的基础评分指标,其余基础评分指标沿用CVSS;
[0019]步骤2.2、为影响度评分S
i
重新选取度量指标,并进行等级划分和权值分配;
[0020]步骤2.3、通过开源评分体系得出漏洞的严重性分数S
oc
,评分指标组的计分公式为:
[0021][0022]其中作用域scope的取值为改变(C)和未改变(U),不做具体取值。
附图说明
[0023]图1(a)为NuGet组件下游依赖度区间分布统计图。
[0024]图1(b)为NuGet组件上游依赖度区间分布统计图。
[0025]图1(c)为NuGet组件平均依赖深度区间分布统计图。
[0026]图1(d)为NuGet组件下载量区间分布统计图。
[0027]图2为本专利技术方法的评分度量指标构成图。
[0028]图3(a)为CVE

2022

21167的漏洞信息页。
[0029]图3(b)为CVE

2022

0749的漏洞信息页。
[0030]图4为本专利技术方法的流程示意图。
具体实施方式
[0031]下面结合附图和具体实施例对本专利技术进行详细说明。
[0032]参见图4,一种基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方 法,包括如下步骤:
[0033]1)依赖项检测:使用依赖项检测程序获取上下游依赖项数据信息并定义指标区间;
[0034]2)开源评分体系:基于针对上下游依赖关系的评分指标提出开源评分体系及计分公式。
[0035]所述步骤1)具体包括下列步骤:
[0036]步骤1.1、实现NuGet目录读取器的游标,标识出处理目录资源的时间点或者时间段;
[0037]步骤1.2、确定目录读取器的资源链接,对JSON格式的资源文档进行目录检索;
[0038]步骤1.3、在@type属性标识的资源目录中,按照对应的@id属性读取下一级的目录;
[0039]步骤1.4、处理步骤1.3中获取到的次级目录页,读取对应NuGet组件的名称、描述、大 小和依赖项本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征包括如下步骤:1)依赖项检测:使用依赖项检测程序获取上下游依赖项数据信息并定义指标区间;2)开源评分体系:基于针对上下游依赖关系的评分指标提出开源评分体系及计分公式。2.根据权利要求1所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:所述步骤1)具体包括下列步骤:步骤1.1、实现NuGet目录读取器的游标,标识出处理目录资源的时间点或者时间段;步骤1.2、确定目录读取器的资源链接,对JSON格式的资源文档进行目录检索;步骤1.3、在@type属性标识的资源目录中,按照对应的@id属性读取下一级的目录;步骤1.4、处理步骤1.3中获取到的次级目录页,读取对应NuGet组件的名称、描述、大小和依赖项等信息;步骤1.5、基于步骤1.4中获取到的NuGet组件信息进行数据统计,并对数据结果的相关概念做出定义、归纳区间。3.根据权利要求1所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:所述步骤2)具体包括下列步骤:步骤2.1、将CVSS可利用度评分S
e
中的攻击复杂度指标E
ac
重新进行等级划分,并作为开源评分体系的基础评分指标,其余基础评分指标沿用CVSS;步骤2.2、为影响度评分S
i
重新选取度量指标,并进行等级划分和权值分配;步骤2.3、通过开源评分体系得出漏洞的严重性分数S
oc
,评分指标组的计分公式为:其中作用域scope的取值为改变(C)和未改变(U),不做具体取值。4.根据权利要求2所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:在所述步骤1.5中,基于步骤1.4获取NuGet平台中用户活跃性较高的30341个组件进行依赖项的检测与分析,其中对组件依赖关系的概念定义和区间归纳如下:(a)基于NuGet组件下游依赖度的统计NuGet组件的下游依赖度表示该组件被其他NuGet组件依赖的程度,数值越大,依赖该组件的依赖项个数越多。下游依赖度在很大程度上体现了NuGet组件对下游供应链的影响程度。(b)基于NuGet组件上游依赖度的统计NuGet组件的上游依赖度表示该组件依赖其他NuGet组件的程度,依赖度越大,该组件的依赖项个数越多。根据NuGet组件的上、下依赖度可以判断该组件处于开源工业软件供应链的位置。数据显示90%以上的NuGet组件下游依赖度都分布于10以下,尤其是下游依赖度为0的NuGet组件接近总数的50%,此类NuGet组件是面向终端用户、可以直接使用的软件,可被归类于成
品组件;上游依赖度集中于2以下,此类NuGet组件基本上是应用程序的重要依赖项,可归类为基础组件;而上、下依赖项都处于较大值的NuGet组件可归类为中间组件。(c)基于NuGet组件依赖深度的统计下游依赖度只反映了某NuGet组件下一级的依赖项数量分布情况,而缺少了对该NuGet组件多级依赖关系的直观度量,而依赖深度可作为参考指标。每一个组件存在若干下游依赖项,各个依赖项可能依旧包含下一级依赖,其中依赖的层级数被称为依赖深度;根据所有依赖项的依赖深度总数与依赖项个数,可求得该NuGet组件的平均依赖深度;根据平均依赖深度的数据分布,可分为三组0、1~2和3~8,分别对应下游依赖项层级数量的极少、较少和较高三种情况。(d)基于NuGet组件下载量的统计NuG
e
t组件的历史下载次数充分体现了该组件的影响力和流行度。依据下载量的数据统计,可将NuGet组件分为下载量较低(0~90)、下载量较高(90~600)和下载量极高(大于600)三个范围区间。5.根据权利要求3所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:在所述步骤2.1中,所述步骤2.1中对CVSS可利用度评分S
e
的攻击复杂度指标E
ac
重新进行了等级的划分,依据漏洞利用的不同模型把CVSS中的两档细分为开源评分体系中的四挡,低、中、高和极高,具体分级标准如表1所示,此举更加切实和准确地描述了开源工业组件漏洞被利用的复杂程度。而CVSS可利用度中攻击向量E
av
、权限要求E
pr
和用户交互E
ui
指标定义清晰、分级明确,所以开源评分体系继续沿用这些标准。表1攻击复杂度分级标准等级攻击复杂度说明低L无需特定条件,即可达成攻击预期中M需要一定条件,但是条件较为简单高H需要一定或多种条件,并且条件较为严格极高E需要条件苛刻,攻击难度极高6.根据权利要求3所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:在所述步骤2.2中,为开源评分体系的影响度评分S
i
重新选取度量指标并进行定级和取分。影响度评分S
i
从两个方面进行考虑:...

【专利技术属性】
技术研发人员:周鹏印可阳
申请(专利权)人:上海大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1