Abstract
In this paper we introduce a semantic-based approach for code obfuscation. The aim of code obfuscation is to prevent malicious users to disclose properties of the original source program. This goal can be precisely modeled by abstract interpretation, where the hiding of properties corresponds to abstract the semantics. We derive a general theory based on abstract interpretation, where the potency of code obfuscation can be measured by comparing hidden properties in the lattice of abstract interpretations. Semantic-based code obfuscation is applied to show that well known program transformation methods, such as constant propagation, can be seen as code obfuscation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S.: On the (Im)possibility of Obfuscating Programs. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 1–18. Springer, Heidelberg (2001)
Collberg, C., Thomborson, C.: Watermarking, Tamper-Proofing, and Obfuscation-Tools for Software Protection. IEEE Trans. Software Eng., 735–746 (2002)
Chandrasekharan, S., Debray, S.: Deobfuscation: Improving Reverse Engineering of Obfuscated Code. Draft (2005)
Collberg, C., Thomborson, C.: Breaking Abstractions and Unstructural Data Structures. In: Proc. of the 1994 IEEE Internat. Conf. on Computer Languages (ICCL 1998), pp. 28–37 (1998)
Collberg, C., Thomborson, C., Low, D.: A Taxonomy of Obfuscating Transformations. Technical Report 148, Dept. of Computer Science, The Univ. of Auckland (1997)
Collberg, C., Thomborson, C., Low, D.: Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of programming languages (POPL 1998), pp. 184–196. ACM, New York (1998)
Cortesi, A., Filé, G., Giacobazzi, R., Palamidessi, C., Ranzato, F.: Complementation in abstract interpretation. ACM Trans. Program. Lang. Syst. 19(1), 7–47 (1997)
Cousot, P.: Méthodes itératives de construction et d’approximation de points fixes d’opérateurs monotones sur un treillis, analyse sémantique des programmes. PhD Thesis, Université Scientifique et Médicale de Grenoble, Grenoble, France (1978)
Cousot, P.: Constructive Design of a Hierarchy of Semantics of a Transition System by Abstract Interpretation. Theoretical Computer Science 277(1-2), 47–103 (2002)
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the 4th ACM Symp. on Principles of Programming Languages (POPL 1977), pp. 238–252. ACM Press, New York (1977)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Conference Record of the 6th ACM Symp. on Principles of Programming Languages (POPL 1979), pp. 269–282. ACM Press, New York (1979)
Cousot, P., Cousot, R.: Systematic Design of Program Transformation Frameworks by Abstract Interpretation. In: Conference Record of the Twentyninth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 178–190. ACM Press, New York (2002)
Cousot, P., Cousot, R.: An Abstract Interpretation-Based Framework for Software Watermarking. In: Conference Record of the Thirtyfirst Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 173–185. ACM Press, New York (2004)
D’Anna, L., Matt, B., Reisse, A., Van Vleck, T., Schwab, S., LeBlanc, P.: Self-Protecting Mobile Agents Obfuscation Report. Technical report, Network Associates Laboratory (2003)
Filé, G., Ranzato, F.: Complementation of abstract domains made easy. In: Proceedings of the 1996 Joint International Conference and Symposium on Logic Programming (JICSLP 1996), pp. 348–362. The MIT Press, Cambridge (1996)
Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretations complete. J. of the ACM 47(2), 361–416 (2000)
Morgado, J.: Some results on the closure operators of partially ordered sets. Portug. Math. 19(2), 101–139 (1960)
Paige, R.: Future directions in program transformations. In: ACM SIGPLAN Not., vol. 32, pp. 94–97 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dalla Preda, M., Giacobazzi, R. (2005). Semantic-Based Code Obfuscation by Abstract Interpretation. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds) Automata, Languages and Programming. ICALP 2005. Lecture Notes in Computer Science, vol 3580. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11523468_107
Download citation
DOI: https://doi.org/10.1007/11523468_107
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-27580-0
Online ISBN: 978-3-540-31691-6
eBook Packages: Computer ScienceComputer Science (R0)