CN115329336A - 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法 - Google Patents

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

Info

Publication number
CN115329336A
CN115329336A CN202210658233.5A CN202210658233A CN115329336A CN 115329336 A CN115329336 A CN 115329336A CN 202210658233 A CN202210658233 A CN 202210658233A CN 115329336 A CN115329336 A CN 115329336A
Authority
CN
China
Prior art keywords
open source
dependency
component
scoring
nuget
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210658233.5A
Other languages
English (en)
Inventor
周鹏
印可阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN202210658233.5A priority Critical patent/CN115329336A/zh
Publication of CN115329336A publication Critical patent/CN115329336A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

一种基于依赖项检测和开源评分体系的NET平台开源软件供 应链漏洞评分方法
技术领域
本发明涉及一种基于依赖项检测和开源评分体系的.Net开源供应链漏洞评分方法,适用 于开源工业组件的漏洞评估,同时考虑了软件供应链上下游依赖关系因素的评分指标,提高 了安全评分系统针对开源工业组件漏洞评分的全局性和客观性。
背景技术
由于信息技术的迭代和商业发展的需求,无数的企业团队开始采用敏捷开发模式以提升 软件开发的效率,而开源组件正好为开发者实现快速开发与技术创新提供了坚实的基础。随 着开源生态的逐步繁荣和工业互联网的迅速兴起,开源软件供应链的安全问题日益凸显。
开源生态中的工业组件若出现漏洞缺陷,开发团队或者安全人员在缺陷被修复之前需对 组件进行安全评估,并告知组件使用者准确的危害程度及风险范围。安全评估中的两大重点 是风险要素的量化和缺陷的识别,这两点直接关系到安全评估的准确性和客观性。在信息安 全领域中,通用漏洞评分系统(CVSS)是针对软件漏洞严重性的评分方法中最具有权威性的 行业标准。软件漏洞公布后,CVSS将对其进行具体分析,最终得出量化评分,即一个从0 到10之间的具体分数,数值越大,风险等级越高。CVSS直观通用、完全开放,它在产业界 的广泛应用解决了大部分的安全漏洞评估问题,但依旧存在一些不足之处。
CVSS的三组度量标准可以得出三个分数,基础评分、时限评分和环境评分。评分中的 部分指标因素定义模糊,实际操作中评分过于主观。所以产业界的大部分厂商只会关注基础 评分,对时限评分与环境评分的关注度较低,这大大降低了CVSS对安全漏洞或者组件缺陷 整体评估的准确性和客观性。同时,CVSS的评分因素中没有考虑开源生态的复杂性和软件 供应链的组件依赖关系,而工业依赖项漏洞的实际危害性在很大程度上取决于软件API的对 外暴露程度,这与该组件处于供应链的具体位置有着密不可分的关系。CVSS针对工业软件 供应链场景下的度量指标不够明确和细化,因此无法对目前开源软件供应链中的工业组件漏 洞进行全面和有效的安全评估。
为了解决上述问题,本发明提出一种基于依赖项检测和开源评分体系的.Net开源供应链 漏洞评分方法,以实现对开源组件漏洞更加合理和客观全面的评估。使用基于NuGet开源平 台API和自定义信息处理程序获取开源组件的上下游依赖项数据,并为所提方法选取和定义 评判供应链上下游影响程度的度量指标,从而在对开源工业组件漏洞进行安全评估时做出更 加准确的严重性评分,有效提高安全漏洞评分系统的客观性。
发明内容
本发明面向工业软件供应链开源漏洞的安全评估问题,提出一种基于依赖项检测和开源 评分体系的NET平台开源软件供应链漏洞评分方法。该方法针对开源软件供应链场景中的工 业组件漏洞进行安全评估,首先在NuGet开源生态社区中对开源组件的上下游依赖关系进行 数据统计,并定义相关的指标区间;然后基于CVSS构建开源评分体系,开源评分体系中包 含依赖关系因素的评分指标;最后融合CVSS的计分公式和开源评分体系提出开源供应链漏 洞评分方法。该方法充分考虑了工业软件供应链中的上下游依赖关系,对开源漏洞的严重性 进行评估时能够给出更加合理的分数,有效提高了安全漏洞评分系统的客观性。
为了达到上述发明目的,本发明通过以下具体技术方案进行实现:
一种基于依赖项检测和开源评分体系的.Net开源供应链漏洞评分方法,其特征包括如下 步骤:
1)依赖项检测:使用依赖项检测程序获取上下游依赖项数据信息并定义指标区间;
2)开源评分体系:基于针对上下游依赖关系的评分指标提出开源评分体系及计分公式。
所述步骤1)具体包括下列步骤:
步骤1.1、实现NuGet目录读取器的游标,标识出处理目录资源的时间点或者时间段;
步骤1.2、确定目录读取器的资源链接,对JSON格式的资源文档进行目录检索;
步骤1.3、在@type属性标识的资源目录中,按照对应的@id属性读取下一级的目录;
步骤1.4、处理步骤1.3中获取到的次级目录页,读取对应NuGet组件的名称、描述、大 小和依赖项等信息;
步骤1.5、基于步骤1.4中获取到的NuGet组件信息进行数据统计,并对数据结果的相关 概念做出定义、归纳区间。
所述步骤2)具体包括下列步骤:
步骤2.1、将CVSS可利用度评分Se中的攻击复杂度指标Eac重新进行等级划分,并作为 开源评分体系的基础评分指标,其余基础评分指标沿用CVSS;
步骤2.2、为影响度评分Si重新选取度量指标,并进行等级划分和权值分配;
步骤2.3、通过开源评分体系得出漏洞的严重性分数Soc,评分指标组的计分公式为:
Figure BDA0003689294410000031
其中作用域scope的取值为改变(C)和未改变(U),不做具体取值。
附图说明
图1(a)为NuGet组件下游依赖度区间分布统计图。
图1(b)为NuGet组件上游依赖度区间分布统计图。
图1(c)为NuGet组件平均依赖深度区间分布统计图。
图1(d)为NuGet组件下载量区间分布统计图。
图2为本发明方法的评分度量指标构成图。
图3(a)为CVE-2022-21167的漏洞信息页。
图3(b)为CVE-2022-0749的漏洞信息页。
图4为本发明方法的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
参见图4,一种基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方 法,包括如下步骤:
1)依赖项检测:使用依赖项检测程序获取上下游依赖项数据信息并定义指标区间;
2)开源评分体系:基于针对上下游依赖关系的评分指标提出开源评分体系及计分公式。
所述步骤1)具体包括下列步骤:
步骤1.1、实现NuGet目录读取器的游标,标识出处理目录资源的时间点或者时间段;
步骤1.2、确定目录读取器的资源链接,对JSON格式的资源文档进行目录检索;
步骤1.3、在@type属性标识的资源目录中,按照对应的@id属性读取下一级的目录;
步骤1.4、处理步骤1.3中获取到的次级目录页,读取对应NuGet组件的名称、描述、大 小和依赖项等信息;
步骤1.5、基于步骤1.4中获取到的NuGet组件信息进行数据统计,并对数据结果的相关 概念做出定义、归纳区间。
优选地,所述步骤1.1中,设置当前时间点为游标的初始值,C#程序代码如表1所示。
表1 NuGet目录读取器设置时间点代码
Figure BDA0003689294410000032
优选地,所述步骤1.2中,以NuGet Protocol V3作为API协议,资源库链接地址为api.nuget.org/v3/catalog0/index.json,C#程序代码代码如表2所示。
表2 NuGet目录读取器确定目录资源代码
Figure BDA0003689294410000041
优选地,所述步骤1.3中,选取NuGet.CatalogReader作为NuGet组件信息读取模块。
优选地,所述步骤1.4中,通过NuGet.CatalogReader来搜寻指定NuGet组件@id属性所 挂载的目录页,获取完整的上下游依赖关系,并输出相关数据,C#程序代码如表3所示。
表3 NuGet包程序依赖项信息读取代码
Figure BDA0003689294410000042
进一步地,所述步骤1.5中,基于步骤1.4获取NuGet平台中用户活跃性较高的30341 个组件进行依赖项的检测与分析,其中对组件依赖关系的概念定义和区间归纳如下:
(a)基于NuGet组件下游依赖度的统计
NuGet组件的下游依赖度表示该组件被其他NuGet组件依赖的程度,数值越大,依赖该 组件的依赖项个数越多。下游依赖度在很大程度上体现了NuGet组件对下游供应链的影响程 度。图1(a)所示为NuGet组件下游依赖度的分布情况。
(b)基于NuGet组件上游依赖度的统计
NuGet组件的上游依赖度表示该组件依赖其他NuGet组件的程度,依赖度越大,该组件 的依赖项个数越多。图1(b)所示为NuGet组件上游依赖度的分布情况。
根据NuGet组件的上、下依赖度可以判断该组件处于开源工业软件供应链的位置。数据 显示90%以上的NuGet组件下游依赖度都分布于10以下,尤其是下游依赖度为0的NuGet 组件接近总数的50%,此类NuGet组件是面向终端用户、可以直接使用的软件,可被归类于 成品组件;上游依赖度集中于2以下,此类NuGet组件基本上是应用程序的重要依赖项,可 归类为基础组件;而上、下依赖项都处于较大值的NuGet组件可归类为中间组件。
(c)基于NuGet组件依赖深度的统计
下游依赖度只反映了某NuGet组件下一级的依赖项数量分布情况,而缺少了对该NuGet 组件多级依赖关系的直观度量,而依赖深度可作为参考指标。每一个组件存在若干下游依赖 项,各个依赖项可能依旧包含下一级依赖,其中依赖的层级数被称为依赖深度;根据所有依 赖项的依赖深度总数与依赖项个数,可求得该NuGet组件的平均依赖深度;图1(c)展示了 统计中NuGet组件的平均依赖深度分布情况,其中最大值为8,并且依赖深度大的包程序主 要是下游的成品组件。根据平均依赖深度的数据分布,可分为三组0、1~2和3~8,分别对应 下游依赖项层级数量的极少、较少和较高三种情况。
(d)基于NuGet组件下载量的统计
如图1(d)所示,NuGet组件的下载量分布图统计了该组件的历史下载次数,充分体现 了该组件的影响力和流行度。依据下载量的数据统计,可将NuGet组件分为下载量较低(0~90)、 下载量较高(90~600)和下载量极高(大于600)三个范围区间。
所述步骤2)具体包括下列步骤:
步骤2.1、将CVSS可利用度评分Se中的攻击复杂度指标Eac重新进行等级划分,并作为 开源评分体系的基础评分指标,其余基础评分指标沿用CVSS;
步骤2.2、为影响度评分Si重新选取度量指标,并进行等级划分和权值分配;
步骤2.3、通过开源评分体系得出漏洞的严重性分数Soc,评分指标组的计分公式为:
Figure BDA0003689294410000061
其中作用域scope的取值为改变(C)和未改变(U),不做具体取值。
优选地,所述步骤2.1中对CVSS可利用度评分Se的攻击复杂度指标Eac重新进行了等级 的划分,依据漏洞利用的不同模型把CVSS中的两档细分为开源评分体系中的四挡,低、中、 高和极高,具体分级标准如表4所示,此举更加切实和准确地描述了开源工业组件漏洞被利 用的复杂程度。而CVSS可利用度中攻击向量Eav、权限要求Epr和用户交互Eui指标定义清晰、 分级明确,所以开源评分体系继续沿用这些标准。
表4攻击复杂度分级标准
等级 攻击复杂度说明
低L 无需特定条件,即可达成攻击预期
中M 需要一定条件,但是条件较为简单
高H 需要一定或多种条件,并且条件较为严格
极高E 需要条件苛刻,攻击难度极高
优选地,所述步骤2.2中为开源评分体系的影响度评分Si重新选取度量指标并进行定级 和取分。影响度评分Si从两个方面进行考虑:一方面是信息技术安全ISSsec三要素的角度,包 括机密性要求Ic、完整性要求Ii和可用性要求Ia,具体分级标准如表5所示;另一方面是开 源供应链依赖关系ISSosd的角度,提出的度量指标有依赖深度Idd、组件性质Inc和下载规模Ids。 步骤1.5中基于NuGet平台数据分析,定义了对应概念并划分了三组度量指标的区间,三者 分级的具体数值范围如表6所示,实际的漏洞评分中可据此进行指标区间的定级。
表5机密性要求、完整性要求、可用性要求指标分级标准
Figure BDA0003689294410000062
Figure BDA0003689294410000071
表6依赖深度、组件性质、下载规模指标分级标准
等级 依赖深度 组件性质 下载规模
高H 下游依赖项层级较多 基础组件 下载量极高
中M 下游依赖项层级较少 中间组件 下载次数较多
低L 下游依赖项层级极少 成品组件 下载次数较少
开源评分体系中所有度量指标如图2所示,其对应的分级取值如表7所示。
表7开源评分体系度量指标权值
度量指标 度量指标分级 权值分档
攻击向量E<sub>av</sub> [N,A,L,P] [0.85,0.62,0.55,0.2]
攻击复杂度E<sub>ac</sub> [L,M,H,E] [0.77,0.61,0.44,0.2]
权限要求E<sub>pr</sub> [N,L,H] [0.85,0.62/0.68,0.27/0.5]
用户交互E<sub>ui</sub> [N,R] [0.85,0.62]
作用域scope [U,C] [U,C]
机密性要求I<sub>c</sub> [H,L,N] [0.56,0.22,0]
完整性要求I<sub>i</sub> [H,L,N] [0.56,0.22,0]
可用性要求I<sub>a</sub> [H,L,N] [0.56,0.22,0]
依赖深度I<sub>dd</sub> [H,M,L] [0.56,0.44,0.2]
组件性质I<sub>nc</sub> [H,M,L] [0.96,0.44,0.22]
下载规模I<sub>ds</sub> [H,M,L] [0.8,0.4,0.2]
进一步地,所述步骤2.3中计分公式的权值分配根据CVSS评分体系以及实验经验所得。 式中的Roundup()函数表示对计分公式取值结果的小数向上取整,比如Roundup(1.0008)的结 果为1.1,因为最小评分单位为0.1,所以取值结果保留到小数点后一位。在安全评分中,需 要尽量避免四舍五入方式造成的精度问题,即舍弃不大于5的部分,这会造成漏洞评分低于 未取整评分。因此,采用向上取整函数得到的最终评分大于或等于未取整分数,而高估漏洞 的严重性总是相对安全的。
可利用度分值计分公式为:Se=8.22·Eav·Eac·Epr·Eui
其中Epr的分级权值取决于scope的状态。即当scope为U时,Epr的权值分档取[0.85,0.62, 0.27];当scope为C时,Epr取[0.85,0.68,0.5]。
影响度分值Si计分公式为:
Figure BDA0003689294410000081
其中ISS为影响度评分中的临时变量,可由信息技术安全分值ISSsec和开源供应链依赖关 系分值ISSosd计算得出。ISS计分公式为:
ISS=0.6·ISSosd+0.4·ISSsec
ISSosd的计算公式为:
ISSosd=1-[(1-Ipv)·(1-Inc)·(1-Ids)]
ISSsec的计算公式为:
ISSsec=1-[(1-Ic)·(1-Ii)·(1-Ia)]
从ISSsec和ISSosd两类指标评估一个开源组件漏洞的影响,在权值分配时更加偏向于 ISSosd指标,应当分配更高的权值。因此,ISS计分公式最终给开源供应链依赖关系指标分配 了0.6的权值,而信息技术安全指标分配了0.4的权值。
有益结果
以NuGet平台的开源组件漏洞CVE-2022-21167和CVE-2022-0749为例进行漏洞实例评 分的分析。两者的触发原理和利用场景非常类似,因此CVSS的评分十分接近,分别为7.5 分和7.4分。
图3(a)所示为CVE-2022-21167的漏洞信息页,漏洞组件为Masuit.Tools.Core。
图3(b)所示为CVE-2022-0749的漏洞信息页,漏洞组件为SinGooCMS.Utility。
根据本发明方法对两个漏洞重新评分,基于NuGet平台的数据统计可知Masuit.Tools.Core 库是下载量为174.7K的中间组件,平均依赖深度为3级;SinGooCMS.Utility库是下载量为 2.8K的成品组件,平均依赖深度为0级。表8列出了开源评分体系的部分指标取值,而本发 明方法得出的漏洞组件评分与CVSS分数的对比如表9所示。
表8评分指标实际取值
Figure BDA0003689294410000091
如表9所示,与CVSS分数相比,CVE-2022-21167的本发明方法评分有所提升, CVE-2022-0749的本发明方法评分却降低了。因为CVE-2022-21167风险组件Masuit.Tools.Core是一款下载量较高的中间组件,同时漏洞风险覆盖了所有的版本;而CVE-2022-0749漏洞组件SinGooCMS.Utility全版本的下载量较低,流行程度很低,危害性较 低。从实际的开源工业软件供应链角度考虑,Masuit.Tools.Core库的覆盖率和影响度应该远 高于SinGooCMS.Utility库。尽管两者的漏洞原理接近,但是CVSS只表达了两者内在相似的 风险特征,而本发明方法能够较为客观地反映出两个漏洞在开源生态中不同的严重性。
表9 CVSS与开源供应链漏洞评分方法评分对比
Figure BDA0003689294410000092

