CN116680699A - 一种漏洞优先级排序系统、方法、计算机设备及存储介质 - Google Patents
一种漏洞优先级排序系统、方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116680699A CN116680699A CN202310517452.6A CN202310517452A CN116680699A CN 116680699 A CN116680699 A CN 116680699A CN 202310517452 A CN202310517452 A CN 202310517452A CN 116680699 A CN116680699 A CN 116680699A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- engine
- information
- code
- asset
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000012913 prioritisation Methods 0.000 claims abstract description 72
- 238000013507 mapping Methods 0.000 claims description 135
- 238000004458 analytical method Methods 0.000 claims description 90
- 230000002776 aggregation Effects 0.000 claims description 79
- 238000004220 aggregation Methods 0.000 claims description 79
- 239000012634 fragment Substances 0.000 claims description 25
- 230000004931 aggregating effect Effects 0.000 claims description 23
- 230000008439 repair process Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 7
- 238000010219 correlation analysis Methods 0.000 claims description 5
- 210000001503 joint Anatomy 0.000 claims description 5
- 238000003032 molecular docking Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 9
- 238000007405 data analysis Methods 0.000 abstract description 5
- 238000013468 resource allocation Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 65
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 238000012098 association analyses Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012038 vulnerability analysis Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000178 monomer Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 101001018259 Homo sapiens Microtubule-associated serine/threonine-protein kinase 1 Proteins 0.000 description 1
- 101000693728 Homo sapiens S-acyl fatty acid synthase thioesterase, medium chain Proteins 0.000 description 1
- 102100025541 S-acyl fatty acid synthase thioesterase, medium chain Human genes 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- CSJLBAMHHLJAAS-UHFFFAOYSA-N diethylaminosulfur trifluoride Substances CCN(CC)S(F)(F)F CSJLBAMHHLJAAS-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种漏洞优先级排序系统、方法、计算机设备及存储介质,涉及计算机技术领域,该系统的架构设计包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎。本发明通过多维度数据分析,针对产品安全的漏洞进行优先级排序,使得业务团队在面对紧张的开发任务和有限的安全资源的情况下,能够解决最关键的安全问题。不仅可以提高业务团队的安全工作效率,还可以有效降低企业安全风险,保护客户的数据和隐私安全。此外,通过本发明排序后的结果,业务团队还可以更好地评估安全风险,规划安全开发生命周期的工作内容,并对安全工作进行合理的资源配置。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种漏洞优先级排序系统、方法、计算机设备及存储介质。
背景技术
随着互联网技术的发展,网络安全问题日益受到重视。企业需要从多个维度保证产品安全,例如通过威胁建模、SDL、SAST、SCA、DAST、IaC安全扫描、渗透测试等产品或服务提高产品的安全性。然而,伴随着安全左移的不断推进,大量的漏洞信息从多个数据源进行披露,甲方安全团队人员数量往往有限,业务团队面对着紧张的开发任务可以投入到安全的资源是有限的。因此,对于产生的漏洞信息进行关系映射和优先级排序将是非常重要的。
目前,常见的漏洞优先级排序方案主要有五类:
第一类是产品重要程度法:根据产品在企业内部的重要程度,进而对产生的漏洞信息进行漏洞优先级排序。这种方法适用于对整个企业内部信息安全风险进行评估的情况。
第二类是严重程度法:基于漏洞的严重程度进行优先级排序。这种方法以漏洞的危害程度和对系统的影响程度为基础,可以更直观地评估漏洞的危害程度。
第三类是单体安全产品评价法:单体安全产品采用自身的漏洞评价标准进行漏洞优先级排序。这种方法可以综合考虑漏洞的危害程度、影响范围等因素,全面评估漏洞的危害性。
第四类是威胁情报法:基于全球范围内当前存在的威胁情报,对漏洞进行评估和优先级排序。
第五类是专家规则法:基于安全专家的经验和知识,制定的规则对漏洞进行优先级排序。
目前,漏洞优先级排序方案缺乏系统性,难以从多个维度进行数据分析,无法指导业务团队利用有限的资源,解决最关键的安全问题。
现有的安全技术方案通常缺乏一个统一的评估标准,导致漏洞修复的优先级不同,针对性不强。有些方案只考虑单个维度,如CVSS分数,不能完全评估漏洞的重要程度。有些方案可能会遗漏重要的安全因素,如威胁情报。因此,现有技术在处理漏洞的优先级排序方面存在较大的挑战。
发明内容
有鉴于此,本发明的目的在于提出一种漏洞优先级排序系统、方法、计算机设备及存储介质,通过多维度数据分析,针对产品安全的漏洞进行优先级排序,使得业务团队在面对紧张的开发任务和有限的安全资源的情况下,能够解决最关键的安全问题。
为实现上述目的,本发明提供了以下技术方案:
第一方面,本发明实施例提供了一种漏洞优先级排序系统,包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎;
所述资产收集引擎,用于收集企业内部的资产信息;
所述资产关系映射引擎,用于映射企业内部的资产与资产之间关系;
所述威胁情报聚合引擎,用于聚合多源的威胁情报,辅助漏洞评估;
所述漏洞可达性分析引擎,用于分析漏洞是否可被利用;
所述代码关系映射引擎,通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
所述多平台漏洞聚合引擎,用于收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
所述漏洞优先级排序引擎,用于聚合分析并输出排序后的结果。
作为本发明的进一步方案,所述漏洞优先级排序系统,还包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎的部署,在部署时包括:
部署资产收集引擎,并设置需要收集的资产信息;
部署资产关系映射引擎,并设置需要映射的资产之间的关系;
部署威胁情报聚合引擎,并配置需要聚合的威胁情报来源;
部署漏洞可达性分析引擎,并设置需要分析的漏洞信息;
部署代码关系映射引擎,并配置需要对接的源代码托管平台;
部署多平台漏洞聚合引擎,并整合资产关系映射引擎和威胁情报聚合引擎;
部署漏洞优先级排序引擎,并设置需要排序的漏洞信息。
作为本发明的进一步方案,所述漏洞可达性分析引擎用于分析漏洞是否可被利用的关键引擎,分析漏洞是否可被利用包括以下步骤:
从多个来源进行全量漏洞数据信息收集,其中,收集到的全量漏洞数据信息包括漏洞编号、漏洞类型、漏洞描述、漏洞评分;
对漏洞之间的关联关系进行分析和建模,对漏洞关联性分析;
将收集到的漏洞信息与漏洞关联性分析的结果进行整合,综合分析后得出漏洞可达性计算结果;
将漏洞可达性计算结果反馈给漏洞负责人按照优先级进行漏洞修复。
作为本发明的进一步方案,资产信息收集引擎收集到的资产信息对应漏洞数据的子集。
作为本发明的进一步方案,在进行漏洞优先级排序时,综合考虑漏洞的严重程度、漏洞被触发的条件、漏洞的传播范围、漏洞的复杂度等因素,对漏洞进行评估,并给出一个优先级排序的结果。
作为本发明的进一步方案,所述代码关系映射引擎进行漏洞、代码片段以及漏洞责任人之间的关系映射时,关系映射包括以下步骤:
通过多平台漏洞聚合引擎收集漏洞信息,其中,所述漏洞信息包括漏洞编号、漏洞描述、漏洞风险等级信息;
使用资产关系映射引擎将漏洞与资产之间的关系进行映射;
使用代码关系映射引擎来确定与漏洞相关的代码片段的代码仓库、代码文件和代码贡献者在内的信息,通过代码关系映射为漏洞修复提供代码修复方案,并确定代码责任人;
根据漏洞影响的资产和相关的代码片段,确定漏洞责任人,漏洞责任人通过在规定的SLA内解决相关漏洞,并提供反馈。
本发明的另一方面,还提供了一种漏洞优先级排序方法,该方法基于上述的漏洞优先级排序系统针对产品安全的漏洞进行优先级排序,该方法包括以下步骤:
通过部署资产收集引擎收集企业内部的资产信息;
通过部署资产关系映射引擎映射企业内部的资产与资产之间关系;
通过部署威胁情报聚合引擎聚合多源的威胁情报,辅助漏洞评估;
通过部署漏洞可达性分析引擎分析漏洞是否可被利用;
部署代码关系映射引擎,代码关系映射引擎通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
通过部署多平台漏洞聚合引擎收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
通过部署漏洞优先级排序引擎聚合分析并输出排序后的结果。
作为本发明的进一步方案,部署的漏洞可达性分析引擎在进行分析漏洞是否可被利用的关键引擎时,包括以下步骤:
从多个来源进行全量漏洞数据信息收集,其中,收集到的全量漏洞数据信息包括漏洞编号、漏洞类型、漏洞描述、漏洞评分;
对漏洞之间的关联关系进行分析和建模,对漏洞关联性分析;
将收集到的漏洞信息与漏洞关联性分析的结果进行整合,综合分析后得出漏洞可达性计算结果;
将漏洞可达性计算结果反馈给漏洞负责人按照优先级进行漏洞修复。
本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的漏洞优先级排序方法。
本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的漏洞优先级排序方法。
与现有技术相比,本发明提出了漏洞优先级排序系统、方法、计算机设备及存储介质具有以下有益技术效果:
本发明通过多维度数据分析,针对产品安全的漏洞进行优先级排序,使得业务团队在面对紧张的开发任务和有限的安全资源的情况下,能够解决最关键的安全问题。
本发明通过分析产品重要程度、漏洞CVSS分数、威胁情报和漏洞可达性、专家规则等多个维度的数据,对漏洞进行修复的优先级排序,业务团队可以更高效地利用有限的安全资源,解决最关键的安全问题。
本发明不仅可以提高业务团队的安全工作效率,还可以有效降低企业安全风险,保护客户的数据和隐私安全。此外,通过本发明排序后的结果,业务团队还可以更好地评估安全风险,规划安全开发生命周期的工作内容,并对安全工作进行合理的资源配置。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。在附图中:
图1示出了本发明实施例中一种漏洞优先级排序系统的结构示意图;
图2示出了根据本发明的实现漏洞优先级排序方法的计算机设备的实施例的硬件结构示意图;
图3示出了根据本发明的实现漏洞优先级排序方法的计算机可读存储介质的实施例的示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
由于目前,漏洞优先级排序方案缺乏系统性,难以从多个维度进行数据分析,无法指导业务团队利用有限的资源,解决最关键的安全问题。其中,现有的安全技术方案通常缺乏一个统一的评估标准,导致漏洞修复的优先级不同,针对性不强。有些方案只考虑单个维度,如CVSS分数,不能完全评估漏洞的重要程度。有些方案可能会遗漏重要的安全因素,如威胁情报。因此,现有技术在处理漏洞的优先级排序方面存在较大的挑战。因此,本发明提出一种漏洞优先级排序系统、方法、计算机设备及存储介质。
参见图1所示,本发明的实施例提供了一种漏洞优先级排序系统,通过分析产品重要程度、漏洞CVSS分数、威胁情报和漏洞可达性、专家规则等多个维度的数据,对漏洞进行修复的优先级排序。
本发明的漏洞优先级排序系统的产品架构设计主要包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎。
其中,所述资产收集引擎,用于收集企业内部的资产信息;
所述资产关系映射引擎,用于映射企业内部的资产与资产之间关系;
所述威胁情报聚合引擎,用于聚合多源的威胁情报,辅助漏洞评估;
所述漏洞可达性分析引擎,用于分析漏洞是否可被利用;
所述代码关系映射引擎,通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
所述多平台漏洞聚合引擎,用于收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
所述漏洞优先级排序引擎,用于聚合分析并输出排序后的结果。
在本发明的漏洞优先级排序系统中,通过分析产品重要程度、漏洞CVSS分数、威胁情报和漏洞可达性、专家规则等多个维度的数据,对漏洞进行修复的优先级排序。
在具体应用程序中,安全漏洞的重要程度优先级是不同的。例如,如果同样的RCE漏洞同时出现在内网测试服务和外部生产服务器上,则在外部生产服务器上修复该RCE漏洞需要更高的优先级。这部分是关于产品的重要程度。其可以基于产品的用户量、使用频率、关键功能(如支付)等因素,并赋予一个相应的权重(占比30%)。
漏洞本身的危害程度、利用难度等维度会根据CVSS评分分为严重、高危、中危、低危几个级别。CVSS分数部分赋予30%的权重,其中严重漏洞为40%,高危漏洞为30%,中危漏洞为20%,低危漏洞为10%。关键的0day威胁情报往往会将漏洞修复的优先级提高几个优先级。例如,我们在Log4shell漏洞事件响应中提前48小时获取了漏洞情报,这将为企业提供充足的事件响应时间(占比20%)。
虽然漏洞可能存在于一个系统中,但由于利用条件的限制,漏洞可能无法成功利用。例如,Spring4shell漏洞需要在JDK 9以上的环境下才能被成功利用,这里就是漏洞可达性(占比10%)。
团队内部,业界知名安全专家的结论可用于漏洞优先级排序引擎中,以提高相关结果的优先级,重点修复。同时,需要考虑业务影响。漏洞修复所需的时间和资源可能会对业务运营产生影响,因此需要对修复优先级进行调整。例如,如果修复某个漏洞需要停机维护,而该网站又是关键业务系统的一部分,则修复该漏洞的优先级应该较高(占比10%)。这样,业务团队可以更高效地利用有限的安全资源,解决最关键的安全问题。
本发明不仅可以提高业务团队的安全工作效率,还可以有效降低企业安全风险,保护客户的数据和隐私安全。此外,通过本发明排序后的结果,业务团队还可以更好地评估安全风险,规划安全开发生命周期的工作内容,并对安全工作进行合理的资源配置。
在本发明的实施例中,资产关系映射引擎:用于映射资产与资产之间的关系,方便后续的分析。如当我们使用Istio进行微服务架构的应用开发时,可以通过配置Envoysidecar来自动化地收集服务间的关联关系,并将其映射到Istio Mixer上。使用Istio中的Mixer Adapter来将Envoy收集到的数据发送到Mixer,Mixer会将这些数据与其他信息一起存储在Istio Control Plane中的Istio Galley和Istio Pilot中。
在服务A和B之间进行RPC调用时,可以配置Envoy sidecar以在服务a发起的每个RPC请求中包含有关目标服务B的信息。Envoy会将这些数据发送到Mixer,Mixer会将其映射到Istio Galley和Istio Pilot中,并将其与服务A和B的其他相关信息一起存储在IstioControl Plane中。通过这种方式,可以轻松地了解服务A和B之间的关联关系,包括它们之间的调用关系、通信协议、传输协议等。
类似地,当访问MySQL数据库或S3存储时,可以通过在Envoy sidecar中配置相应的过滤器来自动化地收集这些关联关系信息。例如,可以配置Envoy sidecar以在访问MySQL数据库时收集有关数据库地址、端口、访问凭据等信息,并将其映射到Istio Mixer上。可以配置Envoy sidecar以在访问S3存储时收集有关存储桶名称、对象名称、访问凭据等信息,并将其映射到Istio Mixer上。
通过这种方式,可以方便地收集服务间的关联关系信息,并在Istio ControlPlane中进行分析和可视化。
在本实施例中,威胁情报聚合引擎:用于聚合多源的威胁情报,为漏洞评估提供更全面的情报支持。此部分操作包含收集、标准化、去重、分类、关联、分析、输出等几个步骤,其中收集部分包含在部分暗网论坛、Twitter、Github、Slack、Telegram等多个信息源采集情报。接下来需要对收集到的威胁情报进行标准化处理,如基于漏洞类型进行分类,第三步为对标准化后的威胁情报进行去重操作,避免重复的信息干扰后续的分析。第四步为分类环节,如公开漏洞出现了新的利用方案,未知0day等。第五步为关联,根据不同威胁情报类型之间的关系,将相关的威胁情报进行关联,如针对公开漏洞出现的利用方案和历史漏洞情报进行关联。接下来为对聚合后的威胁情报进行分析,提取相关的威胁特征和模式,进行相应的分析和评估。最后将分析后的威胁情报输出到漏洞优先级排序系统中,为漏洞评估和排查提供支持。
在本实施例中,代码关系映射引擎:该引擎可通过与企业内部源代码托管平台(如Github、Gitlab等)对接,获取代码片段和工程师之间的对应关系,进一步实现漏洞、代码片段以及漏洞责任人之间的关系映射。当威胁情报或漏洞分析确定了某个漏洞的存在时,代码映射引擎可以根据这些信息来获取与漏洞相关的代码片段。在威胁情报的漏洞描述中通常包含漏洞发生的条件和可能的影响,如漏洞组件、漏洞函数和版本号,通过这些信息,代码映射引擎可以确定与漏洞相关的代码片段。
以Apache Struts2漏洞(CVE-2017-5638)为例,漏洞情报已经提供了以下关键信息:漏洞发生在Apache Struts2 2.3.x和2.5.x版本中,漏洞描述为在处理上传的Content-Type标头时,由于未正确验证,攻击者可以通过构造特制的请求,远程执行任意代码。
基于这些信息,代码映射引擎可以确定与漏洞相关的代码片段和需要修复的函数。以下是一个需要修复的敏感函数名称:
org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest中的parse()函数
修复这个函数中存在的漏洞可以防止攻击者利用CVE-2017-5638漏洞执行远程代码。
在本实施例中,还包括了一个重要的组件:多平台漏洞聚合引擎。这一组件可以收集到多个平台上的漏洞信息,并通过与资产关系映射引擎的整合,能够将漏洞数据聚合到一起,方便后续的漏洞优先级排序进行分析。它也可以与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,更精确地评估漏洞的风险程度,以提高漏洞优先级的准确度。最终,通过漏洞优先级排序引擎,可以聚合分析并输出排序后的结果,方便漏洞负责人在规定的SLA内解决相关漏洞,并提供反馈,不断提高漏洞优先级排序的准确度。
将多个漏洞库中的漏洞数据进行聚合分析并输出排序后的结果,需要对数据进行规整和整合。
举例对于CVE漏洞库和Github Security漏洞库的数据规整,可以按照以下步骤进行:
1.统一字段:将CVE漏洞库和Github Security漏洞库中的漏洞数据进行字段统一,如将两个漏洞库中的“漏洞描述”字段统一为“描述”字段。
2.插入相同的表中:将CVE漏洞库和Github Security漏洞库中的漏洞数据插入到同一个表中,以便进行聚合和分析。
3.对于不同的漏洞库中可能存在相同的漏洞,需要进行去重处理。可以根据漏洞的唯一标识符进行去重,如CVE漏洞库中的CVE编号和Github Security漏洞库中的GHSA编号,如根据漏洞描述进行相似度分析。
4.对于同一个漏洞可能存在不同的风险评级,需要进行统一处理。可以根据漏洞的严重程度、影响范围等因素,对漏洞进行风险评估,并将统一的风险评级信息加入到漏洞数据中。最后输出排序后的结果。
在本实施例中,所述漏洞优先级排序系统,还包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎的部署,在部署时包括:
部署资产收集引擎,并设置需要收集的资产信息;
部署资产关系映射引擎,并设置需要映射的资产之间的关系;
部署威胁情报聚合引擎,并配置需要聚合的威胁情报来源;
部署漏洞可达性分析引擎,并设置需要分析的漏洞信息;
部署代码关系映射引擎,并配置需要对接的源代码托管平台;
部署多平台漏洞聚合引擎,并整合资产关系映射引擎和威胁情报聚合引擎;
部署漏洞优先级排序引擎,并设置需要排序的漏洞信息。
其中,部署资产收集引擎:部署资产收集引擎,并设置需要收集的资产信息,例如IP地址、域名、操作系统类型、应用程序版本等。
部署资产关系映射引擎:部署资产关系映射引擎,并设置需要映射的资产之间的关系。
部署威胁情报聚合引擎:部署威胁情报聚合引擎,并配置需要聚合的威胁情报来源。
部署漏洞可达性分析引擎:部署漏洞可达性分析引擎,并设置需要分析的漏洞信息。
部署代码关系映射引擎:部署代码关系映射引擎,并配置需要对接的源代码托管平台。
部署多平台漏洞聚合引擎:部署多平台漏洞聚合引擎,并整合资产关系映射引擎和威胁情报聚合引擎。
部署漏洞优先级排序引擎:部署漏洞优先级排序引擎,并设置需要排序的漏洞信息。
在本实施例中,所述漏洞可达性分析引擎用于分析漏洞是否可被利用的关键引擎,分析漏洞是否可被利用包括以下步骤:
1.漏洞信息收集:漏洞信息可以从多个来源收集,包括多平台漏洞聚合引擎、威胁情报聚合引擎、第三方漏洞信息网站等。收集到的漏洞信息应包含漏洞编号、漏洞类型、漏洞描述、漏洞评分等信息。
此处漏洞信息收集部分收集的漏洞数据为全量漏洞数据,资产信息收集引擎收集到的资产信息对应漏洞数据的子集,举例目前公司有2个Java Web框架的应用,漏洞信息收集引擎会覆盖到Java、Golang等常见编程语言及Web框架的漏洞信息,因为公司的业务是逐渐发展和变化的,漏洞信息收集应拥有更广的覆盖面。
收集各类资产信息,主要是为了进行资产关系映射和串联,举例来讲,在公司内部的源代码管理平台,我们收集到了代码提交者(也是漏洞潜在责任人)和commit记录(代码片段)之间的关系,在CICD平台我们可以收集到容器镜像以及jar包这些元数据信息,以及部署的目标服务节点,将这些资产信息进行规整后(统一字段)进行串联,即从人、代码片段到最后部署环境之间的关系映射。在漏洞信息收集部分,我们通过漏洞描述中涉及的资产及版本或漏洞函数映射到指定的资产上排期修复。
2.漏洞关联性分析:漏洞之间存在着复杂的关联关系,如同一漏洞在不同资产上的影响程度不同、不同漏洞之间可能存在依赖关系等。因此,在进行可达性分析之前,需要对漏洞之间的关联关系进行分析和建模。其中,资产关系映射引擎和代码关系映射引擎可以提供有力支持。
如第三方组件漏洞,同一个第三方组件版本通常存在多个安全漏洞,解决方案是相同的,即将该组件进行升级,此时可将这两个漏洞进行关联。在一些Java反序列化漏洞场景,漏洞出现在同一个漏洞函数上,开发者的修复方案为黑名单修复,即存在黑名单绕过的场景则分配一个新的CVE编号,此类漏洞也可进行关联。最终我们形成组件、组件版本、漏洞函数、修复方案这样的数据集。
3.漏洞可达性计算:漏洞可达性计算是漏洞可达性分析的核心,其目的是判断漏洞是否可被利用。在进行漏洞可达性计算之前,需要将收集到的漏洞信息与漏洞关联性分析的结果进行整合,并考虑多个因素,如漏洞类型、漏洞评分、漏洞所在资产的操作系统版本、网络拓扑结构等。通过对这些因素进行综合分析,可以得出漏洞可达性的计算结果。
此处我们通过漏洞的关联关系进行整合,如相同的修复方案,相同的漏洞利用场景。漏洞可达性主要取决于几个纬度,如第三方组件存在安全漏洞,漏洞函数是否被程序调用,程序上游是否存在攻击者可控的source点,应用部署在内网或者外网。一个完全可达的漏洞为程序调用了第三方组件的漏洞函数、应用部署在外网且前端无任何安全设备。一个潜在可达的漏洞为程序调用了第三方组件的漏洞函数、应用部署在内网,攻击者可以在潜入内网后通过横向移动的方式攻击该应用。
4.可达性结果反馈:通过漏洞可达性分析引擎得出的漏洞可达性计算结果可以反馈给漏洞负责人,以便漏洞负责人能够更好地了解漏洞的风险程度,并及时采取措施进行修复。在反馈可达性结果的同时,可以将优先级信息一并反馈,以便漏洞负责人能够按照优先级进行漏洞修复。
漏洞的风险程度通常分为严重、高危、中危、低害、信息5个纬度,由系统进行标记,漏洞负责人根据不同风险级别的SLA进行响应,如严重漏洞需要在12h内修复并发版,对于中危的漏洞,可以在有序的时间内进行修复,例如在下一个版本中修复或在下一个安全更新中进行修复;对于低危的漏洞,可以在较长的时间内进行修复,例如在未来的几个月内进行修复。
在应用内部的漏洞可达性分析部分,我们使用开源的静态代码分析工具生成抽象语法树,并对其进行分析,以提取与漏洞相关的信息,例如变量的声明和使用、函数的调用和传参。在函数调用图中展示每个函数调用其他哪些函数,并且这些函数调用之间的顺序和传参方式。采用静态代码分析工具生成函数调用图,并通过分析其中的漏洞相关信息,例如某个漏洞是由哪些函数调用引起的,或是哪些函数调用中存在未被检查的输入数据等。
以一个Java Web代码示例为例,说明如何使用开源的静态代码分析工具Soot生成抽象语法树并提取与RCE漏洞相关的信息。
以下为Java Web代码示例:
该代码中存在RCE漏洞,因为它使用Runtime.getRuntime().exec()函数来执行用户提供的输入,而未对输入进行有效过滤。
使用soot分析的关键代码逻辑:
这段代码片段指定了要分析的类名和方法名,然后设置Soot的参数,包括使用原始名称和加载必要的类。接着获取指定方法的抽象语法树,并通过遍历语句来查找Runtime.getRuntime().exec()函数的调用。如果找到了这个调用,就会输出相关信息,包括找到的语句和传递给函数的参数。
输出结果为:
Potential RCE found:
$7=java.lang.Runtime.getRuntime();
$8=virtualinvoke$7.<java.lang.Runtime:java.lang.Process exec(java.lang.String)>("echo"+$2);
$10=virtualinvoke$8.<java.lang.Process:java.io.InputStreamgetInputStream()>();
Arguments:["echo"+$2]
在进行漏洞优先级排序时,我们结合以上程序分析技术,综合考虑漏洞的严重程度、漏洞被触发的条件、漏洞的传播范围、漏洞的复杂度等因素,对漏洞进行评估,并给出一个优先级排序的结果。这样可以帮助安全团队更加有效地分配资源,快速响应漏洞,并最大程度地降低系统安全风险。
以S2-045和一个普通的XSS漏洞为例,更具体地探讨如何综合考虑漏洞的各个因素进行评估和优先级排序。
漏洞的严重程度
首先,需要对漏洞的严重程度进行评估,通常可以根据漏洞的危害程度、可利用性和影响范围等方面来考虑。
对于S2-045,它属于远程代码执行漏洞,可以导致攻击者完全控制目标服务器,进而对系统进行篡改、窃密等攻击,因此危害程度较高,需要高度重视。而对于普通的XSS漏洞,它一般只能导致页面显示恶意内容,尽管也可能会导致用户的隐私泄露,但相对而言危害程度较低。
因此,在漏洞的严重程度方面,S2-045应该比普通的XSS漏洞优先级更高。
漏洞被触发的条件
其次,需要考虑漏洞被触发的条件,即攻击者需要具备哪些前置条件才能利用漏洞进行攻击。
对于S2-045,攻击者需要通过HTTP请求发送特定的恶意参数,而目标服务器必须存在相关漏洞代码,因此攻击者需要较强的攻击技能才能利用该漏洞进行攻击。而对于普通的XSS漏洞,攻击者只需要在页面中插入一段恶意脚本代码即可。
因此,在漏洞被触发的条件方面,S2-045相对比普通的XSS漏洞要更难被攻击者利用,因此其优先级更低。
漏洞的传播范围
第三,需要考虑漏洞的传播范围,即漏洞可能对哪些系统和应用程序造成影响。
对于S2-045,它是Struts2框架中的漏洞,因此所有使用Struts2框架的应用程序都可能存在该漏洞,需要进行修复。而对于普通的XSS漏洞,它只会影响到存在漏洞的页面,对其他系统和应用程序不会造成影响。
因此,在漏洞的传播范围方面,S2-045相对比普通的XSS漏洞更具有广泛的影响,因此其优先级更高。
综合考虑上述因素,可以将S2-045的优先级设置为高,而将普通的XSS的优先级设置为中等。
除此之外,我们还对常见的Web框架进行了分析和整理,收集并标记了漏洞函数的sink点,以及常见Web框架中的漏洞source点。
主要收集和标记了以下内容:
1.漏洞source点:指导致漏洞的代码位置,例如用户输入没有经过正确的过滤或验证,从而导致应用程序存在安全漏洞。我们收集了Spring Web框架中的源代码,并标记了其中可能存在漏洞的代码位置,例如处理HTTP请求时的参数解析、过滤、校验等。如:
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping中的detectHandlerMethods()函数,
org.springframework.web.servlet.handler.AbstractHandlerMapping中的getHandler()函数,org.springframework.web.servlet.DispatcherServlet中的doDispatch()函数,
org.springframework.web.filter.GenericFilterBean中的doFilter()函数,org.springframework.security.web.FilterChainProxy中的doFilter()函数等。
2.漏洞sink点:指被攻击者恶意输入的数据在程序中执行的位置,例如数据库查询、文件读写、系统命令执行等。我们收集了Java中常见的sink点,例如Runtime.exec()函数、ProcessBuilder.start()函数等,同时也对Spring Web框架中可能存在的sink点进行了标记,例如数据访问对象(DAO)的查询操作,以及响应用户请求的控制器中可能包含的处理请求的方法等。
这些收集和整理的结果可以用于辅助漏洞分析工作,提高漏洞评估的准确性。
总之,漏洞可达性分析引擎是一个非常重要的组件,通过它可以实现漏洞可达性计算,提高漏洞修复的效率和准确性,从而保障系统的安全性。
在本实施例中,所述代码关系映射引擎进行漏洞、代码片段以及漏洞责任人之间的关系映射时,关系映射包括以下步骤:
二、本发明技术方案的详细阐述,应该给出实施例并结合附图进行说明。
架构设计
本产品的架构设计主要包括以下部分:
资产收集引擎:用于收集企业内部的各类资产信息。
资产关系映射引擎:用于映射资产与资产之间的关系,方便后续的分析。如当我们使用Istio进行微服务架构的应用开发时,可以通过配置Envoy sidecar来自动化地收集服务间的关联关系,并将其映射到Istio Mixer上。使用Istio中的Mixer Adapter来将Envoy收集到的数据发送到Mixer,Mixer会将这些数据与其他信息一起存储在Istio ControlPlane中的Istio Galley和Istio Pilot中。
在服务A和B之间进行RPC调用时,可以配置Envoy sidecar以在服务a发起的每个RPC请求中包含有关目标服务B的信息。Envoy会将这些数据发送到Mixer,Mixer会将其映射到Istio Galley和Istio Pilot中,并将其与服务A和B的其他相关信息一起存储在IstioControl Plane中。通过这种方式,可以轻松地了解服务A和B之间的关联关系,包括它们之间的调用关系、通信协议、传输协议等。
类似地,当访问MySQL数据库或S3存储时,可以通过在Envoy sidecar中配置相应的过滤器来自动化地收集这些关联关系信息。例如,可以配置Envoy sidecar以在访问MySQL数据库时收集有关数据库地址、端口、访问凭据等信息,并将其映射到Istio Mixer上。可以配置Envoy sidecar以在访问S3存储时收集有关存储桶名称、对象名称、访问凭据等信息,并将其映射到Istio Mixer上。
通过这种方式,可以方便地收集服务间的关联关系信息,并在Istio ControlPlane中进行分析和可视化。
威胁情报聚合:用于聚合多源的威胁情报,为漏洞评估提供更全面的情报支持。此部分操作包含收集、标准化、去重、分类、关联、分析、输出等几个步骤,其中收集部分包含在部分暗网论坛、Twitter、Github、Slack、Telegram等多个信息源采集情报。接下来需要对收集到的威胁情报进行标准化处理,如基于漏洞类型进行分类,第三步为对标准化后的威胁情报进行去重操作,避免重复的信息干扰后续的分析。第四步为分类环节,如公开漏洞出现了新的利用方案,未知0day等。第五步为关联,根据不同威胁情报类型之间的关系,将相关的威胁情报进行关联,如针对公开漏洞出现的利用方案和历史漏洞情报进行关联。接下来为对聚合后的威胁情报进行分析,提取相关的威胁特征和模式,进行相应的分析和评估。最后将分析后的威胁情报输出到漏洞优先级排序系统中,为漏洞评估和排查提供支持。
漏洞可达性分析引擎:用于分析漏洞是否可被利用,为漏洞评估提供科学依据。
代码关系映射引擎:该引擎可通过与企业内部源代码托管平台(如Github、Gitlab等)对接,获取代码片段和工程师之间的对应关系,进一步实现漏洞、代码片段以及漏洞责任人之间的关系映射。当威胁情报或漏洞分析确定了某个漏洞的存在时,代码映射引擎可以根据这些信息来获取与漏洞相关的代码片段。在威胁情报的漏洞描述中通常包含漏洞发生的条件和可能的影响,如漏洞组件、漏洞函数和版本号,通过这些信息,代码映射引擎可以确定与漏洞相关的代码片段。
以Apache Struts2漏洞(CVE-2017-5638)为例,漏洞情报已经提供了以下关键信息:漏洞发生在Apache Struts2 2.3.x和2.5.x版本中,漏洞描述为在处理上传的Content-Type标头时,由于未正确验证,攻击者可以通过构造特制的请求,远程执行任意代码。
基于这些信息,代码映射引擎可以确定与漏洞相关的代码片段和需要修复的函数。以下是一个需要修复的敏感函数名称:
org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest中的parse()函数
修复这个函数中存在的漏洞可以防止攻击者利用CVE-2017-5638漏洞执行远程代码。
还包括了一个重要的组件:多平台漏洞聚合引擎。这一组件可以收集到多个平台上的漏洞信息,并通过与资产关系映射引擎的整合,能够将漏洞数据聚合到一起,方便后续的漏洞优先级排序进行分析。它也可以与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,更精确地评估漏洞的风险程度,以提高漏洞优先级的准确度。最终,通过漏洞优先级排序引擎,可以聚合分析并输出排序后的结果,方便漏洞负责人在规定的SLA内解决相关漏洞,并提供反馈,不断提高漏洞优先级排序的准确度。
将多个漏洞库中的漏洞数据进行聚合分析并输出排序后的结果,需要对数据进行规整和整合。
举例对于CVE漏洞库和Github Security漏洞库的数据规整,可以按照以下步骤进行:
1.统一字段:将CVE漏洞库和Github Security漏洞库中的漏洞数据进行字段统一,如将两个漏洞库中的“漏洞描述”字段统一为“描述”字段。
2.插入相同的表中:将CVE漏洞库和Github Security漏洞库中的漏洞数据插入到同一个表中,以便进行聚合和分析。
3.对于不同的漏洞库中可能存在相同的漏洞,需要进行去重处理。可以根据漏洞的唯一标识符进行去重,如CVE漏洞库中的CVE编号和Github Security漏洞库中的GHSA编号,如根据漏洞描述进行相似度分析。
4.对于同一个漏洞可能存在不同的风险评级,需要进行统一处理。可以根据漏洞的严重程度、影响范围等因素,对漏洞进行风险评估,并将统一的风险评级信息加入到漏洞数据中。
最后输出排序后的结果。
部署方式
部署资产收集引擎:部署资产收集引擎,并设置需要收集的资产信息,例如IP地址、域名、操作系统类型、应用程序版本等。
部署资产关系映射引擎:部署资产关系映射引擎,并设置需要映射的资产之间的关系。
部署威胁情报聚合引擎:部署威胁情报聚合引擎,并配置需要聚合的威胁情报来源。
部署漏洞可达性分析引擎:部署漏洞可达性分析引擎,并设置需要分析的漏洞信息。
部署代码关系映射引擎:部署代码关系映射引擎,并配置需要对接的源代码托管平台。
部署多平台漏洞聚合引擎:部署多平台漏洞聚合引擎,并整合资产关系映射引擎和威胁情报聚合引擎。
部署漏洞优先级排序引擎:部署漏洞优先级排序引擎,并设置需要排序的漏洞信息。
漏洞可达性分析流程
本产品的漏洞可达性分析引擎是用于分析漏洞是否可被利用的关键引擎,其流程包括以下几个步骤:
1.漏洞信息收集:漏洞信息可以从多个来源收集,包括多平台漏洞聚合引擎、威胁情报聚合引擎、第三方漏洞信息网站等。收集到的漏洞信息应包含漏洞编号、漏洞类型、漏洞描述、漏洞评分等信息。
此处漏洞信息收集部分收集的漏洞数据为全量漏洞数据,资产信息收集引擎收集到的资产信息对应漏洞数据的子集,举例目前公司有2个Java Web框架的应用,漏洞信息收集引擎会覆盖到Java、Golang等常见编程语言及Web框架的漏洞信息,因为公司的业务是逐渐发展和变化的,漏洞信息收集应拥有更广的覆盖面。
收集各类资产信息,主要是为了进行资产关系映射和串联,举例来讲,在公司内部的源代码管理平台,我们收集到了代码提交者(也是漏洞潜在责任人)和commit记录(代码片段)之间的关系,在CICD平台我们可以收集到容器镜像以及jar包这些元数据信息,以及部署的目标服务节点,将这些资产信息进行规整后(统一字段)进行串联,即从人、代码片段到最后部署环境之间的关系映射。在漏洞信息收集部分,我们通过漏洞描述中涉及的资产及版本或漏洞函数映射到指定的资产上排期修复。
2.漏洞关联性分析:漏洞之间存在着复杂的关联关系,如同一漏洞在不同资产上的影响程度不同、不同漏洞之间可能存在依赖关系等。因此,在进行可达性分析之前,需要对漏洞之间的关联关系进行分析和建模。其中,资产关系映射引擎和代码关系映射引擎可以提供有力支持。
如第三方组件漏洞,同一个第三方组件版本通常存在多个安全漏洞,解决方案是相同的,即将该组件进行升级,此时可将这两个漏洞进行关联。在一些Java反序列化漏洞场景,漏洞出现在同一个漏洞函数上,开发者的修复方案为黑名单修复,即存在黑名单绕过的场景则分配一个新的CVE编号,此类漏洞也可进行关联。最终我们形成组件、组件版本、漏洞函数、修复方案这样的数据集。
3.漏洞可达性计算:漏洞可达性计算是漏洞可达性分析的核心,其目的是判断漏洞是否可被利用。在进行漏洞可达性计算之前,需要将收集到的漏洞信息与漏洞关联性分析的结果进行整合,并考虑多个因素,如漏洞类型、漏洞评分、漏洞所在资产的操作系统版本、网络拓扑结构等。通过对这些因素进行综合分析,可以得出漏洞可达性的计算结果。
此处我们通过漏洞的关联关系进行整合,如相同的修复方案,相同的漏洞利用场景。漏洞可达性主要取决于几个纬度,如第三方组件存在安全漏洞,漏洞函数是否被程序调用,程序上游是否存在攻击者可控的source点,应用部署在内网或者外网。一个完全可达的漏洞为程序调用了第三方组件的漏洞函数、应用部署在外网且前端无任何安全设备。一个潜在可达的漏洞为程序调用了第三方组件的漏洞函数、应用部署在内网,攻击者可以在潜入内网后通过横向移动的方式攻击该应用。
4.可达性结果反馈:通过漏洞可达性分析引擎得出的漏洞可达性计算结果可以反馈给漏洞负责人,以便漏洞负责人能够更好地了解漏洞的风险程度,并及时采取措施进行修复。在反馈可达性结果的同时,可以将优先级信息一并反馈,以便漏洞负责人能够按照优先级进行漏洞修复。
漏洞的风险程度通常分为严重、高危、中危、低害、信息5个纬度,由系统进行标记,漏洞负责人根据不同风险级别的SLA进行响应,如严重漏洞需要在12h内修复并发版,对于中危的漏洞,可以在有序的时间内进行修复,例如在下一个版本中修复或在下一个安全更新中进行修复;对于低危的漏洞,可以在较长的时间内进行修复,例如在未来的几个月内进行修复。
在应用内部的漏洞可达性分析部分,我们使用开源的静态代码分析工具生成抽象语法树,并对其进行分析,以提取与漏洞相关的信息,例如变量的声明和使用、函数的调用和传参。在函数调用图中展示每个函数调用其他哪些函数,并且这些函数调用之间的顺序和传参方式。采用静态代码分析工具生成函数调用图,并通过分析其中的漏洞相关信息,例如某个漏洞是由哪些函数调用引起的,或是哪些函数调用中存在未被检查的输入数据等。
以一个Java Web代码示例为例,说明如何使用开源的静态代码分析工具Soot生成抽象语法树并提取与RCE漏洞相关的信息。
以下为Java Web代码示例:
该代码中存在RCE漏洞,因为它使用Runtime.getRuntime().exec()函数来执行用户提供的输入,而未对输入进行有效过滤。
使用soot分析的关键代码逻辑:
这段代码片段指定了要分析的类名和方法名,然后设置Soot的参数,包括使用原始名称和加载必要的类。接着获取指定方法的抽象语法树,并通过遍历语句来查找Runtime.getRuntime().exec()函数的调用。如果找到了这个调用,就会输出相关信息,包括找到的语句和传递给函数的参数。
输出结果为:
Potential RCE found:
$7=java.lang.Runtime.getRuntime();
$8=virtualinvoke$7.<java.lang.Runtime:java.lang.Process exec(java.lang.String)>("echo"+$2);
$10=virtualinvoke$8.<java.lang.Process:java.io.InputStreamgetInputStream()>();
Arguments:["echo"+$2]
在进行漏洞优先级排序时,我们结合以上程序分析技术,综合考虑漏洞的严重程度、漏洞被触发的条件、漏洞的传播范围、漏洞的复杂度等因素,对漏洞进行评估,并给出一个优先级排序的结果。这样可以帮助安全团队更加有效地分配资源,快速响应漏洞,并最大程度地降低系统安全风险。
以S2-045和一个普通的XSS漏洞为例,更具体地探讨如何综合考虑漏洞的各个因素进行评估和优先级排序。
漏洞的严重程度
首先,需要对漏洞的严重程度进行评估,通常可以根据漏洞的危害程度、可利用性和影响范围等方面来考虑。
对于S2-045,它属于远程代码执行漏洞,可以导致攻击者完全控制目标服务器,进而对系统进行篡改、窃密等攻击,因此危害程度较高,需要高度重视。而对于普通的XSS漏洞,它一般只能导致页面显示恶意内容,尽管也可能会导致用户的隐私泄露,但相对而言危害程度较低。
因此,在漏洞的严重程度方面,S2-045应该比普通的XSS漏洞优先级更高。
漏洞被触发的条件
其次,需要考虑漏洞被触发的条件,即攻击者需要具备哪些前置条件才能利用漏洞进行攻击。
对于S2-045,攻击者需要通过HTTP请求发送特定的恶意参数,而目标服务器必须存在相关漏洞代码,因此攻击者需要较强的攻击技能才能利用该漏洞进行攻击。而对于普通的XSS漏洞,攻击者只需要在页面中插入一段恶意脚本代码即可。
因此,在漏洞被触发的条件方面,S2-045相对比普通的XSS漏洞要更难被攻击者利用,因此其优先级更低。
漏洞的传播范围
第三,需要考虑漏洞的传播范围,即漏洞可能对哪些系统和应用程序造成影响。
对于S2-045,它是Struts2框架中的漏洞,因此所有使用Struts2框架的应用程序都可能存在该漏洞,需要进行修复。而对于普通的XSS漏洞,它只会影响到存在漏洞的页面,对其他系统和应用程序不会造成影响。
因此,在漏洞的传播范围方面,S2-045相对比普通的XSS漏洞更具有广泛的影响,因此其优先级更高。
综合考虑上述因素,可以将S2-045的优先级设置为高,而将普通的XSS的优先级设置为中等。
除此之外,我们还对常见的Web框架进行了分析和整理,收集并标记了漏洞函数的sink点,以及常见Web框架中的漏洞source点。
主要收集和标记了以下内容:
1.漏洞source点:指导致漏洞的代码位置,例如用户输入没有经过正确的过滤或验证,从而导致应用程序存在安全漏洞。我们收集了Spring Web框架中的源代码,并标记了其中可能存在漏洞的代码位置,例如处理HTTP请求时的参数解析、过滤、校验等。如:
org.springframework.web.servlet.handler.AbstractHandlerMethodMapping中的detectHandlerMethods()函数,
org.springframework.web.servlet.handler.AbstractHandlerMapping中的getHandler()函数,org.springframework.web.servlet.DispatcherServlet中的doDispatch()函数,
org.springframework.web.filter.GenericFilterBean中的doFilter()函数,org.springframework.security.web.FilterChainProxy中的doFilter()函数等。
2.漏洞sink点:指被攻击者恶意输入的数据在程序中执行的位置,例如数据库查询、文件读写、系统命令执行等。我们收集了Java中常见的sink点,例如Runtime.exec()函数、ProcessBuilder.start()函数等,同时也对Spring Web框架中可能存在的sink点进行了标记,例如数据访问对象(DAO)的查询操作,以及响应用户请求的控制器中可能包含的处理请求的方法等。
这些收集和整理的结果可以用于辅助漏洞分析工作,提高漏洞评估的准确性。
总之,漏洞可达性分析引擎是一个非常重要的组件,通过它可以实现漏洞可达性计算,提高漏洞修复的效率和准确性,从而保障系统的安全性。
漏洞责任人关系映射流程
该流程是指将漏洞与相关责任人之间的关系进行映射和管理的过程,以便对漏洞进行跟踪和解决。本产品提供以下的漏洞责任人关系映射流程:
收集漏洞信息:漏洞信息可以通过多平台漏洞聚合引擎收集,包括漏洞编号、漏洞描述、漏洞风险等级等信息。
资产关系映射:将漏洞与资产之间的关系进行映射,可以使用资产关系映射引擎完成。通过资产关系映射,可以确定哪些资产受到漏洞的影响,以及漏洞对企业的安全带来了哪些风险。
代码关系映射:对于与漏洞相关的代码片段,可以使用代码关系映射引擎来确定它们的代码仓库、代码文件和代码贡献者等信息。通过代码关系映射,可以为漏洞修复提供代码修复方案,并确定代码责任人。
确定漏洞责任人:根据漏洞影响的资产和相关的代码片段,可以确定漏洞责任人。漏洞责任人是指对漏洞修复负有主要责任的人员,他们负责对漏洞进行跟踪、评估和解决。在本产品中,漏洞责任人可以通过与资产和代码关系映射引擎整合,自动确定。
责任人反馈:漏洞责任人需要在规定的SLA内解决相关漏洞,并提供反馈。反馈包括漏洞修复的状态、修复所需的时间以及漏洞修复的方法等信息。
通过上述漏洞责任人关系映射流程,本产品可以实现漏洞与相关责任人之间的关系映射和管理,方便漏洞的跟踪和解决,提高漏洞修复的效率和准确度。
以下是一个示例,说明如何使用本专利技术的漏洞优先级排序技术。
某公司拥有一个大型的云平台,其中包含着数千个虚拟机和容器。公司的网络安全团队在定期的漏洞扫描中发现了大量的漏洞,其中一些漏洞具有极高的危害性。
为了能够更好地管理这些漏洞,网络安全团队决定使用本技术中的漏洞优先级排序技术。他们首先使用资产收集引擎收集所有的资产信息,并将其存储在一个统一的数据库中。然后,他们使用资产关系映射引擎来识别资产之间的关系。
接下来,他们使用漏洞扫描工具来扫描这些资产,以便找出可能存在的漏洞。扫描结果会被发送到漏洞可达性分析引擎,该引擎会分析漏洞是否可被利用,为漏洞评估提供依据。
网络安全团队还使用威胁情报聚合引擎来聚合多源的威胁情报,为漏洞评估提供更全面的情报支持。漏洞可达性分析引擎与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,更精确地评估漏洞的风险程度。
接下来,网络安全团队使用漏洞优先级排序引擎对漏洞进行排序。该引擎会结合多个因素来确定漏洞的优先级,例如漏洞的危害程度、漏洞所在的资产的重要程度、漏洞是否已被利用等。最终,漏洞优先级排序引擎会聚合分析并输出排序后的结果,方便漏洞负责人在规定的SLA内解决相关漏洞,并提供反馈,不断提高漏洞优先级排序的准确度。
网络安全团队会定期对漏洞进行再评估,并将新的漏洞数据整合到现有的漏洞优先级排序系统中。使用本技术的漏洞优先级排序技术,网络安全团队能够更好地管理漏洞,提高网络安全防护的能力。
本发明的第二方面,还提供了一种漏洞优先级排序方法,该方法基于上述的漏洞优先级排序系统针对产品安全的漏洞进行优先级排序,该方法包括以下步骤:
通过部署资产收集引擎收集企业内部的资产信息;
通过部署资产关系映射引擎映射企业内部的资产与资产之间关系;
通过部署威胁情报聚合引擎聚合多源的威胁情报,辅助漏洞评估;
通过部署漏洞可达性分析引擎分析漏洞是否可被利用;
部署代码关系映射引擎,代码关系映射引擎通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
通过部署多平台漏洞聚合引擎收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
通过部署漏洞优先级排序引擎聚合分析并输出排序后的结果。
其中,部署的漏洞可达性分析引擎在进行分析漏洞是否可被利用的关键引擎时,包括以下步骤:
从多个来源进行全量漏洞数据信息收集,其中,收集到的全量漏洞数据信息包括漏洞编号、漏洞类型、漏洞描述、漏洞评分;
对漏洞之间的关联关系进行分析和建模,对漏洞关联性分析;
将收集到的漏洞信息与漏洞关联性分析的结果进行整合,综合分析后得出漏洞可达性计算结果;
将漏洞可达性计算结果反馈给漏洞负责人按照优先级进行漏洞修复。
本发明的漏洞优先级排序方法,将安全扫描产品的数据聚合和关系映射,通过数据分析得出漏洞的优先级排序。在安全开发生命周期的最左端进行漏洞的预防和修复,从而保证产品的安全性。另外,本发明还将多个维度如产品重要程度,漏洞CVSS分数,威胁情报,漏洞可达性等进行考量,从而更好地评估漏洞的影响程度。
本发明对于漏洞优先级的评估方法,以及漏洞数据的聚合分析和映射方法均具有可保护性。本发明不仅可以提高安全团队的效率,同时也有助于业务团队的工作效率。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
本发明实施例的第三个方面,还提供了一种计算机设备1000,包括存储器1001和处理器1002,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法。
如图2所示,为本发明提供的执行漏洞优先级排序方法的计算机设备的一个实施例的硬件结构示意图。以如图2所示的计算机设备1000为例,在该计算机设备中包括一个处理器1002以及一个存储器1001,并还可以包括:输入装置和输出装置。处理器1002、存储器1001、输入装置和输出装置可以通过总线或者其他方式连接,图2中以通过总线连接为例。输入装置可接收输入的数字或字符信息,以及产生与漏洞优先级排序有关的信号输入。输出装置可包括显示屏等显示设备。
存储器1001作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的漏洞优先级排序方法对应的程序指令/模块。存储器1001可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储漏洞优先级排序方法的使用所创建的数据等。此外,存储器1001可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1001可选包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器1002在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1002通常用于控制计算机设备1000的总体操作。本实施例中,处理器1002用于运行存储器1001中存储的程序代码或者处理数据。本实施例计算机设备的多个计算机设备1000的处理器1002通过运行存储在存储器1001中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的漏洞优先级排序方法,包括以下步骤:
通过部署资产收集引擎收集企业内部的资产信息;
通过部署资产关系映射引擎映射企业内部的资产与资产之间关系;
通过部署威胁情报聚合引擎聚合多源的威胁情报,辅助漏洞评估;
通过部署漏洞可达性分析引擎分析漏洞是否可被利用;
部署代码关系映射引擎,代码关系映射引擎通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
通过部署多平台漏洞聚合引擎收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
通过部署漏洞优先级排序引擎聚合分析并输出排序后的结果。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成。
本发明实施例的第四个方面,还提供了一种计算机可读存储介质,图3示出了根据本发明实施例提供的漏洞优先级排序方法的计算机可读存储介质的示意图。如图3所示,计算机可读存储介质2000存储有计算机程序指令2001,该计算机程序指令2001可以被处理器执行。该计算机程序指令2001被执行时实现上述任意一项实施例的方法,即实现上述方法实施例的漏洞优先级排序方法,包括以下步骤:
通过部署资产收集引擎收集企业内部的资产信息;
通过部署资产关系映射引擎映射企业内部的资产与资产之间关系;
通过部署威胁情报聚合引擎聚合多源的威胁情报,辅助漏洞评估;
通过部署漏洞可达性分析引擎分析漏洞是否可被利用;
部署代码关系映射引擎,代码关系映射引擎通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
通过部署多平台漏洞聚合引擎收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
通过部署漏洞优先级排序引擎聚合分析并输出排序后的结果。
应当理解,在相互不冲突的情况下,以上针对根据本发明的漏洞优先级排序方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的漏洞优先级排序系统和存储介质。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种漏洞优先级排序系统,其特征在于,包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎;
所述资产收集引擎,用于收集企业内部的资产信息;
所述资产关系映射引擎,用于映射企业内部的资产与资产之间关系;
所述威胁情报聚合引擎,用于聚合多源的威胁情报,辅助漏洞评估;
所述漏洞可达性分析引擎,用于分析漏洞是否可被利用;
所述代码关系映射引擎,通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
所述多平台漏洞聚合引擎,用于收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
所述漏洞优先级排序引擎,用于聚合分析并输出排序后的结果。
2.根据权利要求1所述的漏洞优先级排序系统,其特征在于,所述漏洞优先级排序系统,还包括资产收集引擎、资产关系映射引擎、威胁情报聚合引擎、漏洞可达性分析引擎、代码关系映射引擎、多平台漏洞聚合引擎以及漏洞优先级排序引擎的部署,在部署时包括:
部署资产收集引擎,并设置需要收集的资产信息;
部署资产关系映射引擎,并设置需要映射的资产之间的关系;
部署威胁情报聚合引擎,并配置需要聚合的威胁情报来源;
部署漏洞可达性分析引擎,并设置需要分析的漏洞信息;
部署代码关系映射引擎,并配置需要对接的源代码托管平台;
部署多平台漏洞聚合引擎,并整合资产关系映射引擎和威胁情报聚合引擎;
部署漏洞优先级排序引擎,并设置需要排序的漏洞信息。
3.根据权利要求2所述的漏洞优先级排序系统,其特征在于,所述漏洞可达性分析引擎用于分析漏洞是否可被利用的关键引擎,分析漏洞是否可被利用包括以下步骤:
从多个来源进行全量漏洞数据信息收集,其中,收集到的全量漏洞数据信息包括漏洞编号、漏洞类型、漏洞描述、漏洞评分;
对漏洞之间的关联关系进行分析和建模,对漏洞关联性分析;
将收集到的漏洞信息与漏洞关联性分析的结果进行整合,综合分析后得出漏洞可达性计算结果;
将漏洞可达性计算结果反馈给漏洞负责人按照优先级进行漏洞修复。
4.根据权利要求3所述的漏洞优先级排序系统,其特征在于,资产信息收集引擎收集到的资产信息对应漏洞数据的子集。
5.根据权利要求3所述的漏洞优先级排序系统,其特征在于,在进行漏洞优先级排序时,综合考虑漏洞的严重程度、漏洞被触发的条件、漏洞的传播范围、漏洞的复杂度等因素,对漏洞进行评估,并给出一个优先级排序的结果。
6.根据权利要求2所述的漏洞优先级排序系统,其特征在于,所述代码关系映射引擎进行漏洞、代码片段以及漏洞责任人之间的关系映射时,关系映射包括以下步骤:
通过多平台漏洞聚合引擎收集漏洞信息,其中,所述漏洞信息包括漏洞编号、漏洞描述、漏洞风险等级信息;
使用资产关系映射引擎将漏洞与资产之间的关系进行映射;
使用代码关系映射引擎来确定与漏洞相关的代码片段的代码仓库、代码文件和代码贡献者在内的信息,通过代码关系映射为漏洞修复提供代码修复方案,并确定代码责任人;
根据漏洞影响的资产和相关的代码片段,确定漏洞责任人,漏洞责任人通过在规定的SLA内解决相关漏洞,并提供反馈。
7.一种漏洞优先级排序方法,其特征在于,该方法基于权利要求1-6任一项所述的漏洞优先级排序系统针对产品安全的漏洞进行优先级排序,该方法包括以下步骤:
通过部署资产收集引擎收集企业内部的资产信息;
通过部署资产关系映射引擎映射企业内部的资产与资产之间关系;
通过部署威胁情报聚合引擎聚合多源的威胁情报,辅助漏洞评估;
通过部署漏洞可达性分析引擎分析漏洞是否可被利用;
部署代码关系映射引擎,代码关系映射引擎通过与企业内部源代码托管平台对接,获取代码片段和工程师之间的对应关系,进行漏洞、代码片段以及漏洞责任人之间的关系映射;
通过部署多平台漏洞聚合引擎收集多个平台上的漏洞信息,通过与资产关系映射引擎的整合,将漏洞数据聚合,与威胁情报聚合引擎协同工作,根据威胁情报的分析结果,评估漏洞的风险程度,以辅助漏洞优先级排序进行分析;
通过部署漏洞优先级排序引擎聚合分析并输出排序后的结果。
8.根据权利要求7所述的漏洞优先级排序方法,其特征在于,部署的漏洞可达性分析引擎在进行分析漏洞是否可被利用的关键引擎时,包括以下步骤:
从多个来源进行全量漏洞数据信息收集,其中,收集到的全量漏洞数据信息包括漏洞编号、漏洞类型、漏洞描述、漏洞评分;
对漏洞之间的关联关系进行分析和建模,对漏洞关联性分析;
将收集到的漏洞信息与漏洞关联性分析的结果进行整合,综合分析后得出漏洞可达性计算结果;
将漏洞可达性计算结果反馈给漏洞负责人按照优先级进行漏洞修复。
9.一种计算机设备,其特征在于,所述计算机设备包括多个计算机设备,各计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述多个计算机设备的处理器执行所述计算机程序时共同实现权利要求7至8中任一项所述漏洞优先级排序方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述存储介质存储的所述计算机程序被处理器执行时实现权利要求7至8中任一项所述漏洞优先级排序方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310517452.6A CN116680699A (zh) | 2023-05-09 | 2023-05-09 | 一种漏洞优先级排序系统、方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310517452.6A CN116680699A (zh) | 2023-05-09 | 2023-05-09 | 一种漏洞优先级排序系统、方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116680699A true CN116680699A (zh) | 2023-09-01 |
Family
ID=87789897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310517452.6A Pending CN116680699A (zh) | 2023-05-09 | 2023-05-09 | 一种漏洞优先级排序系统、方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680699A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117113363A (zh) * | 2023-10-24 | 2023-11-24 | 深圳海云安网络安全技术有限公司 | 一种基于场景化多因子的第三方组件漏洞排名方法 |
-
2023
- 2023-05-09 CN CN202310517452.6A patent/CN116680699A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117113363A (zh) * | 2023-10-24 | 2023-11-24 | 深圳海云安网络安全技术有限公司 | 一种基于场景化多因子的第三方组件漏洞排名方法 |
CN117113363B (zh) * | 2023-10-24 | 2024-02-06 | 深圳海云安网络安全技术有限公司 | 一种基于场景化多因子的第三方组件漏洞排名方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593492B2 (en) | Assessment and analysis of software security flaws | |
US11218510B2 (en) | Advanced cybersecurity threat mitigation using software supply chain analysis | |
JP6693721B2 (ja) | ポリシベースのネットワーク・セキュリティ | |
US8499353B2 (en) | Assessment and analysis of software security flaws | |
Bagheri et al. | Practical, formal synthesis and automatic enforcement of security policies for android | |
US10614226B2 (en) | Machine learning statistical methods estimating software system's security analysis assessment or audit effort, cost and processing decisions | |
US20120072968A1 (en) | Assessment and analysis of software security flaws in virtual machines | |
US20200117587A1 (en) | Log File Analysis | |
US10846410B2 (en) | Automated fuzzing based on analysis of application execution flow | |
US20210281598A1 (en) | Holistic computer system cybersecurity evaluation and scoring | |
Bagheri et al. | Automated dynamic enforcement of synthesized security policies in android | |
CN116680699A (zh) | 一种漏洞优先级排序系统、方法、计算机设备及存储介质 | |
CN113836237A (zh) | 对数据库的数据操作进行审计的方法及装置 | |
CN116226865A (zh) | 云原生应用的安全检测方法、装置、服务器、介质及产品 | |
Mann et al. | RADAR: Data protection in cloud-based computer systems at run time | |
CN113591096A (zh) | 综合检测大数据漏洞和不安全配置的脆弱性扫描系统 | |
US11057416B2 (en) | Analyze code that uses web framework using local parameter model | |
Armando et al. | Mobile App Security Analysis with the MAVeriC Static Analysis Module. | |
Abdelrazek et al. | Adaptive security for software systems | |
Rodriguez et al. | Ntapps: A network traffic analyzer of android applications | |
Augustsson | A framework for evaluating regression test selection techniques in industry | |
US20230132503A1 (en) | System, method, and process for detecting risks across application and infrastructure code | |
US20240330123A1 (en) | System and method for automated dynamic penetration testing on active backup system | |
US20240073238A1 (en) | Method and system for ensuring compliance of computing systems | |
Zhao | Toward the flow-centric detection of browser fingerprinting |
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 |