The stack is a critical memory structure to ensure the correct execution of programs because control flow changes through the data stored in it, such as return addresses and function pointers. Thus the stack has been a popular target by many attacks and exploits like stack smashing attacks and return-oriented programming (ROP). We present a novel system to detect the corruption of the stack layout using a robust stack unwinding technique and detailed stack layouts extracted from the stack unwinding information for exception handling widely available in off-the-shelf binaries. Our evaluation with real-world ROP exploits has demonstrated successful detection of them with performance overhead of only 3.93% on average transparently without accessing any source code or debugging symbols of a protected binary.
CITATION STYLE
Fu, Y., Rhee, J., Lin, Z., Li, Z., Zhang, H., & Jiang, G. (2016). Detecting stack layout corruptions with robust stack unwinding. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9854 LNCS, pp. 71–94). Springer Verlag. https://doi.org/10.1007/978-3-319-45719-2_4
Mendeley helps you to discover research relevant for your work.