软件胎记作为软件独有的内部属性,常被用来检测不同软件之间的相似度。在研究软件胎记的基础上,提出一种将2种不同粒度级的动态胎记相结合的软件胎记提取方法。该方法以程序执行时调用的系统函数及其频率作为粗粒度级胎记,用户自定义函数执行时的指令基本块作为细粒度级胎记,将2种胎记相结合作为软件的最终胎记。仿真实验结果表明,与单一粒度级别的胎记方法相比,该方法提高了软件胎记的可信性和可靠性,具有更强的抗攻击能力。
As unique internal properties, software birthmark is often used to detect the similarity between different software. On the basis of researching software birthmark, this paper proposes a new method combining two dynamic birthmarks with different granularity to be a new software birthmark. The coarse-graired birthmark is the system function called by the executing program and the call frequency, and the fine-grained birthmark is the set of basic block instruction when user-defined function is executing. The combination of the two birthmarks is the final software birthmark. Simulation experimental results show that compared with the method using single-granularity birthmark, the proposed method improves the credibility and the reliability of software birthmark, and it has stronger ability to resist attacks.