【技术实现步骤摘要】
【国外来华专利技术】JAVA开源组件的漏洞检测方法、装置及存储介质
本专利技术涉及软件检测
,尤其是指一种JAVA开源组件的漏洞检测方法、装置、电子设备及存储介质。
技术介绍
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,而Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。近些年来,Java语言凭借其功能强大、简单易用、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,被广泛应用于编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,同时JAVA开源组件(以下简称JAVA开源组件)也得到了极其广泛的应用。目前,软件开发人员广泛使用开源组件,事实上,据估计,每个应用程序的80-90%都是由开源组件组成的。Synopsys的研究显示,在软件应用程序中被使用的第三方组件,有一半已经过时,很可能存在安全隐患。另一份来自BlackDuck的报告称,使用开源组件的所有应用程序中, ...
【技术保护点】
1.一种JAVA开源组件的漏洞检测方法,其特征在于,包括如下步骤:/n生成包括所有JAVA开源组件的漏洞数据的漏洞数据库;/n获取待检测JAVA开源组件的相关信息;/n对所述待检测JAVA开源组件的相关信息与漏洞数据库中的每一条漏洞数据进行匹配;/n若匹配成功,则获取所述待检测JAVA开源组件的漏洞数据。/n
【技术特征摘要】
【国外来华专利技术】1.一种JAVA开源组件的漏洞检测方法,其特征在于,包括如下步骤:
生成包括所有JAVA开源组件的漏洞数据的漏洞数据库;
获取待检测JAVA开源组件的相关信息;
对所述待检测JAVA开源组件的相关信息与漏洞数据库中的每一条漏洞数据进行匹配;
若匹配成功,则获取所述待检测JAVA开源组件的漏洞数据。
2.如权利要求1所述的JAVA开源组件的漏洞检测方法,其特征在于,所述生成包括所有JAVA开源组件的漏洞数据的漏洞数据库包括:
获取所有涉及CVE信息的网站中与所述CVE信息相对应的CPE信息;
根据所述CPE信息及CVE信息生成CPE数据库并实时更新;
获取所有JAVA开源组件的相关信息;
对所述所有JAVA开源组件的相关信息分别与CPE数据库中的每一条CPE信息进行匹配;
根据所述CPE数据库中匹配成功的CPE信息及与CPE信息相对应的CVE信息生成漏洞数据库。
3.如权利要求2所述的JAVA开源组件的漏洞检测方法,其特征在于,所述待检测JAVA开源组件的相关信息至少包括待检测JAVA开源组件的哈希码,所述漏洞数据库中的任一条漏洞数据至少包括该条漏洞数据所对应的JAVA开源组件的哈希码、CVE信息,且所述对所述待检测JAVA开源组件的相关信息与漏洞数据库中的每一条漏洞数据进行匹配包括:
判断所述漏洞数据库中是否存在待检测JAVA开源组件的哈希码,若存在,则直接获取所述漏洞数据库中与待检测JAVA开源组件的哈希码相对应的CVE信息;
若不存在,则对所述待检测JAVA开源组件的相关信息与CPE数据库中的每一条CPE信息进行匹配;
将所述CPE数据库中匹配成功的CPE信息及与CPE信息相对应的CVE信息存储至漏洞数据库。
4.如权利要求2所述的JAVA开源组件的漏洞检测方法,其特征在于,所述所有JAVA开源组件的相关信息至少包括分别与每一JAVA开源组件相关的厂商、产品名称及版本号,且所述获取所有JAVA开源组件的相关信息包括:
分别对所述所有JAVA开源组件的配置文件进行分析,得到分别与每一所述JAVA开源组件相关的厂商、产品名称及版本号,所述配置文件包括manifest.mf文件、pom.xml文件、build.gradle文件及build.xml文件;
分别对所述所有JAVA开源组件的项目结构进行分析,得到分别与每一所述JAVA开源组件相关的厂商、产品名称及版本号,所述项目结构包括组成每一所述JAVA开源组件的组件包的名称及组成每一JAVA开源组件的项目的多层结构。
5.如权利要求4所述的JAVA开源组件的漏洞检测方法...
【专利技术属性】
技术研发人员:汪杰,万振华,王颉,董燕,李华,吴钟良,洪二稳,
申请(专利权)人:深圳开源互联网安全技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。