Font Size: a A A

Research And Implementation Of Software Watermarking Algorithm Based On .NET Stack Balance

Posted on:2009-09-21Degree:MasterType:Thesis
Country:ChinaCandidate:F LiFull Text:PDF
GTID:2178360242491014Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Respect of intellectual property is the key to the protection of high technology and the development of knowledge economy. However, software is characterized as high added value, easy copy, low copies cost and so on, so software piracy is serious and the software industry is badly influenced. In China the phenomenon of software piracy often occurs and the rate is 86%, which takes the fourth place in the top 20 countries and is just next to those of Vietnam, Zimbabwe and Indonesia. The direct economic loss caused by software piracy in China is 3.884 billion dollars.The situation of soft piracy is serious in China and the technology of software protection comes to a climax. Watermark is a newly developed anti-piracy technology, which is involved in many fields such as software engineering, reverse engineering, society engineering, graph theory, compiler principle, operation system, cryptography, information security, et al. Watermark verifies the copy right without the limits on program execution, which is adapted to the policy of software manufacturers that the protection of intellectual property and the occupancy of market are simultaneously achieved. So its'technology has attracted much attention of software manufacturers and academic circles. Many watermark algorithms have been developed in short time. However, it is necessary for a good watermark algorithm to resist various attacks and not to cause bad influences on software. So the research is very difficult and it is still an open problem to give an authentically practical watermark algorithm.In this subject considering the characteristic that stack balance is necessary for the environment of the .NET language, a watermark algorithm is proposed based on stack balance. In this algorithm every module of a program is divided and the stack balance of dividing points is changed to embed the information of watermark using equivalent command substitution. The divided program is separated as two parts, which are open modules and secret ones. The open modules run on an unsafe host while the secret ones are implemented on a secure host. The two parts communicate through remote process calls. Both of the two parts have no complete information of the program, so an attacker can just obtain the interface behaviors between the two parts on the premise that it couldn't recover the secret modules. Because of the short of necessary information, it is very difficult to decompile a large-scale program by static or dynamic analysis, which guarantees the robustness of software.To test the practical effectiveness, the stack-balance-based watermark algorithm is implemented in an E-bidding system. The complexity is verified by experiments for the case of trying to obtain the content of secret modules and the time cost of the interface between the open modules and the secrete ones is evaluated. The experimental results show that the system can confine the influence of program running in a reasonable bound and guarantees the secret and robustness to a suitable extent. So this algorithm is a good attempt for the practical watermark technology.
Keywords/Search Tags:software protection, watermark, program section, robustness
PDF Full Text Request
Related items