Automatic return oriented programming (ROP) technology can effectively improve the efficiency of ROP constructed, but the existing research results still have some shortcomings including needing more address space, ...Automatic return oriented programming (ROP) technology can effectively improve the efficiency of ROP constructed, but the existing research results still have some shortcomings including needing more address space, poor generality. In order to solve these problems, this paper presents an improved ROP auto-constructor QExtd. Firstly, we design a Turing-complete language QExtdL and provide the basis of gadgets analysis. Secondly, we represent the MI instruction and realize precise process of side-effect instructions for improving the efficiency of automatic construction. At last, we establish a three-layer language conversion mechanism, making it convenient for users to construct ROP. Theoretical and experimental data show that the QExtd automatic construction method is much better than the ROPgadget based on syntax. In addition, the proposed method succeeds in constructing gadgets of ROP with the probability of 84% for programs whose sizes are more than 20 KB and whose directory is "/usr/bin" in Ubuntu, which proves that the construction capability improves significantly.展开更多
基金Supported by the National High Technology Research and Development Program of China(863 Program)(2012AA012902)
文摘Automatic return oriented programming (ROP) technology can effectively improve the efficiency of ROP constructed, but the existing research results still have some shortcomings including needing more address space, poor generality. In order to solve these problems, this paper presents an improved ROP auto-constructor QExtd. Firstly, we design a Turing-complete language QExtdL and provide the basis of gadgets analysis. Secondly, we represent the MI instruction and realize precise process of side-effect instructions for improving the efficiency of automatic construction. At last, we establish a three-layer language conversion mechanism, making it convenient for users to construct ROP. Theoretical and experimental data show that the QExtd automatic construction method is much better than the ROPgadget based on syntax. In addition, the proposed method succeeds in constructing gadgets of ROP with the probability of 84% for programs whose sizes are more than 20 KB and whose directory is "/usr/bin" in Ubuntu, which proves that the construction capability improves significantly.