Claims (7)

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可利用度评分Se中的攻击复杂度指标Eac重新进行等级划分,并作为开源评分体系的基础评分指标,其余基础评分指标沿用CVSS;
步骤2.2、为影响度评分Si重新选取度量指标,并进行等级划分和权值分配;
步骤2.3、通过开源评分体系得出漏洞的严重性分数Soc,评分指标组的计分公式为:
Figure FDA0003689294400000011
其中作用域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组件下载量的统计
NuGet组件的历史下载次数充分体现了该组件的影响力和流行度。依据下载量的数据统计,可将NuGet组件分为下载量较低(0~90)、下载量较高(90~600)和下载量极高(大于600)三个范围区间。
5.根据权利要求3所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:在所述步骤2.1中,所述步骤2.1中对CVSS可利用度评分Se的攻击复杂度指标Eac重新进行了等级的划分,依据漏洞利用的不同模型把CVSS中的两档细分为开源评分体系中的四挡,低、中、高和极高,具体分级标准如表1所示,此举更加切实和准确地描述了开源工业组件漏洞被利用的复杂程度。而CVSS可利用度中攻击向量Eav、权限要求Epr和用户交互Eui指标定义清晰、分级明确,所以开源评分体系继续沿用这些标准。
表1攻击复杂度分级标准
等级 攻击复杂度说明 低L 无需特定条件,即可达成攻击预期 中M 需要一定条件,但是条件较为简单 高H 需要一定或多种条件,并且条件较为严格 极高E 需要条件苛刻,攻击难度极高
6.根据权利要求3所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:在所述步骤2.2中,为开源评分体系的影响度评分Si重新选取度量指标并进行定级和取分。影响度评分Si从两个方面进行考虑:一方面是信息技术安全ISSsec三要素的角度,包括机密性要求Ic、完整性要求Ii和可用性要求Ia,具体分级标准如表2所示;另一方面是开源供应链依赖关系ISSosd的角度,提出的度量指标有依赖深度Idd、组件性质Inc和下载规模Ids。步骤1.5中基于NuGet平台数据分析,定义了对应概念并划分了三组度量指标的区间,三者分级的具体数值范围如表3所示,实际的漏洞评分中可据此进行指标区间的定级。同时,开源评分体系所有度量指标的分级取值如表4所示。
表2机密性要求、完整性要求、可用性要求指标分级标准
等级 机密性要求 完整性要求 可用性要求 无N 对机密性无危害 对完整性无危害 对可用性无危害 低L 攻击者获得的信息有限 攻击者修改的数据有限 攻击者占据的资源有限 高H 机密性完全丧失 完整性完全丧失 可用性完全丧失
表3依赖深度、组件性质、下载规模指标分级标准
等级 依赖深度 组件性质 下载规模 高H 下游依赖项层级较多 基础组件 下载量极高 中M 下游依赖项层级较少 中间组件 下载次数较多 低L 下游依赖项层级极少 成品组件 下载次数较少
表4开源评分体系度量指标权值
度量指标 度量指标分级 权值分档 攻击向量E<sub>av</sub> [N,A,L,P] [0.85,0.62,0.55,0.2] 攻击复杂度E<sub>ac</sub> [L,M,H,E] [0.77,0.61,0.44,0.2] 权限要求E<sub>pr</sub> [N,L,H] [0.85,0.62/0.68,0.27/0.5] 用户交互E<sub>ui</sub> [N,R] [0.85,0.62] 作用域scope [U,C] [U,C] 机密性要求I<sub>c</sub> [H,L,N] [0.56,0.22,0] 完整性要求I<sub>i</sub> [H,L,N] [0.56,0.22,0] 可用性要求I<sub>a</sub> [H,L,N] [0.56,0.22,0] 依赖深度I<sub>dd</sub> [H,M,L] [0.56,0.44,0.2] 组件性质I<sub>nc</sub> [H,M,L] [0.96,0.44,0.22] 下载规模I<sub>ds</sub> [H,M,L] [0.8,0.4,0.2]
7.根据权利要求3所述的基于依赖项检测和开源评分体系的NET平台开源软件供应链漏洞评分方法,其特征在于:在所述步骤2.3中,计分公式的权值分配根据CVSS评分体系以及实验经验所得。
可利用度分值计分公式为:Se=8.22·Eav·Eac·Epr·Eui
其中Epr的分级权值取决于scope的状态。即当scope为U时,Epr的权值分档取[0.85,0.62,0.27];当scope为C时,Epr取[0.85,0.68,0.5]。
影响度分值S计分公式为:
Figure FDA0003689294400000041
其中ISS为影响度评分中的临时变量,可由信息技术安全分值ISSsec和开源供应链依赖关系分值ISSosd计算得出。ISS计分公式为:
ISS=0.6·ISSosd+0.4·ISSsec
ISSosd的计算公式为:
ISSosd=1-[(1-Ipv)·(1-Inc)·(1-Ids)]
ISSsec的计算公式为:
ISSsec=1-[(1-Ic)·(1-Ii)·(1-Ia)]
从ISSsec和ISSosd两类指标评估一个开源组件漏洞的影响,在权值分配时更加偏向于ISSosd指标,应当分配更高的权值。因此,ISS计分公式最终给开源供应链依赖关系指标分配了0.6的权值,而信息技术安全指标分配了0.4的权值。
CN202210658233.5A 2022-06-10 2022-06-10 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法 Pending CN115329336A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210658233.5A CN115329336A (zh) 2022-06-10 2022-06-10 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210658233.5A CN115329336A (zh) 2022-06-10 2022-06-10 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法

