VMWare映像保护

时间:2009-06-23 13:16:41

标签: vmware piracy-protection

我们有一个打包为Linux VMWare映像的应用程序。现在我们必须找到一种方法来保护它免受非法复制和安装。我们已经研究了几种基于USB dongle的解决方案,但它们都需要在源代码级别修改应用程序(简单的工具仅限于Windows EXE)。有没有办法保护VMWare映像不被运行,并执行定期检查?

编辑:此应用程序是专业解决方案的一部分,不按原样分发。 VMWare包装用于虚拟化目的,不用于分发。我们以10万美元-1000美元的价格销售电信公司的完整解决方案,包括硬件和支持。但是,由于客户端可以访问平台,因此我们必须确保他们无法获取图像并在其他地方运行它们或者违反许可策略。因此,下面对于保护需求的评论虽然在一般情况下完全有效,但不适用于那里。

6 个答案:

答案 0 :(得分:11)

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

  

请不要。以代表其价值的价格出售您的软件,如果您必须保持诚实的人诚实,并使用基本的密钥方案,并保留它。海盗们总是偷走它,而硬件加密狗只会让你诚实的顾客感到悲伤。

     

此外,您构建的任何方案都将被逆向工程所击败;如果你痛苦地使用你的软件,你将激励其他诚实的人打败它,或者在互联网上寻找破解。只需使保护比寻找裂缝更少痛苦。

     

Software Monkey,2009年1月

答案 1 :(得分:1)

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

虽然一旦启动,他们仍然可以撕开图像。 GPL是否必需无论如何重新分发?

这将是棘手的

答案 2 :(得分:0)

此外,为了进一步扩展Aiden所说的内容:您应该就是否可以在不违反a)您正在使用的Linux发行版中可能存在的多个许可证之一或b)附加许可证的情况下执行此操作的法律建议到VMWare使用。

基本上你要做的就是Tivoization,如果你使用的任何软件包属于GPL v3,你可能会违反它。

答案 3 :(得分:0)

考虑到您的客户规模以及您提供的服务范围,让它们跳起来似乎没有意义。如果他们违反合同,只需协商,如果你无法达成妥协,就起诉他们。

如果加密狗是银弹,你不觉得微软或甲骨文要求他们吗?

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

老实说,如果您的产品非常简单,不需要持续的开发和支持,那么您无论如何都不可能为许可收取大量资金 - 他们只会找到代码猴子来复制它并保持变化。

答案 4 :(得分:0)

关于基于USB加密狗的问题,市面上出售的每个USB加密狗都已破解,并为他们提供了解决方案。无论他们告诉你什么,USB加密狗的原理都有缺陷。

更糟糕的是,一旦您将软件产品交付给客户,如果他们认为该应用程序的价值足以花时间来破解它,那么它将被黑客入侵。无论它受到多大程度的保护,如果黑客能够访问二进制内容,它将被黑客攻击。

此外,您的许多用户都是诚实的人,他们会对所有这些安全问题感到恼火。如果您选择的解决方案非常强大,那么您实际上是邀请人们不要以合适的方式使用您的软件。

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

但是,有一种合理的简便方法可以进行定期检查。使用CRON每天至少启动一次回拨应用程序。它会在您的webhost上调用Web服务,提供有关其设置的其他信息。作为回复,您的服务会告诉它是否仍然合法。如果是合法的,没问题。如果此检查失败,只需让应用程序报告一条消息。如果call-home连续五次失败或者说它是非法版本,那么是时候惹恼用户了。 (但是在不破坏应用程序可用性的情况下,用户会变得非常不满意。) 现在,您要保护的内容可能会继续运行而不进行任何更改。或者您更改它们以检查call-home应用程序是否已尝试进行联系。如果用户已禁用此过程或以其他方式篡改,则您可以阻止您的应用程序。

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

答案 5 :(得分:0)

您是否尝试过VMWare ACE?

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

它似乎可以解决您的需求。