基于漏洞补丁的代码克隆漏洞检测方法及系统技术方案

技术编号:42854785 阅读:41 留言:0更新日期:2024-09-27 17:21
本发明专利技术涉及一种基于漏洞补丁的代码克隆漏洞检测方法及系统,属于软件检测技术领域,解决了现有漏洞检测不适用于漏洞补丁且检测类型深度和广度不足的问题。包括:提取漏洞补丁信息,根据其中的软件项目名称,同步软件项目各版本的代码至软件代码库;基于软件代码库,获取各漏洞补丁对应的源文件,并对源文件进行切片,获取包含漏洞的基本代码片段;获取待检测代码,根据哈希算法获取软件代码库中与待检测代码最相似的版本;根据最相似的版本和漏洞补丁的发布时间,计算各漏洞补丁的权重;计算待检测代码与各个包含漏洞的基本代码片段的相似度,根据相似度和各漏洞补丁的权重,获取待检测代码的漏洞检测结果。实现了精准和全面的代码克隆漏洞检测。

【技术实现步骤摘要】

本专利技术涉及软件检测,尤其涉及一种基于漏洞补丁的代码克隆漏洞检测方法及系统


技术介绍

1、随着软件业务越来越复杂,开发者在软件开发的过程中复制或者重用现有代码的现象也变得很普遍。这种复制相似或者完全相同的现有代码的行为称为“代码克隆”。如果被复用的代码段中含有漏洞,代码克隆无疑会导致漏洞扩散问题。往往在漏洞补丁发布时代码克隆问题会被忽视,这样就导致了已经发布的漏洞因为代码克隆而发生扩散并且得不到修补。而攻击者就可以根据已经发布的补丁来挖掘代码克隆导致的漏洞,并对整个系统造成影响。

2、代码克隆漏洞检测方法,本质是比较软件源代码与漏洞代码的相似性。代码克隆可以细分为四大类:type-1:去除空格、空行和注释后,完全相同;type-2:除了对一些唯一标识(函数名、类名、变量名)重命名外,完全相同;type-3:片段部分被修改,如添加或删除了部分代码片段,或是重新排序了部分代码片段;type-4:语义相似,但句法不相似。

3、现有redebug是一种基于文本比较的代码克隆检测方法。它通过源代码为每个处理单元设置一个窗口,并为每个窗口应本文档来自技高网...

【技术保护点】

1.一种基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述提取漏洞补丁信息,包括:

4.根据权利要求3所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述基于软件代码库,获取各漏洞补丁对应的源文件,包括:

5.根据权利要求3所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述根据哈希算法,获取漏洞补丁在软件代码库中匹配的版本,作为待检索版本,包括:...

【技术特征摘要】

1.一种基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述提取漏洞补丁信息,包括:

4.根据权利要求3所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述基于软件代码库,获取各漏洞补丁对应的源文件,包括:

5.根据权利要求3所述的基于漏洞补丁的代码克隆漏洞检测方法,其特征在于,所述根据哈希算法,获取漏洞补丁在软件代码库中匹配的版本,作为待检索版本,包括:

6.根据权利要求1所述的基于漏洞补丁的...

【专利技术属性】
技术研发人员:卢延云郭昶李振锋
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1