A Comparative Analysis of Software Protection Schemes
Muhammad Khan1, Muhammad Akram2, and Naveed Riaz3
1,2Shaheed Zulfikar Ali Bhutto Institute of Sciences and Technology, Islamabad, Pakistan
3College of Computer Science and Information Technology, University of Dammam, Saudi Arabia
Abstract: In the era of software globalization, the need for securing software is much sought to ensure its smooth functioning for continuous availability of services to the users. Particularly, in cloud computing environment, all the software in the cluster needs to be secured and shielded against unauthorized accesses. Software crackers are always in the search of flaws in the software to obtain access to the software functionally by penetrating into the software skeleton. This paper reviews and critically analyzes various software protection techniques, both software-based and hardware-based, that can help control the software piracy issues in order to determine their efficacy and specific use in different environments and scenarios. The software protection techniques explored in this paper include cryptography, software watermarking, secure access scheme, software aging, guards, obfuscation and multi-block hashing techniques. The paper also discusses the taxonomy of the software protection techniques and the probable attack models that can be launched against each technique to evade the protection mechanism.
Keywords: Software tempering, software reversing, cryptography, watermarking, digital rights management.
Received March 21, 2013; accept April 2, 2014