组件漏洞发现方法、装置、电子设备及计算机存储介质制造方法及图纸

技术编号:36985650 阅读:24 留言:0更新日期:2023-03-25 18:04
本申请提供了一种组件漏洞发现方法、装置、电子设备及计算机存储介质,其中,该方法包括:获取目标组件的档案文件;根据所述档案文件,确定出所述目标组件所包含的调用链,所述调用链用于表征所述目标组件所包含的各个方法之间的调用关系;根据所述调用链,模拟所述目标组件的调用逻辑;根据所述调用逻辑,确定出所述调用逻辑是否触发限制动作,其中,若所述调用逻辑触发限制动作,则确定所述目标组件的调用链存在漏洞。的调用链存在漏洞。的调用链存在漏洞。

【技术实现步骤摘要】
组件漏洞发现方法、装置、电子设备及计算机存储介质


[0001]本申请涉及计算机安全
,具体而言,涉及一种组件漏洞发现方法、装置、电子设备及计算机存储介质。

技术介绍

[0002]漏洞检测技术通常是基于现有漏洞规则获取java组件的各种版本的漏洞,并对比不同版本下的组件披露的漏洞。但是目前这种处理方式只能发现已经收集到的已知漏洞。

技术实现思路

[0003]有鉴于此,本申请实施例的目的在于提供一种组件漏洞发现方法、装置、电子设备及计算机存储介质,以改善现有技术中漏洞发现过程中存在的不足。
[0004]第一方面,本申请实施例提供了一种组件漏洞发现方法,包括:
[0005]获取目标组件的档案文件;
[0006]根据所述档案文件,确定出所述目标组件所包含的调用链,所述调用链用于表征所述目标组件所包含的各个方法之间的调用关系;
[0007]根据所述调用链,模拟所述目标组件的调用逻辑;
[0008]根据所述调用逻辑,确定出所述调用逻辑是否触发限制动作,其中,若所述调用逻辑触发限制动作,则确定所述目标组件的调用链存在漏洞。
[0009]在上述的方法中,可以通过组件的执行调用逻辑,确定该目标组件在实现该调用逻辑时是否会触发限制动作,则可以确定目标组件的调用逻辑存在漏洞,从而可以实现漏洞的发现不局限于已知漏洞,可以实现更全面地发现目标组件可能存在的漏洞,也就能够提高组件的安全性。
[0010]在一可选的实施方式中,所述根据所述调用逻辑,确定出所述调用逻辑是否触发限制动作,包括:
[0011]根据所述调用逻辑,确定出所述调用逻辑触发的一项或多项触发动作;
[0012]判断一项或多项所述触发动作中是否包含限制动作。
[0013]在上述实施方式中,可以先确定出该调用逻辑会触发的动作,从而可以更全面地判断该触发逻辑所触发的动作是否存在限制动作,也可以是目标组件的漏洞检测更全面,也就能够使用目标组件的安全性更高。
[0014]在一可选的实施方式中,所述限制动作包括:不同于所述目标组件所限定的功能的动作;
[0015]所述判断一项或多项所述触发动作中是否包含限制动作,包括:
[0016]判断一项或多项所述触发动作中是否包含不同于所述目标组件所限定的功能的动作。
[0017]在上述实施方式中,在确定目标组件所包含的功能理论上的动作后,如果目标组件的调用逻辑可能会触发的动作与目标组件所包含的功能理论上的动作不同时,则表示给
目标组件的调用逻辑触发了功能之外的动作,从而可以确定该目标组件存在漏洞。
[0018]在一可选的实施方式中,所述限制动作包括被调用方篡改本地数据;
[0019]所述判断一项或多项所述触发动作中是否包含限制动作,包括:
[0020]判断所述触发动作是否为调用被调用方篡改本地数据。
[0021]在上述实施方式中,如果目标组件的调用逻辑所触发的动作对本地数据造成了威胁,则可以确定出目标组件存在漏洞,从而也能够保护本地数据的安全。
[0022]在一可选的实施方式中,所述根据所述调用链,模拟所述目标组件的调用逻辑,包括:
[0023]根据所述调用链,模拟虚拟机执行所述目标组件时的调用逻辑。
[0024]在上述实施方式中,可以基于调用链,模拟虚拟机的动作,而不需要实际的执行一遍目标组件的调用链,可以在不对本地设备或本地数据造成安全威胁的情况下,实现目标组件的漏洞的发现。
[0025]在一可选的实施方式中,所述根据所述档案文件,确定出所述目标组件所包含的调用链,包括:
[0026]对所述档案文件进行解压,获取所述档案文件内的class文件;
[0027]对所述class文件进行分析,获取所述目标组件所包含的类结构;
[0028]基于所述类结构,确定出所述目标组件的调用链。
[0029]在一可选的实施方式中,所述对所述class文件进行分析,获取所述目标组件所包含的类结构,包括:
[0030]使用字节码分析方法,对所述class文件进行分析,获取所述目标组件所包含的类结构。
[0031]在上述实施方式中,可以通过对目标组件的档案文件进行分析,确定出该目标组件可能包含的调用链,从而也可以实现目标组件的可能执行的动作的模拟,以此确定出目标组件可能存在的漏洞,降低计算机执行目标组件的风险。
[0032]第二方面,本申请实施例提供了一种组件漏洞发现装置,包括:
[0033]获取模块,用于获取目标组件的档案文件;
[0034]第一确定模块,用于根据所述档案文件,确定出所述目标组件所包含的调用链,所述调用链用于表征所述目标组件所包含的各个方法之间的调用关系;
[0035]模拟模块,用于根据所述调用链,模拟所述目标组件的调用逻辑;
[0036]第二确定模块,用于根据所述调用逻辑,确定出所述调用逻辑是否触发限制动作,其中,若所述调用逻辑触发限制动作,则确定所述目标组件的调用链存在漏洞。
[0037]第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述的方法的步骤。
[0038]第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的方法的步骤。
[0039]为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
[0040]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0041]图1为本申请实施例提供的电子设备的方框示意图;
[0042]图2为本申请实施例提供的组件漏洞发现方法的流程图;
[0043]图3为本申请实施例提供的组件漏洞发现装置的功能模块示意图。
具体实施方式
[0044]下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
[0045]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0046]本申请专利技术人对现有的Java组件的漏洞检测相关技术研究了解到,目前大部分的Java应用攻击是通过利用开源的Java组件漏洞进行的,而目前并没有有效的实现Java组件的漏洞检测手段,这就导致目前的Java组件可能的使用存在一些风险。比较常见的Java组件的漏洞检测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种组件漏洞发现方法,其特征在于,包括:获取目标组件的档案文件;根据所述档案文件,确定出所述目标组件所包含的调用链,所述调用链用于表征所述目标组件所包含的各个方法之间的调用关系;根据所述调用链,模拟所述目标组件的调用逻辑;根据所述调用逻辑,确定出所述调用逻辑是否触发限制动作,其中,若所述调用逻辑触发限制动作,则确定所述目标组件的调用链存在漏洞。2.根据权利要求1所述的方法,其特征在于,所述根据所述调用逻辑,确定出所述调用逻辑是否触发限制动作,包括:根据所述调用逻辑,确定出所述调用逻辑触发的一项或多项触发动作;判断一项或多项所述触发动作中是否包含限制动作。3.根据权利要求2所述的方法,其特征在于,所述限制动作包括:不同于所述目标组件所限定的功能的动作;所述判断一项或多项所述触发动作中是否包含限制动作,包括:判断一项或多项所述触发动作中是否包含不同于所述目标组件所限定的功能的动作。4.根据权利要求2所述的方法,其特征在于,所述限制动作包括被调用方篡改本地数据;所述判断一项或多项所述触发动作中是否包含限制动作,包括:判断所述触发动作是否为调用被调用方篡改本地数据。5.根据权利要求1所述的方法,其特征在于,所述根据所述调用链,模拟所述目标组件的调用逻辑,包括:根据所述调用链,模拟虚拟机执行所述目标组件时的调用逻辑。6.根据权利要求1

5任意一项所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:黄歆龙良
申请(专利权)人:奇安信安全技术珠海有限公司
类型:发明
国别省市:

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

1