Font Size: a A A

Dataflow Dependency And API Call Based Software Watermarking Algorithm

Posted on:2015-06-16Degree:MasterType:Thesis
Country:ChinaCandidate:X HanFull Text:PDF
GTID:2308330482479121Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Software watermarking is a technique that embeds copyright, authentication information and other information into a program to achieve the piracy identification and tracking. The embedded watermark should difficult to be detected by attackers, and can be extracted successfully after suffering obfuscation attacks. Software watermarking can be used in copyright protection, piracy tracking, copy control and other purposes. After summarizing the current development of software protection and software watermarking, this paper studies the effect of program’s variable dependency and system API calls on software watermarking’s robustness and stealth, and then designs three corresponding software watermarking algorithms, includes:(1) A dataflow dependency based software watermarking is proposed. Firstly, encode the watermark as a dataflow dependency graph, then select some variables of the original program as the nodes of the graph, and finally embed the watermark into the program by adding the data dependencies among the nodes. Experiments and analysis show that this algorithm has good resilience to various attacks. The algorithm also has good stealth for the code embedded into the program is similar to the original.(2) Based on the good resilience of the system API calls, a dynamic software watermarking algorithm based on API coding is proposed. Firstly, some API calls are chosen to construct a dictionary mapping table. Then, the watermark is encoded to the corresponding API call sequences according to dictionary mapping table. Finally the API call sequences are embedded into the program by modifying the source code. This paper gives a detailed analysis on this algorithm: in terms of false positive and false negative, the upper limit in theory of the watermarking algorithm is given. In terms of robustness, the ability of resilience to attacks of random API insertion is given from the perspective of the probability. Experiments and analysis show that this algorithm makes the false positive rate and false negative rate to be 1.2*10-13 and 8.3*10-17 respectively with proper parameters. It has good embedding overhead and stealth.(3) To further improve the performance of the API call based software watermarking, we propose a dynamic parameter encoding of system API call based software watermarking algorithm. Firstly, select parts of system API calls of the original program, then encode the watermark as corresponding API calls by modifying their parameters, and finally embed the system API calls into the program. This paper gives the analysis on the false positive, false negative, stealth and robustness. The experiment results and analysis shows that the performance of the proposed algorithm has been enhanced.In the end, the paper summarizes the research work and expects the next work.
Keywords/Search Tags:Software Protection, Software Watermarking, System API Calls, Software Encoding, Dataflow, Dataflow Dependency
PDF Full Text Request
Related items