[发明专利]一种二进制漏洞代码克隆检测方法及系统有效

专利信息
申请号: 201810267094.7 申请日: 2018-03-28
公开(公告)号: CN108491228B 公开(公告)日: 2020-03-17
发明(设计)人: 姜宇;杨鑫;高健;顾明;孙家广 申请(专利权)人: 清华大学
主分类号: G06F8/75 分类号: G06F8/75
代理公司: 北京路浩知识产权代理有限公司 11002 代理人: 王莹;吴欢燕
地址: 100084 北京市海*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 二进制 漏洞 代码 克隆 检测 方法 系统
【说明书】:

发明提供一种二进制漏洞代码克隆检测方法及系统,其中方法包括:提取待检测二进制代码中的第一函数的函数特征和二进制漏洞代码中的第二函数的函数特征,函数特征包括基本块信息、控制流信息和函数调用信息;将第一函数的函数特征和第二函数的函数特征分别输入预设神经网络,利用预设神经网络计算第一函数和第二函数的相似度;当相似度达到预设阈值时,确定待检测二进制代码中存在二进制漏洞代码的克隆代码。该方法及系统解决了现有代码克隆检测方法所存在的克隆类型检测不全面、准确度低、复杂度高且不易于实现等问题,确保了克隆类型检测的全面性和检测结果的准确性,同时有效提升了检测效率。

技术领域

本发明涉及计算机程序检测技术领域,更具体地,涉及一种二进制漏洞代码克隆检测方法及系统。

背景技术

从软件产业的诞生到现在,随着计算机用户数量快速增加,软件产业发展迅猛,已渗透到人们工作与生活的方方面面。许多软件源代码开放在互联网上,开发人员在互联网查询所需要的相关代码已成为一种快速有效的生产方式。复制一段代码,经过简单修改或者直接的复制粘贴,再运用到新的场景中,是现在软件开发过程中的常见现象。这种代码重用的方式称为代码克隆。大型软件开发中存在大量克隆代码段。像X Windows System等计算机领域公认的高质量系统仍有19%的代码克隆;Linux的核心部分有15%~25%的代码克隆;在开源软件项目中,有超过50%的代码被复用过。大型软件开发中存在大量克隆代码段,例如:Linux内核源代码22.3%被称为重复使用的代码,甚至一小部分代码段被复制了至少8次;在Debian包的Linux内核(2.6.6版)确认使用了145个未打补丁的漏洞代码。如果克隆代码是易受攻击的,则可能导致相关的安全问题大面积爆发,因为已发布的漏洞可能存在于其他软件中,但不能完全修补。利用公布漏洞的信息,攻击者可以利用未打补丁的克隆代码,对软件系统造成严重的影响。因此,迫切需要一种准确有效的方法来检测克隆的易受攻击代码。

目前业内普遍依据源代码的文本相似性与功能相似性将克隆代码分成四类:1)除了空格与注释外都相同的代码段;2)除了标志符、类型、空格和注释外句法上都相同的代码段;3)对语句做了增/删/改的复制代码段;4)功能上相同但句法上不同的代码段。其中,一些研究者将第1类称为完全克隆,将第2、3类称为近似克隆,将第4类称为语义克隆。

国内外学者已提出许多克隆检测方法及技术并开发出相应的克隆检测工具。这些方法可大致地分成基于文本、基于词法(token)、基于语法(syntax)、基于语义等。

1)基于文本的检测方法。该方法是在软件系统的源代码上直接进行比较处理(只过滤源代码的注释和布局上的不同点),而不将源代码转换成某种中间表示形式。Johnson首次提出基于文本的克隆检测技术:首先将固定行数的代码段哈希,然后利用增量哈希函数来识别出具有相同哈希值的代码段即克隆代码,同时结合使用滑动窗口技术来查找不同长度的克隆代码。

2)基于词法的检测方法。该方法(也称为基于token的方法)首先使用词法分析工具(如lex)将所有源代码的每一行转换成一个token序列,并将所有序列连接成一个token串;接着扫描这个token以查找相似的token子序列,然后报告这些相似子串所对应的源代码为克隆。

3)基于语法的检测方法。该方法是根据相似的代码段应该也有相似的句法结构而设计的。程序被解析成一棵语法树,其中相似的子树所对应的源代码段就是克隆代码。Baxter等人首次将抽象语法树(AST)技术应用在克隆代码检测上,首先将源代码解析成带有标注的语法树,接着将子树哈希到N个桶(bucket)中,然后对同一个桶中的子树比较相似性,进而获得克隆代码。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810267094.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top