[发明专利]基于simhash的源代码中开源成分筛选识别方法及系统在审
申请号: | 202210337119.2 | 申请日: | 2022-03-31 |
公开(公告)号: | CN114816518A | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 汪杰;万振华;王颉;李华;董燕 | 申请(专利权)人: | 深圳开源互联网安全技术有限公司 |
主分类号: | G06F8/75 | 分类号: | G06F8/75;G06F40/194;G06F16/903;G06F16/901;G06F21/57 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 赵贯杰 |
地址: | 518000 广东省深圳市龙华区民治*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 simhash 源代码 中开源 成分 筛选 识别 方法 系统 | ||
本发明公开一种基于simhash的源代码中开源成分筛选识别方法及系统,该方法包括:构建基础源码库;采用simhash算法,分别对基础源码库中的每一开源文件中的源代码进行解析处理,以得到数据匹配表;采用与开源文件相同的解析处理方式对待测源码组件中的每一源码文件进行解析处理,以获得若干第二数码组;分别将第二数码组中的字符串与数据匹配表中每一第一数码组中的字符串整体匹配;判断任一第一数码组中是否存在与当前第二数码组中相同的字符串,如果是,则将该第一数码组定义为待选数码组;根据待选数码组在基础源码库中找出与该待测源码组件相关的若干开源组件;根据上述方法,可从源代码层面对软件中的开源成分进行检测,检测覆盖面广,而且检测效率高。
技术领域
本发明软件源代码开源成分检测技术领域,尤其涉及一种基于simhash的源代码中开源成分筛选识别方法及系统。
背景技术
针对软件项目中开源成分的分析,其目的是分析项目中的引用的开源成分,以有针对性的进行漏洞检测,软件中的开源成分包括使用的开源组件或者拷贝的部分开源代码。目前已经有很多SCA工具已经可以支持开源成分的分析,但是这些工具一般是基于项目的特征文件来分析项目的开源成分,也就是分析项目中使用到的开源组件。而基于代码的开源成分分析则很少。主要是因为基于海量的开源代码进行开源成分的分析的难度很大,检测效率不够理想。
发明内容
本发明的目的是为解决上述技术问题而提供一种基于海量的开源代码进行软件开源成分检测并且有效确保检测效率的基于simhash的源代码中开源成分筛选识别方法及系统。
为了实现上述目的,本发明公开了一种基于simhash的源代码中开源成分筛选识别方法,其包括:
获取若干开源组件,以构建基础源码库,每一所述开源组件中包括若干开源文件;
采用simhash算法,分别对所述基础源码库中的每一所述开源文件中的源代码进行解析处理,以获得若干分别与相应所述开源文件相关的第一数码串,并按序将所述第一数码串均分为四段,以获得若干分别与相应所述开源文件相关的包括有四个字符串的第一数码组,并将若干所述第一数码组存储在数据库中,以得到数据匹配表;
采用与所述开源文件相同的解析处理方式对待测源码组件中的每一源码文件进行解析处理,以获得若干分别与相应所述源码文件相关的包括有四个字符串的第二数码组;
分别将所述第二数码组中的字符串与所述数据匹配表中每一所述第一数码组中的字符串整体匹配;
判断任一所述第一数码组中是否存在与当前所述第二数码组中相同的字符串,如果是,则将该第一数码组定义为待选数码组;
根据所述待选数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件。
较佳地,还包括对所述待选数码组进行进一步筛选的方法:
分别判断任一所述待选数码组中其他三个字符串是否存在于当前所述第二数码组中,并根据判断结果计算所述待选数码组与所述第二数码组的汉明距离;
判断所述待选数码组与第二数码组的汉明距离是否小于或等于3,如果是,则将该待选数码组定义为目标数码组;
根据所述目标数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件。
较佳地,根据所述目标数码组在所述基础源码库中找出与该待测源码组件相关的若干开源组件的方法包括:
在所述基础源码库中生成一关联表,所述关联表记录有与每一所述第一数码组相关联的开源文件名、与该开源文件所对应的开源组件名、该开源组件的版本号、以及该开源组件存储位置;
根据所述关联表,查找所有与所述目标数码组对应的开源文件、开源组件以及存储位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开源互联网安全技术有限公司,未经深圳开源互联网安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210337119.2/2.html,转载请声明来源钻瓜专利网。