[发明专利]基于最小分支路径函数胎记的软件局部抄袭证据生成方法有效
申请号: | 201711322531.2 | 申请日: | 2017-12-12 |
公开(公告)号: | CN107967152B | 公开(公告)日: | 2020-06-19 |
发明(设计)人: | 刘烃;徐茜;佟菲菲;刘欣宇;郑庆华 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F8/75 | 分类号: | G06F8/75 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 田洲 |
地址: | 710049 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 最小 分支 路径 函数 胎记 软件 局部 抄袭 证据 生成 方法 | ||
本发明公开一种基于最小分支路径函数胎记的软件局部抄袭证据生成方法,通过对程序进行逆向分析,提取出程序的静态信息;基于函数的控制流图、基本块、指令序列等,提取基于最小分支路径的函数胎记,以表征函数的行为特征;计算函数胎记之间的相似度,从而得到函数之间的相似性;基于函数间的相似度,结合函数调用图,构建出最优相似子图集,将其作为程序间局部抄袭的判断依据和有力的抄袭证据,为真实的软件侵权案件提供初步证据。
技术领域
本发明涉及程序特征发现及软件抄袭检测领域,特别涉及一种软件局部抄袭证据生成的方法。
背景技术
随着计算机软件产业迅速发展,软件的安全问题得到了越来越多的研究人员、教育人员及软件企业的重视。而开源软件的出现,更是将软件抄袭问题推到了风头浪尖。近年来,各类软件侵权案件时有发生,Verizon、eBay、Apple等公司都曾卷入相关案件当中。
为了对抗软件抄袭,保护软件知识产权,国内外的研究人员提出了大量的软件抄袭检测技术。以应用场景和技术手段作为基准,可将现有的软件抄袭检测技术归为三类:源码抄袭检测技术,基于软件水印的抄袭检测技术,以及基于软件胎记的抄袭检测技术。
但是,目前的软件抄袭检测技术存在一系列的局限性:
1)目前大部分具有权威性的软件抄袭检测方法是针对源代码的,而在现实中,软件所有者通常是以二进制文件的形式发布软件,软件源代码在未取得一定的证据之前是很难获取;
2)抄袭者为了躲避软件抄袭检测,通常使用成熟、强力的代码混淆技术和工具,使得抄袭程序与原程序在表面上呈现很大的不同,使得一部分软件抄袭检测方法失效;
3)相较于整体抄袭,局部抄袭更为普遍,一方面是因为局部抄袭更容易符合抄袭者的要求,更加灵活,另一方面也因为使得计算出的软件与原版本之间的整体相似度较低,从而导致许多整体检测方法失效。
4)现有的抄袭检测都只是提供一个简单的结果,没有具体且有力的抄袭证据作为佐证。
发明内容
本发明的目的在于提出一种基于最小分支路径函数胎记的软件局部抄袭证据生成方法,以应对当前的软件抄袭检测的需要。本发明通过对程序进行逆向分析,提取出程序的静态信息;基于函数的控制流图、基本块、指令序列等,提取基于最小分支路径的函数胎记,以表征函数的行为特征;计算函数胎记之间的相似度,从而得到函数之间的相似性;基于函数间的相似度,结合函数调用图,构建出最优相似子图集,将其作为程序间局部抄袭的判断依据和有力的抄袭证据,为真实的软件侵权案件提供初步证据。
为了实现上述目的,本发明采用以下技术方案:
基于最小分支路径函数胎记的软件局部抄袭证据生成方法,包括如下步骤:
步骤S101:基于反汇编技术,对原告程序P及被告程序Q对应的可执行二进制文件进行反汇编,记录并分析生成的汇编代码,对于其包含的静态信息进行预处理并以数据表的形式存储;
步骤S102:基于程序的函数内静态控制流图,将一个分支的起始基本块到下一个分支的起始基本块之间的基本块所包含的指令序列作为函数的一条最小分支路径,一个函数Fid的函数胎记FBid是其所有最小分支路径构成的集合PATH={pathid,i|i=0,1,…n},提取原告程序P与被告程序Q内所有函数对应的函数胎记PB={FBi|i=0,1,…,m1}以及QB={FBj'|j=0,1,…,m2};n为函数胎记FBid的所有最小分支路径的个数,m1和m2分别为原告程序P与被告程序Q中所有函数胎记的个数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711322531.2/2.html,转载请声明来源钻瓜专利网。