[发明专利]基于开源组件的指纹识别方法、装置、设备及存储介质有效
申请号: | 202011177798.9 | 申请日: | 2020-10-29 |
公开(公告)号: | CN112001376B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 汪杰;万振华;王颉;董燕;李华 | 申请(专利权)人: | 深圳开源互联网安全技术有限公司 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/62 |
代理公司: | 深圳市恒申知识产权事务所(普通合伙) 44312 | 代理人: | 龙丹丹 |
地址: | 518100 广东省深圳市龙华区龙华*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 组件 指纹识别 方法 装置 设备 存储 介质 | ||
本发明公开了一种基于开源组件的指纹识别方法、装置、识别设备及存储介质,属于应用软件识别领域,该方法包括:利用待识别的应用程序对应的第一指纹匹配预设的开源组件指纹库中多个开源组件的第二指纹,得到包含应用程序与开源组件对应关系的指纹相似值;根据指纹相似值确定显示包含第一指纹对应的第二指纹的目标开源组件及目标开源组件对应的映射信息;根据目标开源组件及映射信息识别应用程序的安全信息。本方案通过利用待识别的应用程序的第一指纹与预设的开源组件指纹库中的第二指纹匹配,确定对应的开源组件,相对于现有技术,该指纹匹配的方式可提高对应用程序的识别性和识别速度。
技术领域
本发明涉及应用软件识别的技术领域,尤其涉及一种基于开源组件的指纹识别方法、装置、识别设备及存储介质。
背景技术
在应用程序开发领域中,开源组件被开发人员广泛使用,据估计,每个应用程序的80%-90%都由开源组件组成。据开源代码领域的研究报告显示,软件应用程序中使用的第三方组件中有一半已经过时,可能不安全;及使用开源组件的所有应用程序中,超过60%包含已知的软件漏洞;另一方面,在知识产权方面,很多开源组件都有自己的许可声明,如果在项目或应用程序中使用了未获得许可的开源组件,那么可能会面临侵权的问题。因此,需要识别应用程序中是否使用或占用开源组件。
相关技术在识别应用程序中的开源组件时,通过代码扫描识别方式对该应用程序中的组件进行识别,但是识别速度比较慢,效率低;或通过目录结构扫描的方式对该应用程序中的组件进行识别,但无法识别目录结构相同但文件不同的的开源组件,识别性差。
因此,有必要提出一种新的开源组件的识别技术。
发明内容
本发明提供了一种基于开源组件的指纹识别方法、装置、识别设备及存储介质,可以解决现有技术中对开源组件的识别速度慢及识别性差的技术问题。
本发明第一方面提供一种基于开源组件的指纹识别方法,包括:
利用待识别的应用程序对应的第一指纹匹配预设的开源组件指纹库中多个开源组件的第二指纹,得到包含所述应用程序与至少一个所述开源组件对应关系的指纹相似值;
根据所述指纹相似值确定显示包含所述第一指纹对应的第二指纹的目标开源组件及所述目标开源组件对应的映射信息;
根据所述目标开源组件及所述映射信息识别所述应用程序的安全信息。
可选的,所述利用待识别的应用程序对应的第一指纹匹配预设的开源组件指纹库中多个开源组件的第二指纹的步骤之前包括:
从开源组件生态系统中分别获取各所述开源组件及对应的映射信息;
根据各所述开源组件的内容及对应的所述映射信息生成包含所述开源组件对应的一个或多个所述第二指纹的第二指纹列表;
利用所述第二指纹列表组建所述开源组件指纹库。
可选的,所述开源组件的内容包括:组件包、所述组件包内的多个组件文件及所述组件文件内的多个片段源代码,所述根据各所述开源组件的内容及对应的所述映射信息生成包含所述开源组件对应的一个或多个所述第二指纹的第二指纹列表的步骤包括:
根据各所述开源组件的组件包及对应的所述映射信息生成包含一个或多个所述第二组件指纹的第二组件指纹列表;
根据各所述开源组件的多个组件文件及对应的所述映射信息生成包含一个或多个所述第二文件指纹的第二文件指纹列表;及
根据各所述开源组件的多个片段源代码及对应的所述映射信息生成包含一个或多个所述第二片段指纹的第二片段指纹列表;
则所述利用所述第二指纹列表组建所述开源组件指纹库,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开源互联网安全技术有限公司,未经深圳开源互联网安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011177798.9/2.html,转载请声明来源钻瓜专利网。