访问大公司的代码库

信息安全 源代码
2021-09-04 08:41:38

我想知道大公司如何管理开发人员对其代码库的访问。为了使他们的代码安全,他们是否允许他们的开发人员访问整个代码库或仅访问特定的子项目以避免窃取整个代码库

例如,如果一家公司有 10 个开发人员,他们是否应该制定适当的访问控制策略,以便每个开发人员只能访问他/她需要开发的特定模块?

如果是这样,请让我知道如何实现这一目标。

[已编辑]:正如预期的那样,代码源已从其中一位开发人员处获取并将其出售给某人,这是由受信任的开发人员为那些说必须信任的人完成的。

2个回答

在任何管理良好的公司中,开发人员通常可以完全访问他们从事的任何项目的源代码。

原因是在严格的需要知道的基础上发布部分代码的好处是不值得官僚主义的麻烦和它为开发人员造成的巨大工作损害。

  1. 开发人员在没有看到全貌的情况下无法工作。我是一名专业的软件开发人员,在一个维护庞大系统的团队中工作。我负责修复的大多数问题都是可能存在于系统任何部分的错误。我需要完整的源代码才能找出错误的来源以及如何修复它。如果我需要填写表格并等待管理层批准,然后才能查看一些可能与之相关的模块,我将无法完成这项工作。
  2. 优秀的软件开发人员不会长在树上。他们很难被取代,而且他们可以很容易地在其他地方找到工作。要获得并留住最优秀的人才,您需要善待您的开发人员。如果我的公司开始用不合理的源代码访问限制来骚扰我,那会让我感到沮丧,因为我无法高效地工作,并且会侮辱我,因为这意味着他们不信任我。几周后我就走了。
  3. 大多数代码实际上并没有那么有价值。世界上编写的大多数代码仅对解决一个特定客户的问题有用。对于其他人来说,代码完全没有价值。
  4. 即使代码对更大的人群有价值,你也有保护它的法律。工作合同中的版权和保密条款允许您起诉任何试图将您的知识产权出售给他人的人。

防止网络层源代码泄漏的技术措施(如问题评论中提出的)也不是有效的解决方案。开发人员很聪明。他们以解决计算机问题为生。如果他们真的想从您的建筑物中获取一些信息,他们会想办法做到这一点。甚至美国国家安全局也无法阻止爱德华·斯诺登泄露千兆字节的机密数据。

此外,恶意开发人员造成的危害远不止泄露您的源代码。你对此无能为力,因为你越是试图监控和限制你的开发人员,他们的效率就会越低,他们就会变得越不开心。

那么你做些什么来防止你的开发人员反对你呢?很简单:不要雇佣你不能信任的开发者,善待他们,这样他们就不会对你怀恨在心这意味着如果您是一名患有偏执狂和信任问题的经理,那么软件开发不适合您(您可能想给零售一个机会)。

这实际上取决于您支持/工作的行业类型。我相信高比例(90%?)的项目并没有通过他们的软件知识产权来推动他们的竞争优势。以下是一些需要考虑的数据点:

  1. 当有人采用一段源代码或设计/实现/架构理念时,通常最终会为了共同利益而进行修改(开源如此之大并且使许多人受益的主要原因)。
  2. 当公司真正开源他们的产品时,他们获得了竞争优势,协同驱动创新(tomcat、mysql、php、jquery、sugarcrm 等等)。
  3. 您可以窃取一个好的软件,结果发现一旦您将其部署为您自己的,原来的已经比您的副本好得多。

现在,如果您真的想防止有人窃取您的源代码而不阻止您的开发人员访问所有源代码,请执行以下操作:

值得注意的是,这种方法不会干扰您的开发人员的工作效率,直到他们试图窃取您的代码。

  1. 部署受信任的设备。有多种方法可以做到,一种方法是使用 RDE(远程桌面环境),它不是很成熟,也不是老式的远程桌面控制。
  2. 在您的受信任设备上部署外围安全,基本上是围绕您的受信任设备(笔记本电脑、台式机、移动设备)的加密气泡,同样有很多方法可以做到这一点,开始您对数据丢失防护 (DLP) 和信息权限管理 (IRM) 的研究. 我不推荐特定产品,因为它取决于您现有的架构环境。