[发明专利]一种混源软件中开源成分检测的方法和系统有效
申请号: | 202111286072.3 | 申请日: | 2021-11-02 |
公开(公告)号: | CN113721978B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 张涛;陈钟 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/77 | 分类号: | G06F8/77 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 贾晓玲 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 中开源 成分 检测 方法 系统 | ||
本申请公开的实施例提供了一种混源软件中开源成分检测的方法和系统。其中,该方法包括:获取目标混源软件中的源码文件,即获取第一源码文件,以及对所述第一源码文件分类及执行相应的同源分析;其中,对于所述第一源码文件中大小超过第一阈值的源码文件,基于Simhash算法对其进行同源分析;对于所述第一源码文件中大小不超过第一阈值的源码文件,基于Minhash算法对其进行同源分析。较之现有技术,上述方案能够均衡混源软件开源成分检测的效率需求和精确性间的矛盾,在保证检测效率的前提下获得可接受的开源成分检测结果。
技术领域
本申请公开的实施例主要涉及开源治理相关技术领域以及具体涉及软件成分分析(SCA)安全测试细分技术领域,且更具体地,涉及一种混源软件中开源成分检测的方法和系统。
背景技术
近年来,软件开发中开源成分使用比例越来越高。开源成分的引入,能够大大提高软件开发的效率。如今,几乎所有的软件开发者实体都会选择使用开源框架、开源库、开源组件等,以简化开发过程、缩短开发周期。然而引入开源成分,不免可能引入一些漏洞,造成安全问题,以及知识产权合规问题。特别是直接拷贝开源代码文件复用或仅做简单修改即引入,都不免因为开源内容被广泛、频繁地公开使用而成为攻击者优先攻击的目标。
目前,虽然已经有很多SCA工具支持开源成分的分析,但是这些工具大都是基于项目的特征文件来分析项目的开源成分,而基于代码的开源成分分析则很少,主要是因为基于海量的开源代码进行开源成分的分析难度大,检测效率不能达到预期。
发明内容
根据本申请公开的实施例,提供了一种混源软件中开源成分检测的方法和系统,以实现代码粒度的开源成分检测,并且能够在保证检测效率的前提下取得在广义的代码粒度上的、可接受的开源成分检测结果。
在本公开的第一方面中,提供了一种混源软件中开源成分检测的方法。该方法包括:获取目标混源软件中的源码文件,作为第一源码文件;根据所述第一源码文件的大小分别对所述第一源码文件执行相应的同源分析;其中,对于所述第一源码文件中大小超过第一阈值的源码文件,基于Simhash算法对其进行同源分析;而对于所述第一源码文件中大小不超过第一阈值的源码文件,基于Minhash算法对其进行同源分析;而具体地,上述的基于Simhash算法的同源分析,可以是包括:定义一个Simhash函数
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111286072.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地衣芽孢杆菌及其应用
- 下一篇:一种多自由度无人机动力测试装置