[发明专利]一种基于频繁模式挖掘的多线程程序抄袭检测方法有效
申请号: | 201910818878.9 | 申请日: | 2019-08-30 |
公开(公告)号: | CN110532739B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 田振洲;王清;高聪;王忠民;陈彦萍;张恒山 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 孟大帅 |
地址: | 710121 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 频繁 模式 挖掘 多线程 程序 抄袭 检测 方法 | ||
本发明公开了一种基于频繁模式挖掘的多线程程序抄袭检测方法,包括:1)通过动态监控获取程序在同一输入多次执行下的多条执行轨迹;2)预处理程序执行轨迹集,生成模式候选集;3)利用频繁模式挖掘算法处理模式候选集,生成频繁模式集并做Hash处理后构建线程感知胎记;4)计算特定输入下原告和被告程序胎记的相似性;5)基于多个输入下胎记相似性的均值及给定的阈值,做出抄袭判定并输出检测结果。本发明直接以可执行程序为分析对象,无需程序源码存在;利用频繁模式挖掘从同一输入下程序多次运行对应的多条执行轨迹中,提取行为模式生成线程感知胎记,极大地降低了线程交织不确定性的干扰。
技术领域
本发明属于程序执行轨迹分析及软件抄袭检测技术领域,特别涉及一种基于频繁模式挖掘的多线程程序抄袭检测方法。
背景技术
近年来,随着开源软件社区如GitHub、SourceForge等的蓬勃发展,软件行业达到了前所未有的繁荣景象,随之而来的软件抄袭问题亦日益严重,滥用他人代码的情况屡见不鲜。一方面,不乏经济利益驱使的有预谋抄袭,比如近期的“红芯风波”事件,宣称自主研发国产内核的红芯浏览器被证实仅仅是对谷歌Chrome浏览器进行了简单封装;此外,许多大型软件公司经常在项目中集成来自上游公司的一些软件组件,而这些组件往往是以二进制代码的形式交付的,很难保证其中不包含第三方代码。
软件胎记(software birthmark)是从软件代码或其执行过程中抽取出的一些不易改变且可唯一的对软件身份进行标识的特征。胎记技术通过衡量胎记相似性判断软件间可能存在的抄袭,是实现软件抄袭检测的一种行之有效的手段。根据胎记生成方式,可以分为静态和动态两种。前者静态分析程序的代码,基于程序的词法、语法或结构特性等生成胎记;后者则具体地执行程序,利用捕获的执行轨迹信息构建胎记。现有方法在一定程度上解决了抄袭检测的问题,但依然存在不少局限性,包括:
1)很多方法只能用于源码存在的情形,包括目前专业鉴定机构采取的主要是源代码比对手段,而很多情况下程序源码是无法获取的,特别是商业软件,为躲避检测通常以可执行文件的形式发布。除非司法机关介入,被告往往不会轻易交出其源码,而且在法律诉讼中,被告可以以举证责任在原告为由拖延或拒不交出源码。
2)为增加检测难度,抄袭者往往会借助自动化的代码混淆/迷乱工具,在保证程序语义不变的前提下,通过改变程序控制结构、引入垃圾代码、调整代码布局等方式,轻易地生成与原程序看起来非常不一样的代码。特别地,除非可事先对软件进行脱壳处理,加壳混淆方式会有效地挫败基于静态分析的检测方法。总体而言,现有方法对抗代码混淆的能力依然较弱,很多方法甚至难以应对不同编译器和编译选项带来的干扰。
3)动态胎记技术因能更精准地刻画软件的行为和语义,比静态胎记技术往往表现出更优秀的抗混淆能力和检测效果。然而,线程交织的不确定性使得多线程程序的行为也表现出很大的不确定性,导致传统动态胎记技术在分析多线程程序时存在很大的随机性。比如,在相同输入下对同一个多线程程序执行多次,从这些执行轨迹中单独构建的动态胎记往往会体现出很大的不同,极端情况下甚至会使得判定同一个程序与其自身不存在抄袭关系。多线程编程已逐渐成为软件开发的主流,如何应对线程交织干扰是动态胎记技术必须要解决的问题。
综上,亟需研究一种针对多线程程序抄袭的检测方法。
发明内容
本发明的目的在于提供一种基于频繁模式挖掘的多线程程序抄袭检测方法,以解决上述存在的一个或多个技术问题。本发明的方法,直接作用于二进制代码,能对抗主流的代码混淆手段,特别是可有效处理线程交织不确定性的干扰。
为达到上述目的,本发明采用以下技术方案:
本发明的一种基于频繁模式挖掘的多线程程序抄袭检测方法,包括以下步骤:
S1,对待分析程序实施动态监控,捕获其在某输入I下的动态执行轨迹;
S2,利用k-gram算法处理步骤S1获得的执行轨迹,生成模式候选集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910818878.9/2.html,转载请声明来源钻瓜专利网。