如何防止应用程序复制虚拟机
我们使用诸如硬盘和CPU ID之类的标准项目将软件许可证锁定到物理硬件。我们如何降低客户安装到虚拟机上并随后绕开我们的许可来克隆虚拟机的风险?
解决方案
除了需要定期在线激活外,我们可以执行很多操作AFAIK。
我们在困扰诺顿的物理机上遇到了问题。显然,硬盘序列号也被重影了。
我知道某些虚拟机软件(至少是VMware)具有允许软件检测虚拟化的功能。但是没有万无一失的方法,无论如何都可以修补这些功能。由于主机中的CPU峰值,还可以使用神秘变化的性能,可靠性值得怀疑。有太多的"被虚拟化的迹象",但是它们往往不是100%可靠的。
如果软件在VM下运行,则它将在任意数量的克隆VM下运行。因此,唯一的选择似乎是根本阻止它在VM下运行。这是一篇有关虚拟机检测的文章:检测程序是否在虚拟机中运行,并阻止其运行。
顺便说一句,克隆VM通常足以阻止临时用户绕过许可,而那些渴望破解的人可能总会找到绕过它的方法。
执照。告诉用户,他们可能不会运行未经许可的副本。
目前,我们实际上无法购买软件许可证,因为供应商害怕虚拟机:我们部门的基础架构正在转移到集中式虚拟化解决方案,我们必须与供应商抗衡,以允许他们购买虚拟机。他的软件的许可证!
不要害怕向用户付费。
人们为购买许可证而太不高兴了,他们将寻求另一种解决方案,反正会很麻烦。
(不过,告诉老板好运...)
这是一个问题,任何精明的用户都将能够击败我们对此所做的一切。精明的用户可能会被诸如VmWare播放器之类的行为所困,该行为会在我们移动虚拟机时更改虚拟机的MAC和其他ID,这可能是为了解决此类问题。
最好的解决方案可能是使用许可证服务器,因为该服务器将计算活动许可证的数量。节点锁定更容易克服,并且使用服务器还倾向于将责任推给IT部门,与只希望尽快完成工作的单个用户相比,IT部门对不违反许可协议更加敏感。
但最后,我同意一切都归结为适当的许可语言,并让我们有所信任的客户。如果我们认为人们以这种方式愚弄了我们,那么我们不应该一开始就将软件出售给他们...
没有充分的理由锁定到物理计算机。最后,我检查了计算机是否可以崩溃,然后可能不仅给已损坏的计算机带来麻烦,还给用户打电话给我们以将软件锁定到新计算机上,这给用户带来了不便。如果必须执行draconian许可证管理,请使用(本地)管理服务器,并具有运行中的副本,请每隔几分钟验证其是否具有许可证。只要意识到,如果有人真的想使用软件而不付钱给我们,无论我们做什么,他们都会找到方法。
简短的版本是"不要打扰"。对于客户而言,这样做是不平凡的,如果他们这样做,那么他们无论如何都不会为自己使用的东西付费(除非他们免费获得,否则他们不会使用它),或者我们只是持平充很多电(就像在刨削一样)。
"真正的"客户通常会为这些商品付款。从我所看到的情况来看,像企业这样的地方通常会认为这是不值得的。
我们需要在计算机"硬件"外部进行验证。大多数公司会选择昂贵的软件使用硬件密钥(加密狗),而用户会忍受它。
如果有多个具有CPUID和其他硬件的用户同时使用给定的许可证,则其他公司使用联机方法,然后不允许另一实例化或者关闭现有实例化。
我们必须根据自己的需求和消费者的意愿来选择保护措施,以克服反盗版圈。
-亚当