本发明专利技术实施例提供一种开源软件的安全识别方法及装置,所述方法包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。所述装置执行上述方法。本发明专利技术实施例提供的开源软件的安全识别方法及装置,先确定待识别开源软件中各组件分别对应的标识,再根据预设漏洞库对所有标识进行安全识别,能够准确识别开源软件是否存在安全风险。
【技术实现步骤摘要】
一种开源软件的安全识别方法及装置
本专利技术实施例涉及开源软件
,具体涉及一种开源软件的安全识别方法及装置。
技术介绍
开源软件具有开放、共享、自由等特性,在软件开发中扮演着越来越重要的角色,也是软件供应链的重要组成部分。随着越来越多的开源软件以直接安装或源码的形式被应用到各种系统之中,开源软件的管理问题会变得越来越复杂。开源软件中存在着大量的安全隐患,企业在享受开源软件带来的便利的同时,也在承担着巨大的安全风险。现有技术通常是通过杀毒软件等工具对安装在操作系统中的所有软件进行一次性检测,对于某些开源软件的检测不够彻底,无法准确地识别每个开源软件是否存在安全风险。因此,如何避免上述缺陷,能够准确识别开源软件是否存在安全风险,成为亟须解决的问题。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种开源软件的安全识别方法及装置。第一方面,本专利技术实施例提供一种开源软件的安全识别方法,所述方法包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。第二方面,本专利技术实施例提供一种开源软件的安全识别装置,所述装置包括:获取单元,用于获取待识别开源软件中各组件分别对应的多维度信息;确定单元,用于根据所有多维度信息,确定各组件分别对应的标识;识别单元,用于根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。第三方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。本专利技术实施例提供的开源软件的安全识别方法及装置,先确定待识别开源软件中各组件分别对应的标识,再根据预设漏洞库对所有标识进行安全识别,能够准确识别开源软件是否存在安全风险。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例开源软件的安全识别方法流程示意图;图2为本专利技术实施例开源软件的安全识别装置结构示意图;图3为本专利技术实施例提供的电子设备实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例开源软件的安全识别方法流程示意图,如图1所示,本专利技术实施例提供的一种开源软件的安全识别方法,包括以下步骤:S101:获取待识别开源软件中各组件分别对应的多维度信息。具体的,装置获取待识别开源软件中各组件分别对应的多维度信息。装置可以理解为执行该方法的设备,不作具体限定。多维度信息可以包括源码信息、二进制信息、包管理器信息中的至少一种。进一步地,源码信息可以包括源码的文件名称、文件类型、文件大小、文件路径、文件Hash等信息;二进制信息可以包括二进制文件名称、二进制文件类型、二进制文件大小、二进制文件路径、二进制文件Hash等信息;包管理器信息可以包括项目组织唯一标识符、项目唯一标识符、版本、开发语言、包管理器平台等信息。例如可以将源码信息中的源码的文件名称、文件类型、文件大小、文件路径、文件Hash等信息中的一种或多种信息作为多维度信息。S102:根据所有多维度信息,确定各组件分别对应的标识。具体的,装置根据所有多维度信息,确定各组件分别对应的标识。所述标识可以为CCID,即CommonComponentid,通用组件ID。进一步地,可以根据所有多维度信息,确定各组件分别对应的CCID。所有CCID可以预存在CCID信息库中,该CCID信息库中的信息是随开源软件组件信息实时更新的。可以理解的是:根据多维度信息中的全部或部分信息,可以识别出每个组件的特征,进而根据该特征对每个组件进行识别区分,以确定是何种组件,并通过CCID对每个组件进行标记。需要说明的是:当新的组件或者组件的版本有更新时,可以根据新的组件/版本的项目组织唯一标识符、项目唯一标识符、版本信息、语言信息等信息为新的组件/版本创建一个CCID。S103:根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。具体的,装置根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。预设开源软件组件漏洞信息可以从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取,其中,CVE即是CommonVulnerabilitiesandExposures,即公共漏洞和暴露;CNNVD即是ChinaNationalVulnerabilityDatabaseofInformationSecurity,即国家信息安全漏洞库,CNVD即是ChinaNationalVulnerabilityDatabase,即国家信息安全漏洞共享平台,对上述获取漏洞信息的渠道不作具体限定。根据预设漏洞库对所有标识进行安全识别,具体可以包括:根据预设开源软件组件标识,确定与所有标识分别对应的目标标识。举例说明如下:假设待识别开源软件中共有两个组件,分别对应的标识为A和B,在预设开源软件组件标识中与A和B分别对应的目标标识为a和b。根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息。假设在预设漏洞库中a对应有预设开源软件组件漏洞信息a1;在预设漏洞库中b没对应有任何预设开源软件组件漏洞信息,由于其中一个目标标识a有对应的目标开源软件组件漏洞信息a1,则确定该待识别开源软件存在安全风险(即这种情况无论另一个目标标识b是否有对应的目标开源软件组件漏洞信息,即可以直接确定该待识别开源软件存在安全风险)。假设在预设漏洞库中a和b都没对应有任何预设开源软件组件漏洞信息,则确定该待识别开源软件不存在安全风险。若判断获知至少一个目标标识有对应的目标开源软本文档来自技高网...
【技术保护点】
1.一种开源软件的安全识别方法,其特征在于,包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。
【技术特征摘要】
1.一种开源软件的安全识别方法,其特征在于,包括:获取待识别开源软件中各组件分别对应的多维度信息;根据所有多维度信息,确定各组件分别对应的标识;根据预设漏洞库对所有标识进行安全识别;所述预设漏洞库包括预设开源软件组件标识和预设开源软件组件漏洞信息之间的对应关系。2.根据权利要求1所述的方法,其特征在于,所述根据预设漏洞库对所有标识进行安全识别,包括:根据预设开源软件组件标识,确定与所有标识分别对应的目标标识;根据所述对应关系,确定所有目标标识是否有对应的目标开源软件组件漏洞信息;若判断获知至少一个目标标识有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件存在安全风险;若判断获知所有目标标识都没有对应的目标开源软件组件漏洞信息,则确定所述待识别开源软件不存在安全风险。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:当检测到新增预设开源软件组件时,生成与所述新增预设开源软件组件对应的新增预设开源软件组件标识;获取与所述新增预设开源软件组件标识对应的新增预设开源软件组件漏洞信息,并生成新增对应关系;所述新增对应关系是所述新增预设开源软件组件标识和新增预设开源软件组件漏洞信息之间的对应关系。4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若检测到所述预设开源软件组件漏洞信息进行了更新,则生成更新对应关系;其中,所述更新对应关系是所述预设开源软件组件标识和更新的预设开源软件组件漏洞信息之间的对应关系。5.根据权利要求1或2所述的方法,其特征在于,所述标识为CCID,相应的,所述根据所有多维度信息,确定各组件分别对应的标识,包括:根据所有多维度信息,确定各组件分别对应的CCID。6.根据权利要求1或2所述的方法,其特征在于,所述多维度信息包括源码信息、二进制信息、包管理器信息中的至少一种。7.根据权利要求1或2所述的方法,其特征在于,所述预设开源软件组件漏洞信息从CVE、CNNVD、CNVD和安全论坛中的至少一种中获取。8.一种开源软件的安全识别装置,其特征在于,包括:获取单元,用于获取待识别开源软件中各组件分别对应的多维度信息;确定单元,用于根据所有多维度信息,确定各组件分别对应的标识;识...
【专利技术属性】
技术研发人员:章磊,
申请(专利权)人:北京奇安信科技有限公司,北京奇虎测腾安全技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。