应用程序的漏洞可达性分析方法、装置、设备及介质制造方法及图纸

技术编号:36454471 阅读:11 留言:0更新日期:2023-01-25 22:52
本发明专利技术涉及漏洞检测领域,揭露一种应用程序的漏洞可达性分析方法、装置、设备以及介质,所述方法包括:获取应用程序及预构建的漏洞组件库,漏洞组件库通过漏洞信息、组件信息以及源码信息进行构建;在应用程序中存在包管理器时解析应用程序中的组件坐标,基于组件坐标从漏洞组件库中查询应用程序的组件源码和组件漏洞,以对应用程序进行组件漏洞可达分析,得到第一漏洞可达分析结果;在应用程序中未存在包管理器时,解析应用程序中的组件特征,基于组件特征从漏洞组件库中查询应用程序的组件漏洞特征,以对应用程序进行组件漏洞可达分析,得到第二漏洞可达分析结果。本发明专利技术可以提高应用程序的漏洞可达性分析准确率。高应用程序的漏洞可达性分析准确率。高应用程序的漏洞可达性分析准确率。

【技术实现步骤摘要】
应用程序的漏洞可达性分析方法、装置、设备及介质


[0001]本专利技术涉及漏洞检测领域,尤其涉及一种应用程序的漏洞可达性分析方法、装置、设备以及介质。

技术介绍

[0002]应用程序的漏洞可达性分析是指为了解决应用程序中所引用的开源组件中漏洞未被使用但被误检测到的问题,找出应用程序中是否存在真正被利用的漏洞,减少漏洞的误报率,而进行的检测应用程序中开源组件的漏洞是否被真正利用的过程。
[0003]目前市场上有很多软件成分分析工具,能够分析应用程序中第三方的开源组件信息,然后根据对应版本的开源组件的漏洞信息,来识别应用程序中漏洞风险,但基于这种方法的风险识别是不准确的,因为可能该应用程序可能只是引用了这个组件,而没有使用这个组件的任何模块或者方法,又或者使用的模块或者方法没有漏洞利用,在类似这种情况下,该组件是没有漏洞风险的,由于只是做了一层简单的分析和关联,没有深度分析应用程序中是否使用了含有漏洞的模块或者方法,这样会导致一部分的误报情况。因此,应用程序的漏洞可达性分析准确率不足。

技术实现思路

