一种检测.net项目组件及其漏洞的方法和装置制造方法及图纸

技术编号:28794838 阅读:19 留言:0更新日期:2021-06-09 11:33
本发明专利技术公开一种检测.net项目组件及其漏洞的方法及装置,本发明专利技术在提取到的组件的信息与.net组件库中的开源组件的信息匹配不成功时,将该匹配不成功的组件与.net组件库中的开源组件进行内容相似度比较,如果.net组件库存在内容相似度达到预设标准的开源组件,则可以将其与漏洞库进行匹配并获取对应的漏洞信息,进而本发明专利技术能够识别出非完全自研组件及其漏洞信息。洞信息。洞信息。

【技术实现步骤摘要】
一种检测.net项目组件及其漏洞的方法和装置


[0001]本专利技术涉及软件安全
,具体涉及一种检测.net项目组件及其漏洞的方法和装置。

技术介绍

[0002]目前,开发人员在进行.net项目开发时会广泛使用开源组件,据估计,每个应用程序的80%

90%都由开源组件组成。有研究显示,软件应用程序中使用的第三方组件中有一半已经过时,可能不安全。而在使用了开源组件的所有应用程序中,超过60%包含已知的软件漏洞。那么分析每个开源组件的漏洞,将会给项目的组成分析(SCA)提供有效的信息支持。而在现有的对.net项目组件及漏洞检测的技术中,一是无法根据不同的项目类型识别出项目的组件,二是由于非完全自研组件一般是结合有自研内容和公开组件的内容,导致完全无法识别出非完全自研组件及其漏洞信息(包括不存在漏洞的信息)。
[0003]因此,有必要提供一种新的检测.net项目组件及其漏洞的方法,以解决上述问题。

技术实现思路

