...
首页> 外文期刊>Mathematical structures in computer science >Semantics-based software watermarking by abstract interpretation
【24h】

Semantics-based software watermarking by abstract interpretation

机译:通过抽象解释的基于语义的软件水印

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

Software watermarking is a software protection technique used to defend the intellectual property of proprietary code. In particular, software watermarking aims at preventing software piracy by embedding a signature, i.e. an identifier reliably representing the owner, in the code. When an illegal copy is made, the owner can claim his/her identity by extracting the signature. It is important to hide the signature in the program in order to make it difficult for the attacker to detect, tamper or remove it. In this work, we present a formal framework for software watermarking, based on program semantics and abstract interpretation, where attackers are modelled as abstract interpreters. In this setting, we can prove that the ability to identify signatures can be modelled as a completeness property of the attackers in the abstract interpretation framework. Indeed, hiding a signature in the code corresponds to embed it as a semantic property that can be retrieved only by attackers that are complete for it. Any abstract interpreter that is not complete for the property specifying the signature cannot detect, tamper or remove it. We formalize in the proposed framework the major quality features of a software watermarking technique: secrecy, resilience, transparence and accuracy. This provides a unifying framework for interpreting both watermarking schemes and attacks, and it allows us to formally compare the quality of different watermarking techniques. Indeed, a large number of watermarking techniques exist in the literature and they are typically evaluated with respect to their secrecy, resilience, transparence and accuracy to attacks. Formally identifying the attacks for which a watermarking scheme is secret, resilient, transparent or accurate can be a complex and error-prone task, since attacks and watermarking schemes are typically defined in different settings and using different languages (e.g. program transformation vs. program analysis), complicating the task of comparing one against the others.
机译:软件水印是一种用于保护专有代码的知识产权的软件保护技术。特别地,软件水印旨在通过在代码中嵌入签名,即可靠地表示所有者的标识符,来防止软件盗版。制作非法副本时,所有者可以通过提取签名来声明其身份。重要的是将签名隐藏在程序中,以使攻击者难以检测,篡改或删除它。在这项工作中,我们基于程序语义和抽象解释提出了一个用于软件水印的正式框架,其中攻击者被建模为抽象解释器。在这种情况下,我们可以证明在抽象解释框架中,可以将识别签名的能力建模为攻击者的完整性属性。确实,在代码中隐藏签名相当于将其嵌入为语义属性,只有对此完成的攻击者才能将其检索。对于指定签名的属性而言,任何不完整的抽象解释器都无法检测,篡改或删除它。我们在提议的框架中正式确定了软件水印技术的主要质量特征:保密性,弹性,透明度和准确性。这为解释水印方案和攻击提供了一个统一的框架,并使我们可以正式比较不同水印技术的质量。确实,文献中存在大量的水印技术,并且通常就其保密性,弹性,透明度和对攻击的准确性进行评估。正式识别水印方案是秘密,有弹性,透明或准确的攻击可能是一项复杂且容易出错的任务,因为攻击和水印方案通常是在不同的设置中使用不同的语言定义的(例如程序转换与程序分析) ),使将一项与另一项进行比较的任务复杂化。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号