[0004]本专利技术提供了一种应用程序的漏洞可达性分析方法、装置、设备以及介质,至少能够解决相关技术中所提供的应用程序漏洞可达性分析手段的准确率不足的问题。
[0005]第一方面,本专利技术提供了一种应用程序的漏洞可达性分析方法,包括:获取应用程序及预构建的漏洞组件库,所述漏洞组件库通过漏洞信息、组件信息以及源码信息进行构建;在所述应用程序中存在包管理器时,解析所述应用程序中的组件坐标,基于所述组件坐标,从所述漏洞组件库中查询所述应用程序的组件源码和组件漏洞,以执行对所述应用程序进行组件漏洞可达分析,得到第一漏洞可达分析结果;在所述应用程序中未存在包管理器时,解析所述应用程序中的组件特征,基于所述组件特征,从所述漏洞组件库中查询所述应用程序的组件漏洞特征,以执行对所述应用程序进行组件漏洞可达分析,得到第二漏洞可达分析结果。
[0006]第二方面,本专利技术提供了一种应用程序的漏洞可达性分析装置,所述装置包括:组件库构建模块、第一结果确定模块及第二结果确定模块;
[0007]组件库构建模块,用于获取应用程序及预构建的漏洞组件库,所述漏洞组件库通过漏洞信息、组件信息以及源码信息进行构建;第一结果确定模块,用于在所述应用程序中存在包管理器时,解析所述应用程序中的组件坐标,基于所述组件坐标,从所述漏洞组件库中查询所述应用程序的组件源码和组件漏洞,以执行对所述应用程序进行组件漏洞可达分析,得到第一漏洞可达分析结果;第二结果确定模块,用于在所述应用程序中未存在包管理器时,解析所述应用程序中的组件特征,基于所述组件特征,从所述漏洞组件库中查询所述应用程序的组件漏洞特征,以执行对所述应用程序进行组件漏洞可达分析,得到第二漏洞
可达分析结果。
[0008]第三方面,本专利技术提供了一种电子设备,包括:
[0009]至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
[0010]其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,以使所述至少一个处理器能够执行如上述第一方面中任意一项所述的应用程序的漏洞可达性分析方法。
[0011]第四方面,本专利技术提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任意一项所述的应用程序的漏洞可达性分析方法。
[0012]与现有技术相比,本方案的技术原理及有益效果在于:
[0013]本专利技术实施例通过获取应用程序及预构建的漏洞组件库,以用于分析所述应用程序中是否引用了开源组件所携带的漏洞,进一步地,本专利技术实施例在所述应用程序中存在包管理器时,通过解析所述应用程序中的组件坐标,以用于确定利用所述组件坐标确定所述应用程序中存在的组件,保障后续分析应用程序中的组件的漏洞是否被引用,进一步地,本专利技术实施例通过基于所述组件坐标,从所述漏洞组件库中查询所述应用程序的组件源码和组件漏洞,以用于执行对所述应用程序的组件漏洞可达分析,保障对漏洞检测的准确率,进一步地,本专利技术实施例通过对所述应用程序进行组件漏洞可达分析,得到第一漏洞可达分析结果,以用于检测被应用程序所引用的开源组件中的漏洞是否也同样被所述应用程序所引用,提升对漏洞可达性分析的准确率;
[0014]进一步地,本专利技术实施例在所述应用程序中未存在包管理器时,通过解析所述应用程序中的组件特征,以用于利用所述组件特征标记所述应用程序中的组件信息,提升了对应用程序中的组件信息进行全文检索的效率,进一步地,本专利技术实施例通过基于所述组件特征,从所述漏洞组件库中查询所述应用程序的组件漏洞特征,以用于利用所查询到的组件漏洞特征时确定所述应用程序中的漏洞可达性,进一步地,本专利技术实施例通过对所述应用程序进行组件漏洞可达分析,以用于检测被应用程序所引用的开源组件中的漏洞是否也同样被所述应用程序所引用,提升对漏洞可达性分析的准确率。因此,本专利技术实施例提出的一种应用程序的漏洞可达性分析方法、装置、设备以及介质,可以提高应用程序的漏洞可达性分析准确性。
附图说明
[0015]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本专利技术一实施例提供的一种应用程序的漏洞可达性分析方法的流程示意图;
[0018]图2为本专利技术一实施例中提供的所述漏洞信息的采集过程的流程示意图;
[0019]图3至图4为本专利技术一实施例中提供的所述漏洞调用方法的查询过程的流程示意
图;
[0020]图5为本专利技术一实施例提供的一种应用程序的漏洞可达性分析装置的模块示意图;
[0021]图6为本专利技术一实施例提供的实现应用程序的漏洞可达性分析方法的电子设备的内部结构示意图。
具体实施方式
[0022]应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。
[0023]本专利技术实施例提供一种应用程序的漏洞可达性分析方法,应用程序的漏洞可达性分析方法的执行主体包括但不限于服务端、终端等能够被配置为执行本专利技术实施例提供的该方法的电子设备中的至少一种。换言之,应用程序的漏洞可达性分析方法可以由安装在终端设备或服务端设备的软件或硬件来执行,软件可以是区块链平台。服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0024]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的漏洞可达性分析方法,其特征在于,所述方法包括:获取应用程序及预构建的漏洞组件库,所述漏洞组件库通过漏洞信息、组件信息以及源码信息进行构建;在所述应用程序中存在包管理器时,解析所述应用程序中的组件坐标,基于所述组件坐标,从所述漏洞组件库中查询所述应用程序的组件源码和组件漏洞,以执行对所述应用程序进行组件漏洞可达分析,得到第一漏洞可达分析结果;在所述应用程序中未存在包管理器时,解析所述应用程序中的组件特征,基于所述组件特征,从所述漏洞组件库中查询所述应用程序的组件漏洞特征,以执行对所述应用程序进行组件漏洞可达分析,得到第二漏洞可达分析结果。2.根据权利要求1所述的方法,其特征在于,所述漏洞组件库通过漏洞信息、组件信息以及源码信息进行构建,包括:在所述组件信息与所述源码信息中查询所述漏洞信息对应的漏洞调用方法;利用所述组件信息中的方法调用关系标识所述组件信息的组件版本;根据所述漏洞信息、所述组件信息以及所述源码信息之间的关联关系、所述漏洞调用方法以及所述组件版本,确定所述漏洞组件库。3.根据权利要求2所述的方法,其特征在于,所述利用所述组件信息中的方法调用关系标识所述组件信息的组件版本,包括:在所述组件信息中的方法调用关系中查询所述组件信息中每个组件信息对应的方法调用关系,得到目标调用关系;识别所述目标调用关系中每个目标调用关系之间的调用关系差异;利用所述调用关系差异标识所述组件信息的组件版本。4.根据权利要求2所述的方法,其特征在于,所述根据所述漏洞信息、所述组件信息以及所述源码信息之间的关联关系、所述漏洞调用方法以及所述组件版本,确定所述漏洞组件库,包括:在所述漏洞信息、所述组件信息以及所述源码信息之间的关联关系中,查询所述漏洞信息与所述组件信息之间的第一关联关系、所述漏洞信息与所述源码信息之间的第二关联关系以及所述组件信息与所述源码信息之间的第三关联关系;根据所述第一关联关系、第二关联关系以及所述第三关联关系,将所述漏洞调用方法与所述组件版本进行第一漏洞映射、所述漏洞调用方法与所述源码信息进行第二漏洞映射、所述组件版本与所述源码信息进行第三组件映射,得到第一映射结果、第二映射结果与第三映射结果;利用所述第一映射结果、所述第二映射结果与所述第三映射结果确定所述漏洞组件库。5.根据权利要求1所述的方法,其特征在于,所述解析所述应用程序中的组件坐标,包括:利用所述应用程序的程序语言类型识别所述应用程序对应的待解析文件;在所述待解析文件中进行属性解析,得到属性解析结果;根据所述属性解析结果,确定所述应用程序中的组件坐标。6.根据权利要求1所述的方法,其特征在于,所述对所述应用程序进...

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

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

1