Download A generic attack on hashing-based software tamper
Transcript
Chapter 1 Introduction and Overview Software vendors, developers, administrators, and users require mechanisms to ensure that their applications are not modified by unauthorized parties. Most commonly, this need is satisfied through the use of technologies that compute checksums of program code. For example, checksums are used in signed code systems such as Microsoft’s Windows Update [56] to ensure the integrity and authenticity of downloaded programs and patches. Checksums, in the form of one-way hashes, are also used to periodically check on-disk code integrity in systems such as Tripwire [47]. While these mechanisms are useful for protecting against third-party attackers and some kinds of malicious software, they are of little use to developers who wish to protect their applications from modifications by users, administrators, or installed malicious software. Tamper resistance attempts to prevent modifications to software. There are numerous applications of tamper resistance, including: 1. An application developer attempting to employ copy-protection in an application will protect the copy-protection algorithm with software tamper resistance mechanisms. 2. A developer will employ tamper resistance in a game to prevent against mali1