CN109918285B - 一种开源软件的安全识别方法及装置 - Google Patents

一种开源软件的安全识别方法及装置 Download PDF

Info

Publication number
CN109918285B
CN109918285B CN201811627933.8A CN201811627933A CN109918285B CN 109918285 B CN109918285 B CN 109918285B CN 201811627933 A CN201811627933 A CN 201811627933A CN 109918285 B CN109918285 B CN 109918285B
Authority
CN
China
Prior art keywords
source software
open source
software component
preset
identification
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.)
Active
Application number
CN201811627933.8A
Other languages
English (en)
Other versions
CN109918285A (zh
Inventor
章磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihu Ceteng Security Technology Co ltd
Qianxin Technology Group Co Ltd
Original Assignee
Beijing Qihu Ceteng Security Technology Co ltd
Qianxin Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Qihu Ceteng Security Technology Co ltd, Qianxin Technology Group Co Ltd filed Critical Beijing Qihu Ceteng Security Technology Co ltd
Priority to CN201811627933.8A priority Critical patent/CN109918285B/zh
Publication of CN109918285A publication Critical patent/CN109918285A/zh
Application granted granted Critical
Publication of CN109918285B publication Critical patent/CN109918285B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种开源软件的安全识别方法及装置,所述方法包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。所述装置执行上述方法。本发明实施例提供的开源软件的安全识别方法及装置,先确定待识别开源软件中各组件分别对应的标识,再根据预设漏洞库对所有标识进行安全识别,能够准确识别开源软件是否存在安全风险。

Description

一种开源软件的安全识别方法及装置
技术领域
本发明实施例涉及开源软件技术领域,具体涉及一种开源软件的安全识别方法及装置。
背景技术
开源软件具有开放、共享、自由等特性,在软件开发中扮演着越来越重要的角色,也是软件供应链的重要组成部分。随着越来越多的开源软件以直接安装或源码的形式被应用到各种系统之中,开源软件的管理问题会变得越来越复杂。开源软件中存在着大量的安全隐患,企业在享受开源软件带来的便利的同时,也在承担着巨大的安全风险。
现有技术通常是通过杀毒软件等工具对安装在操作系统中的所有软件进行一次性检测,对于某些开源软件的检测不够彻底,无法准确地识别每个开源软件是否存在安全风险。
因此,如何避免上述缺陷,能够准确识别开源软件是否存在安全风险,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种开源软件的安全识别方法及装置。
第一方面,本发明实施例提供一种开源软件的安全识别方法,所述方法包括:
获取待识别开源软件中各组件分别对应的多维度信息;
根据所有多维度信息,确定各组件分别对应的标识;
根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
第二方面,本发明实施例提供一种开源软件的安全识别装置,所述装置包括:
获取单元,用于获取待识别开源软件中各组件分别对应的多维度信息;
确定单元,用于根据所有多维度信息,确定各组件分别对应的标识;
识别单元,用于根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
获取待识别开源软件中各组件分别对应的多维度信息;
根据所有多维度信息,确定各组件分别对应的标识;
根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
获取待识别开源软件中各组件分别对应的多维度信息;
根据所有多维度信息,确定各组件分别对应的标识;
根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
本发明实施例提供的开源软件的安全识别方法及装置,先确定待识别开源软件中各组件分别对应的标识,再根据预设漏洞库对所有标识进行安全识别,能够准确识别开源软件是否存在安全风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例开源软件的安全识别方法流程示意图;
图2为本发明实施例开源软件的安全识别装置结构示意图;
图3为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例开源软件的安全识别方法流程示意图,如图1所示,本发明实施例提供的一种开源软件的安全识别方法,包括以下步骤:
S101:获取待识别开源软件中各组件分别对应的多维度信息。
具体的,装置获取待识别开源软件中各组件分别对应的多维度信息。装置可以理解为执行该方法的设备,不作具体限定。多维度信息可以包括源码信息、二进制信息、包管理器信息中的至少一种。进一步地,源码信息可以包括源码的文件名称、文件类型、文件大小、文件路径、文件Hash等信息;二进制信息可以包括二进制文件名称、二进制文件类型、二进制文件大小、二进制文件路径、二进制文件Hash等信息;包管理器信息可以包括项目组织唯一标识符、项目唯一标识符、版本、开发语言、包管理器平台等信息。例如可以将源码信息中的源码的文件名称、文件类型、文件大小、文件路径、文件Hash等信息中的一种或多种信息作为多维度信息。
S102:根据所有多维度信息,确定各组件分别对应的标识。
具体的,装置根据所有多维度信息,确定各组件分别对应的标识。所述标识可以为CCID,即Common Component id,通用组件ID。进一步地,可以根据所有多维度信息,确定各组件分别对应的CCID。所有CCID可以预存在CCID信息库中,该CCID信息库中的信息是随开源软件组件信息实时更新的。可以理解的是:根据多维度信息中的全部或部分信息,可以识别出每个组件的特征,进而根据该特征对每个组件进行识别区分,以确定是何种组件,并通过CCID对每个组件进行标记。
需要说明的是:当新的组件或者组件的版本有更新时,可以根据新的组件/版本的项目组织唯一标识符、项目唯一标识符、版本信息、语言信息等信息为新的组件/版本创建一个CCID。
S103:根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
具体的,装置根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。预设开源软件组件漏洞信息可以从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取,其中,CVE即是CommonVulnerabilities and Exposures,即公共漏洞和暴露;CNNVD即是China NationalVulnerability Database of Information Security,即国家信息安全漏洞库,CNVD即是China National Vulnerability Database,即国家信息安全漏洞共享平台,对上述获取漏洞信息的渠道不作具体限定。
根据预设漏洞库对所有标识进行安全识别,具体可以包括:
根据预设开源软件组件标识,确定与所有标识分别对应的目标标识。举例说明如下:假设待识别开源软件中共有两个组件,分别对应的标识为A和B,在预设开源软件组件标识中与A和B分别对应的目标标识为a和b。
根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息。假设在预设漏洞库中a对应有预设开源软件组件漏洞信息a1;在预设漏洞库中b没对应有任何预设开源软件组件漏洞信息,由于其中一个目标标识a有对应的目标开源软件组件漏洞信息a1,则确定该待识别开源软件存在安全风险(即这种情况无论另一个目标标识b是否有对应的目标开源软件组件漏洞信息,即可以直接确定该待识别开源软件存在安全风险)。
假设在预设漏洞库中a和b都没对应有任何预设开源软件组件漏洞信息,则确定该待识别开源软件不存在安全风险。
若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险。可参照上述说明,不再赘述。
若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。可参照上述说明,不再赘述。
需要说明的是:该方法还可以灵活地对预设漏洞库中的内容进行自动更新,具体可以包括:
当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识。例如新增预设开源软件组件为X,生成的新增预设开源软件组件标识为x。
获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。假设与x对应的新增预设开源软件组件漏洞信息为x1,则,生成的新增对应关系为“x~x1”。
进一步地,还可以包括:若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。参照上述说明,以对应关系“a~a1”为例,如果预设开源软件组件漏洞信息a1进行了更新,更新的预设开源软件组件漏洞信息为a2,则生成的更新对应关系为“a~a2”。
本发明实施例提供的开源软件的安全识别方法,先确定待识别开源软件中各组件分别对应的标识,再根据预设漏洞库对所有标识进行安全识别,能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述根据预设漏洞库对所有标识进行安全识别,包括:
根据预设开源软件组件标识,确定与所有标识分别对应的目标标识。
具体的,装置根据预设开源软件组件标识,确定与所有标识分别对应的目标标识。可参照上述实施例,不再赘述。
根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息。
具体的,装置根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息。可参照上述实施例,不再赘述。
若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险。
具体的,装置若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险。可参照上述实施例,不再赘述。
若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。
具体的,装置若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。可参照上述实施例,不再赘述。
本发明实施例提供的开源软件的安全识别方法,进一步能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述方法还包括:
当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识。
具体的,装置当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识。可参照上述实施例,不再赘述。
获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。
具体的,装置获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。可参照上述实施例,不再赘述。
本发明实施例提供的开源软件的安全识别方法,能够对预设漏洞库进行实时更新,进一步能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述方法还包括:
若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。
具体的,装置若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。可参照上述实施例,不再赘述。
本发明实施例提供的开源软件的安全识别方法,能够对预设漏洞库进行实时更新,进一步能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述标识为CCID,相应的,所述根据所有多维度信息,确定各组件分别对应的标识,包括:
根据所有多维度信息,确定各组件分别对应的CCID。
具体的,装置根据所有多维度信息,确定各组件分别对应的CCID。可参照上述实施例,不再赘述。
本发明实施例提供的开源软件的安全识别方法,通过CCID标识开源软件组件,能够更简单、高效地区分出开源软件组件,保证该技术方案正常进行。
在上述实施例的基础上,所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。
具体的,装置中的所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。可参照上述实施例,不再赘述。
本发明实施例提供的开源软件的安全识别方法,通过具体的多维度信息能够识别出组件,保证该技术方案正常进行。
在上述实施例的基础上,所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。
具体的,装置中的所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。可参照上述实施例,不再赘述。
本发明实施例提供的开源软件的安全识别方法,能够简单、高效地获取到预设开源软件组件漏洞信息,进一步能够准确识别开源软件是否存在安全风险。
图2为本发明实施例开源软件的安全识别装置结构示意图,如图2所示,本发明实施例提供了一种开源软件的安全识别装置,包括获取单元201、确定单元202和识别单元203,其中:
获取单元201用于获取待识别开源软件中各组件分别对应的多维度信息;确定单元202用于根据所有多维度信息,确定各组件分别对应的标识;识别单元203用于根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
具体的,获取单元201用于获取待识别开源软件中各组件分别对应的多维度信息;确定单元202用于根据所有多维度信息,确定各组件分别对应的标识;识别单元203用于根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
在上述实施例的基础上,所述识别单元203具体用于:根据预设开源软件组件标识,确定与所有标识分别对应的目标标识;根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息;若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险;若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。
具体的,所述识别单元203具体用于:根据预设开源软件组件标识,确定与所有标识分别对应的目标标识;根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息;若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险;若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。
本发明实施例提供的开源软件的安全识别装置,进一步能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述装置还用于:当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识;获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。
具体的,所述装置还用于:当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识;获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。
本发明实施例提供的开源软件的安全识别装置,能够对预设漏洞库进行实时更新,进一步能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述装置还用于:若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。
具体的,所述装置还用于:若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。
本发明实施例提供的开源软件的安全识别装置,能够对预设漏洞库进行实时更新,进一步能够准确识别开源软件是否存在安全风险。
在上述实施例的基础上,所述确定单元202具体用于:根据所有多维度信息,确定各组件分别对应的CCID。
具体的,所述确定单元202具体用于:根据所有多维度信息,确定各组件分别对应的CCID。
本发明实施例提供的开源软件的安全识别装置,通过CCID标识开源软件组件,能够更简单、高效地区分出开源软件组件,保证该技术方案正常进行。
在上述实施例的基础上,所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。
具体的,所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。
本发明实施例提供的开源软件的安全识别装置,通过具体的多维度信息能够识别出组件,保证该技术方案正常进行。
在上述实施例的基础上,所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。
具体的,所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。
本发明实施例提供的开源软件的安全识别装置,能够简单、高效地获取到预设开源软件组件漏洞信息,进一步能够准确识别开源软件是否存在安全风险。
本发明实施例提供的开源软件的安全识别装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图3为本发明实施例提供的电子设备实体结构示意图,如图3所示,所述电子设备包括:处理器(processor)301、存储器(memory)302和总线303;
其中,所述处理器301、存储器302通过总线303完成相互间的通信;
所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

Claims (12)

1.一种开源软件的安全识别方法,其特征在于,包括:
获取待识别开源软件中各组件分别对应的多维度信息;
根据所有多维度信息,确定各组件分别对应的标识,其中,所述标识为CCID;
根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系;
其中,所述根据预设漏洞库对所有标识进行安全识别,包括:
根据预设开源软件组件标识,确定与所有标识CCID分别对应的目标标识;
根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息;
若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险;
若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识;
获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。
4.根据权利要求1所述的方法,其特征在于,所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。
5.根据权利要求1所述的方法,其特征在于,所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。
6.一种开源软件的安全识别装置,其特征在于,包括:
获取单元,用于获取待识别开源软件中各组件分别对应的多维度信息;
确定单元,用于根据所有多维度信息,确定各组件分别对应的标识,所述标识为CCID;
识别单元,用于根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系;
其中,所述识别单元具体用于:
根据预设开源软件组件标识,确定与所有标识CCID分别对应的目标标识;
根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息;
若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险;
若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。
7.根据权利要求6所述的装置,其特征在于,所述装置还用于:
当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识;
获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。
8.根据权利要求6所述的装置,其特征在于,所述装置还用于:
若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。
9.根据权利要求6所述的装置,其特征在于,所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。
10.根据权利要求6所述的装置,其特征在于,所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。
11.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。
CN201811627933.8A 2018-12-28 2018-12-28 一种开源软件的安全识别方法及装置 Active CN109918285B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811627933.8A CN109918285B (zh) 2018-12-28 2018-12-28 一种开源软件的安全识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811627933.8A CN109918285B (zh) 2018-12-28 2018-12-28 一种开源软件的安全识别方法及装置

Publications (2)

Publication Number Publication Date
CN109918285A CN109918285A (zh) 2019-06-21
CN109918285B true CN109918285B (zh) 2022-08-09

Family

ID=66960015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811627933.8A Active CN109918285B (zh) 2018-12-28 2018-12-28 一种开源软件的安全识别方法及装置

Country Status (1)

Country Link
CN (1) CN109918285B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414239B (zh) * 2019-06-28 2021-09-03 奇安信科技集团股份有限公司 一种软件供应链安全分析方法及装置
CN111552504B (zh) * 2020-07-13 2020-10-27 深圳开源互联网安全技术有限公司 一种开源组件的资产信息维护方法、装置及存储介质
CN112016091A (zh) * 2020-07-17 2020-12-01 安徽三实信息技术服务有限公司 一种基于组件识别的漏洞预警信息生成方法
CN112016093A (zh) * 2020-08-11 2020-12-01 安徽三实信息技术服务有限公司 一种用于漏洞标记的方法
CN112231302A (zh) * 2020-10-30 2021-01-15 深圳开源互联网安全技术有限公司 Java开源组件数据库的维护方法、装置及存储介质
US11641371B2 (en) 2021-02-17 2023-05-02 Saudi Arabian Oil Company Systems, methods and computer-readable media for monitoring a computer network for threats using OLAP cubes
CN116756710B (zh) * 2023-08-16 2024-03-22 深圳开源互联网安全技术有限公司 基于特征标记追踪技术的开源治理方法、系统及电子设备
CN117406967B (zh) * 2023-12-15 2024-03-22 卓望数码技术(深圳)有限公司 组件识别方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446691A (zh) * 2016-11-24 2017-02-22 工业和信息化部电信研究院 检测软件中集成或定制的开源项目漏洞的方法和装置
CN106815135A (zh) * 2015-11-30 2017-06-09 阿里巴巴集团控股有限公司 漏洞检测方法及装置
CN107844705A (zh) * 2017-11-14 2018-03-27 苏州棱镜七彩信息科技有限公司 基于二进制代码特征的第三方组件漏洞检测方法
CN108763928A (zh) * 2018-05-03 2018-11-06 北京邮电大学 一种开源软件漏洞分析方法、装置和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135405B2 (en) * 2011-05-26 2015-09-15 Carnegie Mellon University Automated exploit generation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815135A (zh) * 2015-11-30 2017-06-09 阿里巴巴集团控股有限公司 漏洞检测方法及装置
CN106446691A (zh) * 2016-11-24 2017-02-22 工业和信息化部电信研究院 检测软件中集成或定制的开源项目漏洞的方法和装置
CN107844705A (zh) * 2017-11-14 2018-03-27 苏州棱镜七彩信息科技有限公司 基于二进制代码特征的第三方组件漏洞检测方法
CN108763928A (zh) * 2018-05-03 2018-11-06 北京邮电大学 一种开源软件漏洞分析方法、装置和存储介质

Also Published As

Publication number Publication date
CN109918285A (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
CN109918285B (zh) 一种开源软件的安全识别方法及装置
US9552480B2 (en) Managing software deployment
US20210089439A1 (en) Verifying software malfunction sources among disparate code sources
US8966634B2 (en) System and method for correcting antivirus records and using corrected antivirus records for malware detection
TWI412952B (zh) 用於執行隱私策略之方法,系統及電腦程式產品
US8443354B1 (en) Detecting new or modified portions of code
CN110806978A (zh) 一种第三方组件的缺陷管理方法及装置
CN112883342A (zh) 一种组件管控方法、装置及设备
CN106709281B (zh) 补丁发放和获取方法、装置
CN112738094A (zh) 可扩展的网络安全漏洞监测方法、系统、终端及存储介质
CN110597662B (zh) 备份数据自动验证方法、装置、用户设备及存储介质
CN106708897B (zh) 一种数据仓库质量保障方法、装置和系统
CN114047930A (zh) 软件制品的安全发布方法、系统、电子设备和存储介质
CN113127351A (zh) 一种第三方组件检测方法、系统和计算机设备
CN105069357A (zh) 扫描漏洞的方法、云端服务器及系统
CN110941825A (zh) 一种应用监控方法及装置
CN111949363A (zh) 业务访问的管理方法、计算机设备、存储介质及系统
CN109472138B (zh) 一种检测snort规则冲突的方法、装置和存储介质
CN114491661A (zh) 基于区块链的日志防篡改方法及系统
CN110807198B (zh) 一种修复漏洞的信息的获取方法及补丁处理系统
CN105590058A (zh) 虚拟机逃逸的检测方法及装置
CN115022096B (zh) 下载软件方法和装置
US20240086183A1 (en) Software code verification using software code identifier comparison
CN117034210B (zh) 一种事件画像的生成方法、装置、存储介质及电子设备
CN109918895B (zh) 用于输出数据的方法、电子设备和计算机可读介质

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
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: Qianxin Technology Group Co.,Ltd.

Applicant after: BEIJING QIHU CETENG SECURITY TECHNOLOGY Co.,Ltd.

Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing.

Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd.

Applicant before: BEIJING QIHU CETENG SECURITY TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant