skip to main content
10.1145/1314276.1314290acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
Article

Slicing obfuscations: design, correctness, and evaluation

Published:29 October 2007Publication History

ABSTRACT

The goal of obfuscation is to transform a program, without affecting its functionality, such that some secret information within the program can be hidden for as long as possible from an adversary armed with reverse engineering tools. Slicing is a form of reverse engineering which aims to abstract away a subset of program code based on a particular program point and is considered to be a potent program comprehension technique. Thus, slicing could be used as a way of attacking obfuscated programs. It is challenging to manufacture obfuscating transforms that are provably resilient to slicing attacks.We show in this paper how we can utilise the information gained from slicing a program to aid us in designing obfuscations that are more resistant to slicing. We extend a previously proposed technique and provide proofs of correctness for our transforms. Finally, we illustrate our approach with a number of obfuscating transforms and provide empirical results using software engineering metrics.

References

  1. Business Software Alliance. Second annual BSA and IDC software piracy study, May 2005. Available from www.bsa.org/globalstudy/upload/2005-Global-Study-English.pdf.Google ScholarGoogle Scholar
  2. Paul Anderson and Tim Teitelbaum. Software inspection using CodeSurfer. In Proceedings of the Workshop on Inspection in Software Engineering (WISE 2001), Paris, France, July 2001. IEEE Computer Society.Google ScholarGoogle Scholar
  3. Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil P. Vadhan, and Ke Yang. On the (im)possibility of obfuscating programs. In Proceedings of the 21st Annual International Cryptology Conference on Advances in Cryptology, pages 1--18. Springer-Verlag, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. David Binkley and Mark Harman. An empirical study of predicate dependence levels and trends. In ICSE '03: Proceedings of the 25th International Conference on Software Engineering, pages 330--339, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. David Binkley and Mark Harman. A large-scale empirical study of forward and backward static slice size and context sensitivity. In ICSM '03: Proceedings of the International Conference on Software Maintenance, pages 44--53, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Phillipe Biondi and Fabrice Desclaux. Silver needle in the Skype. Presentation at BlackHat Europe, March 2006. Available from www.blackhat.com/html/bh-media-archives/bh-archives-2006.html.Google ScholarGoogle Scholar
  7. Christian Collberg, Clark D. Thomborson, and Douglas Low. A taxonomy of obfuscating transformations. Technical Report 148, Department of Computer Science, University of Auckland, July 1997.Google ScholarGoogle Scholar
  8. Christian Collberg, Clark D. Thomborson, and Douglas Low. Manufacturing cheap, resilient, and stealthy opaque constructs. In POPL '98: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 184--196, New York, NY, USA, 1998. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, 13(4):451--490, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Willem-Paul de Roever and Kai Engelhardt. Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1998.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Stephen Drape. Obfuscation of Abstract Data-Types. DPhil thesis, Oxford University Computing Laboratory, 2004.Google ScholarGoogle Scholar
  12. Stephen Drape, Oege de Moor, and Ganesh Sittampalam. Transforming the .NET Intermediate Language using Path Logic Programming. In Principles and Practice of Declarative Programming, pages 133--144. ACM Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Stephen Drape and Anirban Majumdar. Design and Evaluation of Slicing Obfuscations. Technical Report 311, University of Auckland, New Zealand, June 2007.Google ScholarGoogle Scholar
  14. Stephen Drape, Anirban Majumdar, and Clark Thomborson. Slicing aided design of obfuscating transforms. In IEEE/ACIS ICIS 2007: In proceedings of the International Computing and Information Systems Conference (ICIS 2007), Melbourne, Australia, 2007. IEEE Computer Society.Google ScholarGoogle ScholarCross RefCross Ref
  15. Keith Brian Gallagher and James R. Lyle. Using program slicing in software maintenance. IEEE Transactions on Software Engineering, 17(8):751--761, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Susan Horwitz, Thomas Reps, and David Binkley. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems (TOPLAS), 12(1):26--60, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ganeshan Jayaraman, Venkatesh Prasad Ranganath, and John Hatcliff. Kaveri: Delivering the Indus Java program slicer to Eclipse. In FASE, pages 269--272. Lecture Notes In Computer Science, Springer Verlag, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Anirban Majumdar, Antoine Monsifrot, and Clark D. Thomborson. On evaluating obfuscatory strength of alias-based transforms using static analysis. In ADCOM 2006: Proceedings of the 14th International Conference on Advanced Computing and Communication (ADCOM 2006), Mangalore, India, 2006. IEEE Computer Society.Google ScholarGoogle ScholarCross RefCross Ref
  19. Anirban Majumdar, Clark D. Thomborson, and Stephen Drape. A survey of control-flow obfuscations. In Information Systems Security, Second International Conference, ICISS 2006, Kolkata, India, pages 353--356, December 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Timothy M. Meyers and David Binkley. Slice-based cohesion metrics and software intervention. In WCRE '04: Proceedings of the 11th Working Conference on Reverse Engineering (WCRE'04), pages 256--265, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Linda M. Ott and Jeffrey J. Thuss. Slice based metrics for estimating cohesion. In Proceedings of the IEEE-CS International Software Metrics Symposium, pages 78--81, 1993.Google ScholarGoogle Scholar
  22. Juergen Rilling and Tuomas Klemola. Identifying comprehension bottlenecks using program slicing and cognitive complexity metrics. In IWPC '03: Proceedings of the 11th IEEE International Workshop on Program Comprehension, pages 115--124, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Nuno Santos, Pedro Pereira, and Luís Moura e Silva. A Generic DRM Framework for J2ME Applications. In Olli Pitkänen, editor, First International Mobile IPR Workshop: Rights Management of Information (MobileIPR), pages 53--66. Helsinki Institute for Information Tecnhology, August 2003.Google ScholarGoogle Scholar
  24. Frank Tip. A survey of program slicing techniques. Technical Report CS-R9438, CWI (Centre for Mathematics and Computer Science), Amsterdam, The Netherlands, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Sharath K. Udupa, Saumya K. Debray, and Matias Madou. Deobfuscation: Reverse engineering obfuscated code. In WCRE '05: Proceedings of the 12th Working Conference on Reverse Engineering, pages 45--54, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Slicing obfuscations: design, correctness, and evaluation

                        Recommendations

                        Comments

                        Login options

                        Check if you have access through your login credentials or your institution to get full access on this article.

                        Sign in
                        • Published in

                          cover image ACM Conferences
                          DRM '07: Proceedings of the 2007 ACM workshop on Digital Rights Management
                          October 2007
                          102 pages
                          ISBN:9781595938848
                          DOI:10.1145/1314276

                          Copyright © 2007 ACM

                          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                          Publisher

                          Association for Computing Machinery

                          New York, NY, United States

                          Publication History

                          • Published: 29 October 2007

                          Permissions

                          Request permissions about this article.

                          Request Permissions

                          Check for updates

                          Qualifiers

                          • Article

                          Upcoming Conference

                          CCS '24
                          ACM SIGSAC Conference on Computer and Communications Security
                          October 14 - 18, 2024
                          Salt Lake City , UT , USA

                        PDF Format

                        View or Download as a PDF file.

                        PDF

                        eReader

                        View online with eReader.

                        eReader