[0004]本专利技术的目的在于提供一种检测.net项目组件及其漏洞的方法、装置、电子设备及计算机可读存储介质,能够识别出非完全自研组件及其漏洞信息。
[0005]为实现上述目的,本专利技术提供了一种检测.net项目组件及其漏洞的方法,包括:
[0006](1)从.net项目的配置文件中提取其使用的所有组件的信息;
[0007](2)将提取到的所有组件的信息与.net组件库中的开源组件的信息进行匹配,如果提取到的所述组件的信息匹配成功,进入步骤(3),如果提取到的所述组件的信息匹配不成功,进入步骤(4);
[0008](3)将匹配成功的组件的信息与漏洞库进行匹配并获取对应组件的漏洞信息;
[0009](4)将匹配不成功的组件与所述.net组件库中的开源组件进行内容相似度比较,如果所述.net组件库存在内容相似度达到预设标准的开源组件,进入步骤(5);
[0010](5)将所述.net组件库中内容相似度达到预设标准的开源组件与所述漏洞库进行匹配并获取对应的漏洞信息。
[0011]可选地,所述步骤(1)包括:根据不同框架结构下的所述配置文件选择对应的编译工具进行编译,以提取所述.net项目所使用的所有组件的信息。
[0012]可选地,所述.net组件库通过定时器实时监控开源组件平台获取所述开源组件平台中的组件信息并实时更新。
[0013]可选地,所述漏洞库包括CVE官网的漏洞信息;所述漏洞信息包括CPE信息,所述CPE信息与CVE漏洞存在对应关系。
[0014]可选地,所述步骤(4)包括:
[0015]获取该匹配不成功的组件的文件哈希并与所述.net组件库中的开源组件进行比较以找出与该匹配不成功的组件具有最多哈希完全相同的文件个数的待判断开源组件;
[0016]判断哈希完全相同的文件个数占该所述待判断开源组件中的所有文件的比例;
[0017]如果哈希完全相同的文件个数所占的比例达到预设比例,则认为该待判断开源组件的内容相似度达到预设标准;
[0018]和/或
[0019]获取该匹配不成功的组件的文件内容并与所述.net组件库中的开源组件进行逐行比对以找出与该匹配不成功的组件具有最多内容完全相同的文件行数的待判断开源组件;
[0020]判断内容完全相同的文件行数占该所述待判断开源组件中的所有文件行数的比例;
[0021]如果内容完全相同的文件行数所占的比例达到预设比例,则认为该待判断开源组件的内容相似度达到预设标准。
[0022]可选地,所述步骤(4)中,如果所述.net组件库不存在内容相似度达到预设标准的开源组件,则判定该匹配不成功的组件为自研组件。
[0023]可选地,在所述步骤(2)之后,还包括:
[0024]将该匹配不成功的组件在所述开源组件平台中进行检索,确认该匹配不成功的组件是否存在于所述开源组件平台,若存在,则进入所述步骤(3),并将该匹配不成功的组件收录于所述.net组件库中;若不存在,则进入所述步骤(4)。
[0025]为实现上述目的,本专利技术还提供了一种检测.net项目组件及其漏洞的装置,包括:
[0026]提取模块,用于从.net项目的配置文件中提取其使用的所有组件的信息;
[0027]组件匹配模块,用于将提取到的所有组件的信息与.net组件库中的开源组件的信息进行匹配,如果提取到的所述组件的信息匹配成功,进入第一漏洞匹配模块,如果提取到的所述组件的信息匹配不成功,进入比较模块;
[0028]第一漏洞匹配模块,用于将匹配成功的组件的信息与漏洞库进行匹配并获取对应组件的漏洞信息;
[0029]比较模块,用于将匹配不成功的组件与所述.net组件库中的开源组件进行内容相似度比较,如果所述.net组件库存在内容相似度达到预设标准的开源组件,进入第二漏洞匹配模块;
[0030]第二漏洞匹配模块,用于将所述.net组件库中内容相似度达到预设标准的开源组件与所述漏洞库进行匹配并获取对应的漏洞信息。
[0031]为实现上述目的,本专利技术还提供了一种电子设备,包括:
[0032]处理器;
[0033]存储器,其中存储有所述处理器的可执行指令;
[0034]其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的检测.net项目组件及其漏洞的方法。
[0035]为实现上述目的,本专利技术还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如上所述的检测.net项目组件及其漏洞的方法。
[0036]本专利技术在提取到的组件的信息与.net组件库中的开源组件的信息匹配不成功时,将该匹配不成功的组件与.net组件库中的开源组件进行内容相似度比较,如果.net组件库存在内容相似度达到预设标准的开源组件,则可以将其与漏洞库进行匹配并获取对应的漏
洞信息,进而本专利技术能够识别出非完全自研组件及其漏洞信息。
附图说明
[0037]图1是本专利技术实施例检测.net项目组件及其漏洞的方法的流程图。
[0038]图2是本专利技术实施例检测.net项目组件及其漏洞的方法的另一流程图。
[0039]图3是本专利技术实施例检测.net项目组件及其漏洞的方法的再一流程图。
[0040]图4是本专利技术实施例检测.net项目组件及其漏洞的装置的示意框图。
[0041]图5是本专利技术实施例电子设备的示意框图。
具体实施方式
[0042]为了详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
[0043]实施例一
[0044]请参阅图1至图3,本专利技术公开了一种检测.net项目组件及其漏洞的方法,包括:
[0045]S1、从.net项目的配置文件中提取其使用的所有组件的信息。
[0046]具体地,.net平台目前具有三个主流框架,一个是.netframewor本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种检测.net项目组件及其漏洞的方法,其特征在于,包括:(1)从.net项目的配置文件中提取其使用的所有组件的信息;(2)将提取到的所有组件的信息与.net组件库中的开源组件的信息进行匹配,如果提取到的所述组件的信息匹配成功,进入步骤(3),如果提取到的所述组件的信息匹配不成功,进入步骤(4);(3)将匹配成功的组件的信息与漏洞库进行匹配并获取对应组件的漏洞信息;(4)将匹配不成功的组件与所述.net组件库中的开源组件进行内容相似度比较,如果所述.net组件库存在内容相似度达到预设标准的开源组件,进入步骤(5);(5)将所述.net组件库中内容相似度达到预设标准的开源组件与所述漏洞库进行匹配并获取对应的漏洞信息。2.如权利要求1所述的检测.net项目组件及其漏洞的方法,其特征在于,所述步骤(1)包括:根据不同框架结构下的所述配置文件选择对应的编译工具进行编译,以提取所述.net项目所使用的所有组件的信息。3.如权利要求1所述的检测.net项目组件及其漏洞的方法,其特征在于,所述.net组件库通过定时器实时监控开源组件平台获取所述开源组件平台中的组件信息并实时更新。4.如权利要求1所述的检测.net项目组件及其漏洞的方法,其特征在于,所述漏洞库包括CVE官网的漏洞信息;所述漏洞信息包括CPE信息,所述CPE信息与CVE漏洞存在对应关系。5.如权利要求1所述的检测.net项目组件及其漏洞的方法,其特征在于,所述步骤(4)包括:获取该匹配不成功的组件的文件哈希并与所述.net组件库中的开源组件进行比较以找出与该匹配不成功的组件具有最多哈希完全相同的文件个数的待判断开源组件;判断哈希完全相同的文件个数占该所述待判断开源组件中的所有文件的比例;如果哈希完全相同的文件个数所占的比例达到预设比例,则认为该待判断开源组件的内容相似度达到预设标准;和/或获取该匹配不成功的组件的文件内容并与所述.net组件库中的开源组件进行逐行比对以找出与该匹配不成功的组件具有最多内容完全相同的文件行数的待判断开源组件;判断内容完全相同的文件行数占该所...

【专利技术属性】
技术研发人员:汪杰万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1