From the Back Cover
“This book gives thorough, scholarly coverage of an area of growing importance in computer security and is a ‘must have' for every researcher, student, and practicing professional in software protection.
—Mikhail Atallah, Distinguished Professor of Computer Science at Purdue University
Theory, Techniques, and Tools for Fighting Software Piracy, Tampering, and Malicious Reverse Engineering
The last decade has seen significant progress in the development of techniques for resisting software piracy and tampering. These techniques are indispensable for software developers seeking to protect vital intellectual property.Surreptitious Softwareis the first authoritative, comprehensive resource for researchers, developers, and students who want to understand these approaches, the level of security they afford, and the performance penalty they incur.
Christian Collberg and Jasvir Nagra bring together techniques drawn from related areas of computer science, including cryptography, steganography, watermarking, software metrics, reverse engineering, and compiler optimization. Using extensive sample code, they show readers how to implement protection schemes ranging from code obfuscation and software fingerprinting to tamperproofing and birthmarking, and discuss the theoretical and practical limitations of these techniques.
- Mastering techniques that both attackers and defenders use to analyze programs
- Using code obfuscation to make software harder to analyze and understand
- Fingerprinting software to identify its author and to trace software pirates
- Tamperproofing software using guards that detect and respond to illegal modifications of code and data
- Strengthening content protection through dynamic watermarking and dynamic obfuscation
- Detecting code theft via software similarity analysis and birthmarking algorithms
- Using hardware techniques to defend software and media against piracy and tampering
- Detecting software tampering in distributed system
- Understanding the theoretical limits of code obfuscation
About the Author
Christian Collberg received a B.Sc. in computer science and numerical analysis and a Ph.D. in computer science from Lund University, Sweden. He is currently an associate professor in the department of computer science at the University of Arizona and has also worked at the University of Auckland, New Zealand, and the Chinese Academy of Sciences in Beijing. Professor Collberg is a leading researcher in the intellectual property protection of software, and also maintains an interest in compiler and programming language research. In his spare time he writes songs, sings, and plays guitar for The Zax and hopes one day to finish his Great Swedish Novel.