Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection
ISBN-10: 0321549252
ISBN-13: 9780321549259
Publisher: Addison-Wesley Professional
Copyright: 2010
Format: Paper; 792 pp
Published: 07/24/2009
Status: Instock
Customers outside the U.S., click here.
Table of Contents
Preface xv
About the Authors xxv
Acknowledgments xxvii
Chapter 1: What Is Surreptitious Software? 1
1.1 Setting the Scene 1
1.2 Attack and Defense 6
1.3 Program Analysis 7
1.4 Code Obfuscation 13
1.5 Tamperproofing 32
1.6 Software Watermarking 36
1.7 Software Similarity 43
1.8 Hardware-Based Protection Techniques 49
1.9 Discussion 55
1.10 Notation 58
Chapter 2: Methods of Attack and Defense 59
2.1 Attack Strategies 60
2.2 Defense Strategies 86
2.3 Discussion 114
Chapter 3: Program Analysis 117
3.1 Static Analysis 118
3.2 Dynamic Analysis 145
3.3 Reconstituting Source 170
3.4 Pragmatic Analysis 190
3.5 Discussion 198
Chapter 4: Code Obfuscation 201
4.1 Semantics-Preserving Obfuscating Transformations 202
4.2 Definitions 217
4.3 Complicating Control Flow 225
4.4 Opaque Predicates 246
4.5 Data Encodings 258
4.6 Breaking Abstractions 277
4.7 Discussion 298
Chapter 5: Obfuscation Theory 301
5.1 Definitions 304
5.2 Provably Secure Obfuscation: Possible or Impossible? 307
5.3 Provably Secure Obfuscation: It’s Possible (Sometimes)! 313
5.4 Provably Secure Obfuscation: It’s Impossible (Sometimes)! 335
5.5 Provably Secure Obfuscation: Can It Be Saved? 344
5.6 Discussion 354
Chapter 6: Dynamic Obfuscation 357
6.1 Definitions 360
6.2 Moving Code Around 362
6.3 Encryption 383
6.4 Discussion 398
Chapter 7: Software Tamperproofing 401
7.1 Definitions 405
7.2 Introspection 412
7.3 Algorithm TPTCJ: Response Mechanisms 440
7.4 State Inspection 444
7.5 Remote Tamperproofing 453
7.6 Discussion 464
Chapter 8: Software Watermarking 467
8.1 History and Applications 468
8.2 Watermarking Software 478
8.3 Definitions 480
8.4 Watermarking by Permutation 486
8.5 TamperproofingWatermarks 494
8.6 Improving Resilience 498
8.7 Improving Stealth 505
8.8 Steganographic Embeddings 522
8.9 SplittingWatermark Integers 526
8.10 Graph Codecs 533
8.11 Discussion 537
Chapter 9: Dynamic Watermarking 541
9.1 Algorithm WMCT: Exploiting Aliasing 546
9.2 Algorithm WMNT: Exploiting Parallelism 565
9.3 Algorithm WMCCDKHLSpaths: Expanding Execution Paths 583
9.4 Algorithm WMCCDKHLSbf : Tamperproofing Execution Paths 592
9.5 Discussion 598
Chapter 10: Software Similarity Analysis 601
10.1 Applications 602
10.2 Definitions 611
10.3 k-gram-Based Analysis 616
10.4 API-Based Analysis 625
10.5 Tree-Based Analysis 631
10.6 Graph-Based Analysis 635
10.7 Metrics-Based Analysis 644
10.8 Discussion 652
Chapter 11: Hardware for Protecting Software 655
11.1 Anti-Piracy by Physical Distribution 657
11.2 Authenticated Boot Using a Trusted Platform Module 670
11.3 Encrypted Execution 683
11.4 Attacks on Tamperproof Devices 695
11.5 Discussion 711
Bibliography 713
Index 737
Author Bios
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.Backcover Copy
“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.”This product is a member of the following series. Click on the series name to see the full list of products in the series.
Log in to the Instructor Resource Center
Login name:
Password:
Forgot login/password? | Need to redeem an access code?
Instructor Resource Center File Download
This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.| Cancel | I accept, proceed with download |
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.