
根据
2018年BSA全球软件调查研究的统计数据:
- 未经许可(盗版)的软件占全球个人PC上安装的软件总数的37%。
- 假冒软件的成本估计为460亿美元。
- 恶意软件感染了许多从第三方下载的盗版程序,每年给企业造成的损失为3590亿美元。
- 每年因盗版许可软件造成的损失约为6000亿美元。
我们都知道,在用户当中,有一些人会诚实地购买该程序并将其用于预期目的,并且有些人会以一种或另一种方式来破解软件,然后自己使用或出售它。
Skillbox建议:为期两年的实践课程“我是PRO Web开发人员” 。
我们提醒您: 对于所有“哈勃”读者来说,使用“哈勃”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。
创建付费产品的软件开发人员不太可能希望将自己的生命花在他们将免费入侵并使用的程序上。 声誉损失也可能成为一个问题:例如,当下载某家公司的被黑客攻击的软件,该软件被攻击者引入的病毒感染用户的PC时,受害者可能会指责制造商,而不是黑客。
关于收入,根据BSA的说法,决定认真保护其软件产品的企业可以期望将利润提高大约11%(但是,重要的是要了解这是平均值)。
但是如何保护您的软件呢?
许可和保护软件有许多不同的解决方案。 在为自己选择一个之前,值得回答几个重要的问题。
首先,您需要确定特定项目可能需要的保护级别。 不要用大炮朝麻雀射击,选择应该足够。 许多开发人员在这里使用比他们真正需要的功能更强大(且价格昂贵)的保护来犯错。
其次,您需要问自己,您愿意在防御上花费多少。 答案可能很复杂,因此,要做出正确的选择,值得分析您可能需要什么。
然后,当您决定所有事项时,就可以根据使用该软件产品的策略开始选择保护。
关键安全功能一切都始于选择许可原则:您需要选择他们将如何为您的产品付款。 品种很多,通常可以分为四种类型:
- 一次性付款。 他们会为您的软件付款一次,之后可以无限期使用它。
- 功能限制。 用户可以额外付费打开其他功能。
- 临时许可证。 您“租用该应用程序”,也就是说,我们正在谈论订阅。
- 分层。 这是这些方法的组合。 用户会收到相应付款的软件的白银版,金版或白金版。
确定许可策略后,就该开始寻找软件保护技术了。 在这里值得记住的细微差别包括将软件连接到Internet的能力,其专业性,软件所针对的平台类型等等。
我们再次强调选择适当保护的重要性。 如果您打算使用诺克斯堡(Fort Knox)中使用的方法来保护您的自行车,那么这很难说是合理的。 这是相反的关系:如果您想保护诺克斯堡,请勿为此使用自行车锁,这是没有用的,可以保证黑客入侵。 通常,许可策略应与产品本身的价格相称。
保护类型
如上所述,有多种选择可保护软件免受黑客攻击和复制。 这些选择可能在成本,保护级别和专业化方面有所不同。
信任保护。 在这里,您可以指望用户会毫无问题地付款。 一位用户-一张许可证,永久使用。 原则上,您实际上没有任何费用。 编译应用程序后,就可以开始分发它了。 但是问题是,如果您的产品流行起来,那么肯定会在开始分发产品后破解它。 在这种情况下,没有防止黑客入侵的保护措施,它为零。
离线软件保护这是关于没有互联网连接的保护。 通常,在编译程序后立即实施这种方案。 具有某些设置的最常用的外壳。 未连接受保护的程序以完整性检查任何外部服务器。 原则上,您可以绕过这种保护而不会出现任何问题。
在线软件保护在这里,我们谈论的是一种更严肃的方法-使用许可服务器检查许可。 在这种情况下,开始时需要相对较高的成本,而稍后需要经常性成本。 与以前的版本一样,使用外壳程序,但是会在线检查和配置许可参数。
如果需要,您可以添加软件验证选项:如何使用,是否有许可证。 如果您需要与网络的永久连接,则该产品可能并非总是且并非在所有地方都能工作。
这种保护的严重程度在中等和高度之间。
硬件保护结合了所有其他策略的优点的最可靠的方法之一。 不需要网络连接的电子USB密钥负责许可。 对于开发人员而言,每个密钥的价格都很低,没有定期的额外费用。 您既可以使用API也可以通过外壳来实现。
这种方法的优点是可以在操作系统外部删除许可证,密钥存储在PC外部。 密钥很难复制或根本无法复制。 受硬件密钥保护的软件可以在没有网络连接的系统上使用。 例如政府设施或工业。 另一个优点是,电子钥匙不需要针对不同软件环境的不同解决方案,并且许可选项非常灵活。
基于硬件密钥的解决方案可以在几分钟内完成部署,几乎所有版本的操作系统都支持它们。
的确,请记住,解决方案提供商(如果您不能自己创建硬件密钥)必须迅速进行所有操作,这样就不必等待密钥的交付,因此可以推迟软件的销售。 此外,供应商必须提供一种快速部署的简单有效的解决方案。 当然,您必须信任供应商-否则您不应使用其服务。
值得在设计阶段考虑软件保护:在项目部分或全部准备就绪后,进行更改就不容易了。
Skillbox建议: