首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护部署在客户端云上的容器化python源代码

如何保护部署在客户端云上的容器化python源代码
EN

Security用户
提问于 2021-05-17 07:29:40
回答 2查看 562关注 0票数 1

我们如何保护部署在客户端云端的源代码,并且很难像经过授权的产品那样进行逆向工程,主要的区别是我有一个要保护的服务,并且没有exe或dmg文件。

我想混淆部署在客户端的代码,到目前为止,客户端是一个内部API服务,但它将被白标记,并部署在我无法访问的地方。通常的混淆方法并不是选择不断发展的代码的可行方法。部署必须是可扩展的、可更新的,这就是为什么容器技术是首选的。然而,容器安全不是我的强项,我从不同的博客中读到,它只涉及用户访问管理,不能100%地保证安全性。

EN

回答 2

Security用户

回答已采纳

发布于 2021-05-17 13:15:33

承认你做不到.

如果您部署了一个容器(它需要客户端访问并重新引导,100次中有101次),那么容器的内容将完全取决于所采用的任何容器技术。

要么你可以信任你的客户要么你不能。如果不能,那么没有什么可以阻止它们克隆容器,或者访问它的存储(如果未加密;但是如果您加密它,则必须在每次重新启动时都可用)或者将容器内存固定起来并从它读取源。几乎所有情况下,即使没有克隆,也可以使用后一种方法,而容器化技术意味着应用程序不知道正在发生什么,也无法检测或阻止它。

在这些情况下,所有的保护计划都依赖于客户无法获得的东西。您需要问,“在我给他们容器之前,是否有客户无法访问的东西?”如果答案是“否”,那么你可以在这里停下来(如果是“是”,那么你需要问,“我有权限吗?”)。例如,硬件密钥是客户端无法访问的东西。外部密钥服务器也是他们无法访问的东西。第三方PAAS服务也。Android“安全空间”,在很大程度上。所以,你所要求的原则上是可以做到的,但很可能,在你的场景中是不行的。

...and继续前进。

现在,除非您做“通过默默无闻的工作安全”,否则您的代码极有可能是复杂的,对于不熟悉它的人来说可能很难维护,并且不会包含任何令人尴尬或不专业的内容。

因此,你的目标变得比仅仅偷你的工作更便宜。这可以通过几种方式来完成,首先要比现在从您那里偷东西更明确,这不仅意味着放弃接下来的几个修补程序(可能有人愿意接受),而且意味着放弃任何和所有的维护。这可以通过计算代码单元的哈希来实现,并对它们进行验证以确保它们没有被篡改--在这种情况下,您将为恢复或逆向工程收取任何更改的费用。

票数 6
EN

Security用户

发布于 2021-05-17 13:57:09

除非您以SaaS的方式这样做,否则您的软件就无法得到保护。

如果客户端可以访问您的软件,无论是编码、混淆还是加密,此客户端都可以对其进行解码/解混淆/解密。这不是问是否,而是什么时候。这是时间和金钱之间的权衡。如果对他们来说破解你的防御是有利可图的,他们会的。

您提到了私有API。这意味着客户机可以代理来自容器的所有请求,并推断API使用的方法。根据软件的构建方式,客户机甚至不需要访问容器。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/249435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档