基于程序控制流的静态软件胎记算法研究
2020-03-13赵雅霖雷聚超唐俊勇
计算机应用与软件 2020年3期
赵雅霖 雷聚超 唐俊勇
(西安工业大学计算机科学与工程学院 陕西 西安 710021)
0 引 言
随着网络高速发展,人们对各种软件的使用也越来越频繁,软件给人们生活带来了极大的便利和巨大的经济效益。在这些利益的背后,很多商家或者个人通过不正当手段来盗取他人的软件以获取非法利益,给软件著作者带来了很大的损失。商业软件联盟(BSA)在2018年全球软件调查报告中指出,全球PC的软件盗版率为37%,而中国的软件盗版率更是高达66%。盗版软件每年造成的损失高达3 590亿美元。可见,盗版软件严重危害了版权所有者的利益。
针对软件抄袭问题,目前主要有两种解决方法。一种是对软件本身的保护,保证软件不被盗取;另一种是在软件被盗取之后,通过找到软件中可以证明软件版权信息的方法来维权。由于Java具有跨平台运行和开源的特点,利用逆向分析手段将Java指令恢复为源代码很容易,因此无法做到对软件的绝对保护。在软件被盗取后,目前常见的证明手段是通过软件水印[1]或软件胎记[2]的方法。软件水印是指向软件代码中嵌入唯一的标识符的技术手段,尽管在嵌入的时候已经对这些信息做了一些隐蔽处理,但目前可以通过多种方法对这些水印进行篡改和移除。
软件胎记是指程序中一些与生俱来的,固有的特征,它具有很强的抗攻击能力,无论代码被进行了怎样的篡改和迷惑,其胎记依然保持不变。在软件胎记的研究中,陈林等[3]提出一种将程序中所有k-gram碎片频率构成向量生成的软件胎记算法;……
登录APP查看全文
