Skip to main content

Twisting Additivity in Program Obfuscation

  • Conference paper
Information Systems, Technology and Management (ICISTM 2012)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 285))

  • 1204 Accesses

Abstract

Additivity plays a key role in program analysis. It is the basis for designing Galois connection based abstract interpretations, it makes a Data-Flow Analysis (DFA) problem easy being convertible into a Kildall’s general form, and provides a lattice-theoretic model for disjunctive analysis. In this paper we consider reversible transformers respectively making any monotone function additive and maximally non-additive. We show that, under non restrictive hypothesis, these transformers exist and that they provide a theoretical foundation for the obfuscation of DFA.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andréka, H., Greechie, R.J., Strecker, G.E.: On Residuated Approximations. In: Kreowski, H.-J., Herrlich, H., Preuß, G., Ehrig, H. (eds.) Categorical Methods in Computer Science. LNCS, vol. 393, pp. 333–339. Springer, Heidelberg (1989)

    Google Scholar 

  2. Balasundaram, V., Kennedy, K.: A technique for summarizing data access and its use in parallelism enhancing transformations. In: PLDI, New York, NY, pp. 41–53 (1989)

    Google Scholar 

  3. Birkhoff, G.: Subdirect unions in universal algebra. Bull. Amer. Math. Soc. 50, 764–768 (1944)

    Article  MathSciNet  MATH  Google Scholar 

  4. Blyth, T., Janowitz, M.: Residuation theory. Pergamon Press (1972)

    Google Scholar 

  5. Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: 25th POPL, pp. 184–196. ACM Press (1998)

    Google Scholar 

  6. Cousot, P., Cousot, R.: Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction of Approximation of Fixed Points. In: 4th POPL, pp. 238–252 (1977)

    Google Scholar 

  7. Cousot, P., Cousot, R.: Abstract Interpretation framework. Journal of Logic and Computation 2(4), 511–547 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  8. Cousot, P., Cousot, R.: Static determination of dynamic properties of programs. In: Proc. 2nd Int. Symp. on Programming, Dunod, pp. 106–130 (1976)

    Google Scholar 

  9. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: 6th POPL, San Antonio, TX, pp. 269–282. ACM Press (1979)

    Google Scholar 

  10. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: 5th POPL, Tucson, AZ, pp. 84–97. ACM Press (1978)

    Google Scholar 

  11. Dalla Preda, M., Giacobazzi, R.: Semantics-based code obfuscation using abstract interpretation. Journal of Computer Security 17(6), 855–908 (2009)

    Google Scholar 

  12. Davey, B.A., Priestly, H.A.: Introduction to Lattices and Order. Cambridge University Press (2002)

    Google Scholar 

  13. Feng, W., Su, J., Greechie, R.: On calculating residuated approximations. Algebra Universalis (to appear)

    Google Scholar 

  14. Giacobazzi, R.: Hiding information in completeness holes - New perspectives in code obfuscation and watermarking. In: 6th IEEE International Conference SEFM, pp. 7–20 (2008)

    Google Scholar 

  15. Giacobazzi, R., Jones, N.D., Mastroeni, I.: Obfuscation by Partial Evaluation of Distorted Interpreters. In: Proc. ACM SIGPLAN Partial Evaluation and Program Manipulation (PEPM 2012), Philadelphia, USA (to appear, 2012)

    Google Scholar 

  16. Giacobazzi, R., Ranzato, F.: Uniform Closures: Order-Theoretically Reconstructing Logic Program Semantics and Abstract Domain Refinements. Information and Computation 145(2), 153–190 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  17. Giacobazzi, R., Ranzato, F.: Optimal domains for disjunctive abstract interpretation. Science of Computer Programming 32(1-3), 177–210 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  18. Gierz, G., Hofmann, K.H., Keimel, K., Lawson, J.D., Mislove, M., Scott, D.S.: A Compendium of Continuous Lattices. Springer, Berlin (1980)

    Book  MATH  Google Scholar 

  19. Granger, P.: Static analysis of arithmetic congruence. Int. J. Comput. Math. 30, 165–190 (1989)

    Article  MATH  Google Scholar 

  20. Granger, P.: Static Analysis of Linear Congruence Equalities Among Variables of a Program. In: Abramsky, S., Maibaum, T.S.E. (eds.) CAAP 1991 and TAPSOFT 1991. LNCS, vol. 493, pp. 169–192. Springer, Heidelberg (1991)

    Google Scholar 

  21. Greechie, R.J., Janowitz, M.F.: Personal communication (2005)

    Google Scholar 

  22. Kildall, G.A.: Global expression optimization during compilation. In: 1st POPL, Boston, MA, pp. 194–206. ACM Press (1973)

    Google Scholar 

  23. Majumdar, A., Thomborson, C.: Manufactoring opaque predicates in distributed systems for code obfuscation. In: 29th Australasian Computer Science Conference (ACSC 2006), vol. 48, pp. 187–196 (2006)

    Google Scholar 

  24. Masdupuy, F.: Semantic Analysis of Interval Congruences. In: Pottosin, I.V., Bjorner, D., Broy, M. (eds.) FMP&TA 1993. LNCS, vol. 735, pp. 142–155. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  25. Mauborgne, L.: Tree Schemata and Fair Termination. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 302–319. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  26. Nielson, F., Nielson, H., Hankin, C.: Principles of Program Analysis. Springer (2004)

    Google Scholar 

  27. Plaisted, D.A.: Theorem proving with abstraction. Artificial Intelligence 16, 47–108 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  28. Su, J., Feng, W., Greechie, R.J.: Disitributivity conditions and the order-skeleton of a lattice. Algebra Universalis 66(4), 337–354 (2011)

    Article  MATH  Google Scholar 

  29. Szor, P.: The Art of Computer Virus Research and Defense. Addison-Wesley Professional (2005)

    Google Scholar 

  30. Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: obstructing static analysis of programs, Technical Report CS-2000-12, Department of Computer Science, University of Virginia (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dalla Preda, M., Feng, W., Giacobazzi, R., Greechie, R., Lakhotia, A. (2012). Twisting Additivity in Program Obfuscation. In: Dua, S., Gangopadhyay, A., Thulasiraman, P., Straccia, U., Shepherd, M., Stein, B. (eds) Information Systems, Technology and Management. ICISTM 2012. Communications in Computer and Information Science, vol 285. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29166-1_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29166-1_30

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29165-4

  • Online ISBN: 978-3-642-29166-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics