A quantitative comparable framework measuring code obfuscation efficiency


Background

Code Obfuscation is a program transformation for the purpose of increasing the difficulty of program understanding. It is a useful method to guarantee the security in mobile agent and protect the program from reverse engineering. At present, the interests on code obfuscation focus on two major aspects: the construction of code obfuscation algorithm and the proof of its efficiency. Although the construction of code obfuscation algorithm grows more mature, the proof of its efficiency is still blank in the formal semantic foundation. Meanwhile, many researches have shown the limitation of code obfuscation as a security method, which put the application of code obfuscation into doubt. Therefore, how to measure and prove the efficiency of code obfuscation is an important problem. The contribution of this paper is to present a new formal framework for proving the efficiency of code obfuscation algorithm. Based on abstract interpretation framework, we construct the comparable code obfuscation framework, which can formally prove its efficiency under the limited environment of static analysis and compare the efficiency among code obfuscation algorithms.

Abstract

Code obfuscation, which is an effective program transformation, can obscure the program understanding and thus protect the program from reverse engineering. The efficiency of code obfuscation is of prime importance in the research field. However, the existing comparable framework based on partial order cannot measure the efficiency between any code obfuscations. In this paper, we propose a mathematical comparable framework measuring obfuscation efficiency, which provides a quantitative approach for measuring the efficiency. We extend the probabilistic abstract interpretation by introducing a new domain whose element is compact operator. Then we can quantitatively compare the code obfuscation by defining the distance between the elements in this Banach space.

Keywords

probabilistic abstract interpretation; program transformation; program analysis; code obfuscation

Submitted


Last modified: Dec 20, 2006