Skip to main content

Software DisEngineering: Program Hiding Architecture and Experiments

  • Conference paper
Information Hiding (IH 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1768))

Included in the following conference series:

Abstract

Protecting software is becoming important in the context of modern Internet technologies; often such protection efforts are kept as trade secrets. In this paper, we take a step toward understanding such protection mechanisms and their impact on performance and security. We present a program hiding architecture that utilizes an automatic hiding tool. The hiding tool generates programs that are resistant to reverse engineering by applying software transformations. Our approach protects against the learning of inner workings (and subsequently tampering) of executables in environments that lack appropriate hardware support and where programs may contain certain private knowledge components (proprietary algorithms). We designed and implemented a prototype of a hiding tool for Tcl. We studied the effect of transformations on the execution time of Tcl scripts and suggest a security checking experimentation as well.

This work was supported by the National Science Foundation under Grant No. 9256688 and the NY State Center for Advanced Technology in Telecommunications.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Aucsmith, D.: Tamper Resistant Software: An Implementation. In: Information Hiding - Proceedings of the First International Workshop, pp. 317–333. Springer, Heidelberg (1996)

    Google Scholar 

  2. Collberg, C., Thomborson, C., Low, D.: A Taxonomy of Obfuscating Transformations. Technical Report 148, University of Auckland, NZ (July 1997), http://www.cs.auckland.ac.nz/~collberg/Research/Publications/CollbergThomborson97a/index.html

  3. Collberg, C., Thomborson, C., Low, D.: Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs. In: Proceedings of POPL 1998, January 1998, pp. 184–196 (1998)

    Google Scholar 

  4. Demailly, L.: tcl cruncher 1.11., http://www.sco.com/Technology/tcl/Tcl.html

  5. Gailly, J., Adler, M.: zlib 1.0.4, http://quest.jpl.nasa.gov/zlib/

  6. Goldreich, O., Ostrovsky, R.: Software Protection and Simulation on Oblivious RAMs. Journal of the ACM 43(3), 431–473 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  7. Gosling, J., McGilton, H.: The Java Language Environment. Sun Microsystems Computer Company (October 1995), ftp://java.sun.com/doc/whitepaper.ps.tar.Z

  8. Kupries, A.: Tcl Data Transformations (Tcl-Trf v1.0b2), http://www.sco.com/Technology/tcl/Tcl.html

  9. Lacy, J., Mitchell, D., Blaze, M.: CryptoLib 1.2. AT&T Laboratories (1995)

    Google Scholar 

  10. Low, D.: Java Control Flow Obfuscation. Master Thesis, University of Auckland, NZ (June 1998), http://www.cs.auckland.ac.nz/~douglas/thesis.ps

  11. Marshall, L.: Frink 1.2, http://www.sco.com/Technology/tcl/Tcl.html

  12. Rivest, R.L., Shamir, A., Adleman, L.: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. In: CACM, vol. 21(2), pp. 120–126 (1978)

    Google Scholar 

  13. Sander, T., Tschudin, C.: Towards Mobile Cryptography. In: Proceedings of the 1998 IEEE Symposium on Security and Privacy, pp. 215–224 (1998)

    Google Scholar 

  14. Sander, T., Young, A., Yung, M.: Non-Interactive CryptoComputing for NC. In: IEEE FOCS (1999)

    Google Scholar 

  15. Sommerville, I.: Software Engineering, 5th edn. Addison-Wesley, Reading (1996)

    Google Scholar 

  16. Tcl7.6/Tk4.2, http://www.scriptics.com/

  17. Weiss, S.: TclParser v3.00, http://www.informatik.uni-stuttgart.de/ipvr/swlab/sopra/tclsyntax/tclparseHome.h

  18. Welch, B.B.: Practical Programming in Tcl and Tk. Prentice-Hall, Englewood Cliffs (1995)

    Google Scholar 

  19. Zimmermann, P.: Pretty Good Privacy package, http://web.mit.edu/network/pgp.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Valdez, E., Yung, M. (2000). Software DisEngineering: Program Hiding Architecture and Experiments. In: Pfitzmann, A. (eds) Information Hiding. IH 1999. Lecture Notes in Computer Science, vol 1768. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10719724_26

Download citation

  • DOI: https://doi.org/10.1007/10719724_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67182-4

  • Online ISBN: 978-3-540-46514-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics