The Continuing Arms Race: Code-Reuse Attacks and Defenses

Front Cover
Per Larsen, Ahmad-Reza Sadeghi
Morgan & Claypool, Feb 23, 2018 - Computers - 302 pages
0 Reviews

As human activities moved to the digital domain, so did all the well-known malicious behaviors including fraud, theft, and other trickery. There is no silver bullet, and each security threat calls for a specific answer. One specific threat is that applications accept malformed inputs, and in many cases it is possible to craft inputs that let an intruder take full control over the target computer system.

The nature of systems programming languages lies at the heart of the problem. Rather than rewriting decades of well-tested functionality, this book examines ways to live with the (programming) sins of the past while shoring up security in the most efficient manner possible. We explore a range of different options, each making significant progress towards securing legacy programs from malicious inputs.

The solutions explored include enforcement-type defenses, which excludes certain program executions because they never arise during normal operation. Another strand explores the idea of presenting adversaries with a moving target that unpredictably changes its attack surface thanks to randomization. We also cover tandem execution ideas where the compromise of one executing clone causes it to diverge from another thus revealing adversarial activities. The main purpose of this book is to provide readers with some of the most influential works on run-time exploits and defenses. We hope that the material in this book will inspire readers and generate new ideas and paradigms.

 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

1 How Memory Safety Violations Enable Exploitation of Programs
1
2 Protecting Dynamic Code
25
3 Diversity and Information Leaks
61
4 CodePointer Integrity
81
5 Evaluating ControlFlow Restricting Defenses
117
6 Attacking Dynamic Code
139
7 Hardware Control Flow Integrity
181
8 MultiVariant Execution Environments
211
References
261
Contributor Biographies
283
Copyright

Other editions - View all

Common terms and phrases

About the author (2018)

Per Larsen is trying his hand as an entrepreneur and co-founded an information security startup—Immunant, Inc.—specializing in exploit mitigation. Previously, he worked for four years as a postdoctoral scholar at the University of California, Irvine. He graduated with a Ph.D. from the Technical University of Denmark in 2011.

Per co-organized the 2015 Dagstuhl Seminar upon which this book is based and has served as program committee member for several academic conferences including USENIX Security, USENIX WOOT, ICDCS, and AsiaCCS. In 2015, he was recognized as a DARPA Riser.

Ahmad Sadeghi is a full professor of Computer Science at TU Darmstadt, Germany, and the Director of the Intel Collaborative Research Institute for Secure Computing (ICRI-SC) at TU Darmstadt. He holds a Ph.D. in computer science from the University of Saarland in Saarbrücken, Germany. Prior to academia, he worked in research and development for telecommunications enterprises, amongst others Ericsson Telecommunications. He is editor-in-chief of IEEE Security and Privacy Magazine, and on the editorial board of ACMBooks. He served five years on the editorial board of the ACM Transactions on Information and System Security (TISSEC), and was guest editor of the IEEE Transactions on Computer-Aided Design (Special Issue on Hardware Security and Trust).

Bibliographic information