skip to main content
10.1145/3465413.3488576acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
short-paper

LLWM & IR-Mark: Integrating Software Watermarks into an LLVM-based Framework

Published: 15 November 2021 Publication History

Abstract

While software protection mechanisms, such as DRM and online services, hinder the unrestrained duplication of games and applications, these mechanisms fail at protecting individual software components from reuse by intellectual property thieves. While conceptually watermarking can discourage software misuse and allows proof of ownership, embedding watermarks requires expert knowledge. This is why software watermarks are barely used.
This paper presents LLWM, an LLVM-based watermarking framework that automates the embedding of watermarks and thus enables the widespread use of watermarking. LLWM incorporates several (adapted) implementations of existing watermarking techniques and provides the foundation for IR-Mark, a new watermarking technique based on a modified register allocation. With LLWM, built upon LLVM and its compiler Clang, developers can use a watermark simply by compiling their codes, without the obstacle of having to understand and run existing methods and standalone tools.
With the methods included in LLWM, we offer a variety of choices for embedding techniques and evaluate and discuss their characteristics and resilience against common attacks.

References

[1]
Sukriti Bhattacharya and Agostino Cortesi. 2009. A Distortion Free Watermark Framework for Relational Databases. In Proceedings of the 4th International Conference on Software and Data Technologies (ICSOFT'09) (Sofia, Bulgaria). 229--234.
[2]
Marco Botta, Davide Cavagnino, and Victor Pomponiu. 2016. A modular framework for color image watermarking. Signal Processing, Vol. 119, C (2016), 102--114.
[3]
Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th Conference on Operating Systems Design and Implementation (OSDI'08) (San Diego, CA). 209--224.
[4]
Xinyun Chen, Wenxiao Wang, Chris Bender, Yiming Ding, Ruoxi Jia, Bo Li, and Dawn Song. 2021. Refit: a unified watermark removal framework for deep learning systems with limited data. In Proceedings of the 16th Asia Conference on Computer and Communications Security (ASIACCS'21) (Hongkong). 321--335.
[5]
Ioannis Chionis, Maria Chroni, and Stavros Nikolopoulos. 2014. WaterRPG: a graph-based dynamic watermarking model for software protection. arXiv preprint arXiv:1403.6658 (2014).
[6]
Maria Chroni and Stavros Nikolopoulos. 2010. Encoding watermark integers as self-inverting permutations. In Proceedings of the 11th International Conference on Computer Systems and Technologies (CompSysTech'10) (Sofia, Bulgaria). 125--130.
[7]
Christian Collberg, Edward Carter, Saumya Debray, Andrew Huntwork, John Kececioglu, Cullen Linn, and Michael Stepp. 2004. Dynamic path-based software watermarking. In Proceedings of the 8th Conference on Programming Language Design and Implementation (PLDI'04) (Washington, DC). 107--118.
[8]
Christian Collberg, Ginger Myles, and Andrew Huntwork. 2003. Sandmark-a tool for software protection research. IEEE security & privacy, Vol. 1, 4 (2003), 40--49.
[9]
Christian Collberg, Clark Thomborson, and Douglas Low. 1997. A taxonomy of obfuscating transformations. Technical Report. Department of Computer Science, The University of Auckland, New Zealand. https://www.cs.auckland.ac.nz/ mjd/techreports/TR_1997/TR148.ps.gz
[10]
Emanuele Nunes de Lima Figueiredo Jorge, Luci Pirmez, Rafael Costa, Igor Leão dos Santos, Claudio Miceli De Farias, Davidson Rodrigo Boccardo, Luiz Fernando Rust da da Costa Carmo, and Lucila Maria de Souza Bento. 2014. TinyWatermark: a code obfuscation-based software watermarking framework for wireless sensor networks. In Proceedings of the 13th International Conference on Wireless Networks (ICWN'14) (Las Vegas, NV).
[11]
Ayan Dey, Sukriti Bhattacharya, and Nabendu Chaki. 2019. Software watermarking: Progress and challenges. INAE Letters, Vol. 4, 1 (2019), 65--75.
[12]
Tanima Dutta and Hari Prabhat Gupta. 2016. A robust watermarking framework for high efficiency video coding (HEVC)--encoded video with blind extraction process. Journal of Visual Communication and Image Representation, Vol. 38 (2016), 29--44.
[13]
Thomás Oliveira e Silva. 2010. Empirical verification of the 3x +1 and related conjectures. The ultimate challenge: The 3x +1 problem (2010), 189--207.
[14]
Free Software Foundation, Inc. 2020. Coreutils - GNU core utilities. https://www.gnu.org/software/coreutils/. [Online; accessed 09-July-2021].
[15]
Chris Lattner. 2008. LLVM and Clang: Next generation compiler technology. (2008). https://llvm.org/pubs/2008-05-17-BSDCan-LLVMIntro.pdf BSDCan 2008: The BSD Conference.
[16]
Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the 2nd International Symposium on Code Generation and Optimization (CGO '04) (Palo Alto, CA). 75--86.
[17]
Hakun Lee and Keiichi Kaneko. 2008. New approaches for software watermarking by register allocation. In Proceedings of the 9th International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD'08) (Phuket, Thailand). 63--68.
[18]
Zheng Li, Chengyu Hu, Yang Zhang, and Shanqing Guo. 2019. How to prove your model belongs to you: a blind-watermark based framework to protect intellectual property of DNN. In Proceedings of the 35th Annual Computer Security Applications Conference (ACSAC'19) (Austin, TX). 126--137.
[19]
Haoyu Ma, Chunfu Jia, Shijia Li, Wantong Zheng, and Dinghao Wu. 2019. Xmark: dynamic software watermarking using Collatz conjecture. IEEE Transactions on Information Forensics and Security, Vol. 14, 11 (2019), 2859--2874.
[20]
Niko Matsakis. 2016. Introducing MIR. https://blog.rust-lang.org/2016/04/19/MIR.html. [Online; accessed 24-June-2021].
[21]
Ginger Myles and Christian Collberg. 2003. Software watermarking through register allocation: Implementation, analysis, and attacks. In Proceedings of the 6th International Conference on Information Security and Cryptology (ICISC'03) (Seoul, South Korea). 274--293.
[22]
Ginger Myles and Hongxia Jin. 2005. Self-validating branch-based software watermarking. In Proceedings of the 9th International Workshop on Information Hiding (IH'05) (Saint Malo, France). 342--356.
[23]
Jasvir Nagra and Christian Collberg. 2009. Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection. Pearson Education.
[24]
Paul Osmialowski. 2017. How the Flang frontend works: Introduction to the interior of the open-source fortran frontend for LLVM. In Proceedings of the 4th Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC'17) (Denver, CO). 1--14.
[25]
Gang Qu and Miodrag Potkonjak. 1998. Analysis of watermarking techniques for graph coloring problem. In Proceedings of the 7th International Conference on Computer-aided Design (ICCAD'98) (San Jose, CA). 190--193.
[26]
Gang Qu and Miodrag Potkonjak. 1999. Hiding signatures in graph coloring solutions. In Proceedings of the 3rd International Workshop on Information Hiding (IH'99) (Dresden, Germany). 348--367.
[27]
Adi Shamir. 1979. How to share a secret. Communications of the ACM, Vol. 22, 11 (1979), 612--613.
[28]
Reinhold Weicker. 1988. Dhrystone benchmark: rationale for version 2 and measurement rules. ACM SIGPLAN Notices, Vol. 23, 8 (1988), 49--62.
[29]
Xuesong Zhang, Fengling He, and Wanli Zuo. 2008. Hash function based software watermarking. In Proceedings of the 1st International Conference on Advanced Software Engineering and Its Applications (ASEA'08) (Hainan, China). 95--98.

Cited By

View all
  • (2024)Register Expansion and SemaCall: 2 Low-overhead Dynamic Watermarks Suitable for Automation in LLVMProceedings of the 2024 Workshop on Research on offensive and defensive techniques in the context of Man At The End (MATE) attacks10.1145/3689934.3690815(1-10)Online publication date: 19-Nov-2024
  • (2023)Strong watermark numbers encoded as reducible permutation graphs against edge modification attacksJournal of Computer Security10.3233/JCS-21004831:2(107-128)Online publication date: 6-Apr-2023

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Checkmate '21: Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks
November 2021
76 pages
ISBN:9781450385527
DOI:10.1145/3465413
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 November 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compiler
  2. framework
  3. ir-mark
  4. llvm
  5. llwm
  6. software watermark
  7. watermarking

Qualifiers

  • Short-paper

Conference

CCS '21
Sponsor:

Upcoming Conference

CCS '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)27
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Register Expansion and SemaCall: 2 Low-overhead Dynamic Watermarks Suitable for Automation in LLVMProceedings of the 2024 Workshop on Research on offensive and defensive techniques in the context of Man At The End (MATE) attacks10.1145/3689934.3690815(1-10)Online publication date: 19-Nov-2024
  • (2023)Strong watermark numbers encoded as reducible permutation graphs against edge modification attacksJournal of Computer Security10.3233/JCS-21004831:2(107-128)Online publication date: 6-Apr-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media