Visible to the public AT-ROP: Using static analysis and binary patch technology to defend against ROP attacks based on return instruction

TitleAT-ROP: Using static analysis and binary patch technology to defend against ROP attacks based on return instruction
Publication TypeConference Paper
Year of Publication2020
AuthorsXu, Shenglin, Xie, Peidai, Wang, Yongjun
Conference Name2020 International Symposium on Theoretical Aspects of Software Engineering (TASE)
Keywordsbinary patch, composability, feature extraction, human factors, Linux, parameter registers, Programming, pubcrawl, Resiliency, return oriented programming, rop attacks, Scalability, Software, static analysis, Tools, Writing
AbstractReturn-Oriented Programming (ROP) is one of the most common techniques to exploit software vulnerabilities. Although many solutions to defend against ROP attacks have been proposed, they still have various drawbacks, such as requiring additional information (source code, debug symbols, etc.), increasing program running cost, and causing program instability. In this paper, we propose a method: using static analysis and binary patch technology to defend against ROP attacks based on return instruction. According to this method, we implemented the AT- ROP tool in a Linux 64-bit system environment. Compared to existing tools, it clears the parameter registers when the function returns. As a result, it makes the binary to defend against ROP attacks based on return instruction without having to obtain the source code of the binary. We use the binary challenges in the CTF competition and the binary programs commonly used in the Linux environment to experiment. It turns out that AT-ROP can make the binary program have the ability to defend against ROP attacks based on return instruction with a small increase in the size of the binary program and without affecting its normal execution.
DOI10.1109/TASE49443.2020.00036
Citation Keyxu_at-rop_2020