本发明涉及软件开发,尤其涉及一种基于安全性能的开源组件选取方法及系统。
背景技术:
1、在现代软件开发中,开源组件的使用日益普及,因其能够显著提升开发效率和降低成本。然而,开源组件的安全性问题也逐渐引起广泛关注。随着开源软件的广泛应用,各类安全漏洞不断被发现和披露,这给软件开发带来了潜在的风险。因此,开发者在选取开源组件时,需要综合考虑其安全性能,以避免因安全隐患而导致的系统漏洞和数据泄露等严重后果。
2、目前,针对开源组件的安全性评估,通常依赖于静态分析工具和漏洞数据库。然而,这些方法往往存在评估不全面、实时性不足的问题,无法有效反映开源组件在实际使用中的安全状况。
技术实现思路
1、本发明的目的是提供一种基于多维数据的综合分析,提供对开源组件更为精准的安全评估的基于安全性能的开源组件选取方法及系统。
2、为了实现上述目的,本发明提供了一种基于安全性能的开源组件选取方法,其包括:
3、从开源漏洞数据库获取与目标开源组件相对应的漏洞信息,所述漏洞信息包括漏洞种类、漏洞发布日期以及漏洞评分系统给出的漏洞评分;
4、从公众的开源服务平台获取所述目标开源组件的指定时间段内的日均下载量和日均发布版本量;
5、基于所述日均下载量和所述日均发布版本量拟合生成第一参数;
6、基于每一漏洞的所述漏洞发布日期距当前的天数和所述漏洞评分拟合生成第二参数;
7、基于所述第一参数和所述第二参数拟合生成代表安全性要素的第一评估参数;
8、基于所述第一评估参数选取所述目标开源组件。
9、较佳地,基于下述公式拟合出所述第一参数s1:
10、
11、其中,use_c表示所述日均下载量,rel_c表示所述日均发布版本量。
12、较佳地,基于下述公式拟合出所述第二参数s2:
13、
14、其中,e为自然常数,cvssi表示所述目标开源组件中第i个漏洞的所述漏洞评分,timei表示所述目标开源组件中第i个漏洞的所述漏洞发布日期距当前的天数,t表示统计时长。
15、较佳地,基于下述公式拟合出第一评估参数ss:
16、
17、其中,a、b为预设的调整常数,1.5≤a≤2,1<b<1.5。
18、较佳地,从开源社区平台获取所述目标开源组件中漏洞的漏洞修复状态信息,根据所述漏洞修复状态信息和相应的漏洞发布日期拟合出代表漏洞响应情况的第二评估参数;结合所述第一评估参数和所述第二评估参数选取所述目标开源组件。
19、较佳地,设置下述四种用于评价漏洞响应状况的响应状态:
20、待响应:漏洞处于未修复状态,且δt1<δ1;
21、无响应:漏洞处于未修复状态,且δt1≥δ1;
22、慢响应:漏洞处于已修复状态,且δt2≥δ2;
23、快响应:漏洞处于已修复状态,且δt2<δ2;
24、其中,δt1为所述漏洞发布日期与当前统计日期之间的时间间隔;
25、δt2为所述漏洞发布日期与漏洞修复完成日期之间的时间间隔;
26、δ1和δ2为预设的两个时间阈值;
27、根据所述漏洞修复状态信息和所述漏洞发布日期,对于每一漏洞,为其匹配相应的响应状态;
28、基于所述开源组件中所有漏洞的所述响应状态创建与所述开源组件中漏洞的响应速度相关的第三参数;
29、计算所述开源组件中处于所述慢响应和所述快响应状态的漏洞数量与总的漏洞数量的比值,以获得漏洞响应比例;
30、基于所述第三参数与所述漏洞响应比例的乘积获得所述第二评估参数。
31、较佳地,基于下述公式创建第三参数cov:
32、cov=∑wi×ai
33、
34、其中,wi表示为每一所述响应状态赋予的权重,ai表示任一所述响应状态在所有所述响应状态中的占比,bi表示任一所述响应状态的数量。
35、本发明还提供一种开源组件选取系统,其包括评估参数生成器,所述评估参数生成器基于如上所述的开源组件选取方法生成用于评估目标开源组件的评估参数。
36、本发明还提供一种开源组件选取系统,其包括:
37、一个或多个处理器;
38、存储器;
39、以及一个或多个程序,其中一个或多个程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序包括用于执行如上所述的开源组件选取方法的指令。
40、本发明还提供一种计算机可读存储介质,其包括计算机程序,所述计算机程序可被处理器执行以完成如上所述的开源组件选取方法。
41、与现有技术相比,本发明上述技术方案提供的开源组件选取方法,通过综合分析开源组件的下载量、发布频率及漏洞评分,有效提高了软件开发过程中对开源组件的筛选安全性和可靠性。
42、首先,通过从开源漏洞数据库获取漏洞信息,明确了目标开源组件的潜在安全风险,并量化了这些风险的严重程度和新旧程度。这确保了开发者对组件的安全状态有全面了解。
43、其次,从开源服务平台获取的日均下载量和发布版本量,反映了目标开源组件的活跃度和维护频率。这不仅有助于评估目标开源组件组件的成熟度,还能间接衡量开发和用户社区的支持力度。
44、总的来说,该方法基于多维数据的综合分析,提供对开源组件更为精准的安全评估,有助于提升软件开发的安全性能和效率。
1.一种基于安全性能的开源组件选取方法,其特征在于,包括:
2.根据权利要求1所述的基于安全性能的开源组件选取方法,其特征在于,基于下述公式拟合出所述第一参数s1:
3.根据权利要求2所述的基于安全性能的开源组件选取方法,其特征在于,基于下述公式拟合出所述第二参数s2:
4.根据权利要求3所述的基于安全性能的开源组件选取方法,其特征在于,基于下述公式拟合出第一评估参数ss:
5.根据权利要求1所述的基于安全性能的开源组件选取方法,其特征在于,从开源社区平台获取所述目标开源组件中漏洞的漏洞修复状态信息,根据所述漏洞修复状态信息和相应的漏洞发布日期拟合出代表漏洞响应情况的第二评估参数;结合所述第一评估参数和所述第二评估参数选取所述目标开源组件。
6.根据权利要求5所述的基于安全性能的开源组件选取方法,其特征在于,设置下述四种用于评价漏洞响应状况的响应状态:
7.根据权利要求6所述的基于安全性能的开源组件选取方法,其特征在于,基于下述公式创建第三参数cov:
8.一种开源组件选取系统,其特征在于,包括评估参数生成器,所述评估参数生成器基于权利要求1至7任一项所述的开源组件选取方法生成用于评估目标开源组件的评估参数。
9.一种开源组件选取系统,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序可被处理器执行以完成如权利要求1至7任一项所述的开源组件选取方法。