一种漏洞检测方法及装置制造方法及图纸

技术编号:22102137 阅读:81 留言:0更新日期:2019-09-14 03:25
本发明专利技术实施例涉及金融科技,并公开了一种漏洞检测方法及装置,其中方法包括:接收到用户触发的漏洞检测指令后,获取预设漏洞库中存储的至少一个漏洞控件的标识,若确定预设数据库中存在使用第一漏洞控件的第一目标项目,则将第一目标项目显示给用户。本发明专利技术实施例中,通过对项目进行代码检测获取项目使用的控件,可以保证获取到的控件为项目执行过程中所使用的最新控件,如此,基于项目所使用的最新控件进行漏洞检测可以提高检测得到的项目漏洞的准确性;且,通过预设数据库即可获取到项目使用的控件,可以无需对项目重新进行代码检测,从而可以提高项目漏洞的检测效率,进而提高修复项目漏洞的效率。

A Vulnerability Detection Method and Device

【技术实现步骤摘要】
一种漏洞检测方法及装置
本专利技术涉及金融科技(Fintech)
,尤其涉及一种漏洞检测方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。金融行业(比如银行、保险、证券机构)一般都会涉及到交易处理作业,由于金融行业的性质,需要尽可能地保证交易处理过程的准确性、安全性和不可丢失性,这就要求在交易处理的过程中实时监控网络信息的安全状况。若确定当前系统中某一项目使用的控件出现漏洞,则可以及时修复漏洞,保证交易处理过程的正常运行。基于数据库的漏洞扫描方式为对系统中的漏洞进行检测的一种常用方式,以银行为例,银行中通常可以设置有配置管理数据库(ConfigurationManagementDatabase,CMDB),CMDB中可以存储与银行的管理信息技术产业(InformationTechnology,IT)架构相关的各种配置信息,比如项目的组件信息、服务信息、框架信息等。一般来说,项目人员可以在创建新的项目时将与项目相关的配置信息添加到CMDB中。基于此,采用该种方式进行漏洞检测时,若确定某一控件为漏洞控件,则可以通过CMDB查找系统在注册时的多个项目以及多个项目的相关配置信息,从而确定该哪些项目使用了该漏洞控件。然而,采用上述方式,由于CMDB中的配置信息是在创建项目时添加的,因此,CMDB中的配置信息可能并不准确;比如以组件为例,若在项目上线之后对项目的组件进行了更新或升级,则项目实际所使用的组件与CMDB中项目的组件并不一致。由此可知,采用上述方式进行漏洞检测,无法准确定位使用漏洞控件的项目,从而使得漏洞检测的准确性较低。综上,目前亟需一种漏洞检测方法,用以准确定位使用漏洞控件的项目,进而提高漏洞检测的准确性。
技术实现思路
本专利技术实施例提供一种漏洞检测方法及装置,用以准确定位使用漏洞控件的项目,进而提高漏洞检测的准确性。第一方面,本专利技术实施例提供的一种漏洞检测方法,所述方法包括:接收到用户触发的漏洞检测指令后,获取预设漏洞库中存储的至少一个漏洞控件的标识;进一步地,针对于所述至少一个漏洞控件中的第一漏洞控件,若确定预设数据库中存在使用所述第一漏洞控件的第一目标项目,则将所述第一目标项目显示给所述用户;所述预设数据库为对至少一个项目执行代码检测到的,所述预设数据库中存储有所述至少一个项目的标识和所述至少一个项目使用的控件。在上述设计中,由于项目的代码是执行项目的基本单元,因此,通过对项目进行代码检测获取项目使用的控件,可以保证获取到的控件为项目执行过程中所使用的最新控件,如此,基于项目所使用的最新控件进行漏洞检测可以提高检测得到的项目漏洞的准确性;且,通过将项目对应的代码检测的结果存储在预设数据库中,可以通过预设数据库即可获取到项目使用的控件,而无需对项目重新进行代码检测,从而可以提高项目漏洞的检测效率,进而提高修复项目漏洞的效率。在一种可能的设计中,所述至少一个项目使用的控件包括所述至少一个项目使用的框架、第三方组件和服务中的任意一项或任意多项;所述至少一个项目使用的第三方组件为所述至少一个项目使用的依赖库和/或插件。在上述设计中,通过对项目的代码进行检测,可以精确地识别出项目所使用的框架、依赖库、插件、服务中的一项或多项信息,比如框架、依赖库、插件、服务的名称和/或版本;也就是说,采用上述设计可以在快速而精确地定位漏洞控件所属的项目,从而降低系统暴露弱点或遭受攻击的可能性,提高系统的安全性。在一种可能的设计中,所述预设数据库为对至少一个项目执行代码检测到的,包括:根据所述至少一个项目的标识,获取所述至少一个项目分别对应的代码文件;进一步地,针对于所述至少一个项目中的第一项目,根据所述第一项目对应的代码文件的后缀名确定所述第一项目使用的编程语言,并根据所述第一项目对应的代码文件的目录结构和/或所述第一项目使用的编程语言确定所述第一项目的项目类型;根据所述第一项目的项目类型,从所述第一项目对应的代码文件中获取待检测文件,并对所述待检测文件进行检测,确定所述第一项目使用的控件;使用所述至少一个项目的标识和所述至少一个项目使用的控件生成所述预设数据库。在上述设计中,通过使用项目对应的代码文件的目录结构和/或编程语言将项目划分为多种类型,可以使用项目类型对应的扫描方法获取待检测文件,从而提高检测项目漏洞的效率和准确度;且,通过确定多种项目类型和每种项目类型对应的扫描方法,可以使得对项目漏洞进行检测的过程更加符合实际情况,使得项目漏洞检测的场景更为广泛。在一种可能的设计中,所述根据所述第一项目的项目类型,从所述第一项目对应的代码文件中获取待检测文件,包括:若确定所述第一项目是使用第一预设工具构建得到的,则从所述第一项目对应的代码文件的pom.xml数据包中获取properties标签、dependencies标签和/或plugins标签分别对应的内容;或者,若确定所述第一项目不是使用所述第一预设工具构建得到的,则获取所述第一项目使用的编程语言;若所述第一项目使用的编程语言为java语言,则获取所述代码文件的jar数据包文件,或者,若所述第一项目使用的编程语言为Javescript类型,则获取所述代码文件的package.json数据包文件和/或package-lock.json数据包文件,或者,若所述第一项目使用的编程语言为python类型,则获取所述代码文件的头文件。在上述设计中,通过对每种项目类型设置对应的扫描方法,可以基于对应的扫描方法快速地获取项目类型对应的待检测文件,从而可以提高检测项目漏洞的效率。在一种可能的设计中,所述方法还包括:若所述预设数据库中不存在使用所述第一漏洞控件的目标项目,则确定当前处于运行状态的一个或多个项目,并根据所述一个或多个项目的标识,获取所述一个或多个项目的项目地址;进一步地,根据所述一个或多个项目的项目地址,调用应用程序编程API接口获取所述一个或多个项目分别对应的一个或多个待检测文件,并对所述一个或多个待检测文件进行代码检测,确定所述一个或多个项目使用的控件,若所述一个或多个项目中存在使用所述第一漏洞控件的第二目标项目,则将所述第二目标项目显示给用户。在上述技术中,在预设数据库中不存在使用第一漏洞控件的项目时,通过对当前运行的项目进行代码分析,可以准确定位使用第一漏洞控件的项目,从而可以提高检测漏洞的准确性。第二方面,本专利技术实施例提供的一种漏洞检测装置,所述装置包括:收发模块,用于接收到用户触发的漏洞检测指令后,获取预设漏洞库中存储的至少一个漏洞控件的标识;处理模块,用于针对于所述至少一个漏洞控件中的第一漏洞控件,若确定预设数据库中存在使用所述第一漏洞控件的第一目标项目,则将所述第一目标项目显示给所述用户;所述预设数据库为对至少一个项目执行代码检测到的,所述预设数据库中存储有所述至少一个项目的标识和所述至少一个项目使用的控件。在一种可能的设计中,所述至少一个项目使用的控件包括所述至少一个项目使用的框架、第三方组件和服务中的任意一项或任意多项;所述至少一个项目使用的第三方组件为所述至少一个项目使用的依赖库和/或插件。在一种可本文档来自技高网
...