Publications (1)

Publication Number Publication Date
CN115329336A true CN115329336A (zh) 2022-11-11

Family

ID=83916341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210658233.5A Pending CN115329336A (zh) 2022-06-10 2022-06-10 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法

Country Status (1)

Country Link
CN (1) CN115329336A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535546A (zh) * 2021-06-17 2021-10-22 深圳开源互联网安全技术有限公司 一种开源组件评估方法、装置及计算机可读存储介质
CN116305137A (zh) * 2023-01-12 2023-06-23 四川大学 一种面向开源项目的安全性自动化评估方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535546A (zh) * 2021-06-17 2021-10-22 深圳开源互联网安全技术有限公司 一种开源组件评估方法、装置及计算机可读存储介质
CN113535546B (zh) * 2021-06-17 2023-09-08 深圳开源互联网安全技术有限公司 一种开源组件评估方法、装置及计算机可读存储介质
CN116305137A (zh) * 2023-01-12 2023-06-23 四川大学 一种面向开源项目的安全性自动化评估方法及装置
CN116305137B (zh) * 2023-01-12 2023-10-13 四川大学 一种面向开源项目的安全性自动化评估方法及装置

Similar Documents

Publication Publication Date Title
CN109426722B (zh) Sql注入缺陷检测方法、系统、设备及存储介质
CN115329336A (zh) 一种基于依赖项检测和开源评分体系的net平台开源软件供应链漏洞评分方法
Fan et al. Improving data quality: Consistency and accuracy
KR102024953B1 (ko) 동적 특이치 바이어스 감소 시스템 및 방법
US10303874B2 (en) Malicious code detection method based on community structure analysis
Theisen et al. Approximating attack surfaces with stack traces
Khalid et al. Examining the relationship between findbugs warnings and app ratings
US20090158249A1 (en) System and method for testing a software module
CN114065223A (zh) 一种基于cvss的多维度软件安全风险评估方法
US20140033166A1 (en) System and method to map defect reduction data to organizational maturity profiles for defect projection modeling
CN107168995B (zh) 一种数据处理方法及服务器
US9195730B2 (en) Verifying correctness of a database system via extended access paths
CN106033469A (zh) 用于大数据的结构化查询的高效性能预测的方法和系统
CN112328499A (zh) 一种测试数据生成方法、装置、设备及介质
Autili et al. Software engineering techniques for statically analyzing mobile apps: research trends, characteristics, and potential for industrial adoption
Ashraf et al. WeFreS: weighted frequent subgraph mining in a single large graph
CN112200459A (zh) 一种配电网数据质量分析评价方法及系统
CN112087408A (zh) 一种评估网络资产的方法及装置
Krieter et al. Incremental construction of modal implication graphs for evolving feature models
CN113901463A (zh) 面向概念漂移的可解释Android恶意软件检测方法
CN104885060A (zh) 数据漏更新检查装置、数据漏更新检查方法、数据漏更新检查程序
JP2023053925A (ja) ビッグデータ管理システムに対してストレステストを最適に実行するコンピュータ実装方法、コンピュータプログラム及びシステム(ビッグデータ管理システムの最適なストレステストのためのワークロード生成)
CN107273293B (zh) 大数据系统性能测试方法、装置及电子设备
CN115292178A (zh) 测试数据搜索方法、装置、存储介质以及终端
CN113360553B (zh) 一种数据冷热程度评估方法及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination