Title of article
Dwarf Frankenstein is still in your memory: tiny code reuse attacks
Author/Authors
Sadeghi ، AliAkbar - Amirkabir University of Technology , Aminmansour ، Farzane - Amirkabir University of Technology , Shahriari ، HamidReza - Amirkabir University of Technology
Pages
20
From page
53
To page
72
Abstract
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common behaviour of code reuse attacks, which is the construction of a gadget chain. Therefore, the implication of a gadget and the minimum size of an attack chain are a matter of controversy. Conservative or relaxed thresholds may cause false positive and false negative alarms, respectively. The main contribution of this paper is to provide a tricky aspect of code reuse techniques, called tiny code reuse attacks (Tiny-CRA) that demonstrates the ineffectiveness of the threshold based detection methods. We show that with bare minimum assumptions, Tiny-CRA can reduce the size of a gadget chain in shuch a way that no distinction can be detected between normal behaviour of a program and a code-reuse execution. To do so, we exhibit our Tiny-CRA primitives and introduce a useful gadget set available in “libc. We demonstrate the effectiveness of our approach by implementing nine different shell-codes and exploiting real-world buffer overflow vulnerability in HT Editor 2.0.20.
Keywords
Software Security , Code Reuse Attacks , Jump Oriented Programming , Tiny JOP , Kernel Trapper Gadget
Journal title
ISeCure, The ISC International Journal of Information Security
Serial Year
2017
Journal title
ISeCure, The ISC International Journal of Information Security
Record number
2454664
Link To Document