【技术保护点】
1.一种漏洞检测方法,其特征在于,所述方法包括:接收到用户触发的漏洞检测指令后,获取预设漏洞库中存储的至少一个漏洞控件的标识;针对于所述至少一个漏洞控件中的第一漏洞控件,若确定预设数据库中存在使用所述第一漏洞控件的第一目标项目,则将所述第一目标项目显示给所述用户;所述预设数据库为对至少一个项目执行代码检测到的,所述预设数据库中存储有所述至少一个项目的标识和所述至少一个项目使用的控件。

【技术特征摘要】
1.一种漏洞检测方法,其特征在于,所述方法包括:接收到用户触发的漏洞检测指令后,获取预设漏洞库中存储的至少一个漏洞控件的标识;针对于所述至少一个漏洞控件中的第一漏洞控件,若确定预设数据库中存在使用所述第一漏洞控件的第一目标项目,则将所述第一目标项目显示给所述用户;所述预设数据库为对至少一个项目执行代码检测到的,所述预设数据库中存储有所述至少一个项目的标识和所述至少一个项目使用的控件。2.根据权利要求1所述的方法,其特征在于,所述至少一个项目使用的控件包括所述至少一个项目使用的框架、第三方组件和服务中的任意一项或任意多项;所述至少一个项目使用的第三方组件为所述至少一个项目使用的依赖库和/或插件。3.根据权利要求1所述的方法,其特征在于,所述预设数据库为对至少一个项目执行代码检测到的,包括:根据所述至少一个项目的标识,获取所述至少一个项目分别对应的代码文件;针对于所述至少一个项目中的第一项目,根据所述第一项目对应的代码文件的后缀名确定所述第一项目使用的编程语言,并根据所述第一项目对应的代码文件的目录结构和/或所述第一项目使用的编程语言确定所述第一项目的项目类型;根据所述第一项目的项目类型,从所述第一项目对应的代码文件中获取待检测文件,并对所述待检测文件进行检测,确定所述第一项目使用的控件;使用所述至少一个项目的标识和所述至少一个项目使用的控件生成所述预设数据库。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一项目的项目类型,从所述第一项目对应的代码文件中获取待检测文件,包括:若确定所述第一项目是使用第一预设工具构建得到的,则从所述第一项目对应的代码文件的pom.xml数据包中获取properties标签、dependencies标签和/或plugins标签分别对应的内容;或者,若确定所述第一项目不是使用所述第一预设工具构建得到的,则获取所述第一项目使用的编程语言;若所述第一项目使用的编程语言为java语言,则获取所述代码文件的jar数据包文件,或者,若所述第一项目使用的编程语言为Javescript类型,则获取所述代码文件的package.json数据包文件和/或package-lock.json数据包文件,或者,若所述第一项目使用的编程语言为python类型,则获取所述代码文件的头文件。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:若所述预设数据库中不存在使用所述第一漏洞控件的目标项目,则确定当前处于运行状态的一个或多个项目,并根据所述一个或多个项目的标识,获取所述一个或多个项目的项目地址;根据所述一个或多个项目的项目地址,调用应用程序编程API接口获取所述一个或多个项目分别对应的一个或多个待检测文件,并对所述一个或多个待检测文件进行代码检测,确定所述一个或多个项目使用的控件;若所述一个或多个项目中存在使用所述第一漏洞控件的第二目标项目,则将所述第二目标项目显示给用户。6.一种漏洞检测装置,其特征在于,所述装置包括:收发模块,用于接收到用户触发的漏洞检测指令后...

【专利技术属性】
技术研发人员:余炯斌
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1