[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

A Low-Cost Attack on Branch-Based Software Watermarking Schemes

  • Conference paper
Digital Watermarking (IWDW 2006)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 4283))

Included in the following conference series:

  • 1108 Accesses

Abstract

In 2005, Ginger Myles and Hongxia Jin proposed a software watermarking scheme based on converting jump instructions or unconditional branch statements (UBSs) by calls to a fingerprint branch function (FBF) that computes the correct target address of the UBS as a function of the generated fingerprint and integrity check. If the program is tampered with, the fingerprint and integrity checks change and the target address will not be computed correctly. In this paper, we present an attack based on tracking stack pointer modifications to break the scheme and provide implementation details. The key element of the attack is to remove the fingerprint and integrity check generating code from the program after disassociating the target address from the fingerprint and integrity value. Using the debugging tools that give vast control to the attacker to track stack pointer operations, we perform both subtractive and watermark replacement attacks. The major steps in the attack are automated resulting in a fast and low-cost attack.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Collberg, C., Carter, E., Debray, S., Huntwork, A., Linn, C., Stepp, M.: Dynamic path-based software watermarking. In: Proceedings of Conference on Programming Language Design and Implementation, vol. 39, pp. 107–118 (June 2004)

    Google Scholar 

  2. Collberg, C.S., Huntwork, A., Carter, E., Townsend, G.: Graph Theoretic Software Watermarks: Implementation, Analysis, and Attacks. In: Fridrich, J. (ed.) IH 2004. LNCS, vol. 3200, pp. 192–207. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  3. Collberg, C., Kobourov, S., Carter, E., Thomborson, C.: Error-correcting graphs for software watermarking. In: Proceedings of 29th Workshop on Graph Theoretic Concepts in Computer Science, pp. 156–167 (2003)

    Google Scholar 

  4. Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: Proceedings of Principles of Programming Languages 1999, POPL 1999, pp. 311–324 (1999)

    Google Scholar 

  5. Collberg, C.S., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Transactions on Software Engineering 28, 735–746 (2002)

    Article  Google Scholar 

  6. Fukushima, K., Sakurai, K.: A Software Fingerprinting Scheme for Java Using Classfiles Obfuscation. In: Chae, K.-J., Yung, M. (eds.) WISA 2003. LNCS, vol. 2908, pp. 303–316. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  7. Myles, G., Collberg, C.: Software watermarking through register allocation: Implementation, analysis, and attacks. In: Lim, J.-I., Lee, D.-H. (eds.) ICISC 2003. LNCS, vol. 2971, pp. 274–293. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. Myles, G., Jin, H.: Self-validating Branch-Based Software Watermarking. In: Barni, M., Herrera-Joancomartí, J., Katzenbeisser, S., Pérez-González, F. (eds.) IH 2005. LNCS, vol. 3727, pp. 342–356. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Nagra, J., Thomborson, C.: Threading Software Watermarks. In: Fridrich, J. (ed.) IH 2004. LNCS, vol. 3200, pp. 208–223. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  10. Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: Proceedings of International Conference on Computer Aided Design, pp. 190–193 (1998)

    Google Scholar 

  11. Qu, G., Potkonjak, M.: Hiding signatures in graph coloring solutions. In: Pfitzmann, A. (ed.) IH 1999. LNCS, vol. 1768, pp. 348–367. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Sosonkin, M., Naumovich, G., Memon, N.: Obfuscation of design intent in object-oriented applications. In: Proceedings of 3rd ACM workshop on Digital Rights Management, pp. 142–153 (2003)

    Google Scholar 

  13. Thomborson, C., Nagra, J., Somaraju, R., He, C.: Tamper-proofing software watermarks. In: Proceedings of Australasian Information Security Workshop, vol. 32, pp. 27–36 (2004)

    Google Scholar 

  14. Venkatesan, R., Vazirani, V.V., Sinha, S.: A Graph Theoretic Approach to Software Watermarking. In: Moskowitz, I.S. (ed.) IH 2001. LNCS, vol. 2137, pp. 157–168. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gupta, G., Pieprzyk, J. (2006). A Low-Cost Attack on Branch-Based Software Watermarking Schemes. In: Shi, Y.Q., Jeon, B. (eds) Digital Watermarking. IWDW 2006. Lecture Notes in Computer Science, vol 4283. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11922841_23

Download citation

  • DOI: https://doi.org/10.1007/11922841_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48825-5

  • Online ISBN: 978-3-540-48827-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics