UPDF AI

Software Diversification Protection Methods for Binary Programs

Yingchao Chen,Junchao Wang,Xin Zhou,J. Pang

2024 · DOI: 10.1109/ICSP62122.2024.10743227
International Conference on the Software Process · 0 Citations

Abstract

Software diversification is an effective software protection method against reverse engineering and code reuse attacks, which can provide heterogeneous redundant execution bodies for mimetic defense mechanisms. Most existing software diversification methods require access to the source code, which can provide defenders with more valuable information for devising effective defense strategies. However, due to commercial copyright and the purpose of preventing software piracy, developers often keep their software closed-source, making it difficult to access the source code. Therefore, a method called R2BF (ReCooking and Randomizing Binary File) is proposed, which combines decompilation and diversification compilation techniques to address the difficulty of obtaining the source code. This method involves diversifying the source code through compilation to achieve software diversification for binary executable files. Security and performance testing of diversified C programs has shown that diversified binary executable files can mitigate vulnerabilities resulting from code reuse, validating that this method can enhance the security of binary programs and is feasible for software protection. The diversified binary executable files are nearly identical to the original, non-diversified files in terms of file size and execution time, and may even exhibit acceleration and optimization effects in certain scenarios.