Abstract:
With the wide use of computer technologies, software has become indispensable in our daily life and the corresponding security issues in software systems are more and more prominent. Especially, how to design a practical protection scheme is quite important and has great significance in the software research and development industries. As one of the key methods for software protection, the software tamper proofing technique attracts much attention from researchers both at home and abroad in recent years. Such technique aims at preventing the critical program information from the unauthorized modifications and uses, and also at generating the responses once the tampering is detected. Presented in this paper is a review of the analysis of software tamper proofing. In our discussion, different tamper proofing methods are classified into two categories: the static tamper proofing methods based on the code obfuscation as well as the dynamic tamper proofing methods based on the verification-response. The advantages and disadvantages, strengths and weaknesses of these methods are presented in detail. In the end, through the survey of these tamper proofing techniques, a summary is obtained which includes not only the characteristics, but also the existing problems and future work of the software tamper proofing technique.