0% found this document useful (0 votes)
18 views

Paper 1

The document discusses techniques for tamperproofing software to prevent unwanted modifications of code, such as changes by end users or viruses. Tamperproofing can be built into programs or provided externally by operating systems. Cryptography is suggested as a way to encrypt code and prevent anyone from seeing or modifying it, but there are technical challenges to overcome like distributing keys, runtime performance from decrypting code, and preventing attackers from intercepting decrypted code using a debugger.

Uploaded by

Aparna Sadanand
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Paper 1

The document discusses techniques for tamperproofing software to prevent unwanted modifications of code, such as changes by end users or viruses. Tamperproofing can be built into programs or provided externally by operating systems. Cryptography is suggested as a way to encrypt code and prevent anyone from seeing or modifying it, but there are technical challenges to overcome like distributing keys, runtime performance from decrypting code, and preventing attackers from intercepting decrypted code using a debugger.

Uploaded by

Aparna Sadanand
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Literature Survey Preventing Piracy,Reverse Engineering, and Tampering

TAMPERPROOFING Protection schemes implemented in client software are designed to merely hinder reverse engineering. In contrast, tamperproofing seeks to prevent modification of software code. Unwanted modifications include both manual code changes by end users and automated changes by a virus that,for example, attaches itself to the program and activates every time the program runs. A tamper-proofing mechanism that detects any such modification will disable some or all of the program functionality. Tamperproofing can be either built into the program or external to itfor example, provided as a service by operating systems. A realistic approach would exploit several of the following techniques to provide defense in depth.

Cryptographic techniques
The surest way to prevent someone from modifying software is to prevent that person from seeing the code. Cryptography is commonly used to protect data from prying eyes, and some researchers have suggested that it could also be used to encrypt code for a software program. Although intuitively appealing, this approach must overcome several technical obstacles: Distributing cryptographic keys can present problems unless a trusted infrastructure is in place; The runtime system must decrypt the code before running the program, which can adversely affect performance unless dedicated coprocessors perform the decryption. Most importantly, any tamperproof architecture based on cryptography must not let an attacker intercept decrypted codefor example, using a debuggerand save it in an unencrypted form.

You might also like