SoftMark: Software Watermarking via a Binary Function Relocation

SoftMark: Software Watermarking via a Binary Function Relocation
复制标题

DOI:
10.1145/3485832.3488027
复制
发表时间:
2021-12
期刊:
Proceedings of the 37th Annual Computer Security Applications Conference
影响因子:
--
通讯作者:
Hong-Yol Kang;Yonghwi Kwon;Sangjin Lee;Hyungjoon Koo
Hong-Yol Kang;Yonghwi Kwon;Sangjin Lee;Hyungjoon Koo
中科院分区:
其他
文献类型:
--
作者:
Hong-Yol Kang;Yonghwi Kwon;Sangjin Lee;Hyungjoon Koo

文献摘要

相似文献

数字文物的易重复性引起了人们对侵犯版权的日益关注;特别是对软件产品。软件水印是通过嵌入数字指纹来验证授权软件所有者的一种很有前途的技术。开发一个理想的软件水印方案是具有挑战性的,因为与数字媒体水印不同,软件水印必须在嵌入软件水印后保持原始代码的语义,以及它要求可信性、弹性、容量、不可感知性和效率之间的良好平衡。我们提出了SoftMark,这是一个利用函数重定位的软件水印系统,其中函数的顺序隐含地编码了一个隐藏的标识符。根据设计,SoftMark不引入额外的结构(即代码、块或子例程),在未经授权的检测中保持健壮,同时保持可忽略的性能开销和合理的容量。通过针对可行攻击的各种策略(即静态二进制重新插装),我们解决了以前基于重新排序的方法的局限性。我们的实验结果通过成功地嵌入和提取不同的水印数值,证明了该算法的实用性和有效性。
The ease of reproducibility of digital artifacts raises a growing concern in copyright infringement; in particular, for a software product. Software watermarking is one of the promising techniques to verify the owner of licensed software by embedding a digital fingerprint. Developing an ideal software watermark scheme is challenging because i) unlike digital media watermarking, software watermarking must preserve the original code semantics after inserting software watermark, and ii) it requires well-balanced properties of credibility, resiliency, capacity, imperceptibility, and efficiency. We present SoftMark, a software watermarking system that leverages a function relocation where the order of functions implicitly encodes a hidden identifier. By design, SoftMark does not introduce additional structures (i.e., codes, blocks, or subroutines), being robust in unauthorized detection, while maintaining a negligible performance overhead and reasonable capacity. With various strategies against viable attacks (i.e., static binary re-instrumentation), we tackle the limitations of previous reordering-based approaches. Our empirical results demonstrate the practicality and effectiveness by successful embedding and extraction of various watermark values.