摘要

Software birthmark is a promising technique for detecting software piracy. Currently, many software birthmarks have been proposed, but the evaluations of these birthmarks are mainly done through experiments and there is no theoretical framework, which makes it difficult to formally analyze and certify the effectiveness of software birthmarks. To solve this problem, a semantic framework for software birthmarks is proposed based on abstract interpretation in this paper. First, two models, which characterize the criteria for the copy relation and program transformation attacks respectively, are given by abstract interpretation. Then, based on these two models, the semantic definition of software birthmarks is presented, and the credibility and the resilience of software birthmarks are formally proved in the proposed semantic framework. Furthermore, software birthmarks are compared with respect to their credibilities and resilience in the lattice of abstract interpretation. Finally, the effectiveness of the proposed framework is demonstrated by evaluating and comparing two typical software birthmarks, the static API birthmark and the static n-gram birthmark.

全文