Font Size: a A A

The Research On The Software Watermarking Algorithm Of Instructions Statistics Characteristic With Error-correcting Coding

Posted on:2008-05-20Degree:MasterType:Thesis
Country:ChinaCandidate:Y LuoFull Text:PDF
GTID:2178360215479840Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Computer software is a kind of knowledge-intensive product, which needs the devotion of huge resources in its development. It is the crystallization of wisdom and labor of human beings. The development of the software promotes the prevalence of computer, and also contributes to the progress of society; however, the piracy problem still exists in certain scope, which does harm to the health growth of software industry.Software watermarking is an effective software protection method; it can identify the software property or trace the pirate software by embedding the information of software producer or purchaser into the program. Software watermarking can be classed into dynamic watermarking and static watermarking. Dynamic watermarking, which constructs the watermarking information by making use of characteristics in the execution process of the program, has good robustness but bad universality so it can only be used in complete executable program but not in single module, and it can not prevent multi-attack. Static watermarking, which takes advantage of the static information to embed the watermarking information, has bad robustness, vulnerable from attacks such as increasing abundant code, confusing and de-compiling. Nowadays, the research focuses on making it have good robustness and universality.This paper proposes a kind of software watermarking algorithm based on the characteristic of instructions distribution. The algorithm changes the statistic characteristic of instructions by replacing equivalent instructions, and has the watermarking information embedded by the matching of characteristics and the value of watermarking. When changing the characteristics of instructions distribution, the algorithm constructs the instructions which represent the carrier of watermarking selectively. When the same watermarking is embedded, different programs will still select different watermarking instructions. It is difficult for attackers to launch effective attacks, when they can not know how the instructions representing the carrier of watermarking has been selected, even if they may understand the methods that has been used by embedded watermarking to change the number of instruction characteristics. When testing the watermarking, it can be collected by comparing the differences between the characteristics of instruction distribution before and after watermarking being embedded into program. By using Error-correcting coding, the watermarking information can be corrected even if the attacks change the statistic characteristic of instructions to some extent. The robustness of algorithm has been promoted effectively.In order to test the effect in the practical applications, a lot of experiments have been taken to test the abilities of algorithm, which includes the abilities to prevent the obfuscating attack, decompiling attack and code addition attack. The performance of program before and after watermarking being embedded has been estimated. The result of experiments shows, this algorithm can make sure the robustness of watermarking, while having limited side effects on the performance of the program. The instructions statistic characteristic algorithm using Error-correcting coding is a good start in the research of practical software watermarking technology.
Keywords/Search Tags:software watermarking, Error- correcting code, Instruction characteristics, robustness
PDF Full Text Request
Related items