Self-Checking Tamper-Proofing Based on Software Behavior Model

With the consistent propulsion of the application software, the protection of software itself becomes a serious issue. A novel algorithm and an approach to behavior self-check for software tamper-proofing is proposed in this paper. To represent the principle of tamper-proofing, a behavior model is used to specify software behavior characteristic while the behavior fingerprint is computed by the secure Hash function. Combined with the program flow controlling and self-decryption technology, behavior self-checking technique can monitor instruction, capture behavior and calculate behavior fingerprint to ensure anti-attack capability of software. Analysis results show that the algorithm is capable of resisting static and dynamic attacks strongly.