Annual Computer Security Applications Conference (ACSAC) 2018

Full Program »

Now You See Me: Real-time Dynamic Function Call Detection

Efficient detection and instrumentation of function calls is fundamental for a variety of dynamic analysis techniques, including dynamic callgraph construction, control-flow integrity, and automatic vulnerability discovery. A common way of detecting calls at the machine code level is to look for CALL instructions. However, optimizing compilers frequently implement function tail calls with JMP instructions instead, and distinguishing an intra-procedural jump from a JMP-based function call is not straightforward. Despite the importance of making this distinction, prior research has not produced a reliable solution. In this paper, we address the problem of dynamic function call detection in real-time. We propose a heuristic-based approach named iCi to efficiently and automatically instrument calls, including conventional CALLs and JMP-based calls, at runtime. iCi does not rely on source code, debug information, symbol tables or static analysis. We show that iCi achieves an f-score of 0.95 in the worst case, regardless of optimization level. We release both our implementation and the oracle we used for our evaluation as open source.

Franck de Goër

France

Sanjay Rawat

India

Dennis Andriesse
VU Sec
Netherlands

Herbert Bos
VU Sec
Netherlands

Roland Groz
LIG - Univ. Grenoble-Alpes
France

 



Powered by OpenConf®
Copyright©2002-2018 Zakon Group LLC