[发明专利]基于静态胎记的软件抄袭检测方法有效

专利信息
申请号: 201811092227.8 申请日: 2018-09-19
公开(公告)号: CN109241706B 公开(公告)日: 2021-04-30
发明(设计)人: 王曙燕;孙家泽;赵鹏飞 申请(专利权)人: 西安邮电大学
主分类号: G06F21/12 分类号: G06F21/12;G06F21/16
代理公司: 北京汇信合知识产权代理有限公司 11335 代理人: 吴甘棠
地址: 710061 陕西*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 基于静态胎记的软件抄袭检测方法,针对原来抄袭检测方法抗迷惑性和可信性较低而提出的,首先选定源程序和可疑程序,并确定迭代深度;对源程序和可疑程序进行分析得到元数据,从元数据中提取API调用信息和方法的指令执行序列,以API调用信息和方法的指令序列作为输入产生静态程序胎记,通过对两个程序的程序胎记对比,得到两个程序胎记之间的相似度,通过对比相似度最终给出是否抄袭的结论。本发明在指令序列的对比上没有采用传统的k‑gram算法,而是采用LCS算法,并且在软件胎记的生成上综合了API调用和指令序列两个方面的因素。最终得到的软件胎记在保证可信性的前提下抗迷惑性有显著提高。
搜索关键词: 基于 静态 胎记 软件 抄袭 检测 方法
【主权项】:
1.一种基于静态胎记的软件抄袭检测方法,其特征在于包括以下步骤:(1)由用户指定源工程PA和PA中的源类A以及可疑工程PB和PB中的可疑类B,再选定迭代深度d{d≥0};(2)静态分析A,B编译后得到的中间文件classA和classB,将A中所记录的nA个方法的信息结构化的存储在中,同时将A中所有API调用的字面量存储在中;将B中所记录的nB个方法的信息结构化的存储在中,同时将B中所有API调用的字面量存储在中;分别比较得到类在API调用方面的相似度simAPI和类在指令序列比较方面的相似度simins,比较步骤如下:①.统计包含的类调用数目,记为m1包含的类调用数目,记为m2,其中相同的类调用数目m1∩m2中所有不重复的类调用数目为m1∪m2,源类A与可疑类B在API调用方面的相似度为②.对中的每一个方法M实施以下步骤:Ⅰ.遍历M中包含m个有序指令ins1,ins2,...insm,记正在遍历的指令为insj,若insj是一个调用其他方法的指令,且调用的方法是类所在工程P中存在的方法,则用该方法的指令序列替代insj。当ins1,ins2,...insm遍历完毕后d=d‑1;Ⅱ.重复Ⅰ,直到d=0或M中任意一项的指令序列中都不包含指向工程P中存在的方法的指令时,停止;Ⅲ.将M中每一个指令剥离操作数,生成M在迭代深度为d时的指令序列seq;③.建立矩阵Matrix[nA][nB],其中Matrix[i][j]所存储的值为源类A中第i个方法与可疑类B中第j个方法的相似度,比较两个方法的相似度如下:Ⅰ.记方法M1在迭代深度为d时剥离了操作数的指令序列为seq1,其长度为len1;记方法M2在迭代深度为d时剥离了操作数的指令序列为seq2,其长度为len2;用户指定该次检测的碎片阈值为threshold;Ⅱ.构建LCS比较矩阵LCS[len1][len2],其中LCSi,j记录了seq1在i位置上的指令与seq2在j位置上的指令的比较情况。若seqi≠seqj,则令LCSi,j=0;若seqi=seqj且i=0||j=0,则令LCSi,j=1;若seqi=seqj且i≠0&j≠0,则令LCSi,j=LCSi‑1,j‑1+1;Ⅲ.定义trace为LCSr,s,...,LCSi‑1,j‑1,LCSi,j,LCSi+1,j+1,...,LCSp,q,其中LCSr,s=1,并且LCSp+1,q+1=0||p=len1||q=len2。找出LCS比较矩阵中所有的trace,遍历所有trace,若该trace中最大元素值大于threshold,则将该最大元素值添加到集合pieces中;Ⅳ.两个方法的相似度计算公式为④.对矩阵Matrix[nA][nB],记录每一行最大值为则源类A与可疑类B在指令序列方面的相似度为(3)计算源类A与可疑类B的相似度,相似度计算公式为其中f(x)为sigmod函数,f(x)作用为将输入映射到[0,1]区间内,α为相似度在API调用方面的权重,β为相似度在指令序列方面的权重,而bais为偏置,bais的作用为调整f(x)的净输入。(4)最终根据步骤(3)中得到的源类A与可疑类B的相似度,判断两个类是否存在抄袭关系,若simA,B∈[0,ε],则判定两类之间存在抄袭;若simA,B∈[1‑ε,1],则判定两类之间不存在抄袭;否则simA,B∈(ε,1‑ε),则无法判定,其中ε为一个小于0.5的检测阈值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201811092227.8/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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