[发明专利]一种基于频繁模式挖掘的多线程程序抄袭检测方法有效

专利信息
申请号: 201910818878.9 申请日: 2019-08-30
公开(公告)号: CN110532739B 公开(公告)日: 2021-04-30
发明(设计)人: 田振洲;王清;高聪;王忠民;陈彦萍;张恒山 申请(专利权)人: 西安邮电大学
主分类号: G06F21/14 分类号: G06F21/14
代理公司: 西安通大专利代理有限责任公司 61200 代理人: 孟大帅
地址: 710121 陕西*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 频繁 模式 挖掘 多线程 程序 抄袭 检测 方法
【权利要求书】:

1.一种基于频繁模式挖掘的多线程程序抄袭检测方法,其特征在于,包括以下步骤:

S1,对待分析程序实施动态监控,捕获其在某输入I下的动态执行轨迹;

S2,利用k-gram算法处理步骤S1获得的执行轨迹,生成模式候选集;

S3,利用频繁模式挖掘算法处理步骤S2获得的模式候选集,生成频繁模式集;将Hash处理后的频繁模式及频率构成的键值对集合,作为待分析程序在输入I下的线程感知胎记;

S4,按照步骤S1至步骤S3,分别生成原告程序和被告程序对应输入I的线程感知胎记,计算二者在输入I下的线程感知胎记间的相似性;

S5,提供多个不同的输入并重复步骤S4,依次得到原告和被告程序在对应输入下胎记的相似性,取相似性的均值作为原告和被告程序的相似性,输出相似值并依据检测阈值给出抄袭判定;

其中,步骤S1中,捕获其在某输入I下的动态执行轨迹的具体方式包括:

对待检测程序p,使用同一输入I执行程序m次,通过监控捕获在输入I下的执行轨迹集其中,si表示第i次执行对应的执行轨迹;步骤S1中,对待分析程序实施动态监控的方法具体包括:利用Pin动态插桩框架植入监控代码,捕获程序执行过程中的系统调用,记录由系统调用构成的执行轨迹,轨迹形式为ID#NAME#RVAL;其中,ID表示系统调用号,NAME为系统调用名,RVAL为系统调用的返回值;

步骤S2中,模式候选集生成方法具体包括:

对于中的每条执行轨迹si,首先依据RVAL字段和ID字段过滤去除执行轨迹中的干扰项,获得过滤后的执行轨迹;

然后迭代利用k-gram算法切分过滤后的执行轨迹,依次得到特定k值下的短序列集gramk(si),合并所有短序列集得执行轨迹si的模式候选集

最后迭代处理轨迹集中的每条执行轨迹,合并所有轨迹的模式候选集,得待分析程序p在输入I下的模式候选集

2.根据权利要求1所述的一种基于频繁模式挖掘的多线程程序抄袭检测方法,其特征在于,步骤S3中,线程感知胎记的生成方法包括:

首先,利用频繁模式挖掘算法,处理生成频繁模式集其中,fi表示通过频繁模式挖掘得到的某一频繁模式;

然后,对所有频繁模式依次进行Hash处理,将频繁模式的Hash值及其频度构成的键值对集合作为程序p对应输入I的线程感知胎记;其中,hs(fi)和sp(fi)分别表示频繁模式fi的hash值和频度。

3.根据权利要求2所述的一种基于频繁模式挖掘的多线程程序抄袭检测方法,其特征在于,步骤S4中,线程感知胎记的相似性计算方法包括:

给定原告程序p和被告程序q在输入I下的线程感胎记和采用公式(1)实现胎记相似性计算:

式(1)中,len返回频繁模式的长度,KSet返回键值对集合中的所有键,Val返回键值对集合中特定键的值,ci为所有键的交集CSet中的某一元素,αi为中所有键的集合中的某一元素,βi为中所有键的集合中的某一元素。

4.根据权利要求3所述的一种基于频繁模式挖掘的多线程程序抄袭检测方法,其特征在于,还包括:提供多个不同的输入并重复步骤S1至步骤S4,依次得到原告和被告程序在对应输入下胎记的相似性,取相似性的均值作为原告和被告程序的相似性;

此时采用公式(2)实现程序相似性计算:

其中,表示程序输入的集合。

5.根据权利要求4所述的一种基于频繁模式挖掘的多线程程序抄袭检测方法,其特征在于,以公式(3)为抄袭判定标准:

其中,ε为预设判定阈值。

6.根据权利要求1至5中任一项所述的一种基于频繁模式挖掘的多线程程序抄袭检测方法,其特征在于,依据RVAL字段和ID字段过滤去除执行轨迹中的干扰项的过程中,干扰项识别原则为:

对于执行轨迹中的每一项,如果其RVAL字段的值为0xffffffff,表明该项对应的系统调用未成功,被认定为干扰项;

或者,系统调用ID为45,系统调用名为brk,被认定为干扰项;系统调用ID为90,系统调用名为mmap,被认定为干扰项;系统调用ID为91,系统调用名为munmap,被认定为干扰项;系统调用ID为192,系统调用名为mmap2,被认定为干扰项;系统调用ID为219,系统调用名为madvise,被认定为干扰项;系统调用ID为240,系统调用名为futex,被认定为干扰项。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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