1. 基于冗余代码的控制流混淆算法.
- Author
-
乐德广, 赵 杰, and 钱振江
- Subjects
- *
ALGORITHMS , *REVERSE engineering , *ENGINEERING mathematics , *INFORMATION resources management , *EQUATIONS , *SECURE Sockets Layer (Computer network protocol) - Abstract
The flattening control flow is applied through combining with opaque predicates such as chaos mapping and congruence equation algorithms. These algorithms cause a lot of extra cost. Besides, the flattening control flow combined with opaque predicate can not defense the dynamic reverse attack. In order to resolve these problems, this paper proposed to insert the redundant block, which structure was similar to basic block, and produced randomly, so that it was different to basic block. Therefore, it was difficult for attacker to differ redundant block from basic block. Then, it flattened the control flow with basic and redundant blocks, which further obfuscated the structure of control flow. Besides, it strengthened the branch variable by constructing the dynamic assignment algorithm of branch function, which improved the obfuscation resilience. This paper tested the proposed control flow obfuscation algorithm through the programs of mbed TLS from the control flow analysis, reverse engineering analysis and performance analysis. The results of test show the proposed algorithm not only improves the obfuscation potency, but also can protect the control flow information of program and resist static and dynamic reverse analysis. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF