我们是否应该通过混淆保护 Web 应用程序源代码不被 Web 主机窃取?

信息安全 Web应用程序 源代码 逆向工程 混淆 共享主机
2021-08-31 15:25:18

是否值得混淆 Java Web 应用程序源代码,以便 Web 主机不会错误使用代码甚至窃取您的业务?如果是这样,应该如何处理?我们应该如何混淆?

我们是一家在市场上推出产品的新公司。我们如何保护我们的产品/Web 应用程序的源代码?

4个回答

恶意托管服务提供商可以做的不仅仅是窃取您的代码。他们可以修改它以引入后门,他们可以窃取您客户的数据,并破坏您的整个业务。您和房东之间必须存在信任。

关于源代码。如果攻击者试图访问您的源代码,他们获得对您的源代码的访问权限,无论是否经过混淆、编译或解释。

混淆你的代码是有价值的,因为你可能会让偶尔的机会主义攻击者更难获得它。但是,如果你的主人要找你,他们会找你的。

解决方案?法律。与他们签订合同并就某种形式的保密协议达成一致。

好吧,这需要三个评论:

  • 您无法通过代码混淆来保护机密。不是真的代码混淆以某种方式对没有动机的攻击者起作用,但它并不强大。如果突破它有商业价值,那么它就会发生。

  • 如果您不信任您的托管服务,请寻找其他托管服务。如果您的代码保密很重要并且价值超过几百美元,那么您应该使用自己的硬件:您租用一些隔离的海湾空间,带有锁和警卫,并在其中运行您自己的机器。

  • 您的代码在服务器上以编译(字节)代码的形式存在,但在您的开发系统和开发人员的头脑中也以源代码的形式存在。不可能是那个秘密。正如他们所说,一百万美元总是足以解开秘密,只要通过贿赂其中一个知情的人。

    (在最后一种情况下,这可能是您的计划:您可能希望看到一些更大的竞争对手简单地收购您。)

保护您的知识产权免受逆向工程和盗窃通常是通过法律手段而非技术手段来确保的。

不,这不值得。没有人想窃取您的代码。个人和公司已经使用某种描述或其他方式的第三方托管服务推出了数以万计的 SaaS 产品,而且在他们的产品代码被他们的托管服务商窃取后,几乎没有人发现自己在与自己竞争。

那么,你应该混淆你的代码吗?当然,如果它能让你感觉更好。没有造成伤害。您是否正在保护您的 IP 免受有效威胁?不,不是。这是一种网络开发人员版本的锡箔帽。

不管你做什么,不要浪费很多时间和精力去想它。做出是否混淆的决定,然后继续担心减轻真正的威胁。

最终,您是唯一可以进行风险评估的人。如果你会更好地混淆你的代码,那就去吧。

我个人不会打扰。信誉良好的网络托管服务属于网络托管业务,而不是源代码盗窃业务。如果他们窃取了您的代码,他们仍然必须安装它、出售服务、寻找客户,并打击您对他们提起的诉讼。对他们来说,付出太多的努力却付出了太多的风险而回报太少。