代码之家  ›  专栏  ›  技术社区  ›  fbonnet

VMWare映像保护

  •  4
  • fbonnet  · 技术社区  · 17 年前

    我们有一个打包为Linux-VMWare映像的应用程序。现在我们必须找到一种方法来保护它不被非法复制和安装。我们研究了几种基于USB加密狗的解决方案,但所有这些方案都需要在源代码级别修改应用程序(简单的指令插入仅限于Windows exe)。有没有一种方法可以保护VMWare映像不被运行,并执行定期检查?

    编辑 :此应用程序是专业解决方案的一部分,不按原样分发。VMWare打包用于虚拟化目的,而不是用于分发。我们为电信公司销售包括硬件和支持在内的完整解决方案,价格在1万到100万美元之间。但是,由于客户可以访问这些平台,我们必须确保他们不能将这些图像拍摄到其他地方运行,或者违反许可政策。因此,以下质疑保护必要性的言论,虽然在一般情况下完全有效,但并不适用于此。

    6 回复  |  直到 17 年前
        1
  •  11
  •   Community Mohan Dere    6 年前

    我知道 this is said every time ,但值得重复:

    请不要这样做。以代表其价值的价格出售软件,如果必须的话,还可以提供基本的密钥方案 诚实的人要诚实 就这样吧。盗版者总是会偷它,而硬件加密狗只会让你诚实的客户伤心。

    此外,你所建立的任何计划都会被逆向工程所击败;如果你让你的软件使用起来很痛苦,你就会激励其他诚实的人去击败它,或者在互联网上搜索漏洞。只需使保护比寻找裂缝更不痛苦。

    Software Monkey 2009年1月

        2
  •  1
  •   Aiden Bell    17 年前

    使用Cryptsetup/dm_crypt加密映像的磁盘分区,然后使用某些特定于计算机的(真正的CPU-ID?)启动时解密的元素。但这意味着为每个客户推出一个新形象。。。但你可以写剧本。

    虽然一旦启动,他们可以撕开图像无论如何。你不是吗 通过GPL重新发布?

    这会很棘手的

        3
  •  0
  •   Colin Pickard    17 年前

    另外,为了进一步扩展Aiden所说的内容:您应该就您是否可以在不违反a)您正在使用的Linux发行版上提供的几个许可证中的一个或b)VMWare usage附带的许可证的情况下这样做。

    基本上你要做的就是 Tivoization ,如果您正在使用的任何包属于gplv3,那么您可能违反了它。

        4
  •  0
  •   Colin Pickard    17 年前

    考虑到你的客户规模,以及你提供的服务范围,让他们跳出圈套似乎没有意义。如果他们违反了合同,只要谈判,如果你不能达成适当的妥协,就起诉他们。

    对于只有少数大型客户机的软件产品,支持和持续开发通常对客户机至关重要,并且构成了解决方案的价值和成本的大部分。许可变成了一个小插件。

        5
  •  0
  •   Wim ten Brink    17 年前

    关于基于USB加密狗,每一个商业上可以买到的USB加密狗都被破解了,有一个解决办法。不管他们怎么说,USB加密狗的原理是有缺陷的设计。

    更糟糕的是,一旦你把你的软件产品交付给客户,如果他们认为这个应用程序有价值,需要花时间去破解它,它就会被黑客攻击。不管它的保护有多强,如果黑客可以访问二进制内容,它就会被黑客攻击。

    而且,你的许多用户都是诚实的人,他们会对这些安全问题感到恼火。如果你选择了一个非常强大的解决方案,你实际上是在邀请人们不要以合法的方式使用你的软件。

    如前所述,请注意,您必须遵守Linux许可证。实际上,您可能会被迫将应用程序的源代码作为开放源代码提供,除非您能够证明您已经根据许可证进行了工作。

    然而,有一个合理的简单的方法来做定期检查。使用CRON每天至少启动一次呼叫总部应用程序。它将调用您的web主机上的web服务,提供有关其设置的附加信息。作为回应,你的服务会告诉它它是否仍然合法。如果合法,没问题。如果此检查失败,只需让应用程序报告一条消息。如果callhome连续五次失败,或者告诉用户这是一个非法版本,那么是时候激怒用户了。(但在不破坏应用程序可用性的情况下,用户就会真正不高兴。) 现在,您要保护的内容可能会继续运行而不做任何更改。或者更改它们以检查回拨应用程序是否已经尝试联系。如果用户禁用了此进程或以其他方式对其进行了篡改,那么您也可以阻止您的应用程序。

    或者,使用最简单的方法:创建一个具有几乎完全访问权限的特殊管理员帐户。不要让你的客户以根用户身份运行。

        6
  •  0
  •   BrainSCAN BrainSCAN    17 年前

    您尝试过VMWare ACE吗?

    http://www.vmware.com/products/ace/features.html

    它似乎能解决你的需要。