[发明专利]一种开源软件识别方法及装置有效
申请号: | 201711463010.9 | 申请日: | 2017-12-28 |
公开(公告)号: | CN109977675B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 王治文;欧建深;李广生 | 申请(专利权)人: | 超聚变数字技术有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F8/71 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 450046 河南省郑州市郑*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 识别 方法 装置 | ||
本申请实施例公开了一种开源软件识别方法及装置,用于提升识别效率。所述方法包括:获取待识别的目标代码;将开源软件特征库中开源软件的特征信息与目标代码进行匹配,确定与所述目标代码匹配的目标特征信息,所述特征信息包括如下至少一项:端点特征信息,分叉点特征信息,无效特征信息;所述端点特征信息包括所述开源软件的初始版本对应的文件信息和/或所述开源软件的非初始版本相对于之前的版本新增的文件信息;所述分叉点特征信息包括所述开源软件的非初始版本相对于之前的版本修改的文件信息;所述无效特征信息包括所述开源软件从初始版本到当前最新版本未修改过的文件信息;根据所述目标特征信息确定所述目标代码对应的开源软件信息。
技术领域
本申请涉及计算机应用领域,尤其涉及一种开源软件识别方法及装置。
背景技术
开源软件在云计算中已发挥越来越重要的作用,并成为云计算网络安全的关键。精准识别开源软件及其版本是保证开源组件漏洞有效闭环的关键。业界目前已有成熟的网络安全漏洞库,这些开源软件漏洞闭环的前提是能够精准识别产品代码中使用了哪些开源软件及其版本,但由于开源软件的代码开源、可修改、可分发等特点,导致开源软件版本多、识别困难。
目前业界有主要采用文件比对技术来识别代码中使用的开源软件及其版本,文件比对的主要特点是尽可能搜集开源文件的哈希值、文件大小、文件目录等属性,进行全量比对,即将搜集的所有开源文件信息与代码进行比对,根据比对结果识别出相似度最高的开源软件及其版本。
由于开源软件文件数量庞大,通过全量文件比对识别开源软件会耗费大量时间,效率较低。
发明内容
本申请实施例提供了一种开源软件识别方法及装置,用于快速识别产品代码中所使用的开源软件及其版本,提升识别效率。
有鉴于此,本申请第一方面提供了一种开源软件识别方法,该方法包括:识别装置获取需要进行开源软件识别的目标代码,然后将开源软件特征库中的特征信息与目标代码进行匹配,识别出与目标代码匹配的目标特征信息,根据该目标特征信息即可确定目标代码对应的开源软件信息;
其中,特征信息包括如下至少一项:端点特征信息,分叉点特征信息,无效特征信息;端点特征信息包括开源软件的初始版本对应的文件信息和/或开源软件的非初始版本相对于之前的版本新增的文件信息;分叉点特征信息包括开源软件的非初始版本相对于之前的版本修改的文件信息;无效特征信息包括开源软件从初始版本到当前最新版本未修改过的文件信息。
本实现方式中,识别装置根据特征信息就可以识别出与目标代码所使用的开源软件及其版本,不需要进行全量的比对,提升了识别效率。
结合本申请第一方面,在本申请第一方面的第一种实现方式中,识别装置可以通过如下方式确定目标特征信息:识别装置确定目标代码对应的目标文件信息,并获取开源软件特征库中各个开源软件的端点特征信息,然后判断这些端点特征信息中是否存在于目标文件信息匹配的目标端点特征信息,若存在,则这些目标端点特征信息就是与目标代码匹配的目标特征信息;
对应地,识别装置可以通过如下方式确定目标代码对应的开源软件信息:将目标端点特征信息所属的开源软件(第一开源软件)的信息确定为目标代码对应的开源软件信息。
本实现方式中,识别装置提供了一种识别开源软件信息的方式,提高了方案的可实现性。
结合本申请第一方面的第一种实现方式,在本申请第一方面的第二种实现方式中,识别装置确定目标端点特征信息后,还可以执行如下流程:识别装置确定目标端点特征信息中各个端点特征信息对应的第一开源软件的版本号,将这些版本号中的最高版本号确定为目标版本号,然后获取开源软件特征库中第一开源软件的目标版本号以及目标版本号之后的版本号所对应的分叉点特征信息,判断这些分叉点特征信息中是否存在于目标文件信息匹配的目标分叉点特征信息,若存在,则这个目标分叉点特征信息对应的版本号就是目标代码对应的开源软件的版本号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超聚变数字技术有限公司,未经超聚变数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711463010.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:嵌入式设备的软件升级方法和装置
- 下一篇:一种应用程序的管控方法、装置和设备