Analyzing the Gadgets Towards a Metric to Measure Gadget Quality
Abstract
Current low-level exploits often rely on code-reuse, whereby short sections of code (gadgets) are chained together into a coherent exploit that can be executed without the need to inject any code. Several protection mechanisms attempt to eliminate this attack vector by applying code transformations to reduce the number of available gadgets. Nevertheless, it has emerged that the residual gadgets can still be sufficient to conduct a successful attack. Crucially, the lack of a common metric for "gadget quality" hinders the effective comparison of current mitigations. This work proposes four metrics that assign scores to a set of gadgets, measuring quality, usefulness, and practicality. We apply these metrics to binaries produced when compiling programs for architectures implementing Intel's recent MPX CPU extensions. Our results demonstrate a 17% increase in useful gadgets in MPX binaries, and a decrease in side-effects and preconditions, making them better suited for ROP attacks.
Keywords
Cite
@article{arxiv.1605.08159,
title = {Analyzing the Gadgets Towards a Metric to Measure Gadget Quality},
author = {Andreas Follner and Alexandre Bartel and Eric Bodden},
journal= {arXiv preprint arXiv:1605.08159},
year = {2016}
}
Comments
International Symposium on Engineering Secure Software and Systems, Apr 2016, London, United Kingdom