论文部分内容阅读
尊重知识产权是发展知识经济,提高民族自主创新能力的关键。软件产业是知识经济的重要组成部分,但由于软件具有高附加值、易复制、复制成本低等特点,软件盗版猖獗,软件产业备受困扰。软件保护技术研究角度多、实验手段丰富,但现有保护技术以保障软件产品的分发、运行安全、满足分布式需求为主,在抵御盗版方面实际效果差,无突破性进展。根据美国商用软件联盟(BSA,TheBusiness Software Alliance)和国际数据公司(IDC,International DataCorporation)2007年公布的调查报告,2006年在全球PC机上安装的软件35%是非法的,造成直接经济损失390亿美元,与2005年相比,增加了50多亿美元。我国软件盗版现象突出,盗版率高达86%,直接经济损失38.84亿美元,盗版已经严重影响了软件产业的发展。软件胎记是一种新的软件保护技术,通过提取、比较软件固有特征辨别盗版。其证明版权、不限制程序执行的思想,符合软件厂商既保护,又占领市场的策略,很快受到厂商和学术界双方的高度重视。近年来,已提出少量软件胎记算法,对软件胎记技术进行了有益的探索,但还存在不少问题需要深入研究。基于k-gram文本分析技术,本文提出一种新的动态软件胎记方案。方案首先对特定输入下的程序执行轨迹进行切片,得到能反应程序动态行为的指令序列,然后通过k-gram方法,将上述中间码指令序列划分成以k为单位的指令子序列集合,最后计算每一个子序列的hash值,将此hash值集合作为胎记。为评估本胎记性能,本文对胎记的可信性和可靠性分别进行了测试。实验结果表明,动态k-gram胎记在保持静态k-gram胎记高可信性的同时,可靠性也明显提高。基于k-gram的动态软件胎记,是指令级软件胎记技术的有益探索,具有较好的研究价值。