集中式与分布式版本控制安全性

Mic*_*oie 11 security version-control dvcs

随着我的公司开始进一步探索从集中版本控制工具(CVS,SVN,Perforce和其他许多人)转向提供团队分布式版本控制工具(在我们的案例中为mercurial),我遇到了一个问题:

问题

经理已经提出担心分布式版本控制可能不如我们的CVCS选项那么安全,因为回购历史记录本地存储在开发人员的机器上.

很难确定他确切的安全问题但是我已经认识到,它的核心是这样一个事实:恶意员工不仅可以通过复制单个文件夹来正确地窃取最新的知识产权,而且可以窃取我们的整个变更历史.

问题

  • 分布式版本控制系统真的为项目引入了新的安全问题吗?
  • 恶意窃取代码更容易吗?
  • 完整的历史记录是否代表了最新版本的代码没有的额外威胁?

我的想法

我的看法是,这可能是一个错误的想法,集中模型更安全,因为历史似乎更安全,因为它在自己的盒子上.鉴于具有对集中式仓库的读访问权限的用户可以在任何关键修订版中选择性地提取项目的快照,我不确定DVCS模型是否使这一切变得更加容易.此外,大多数CVCS工具允许您使用单个命令提取整个repo的历史记录,以便您可以将它们导入其他工具.

我认为另一个问题是历史与最新版本相比有多重要.当然有人可以检查一个绝密文件,然后删除它,历史很快就会很重要.但即使在那种情况下,CVCS用户也可以使用单个命令检出该绝密版本.

我确信我可能会遗漏某些内容或淡化风险,因为我渴望看到DVCS成为完全支持的工具选项.请提出您对安全问题的任何想法.

Kar*_*ldt 12

如果您具有对CVCS的读取权限,则您有足够的权限将回购转换为DVCS,人们一直这样做.没有任何软件工具可以保护您免受心怀不满的员工窃取您的代码的影响,但DVCS还有更多选项可用于处理不受信任的贡献者,例如网守工作流程.因此,它广泛用于开源项目.


Pie*_*rre 5

  • 你是对的,分布式版本控制并没有真正引入任何新的安全问题,因为开发人员已经在两种情况下都可以访问代码.我只能认为,由于使用GIT离线和离线工作更容易,开发人员可能会比集中式更容易做到这一点.我会推动使用代码在所有公司笔记本电脑上强制加密
  • 不是很容易,只是一样.如果启用日志,则在访问代码时将获得相同的信息.
  • 我个人不这么认为.它可能代表导致某些决定的思考过程,但不一定更多.

它归结为在两种情况下如何实施安全措施的知识.如果您在一个系统与另一个系统中拥有更多经验,那么您更有可能实施更多以防止此类丢失,但在一天结束时,您只需在允许他们访问代码的情况下信任您的开发人员.没办法解决这个问题.