CN102122335B - Method for restricting illegal JAVA software operation by using software watermarks - Google Patents

Method for restricting illegal JAVA software operation by using software watermarks Download PDF

Info

Publication number
CN102122335B
CN102122335B CN2010106217752A CN201010621775A CN102122335B CN 102122335 B CN102122335 B CN 102122335B CN 2010106217752 A CN2010106217752 A CN 2010106217752A CN 201010621775 A CN201010621775 A CN 201010621775A CN 102122335 B CN102122335 B CN 102122335B
Authority
CN
China
Prior art keywords
watermark
software
java
counterfoil
java software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2010106217752A
Other languages
Chinese (zh)
Other versions
CN102122335A (en
Inventor
王建民
王朝坤
余志伟
戴鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN2010106217752A priority Critical patent/CN102122335B/en
Publication of CN102122335A publication Critical patent/CN102122335A/en
Application granted granted Critical
Publication of CN102122335B publication Critical patent/CN102122335B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention relates to a method for restricting illegal JAVA software operation by using software watermarks, belonging to the technical field of software protection. The method comprises the following steps of: embedding a watermark in JAVA software submitted by a user; then, constructing a JAVA software extraction module and a JAVA software watermark verification module in a JAVA software operation system; extracting the watermark from the JAVA software submitted by the user with a watermark extraction method in the water extraction module; and verifying the extracted watermark to determine the validity of the JAVA software submitted by the user. The method in the invention has good confidentiality, high safety, and better attack resistance capacity for attacks of malicious software. In the method, the software watermark has short extraction time, and the software embedded with the watermark can still keep good operation performance. The method has good portability, a watermark method is selected according to user demands, and the JAVA software requirement on safety and operation efficiency can be better satisfied.

Description

A kind of method of utilizing software watermark to limit illegal JAVA running software
Technical field
The present invention relates to a kind of method of utilizing software watermark to limit illegal JAVA running software, belong to the Software Protection Technique field.
Background technology
Under the open network environment; Software runtime environment faces problems such as illegal program invasion, the various isomery of system platform, and JAVA software has obtained using widely owing to its good transplantability, therefore; Guarantee JAVA running software security of system, have important practical significance.
In order to protect JAVA running software security of system, " sandbox " model has obtained using widely.In JAVA " sandbox " model, the execution environment of JAVA software is divided into two parts by strictness: all resources that local code can access computer; And far-end code (mainly being the Applet that from network, downloads) can only operate in the sandbox the inside of strict restriction.One of assembly of security manager (Security Manager) conduct " sandbox " is used for define system and allows program accessed resources in the sandbox, stops rogue program unauthorized access and altered data, thereby guarantees security of system.Yet this scheme lacks checking for the JAVA software in this locality, exists by the possibility of malware attacks.
Software watermark is meant that secret is embedded in the information with sign meaning in the software, comprises two important steps, i.e. the interpolation of software watermark and extraction.The proposition of software watermark is to be used to identify software copyright information at first, thereby combats copyright piracy activity.The mentioned software watermark of this paper is used to identify the legitimacy of software.The software watermark technology is one of Software Protection Technique.
Summary of the invention
The objective of the invention is to propose a kind of method of utilizing software watermark to limit illegal JAVA running software, have only legal software to move through making up credible JAVA software runtime environment, making, with the operation of restriction illegal software based on software watermark.
The software watermark that utilizes that the present invention proposes limits the method for illegal JAVA running software, comprises following each step:
(1) embed watermark in the JAVA software that the user submits to, telescopiny may further comprise the steps:
(1-1) make up a JAVA software watermark generation module, according to the user's who submits JAVA software to identity generation JAVA software watermark;
(1-2) make up a JAVA software watermark merge module that comprises multiple watermark embedding method.These watermark embedding methods comprise uncertain predicate watermark embedding method, local variable table watermark embedding method, and the vector statistics watermark embedding method is schemed theoretical watermark embedding method and dynamic watermark embedding method etc. repeatedly partly.
(1-3) according to the requirement of submitting the JAVA software users to, from JAVA software watermark merge module, select a kind of software watermark embedding grammar, detailed process is following:
(1-3-1), then select the dynamic watermark embedding grammar if the customer requirements software watermark has stronger robustness;
(1-3-2), then select static watermark embedding method if customer requirements is accomplished the embedding and the extraction of software watermark within a short period of time;
(1-3-3), then select half dynamic watermark embedding grammar if the user requires software watermark to have stronger robustness simultaneously and accomplishes the embedding and the extraction of software watermark within a short period of time;
The watermark embedding method of (1-4) selecting according to the JAVA software users; In the JAVA software that the user submits to, add the JAVA software watermark that step (1-1) generates; Obtain having the JAVA software of JAVA software watermark; And export a watermark counterfoil, this watermark counterfoil is stored in the assigned catalogue of JAVA running software system.Comprise following information in the watermark counterfoil: the filename of the JAVA file before user identity, the embed watermark, the filename of the JAVA file behind the embed watermark, watermark embed time, watermark embedding method title, watermark extracting method title and watermark and key;
(2), make up a JAVA software watermark extraction module according to the extraction water mark method title in the above-mentioned watermark counterfoil;
(3) make up a JAVA software watermark authentication module, may further comprise the steps:
(3-1) from the assigned catalogue of JAVA running software system, read above-mentioned watermark counterfoil,, then change step (3-2) if read success, unsuccessful as if reading, then change step (3-5);
(3-2) watermark extracting method in the watermark counterfoil that reads is verified; If exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method; Then change step (3-3); If do not exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then prompting can not find suitable watermark extracting method, commentaries on classics step (3-5);
(3-3) adopt the above-mentioned watermark extracting method that reads, read the key in the watermark counterfoil, from JAVA software, extract watermark, if extract the watermark success, then change step (3-4), if extract failure, then prompting can not find watermark, changes step (3-5);
(3-4) watermark of extracting is verified,, then allowed the JAVA running software,, then point out the watermark mistake, change step (3-5) if the watermark and the watermark in the watermark counterfoil of extracting are inconsistent if the watermark and the watermark in the watermark counterfoil of extracting are consistent;
(3-5) watermark verification failure, JAVA software is out of service.
The software watermark that utilizes that invention proposes limits the method for illegal JAVA running software, has the following advantages:
1, the method for protection of the present invention JAVA running software security of system, crypticity is good, and is safe, for Malware the attack of JAVA running software system had good anti-attack ability.
2, in the inventive method, the method for in JAVA running software system, software watermark being extracted and verifying, the extraction time of software watermark is short, and the software behind the embed watermark still can keep good runnability.
3, the method for protection of the present invention JAVA running software security of system has good transplantability, that is: once can supply after the compiling multiple JAVA running software system to use.
4, in the method for protection JAVA running software security of system of the present invention; The corresponding relation of water mark method and user's request is set up in proposition; Can select water mark method according to user's request, therefore can satisfy the demand of user better security of JAVA running software and operational efficiency.
Description of drawings
Fig. 1 is the FB(flow block) of the inventive method.
Embodiment
The software watermark that utilizes that the present invention proposes limits the method for illegal JAVA running software, and its FB(flow block) is as shown in Figure 1, comprises following each step:
(1) embed watermark in the JAVA software that the user submits to, telescopiny may further comprise the steps:
(1-1) make up a JAVA software watermark generation module, according to the user's who submits JAVA software to identity generation JAVA software watermark;
(1-2) make up a JAVA software watermark merge module that comprises multiple watermark embedding method;
(1-3) according to the requirement of submitting the JAVA software users to, from JAVA software watermark merge module, select a kind of software watermark embedding grammar, detailed process is following:
(1-3-1), then select the dynamic watermark embedding grammar if the customer requirements software watermark has stronger robustness;
(1-3-2), then select static watermark embedding method if customer requirements is accomplished the embedding and the extraction of software watermark within a short period of time;
(1-3-3), then select half dynamic watermark embedding grammar if the user requires software watermark to have stronger robustness simultaneously and accomplishes the embedding and the extraction of software watermark within a short period of time;
The watermark embedding method of (1-4) selecting according to the JAVA software users; In the JAVA software that the user submits to, add the JAVA software watermark that step (1-1) generates; Obtain having the JAVA software of JAVA software watermark; And export a watermark counterfoil; This watermark counterfoil is stored in the assigned catalogue of JAVA running software system, comprises following information in the watermark counterfoil: the filename of the JAVA file before user identity, the embed watermark, the filename of the JAVA file behind the embed watermark, watermark embed time, watermark embedding method title, watermark extracting method title and watermark and key;
(2), make up a JAVA software watermark extraction module according to the extraction water mark method title in the above-mentioned watermark counterfoil;
(3) make up a JAVA software watermark authentication module, may further comprise the steps:
(3-1) from the assigned catalogue of JAVA running software system, read above-mentioned watermark counterfoil,, then change step (3-2) if read success, unsuccessful as if reading, then change step (3-5);
(3-2) watermark extracting method in the watermark counterfoil that reads is verified; If exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method; Then change step (3-3); If do not exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method, then change step (3-5);
(3-3) adopt the above-mentioned watermark extracting method that reads, read the key in the watermark counterfoil, from JAVA software, extract watermark,, then change step (3-4),, then change step (3-5) if extract failure if extract the watermark success;
(3-4) watermark of extracting is verified,, then allowed the JAVA running software,, then change step (3-5) if the watermark and the watermark in the watermark counterfoil of extracting are inconsistent if the watermark and the watermark in the watermark counterfoil of extracting are consistent;
(3-5) watermark verification failure, JAVA software is out of service.
Can must in JAVA running software system, add software watermark and extract and authentication module in the operation of JAVA running software system for the method for utilizing software watermark to limit illegal JAVA running software that the present invention is proposed, detailed process is following:
1, obtains the source code (version is jdk1.7) that is used to form JAVA running software system from the internet;
2, from the JAVA command execution process of JAVA running software system source code, find the inlet of JAVA file;
3, the porch that the JAVA software watermark authentication module that the JAVA software watermark extraction module that the inventive method is made up and the present invention make up adds the JAVA file to, its process is:
At first the JAVA software watermark extraction module of the present invention's structure and the JAVA software watermark authentication module of the present invention's structure are placed under the expansion class loading catalogue of JAVA running software system;
Adopt JAVA language and native language alternant way to add watermark extracting module and the software watermark authentication module code that the present invention makes up then in the porch of above-mentioned JAVA file.
Secondly, install software openjdk1.6 and relevant depended software (for example make, gcc, ant, freetype) thereof on the extraction that has software watermark in the needs compiling and the computing machine of the JAVA running software system of authentication module, and the environment for use of software is set;
Once more, carry out make sanity order, guarantee to satisfy the compiling condition;
At last, carry out the make order, accomplish the process that recompiles.

Claims (1)

1. method of utilizing software watermark to limit illegal JAVA running software is characterized in that this method comprises following each step:
(1) embed watermark in the JAVA software that the user submits to, telescopiny may further comprise the steps:
(1-1) make up a JAVA software watermark generation module, according to the user's who submits JAVA software to identity generation JAVA software watermark;
(1-2) make up a JAVA software watermark merge module that comprises multiple watermark embedding method;
(1-3) according to the requirement of submitting the JAVA software users to, from JAVA software watermark merge module, select a kind of watermark embedding method, detailed process is following:
(1-3-1), then select the dynamic watermark embedding grammar if the customer requirements software watermark has stronger robustness;
(1-3-2), then select static watermark embedding method if customer requirements is accomplished the embedding and the extraction of software watermark within a short period of time;
(1-3-3), then select half dynamic watermark embedding grammar if the user requires software watermark to have stronger robustness simultaneously and accomplishes the embedding and the extraction of software watermark within a short period of time;
The watermark embedding method of (1-4) selecting according to the JAVA software users; In the JAVA software that the user submits to, add the JAVA software watermark that step (1-1) generates; Obtain having the JAVA software of JAVA software watermark; And export a watermark counterfoil; This watermark counterfoil is stored in the assigned catalogue of JAVA running software system, comprises following information in the watermark counterfoil: the filename of the JAVA file before user identity, the embed watermark, filename, embed watermark time, embed watermark method name, watermark extracting method title and the watermark and the key of the JAVA file behind the embed watermark;
(2), make up a JAVA software watermark extraction module according to the watermark extracting method title in the above-mentioned watermark counterfoil;
(3) make up a JAVA software watermark authentication module, may further comprise the steps:
(3-1) from the assigned catalogue of JAVA running software system, read above-mentioned watermark counterfoil,, then change step (3-2) if read success, unsuccessful as if reading, then change step (3-5);
(3-2) the watermark extracting method title in the watermark counterfoil that reads is verified; If exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method title; Then change step (3-3); If do not exist in the JAVA software watermark extraction module one with the watermark counterfoil in the corresponding watermark extracting method of watermark extracting method title, then change step (3-5);
(3-3) adopt the watermark extracting method that from JAVA software watermark extraction module, reads, read the key in the watermark counterfoil, from JAVA software, extract watermark,, then change step (3-4),, then change step (3-5) if extract failure if extract the watermark success;
(3-4) watermark of extracting is verified,, then allowed the JAVA running software,, then change step (3-5) if the watermark and the watermark in the watermark counterfoil of extracting are inconsistent if the watermark and the watermark in the watermark counterfoil of extracting are consistent;
(3-5) watermark verification failure, JAVA software is out of service.
CN2010106217752A 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks Active CN102122335B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106217752A CN102122335B (en) 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106217752A CN102122335B (en) 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks

Publications (2)

Publication Number Publication Date
CN102122335A CN102122335A (en) 2011-07-13
CN102122335B true CN102122335B (en) 2012-11-14

Family

ID=44250891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106217752A Active CN102122335B (en) 2010-12-24 2010-12-24 Method for restricting illegal JAVA software operation by using software watermarks

Country Status (1)

Country Link
CN (1) CN102122335B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740316A (en) * 2018-12-27 2019-05-10 北京三未信安科技发展有限公司 A kind of insertion of dynamic watermark, verification method and system and dynamic watermark processing system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014153679A1 (en) * 2013-03-27 2014-10-02 Irdeto B.V. Watermarking executable files

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024571B2 (en) * 2006-12-22 2011-09-20 Schlumberger Technology Corporation Method of and system for watermarking application modules
CN100557618C (en) * 2008-09-05 2009-11-04 清华大学 A kind of method that in computer program, embeds and extract watermark
CN101477610B (en) * 2008-12-25 2011-05-18 中国人民解放军信息工程大学 Software watermark process for combined embedding of source code and target code

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740316A (en) * 2018-12-27 2019-05-10 北京三未信安科技发展有限公司 A kind of insertion of dynamic watermark, verification method and system and dynamic watermark processing system

Also Published As

Publication number Publication date
CN102122335A (en) 2011-07-13

Similar Documents

Publication Publication Date Title
CN100342296C (en) Method for realizing computer software intruder preventing edition based on confidence computation module chip
Chen et al. Detecting android malware using clone detection
Collberg et al. Software watermarking: Models and dynamic embeddings
US7395433B2 (en) Method and system for sustainable digital watermarking
CN106778103A (en) Reinforcement means, system and decryption method that a kind of Android application program anti-reversing is cracked
Ren et al. Droidmarking: resilient software watermarking for impeding android application repackaging
KR101503785B1 (en) Method And Apparatus For Protecting Dynamic Library
US20170116410A1 (en) Software protection
CN1234081C (en) Method and device for realizing computer safety and enciphering based on identity confirmation
CN101872404B (en) Method for protecting Java software program
CN102592080B (en) flash malicious file detection method and device
KR20070001893A (en) Tamper-resistant trusted virtual machine
CN101436141A (en) Firmware upgrading and encapsulating method and device based on digital signing
Hachez A comparative study of software protection tools suited for e-commerce with contributions to software watermarking and smart cards
US20050198507A1 (en) Import address table verification
Piao et al. Server‐based code obfuscation scheme for APK tamper detection
US20090287917A1 (en) Secure software distribution
EP2095289A1 (en) Maintaining code integrity in a central software development system
CN103065072A (en) Method and device to improve Java software jailbreak difficulty and copyright verification method
CN107273723A (en) A kind of Android platform applied software protection method based on so file shell addings
CN109241707A (en) Application program obscures method, apparatus and server
KR102482880B1 (en) Reverse engineering prevention system and method for defense weapon system embedded SW protection
Qian et al. Malicious behavior analysis for android applications
EP2045748B1 (en) Anti-tamper techniques
CN102122335B (en) Method for restricting illegal JAVA software operation by using software watermarks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant