一旦一个人被错误地授予私人回购并意识到这一点,是否迫切需要撤销对私人回购的访问?

信息安全 数据泄露 权限
2021-08-31 10:17:57

在流行的信息安全博客Niebezpiecznik.pl 上一篇文章,描述了一个有趣的情况。

一家公司错误地将其 BitBucket 存储库的访问权限授予随机程序员。该程序员随后向公司的多名员工发出了警告,敦促他们尽快撤销访问权限。他发现这些员工反应迟钝(例如,有人说他只有在假期回来后才会撤消访问权限),因此提醒了 Niebezpiecznik 博客,该博客随后联系了该公司。直到那时,访问权限才被撤销。

很明显,程序员认为没有立即撤销访问权限是代表公司安全政策的一个非常严重的疏忽。这就是我感到惊讶的地方。

因此,让我们从公司的角度考虑这一点。有人联系他们,声称他被虚假授予访问他们私人仓库的权限,并敦促他们撤销此访问权限。现在这个人要么对这个 repo 的内容感兴趣,要么不感兴趣;他也有或没有足够强大的道德价值观来避免下载它。如果他愿意检查 repo 的内容,他已经有足够的时间来做这件事了;如果他还没有这样做,那么到员工休假回来时,他可能还没有这样做。换句话说,牛奶已经洒了,没有比已经发生的更糟糕的事情在未来发生了。

因此,我认为,情况不再紧急,可以完全等到员工休假回来。

我哪里错了?

4个回答

有几个原因:

  • 如果它发生在一个人身上,它可能会发生在更多人身上。这些其他人可能不那么善良。
  • 谁知道,这个人可能会改变主意。当他们努力联系你,只是得到一个“meh”作为回报时,他们可能会有点生气,并决定为此惩罚你。
  • 或者也许他们只是想找点乐子,不小心弄坏了一些东西。
  • 您可能想检查日志以查看此人说的是真话。也许他们在联系您之前悄悄地偷走了您的加密密钥。您可能想轮换所有的秘密以确保安全。
  • 最重要的是,这是一笔大交易™。任何没有以震惊和恐惧做出反应,而是订购另一杯可乐的人,显然不了解情况的严重性。

评论中有一些非常好的观点,这个答案在某些情况下可能都很好(例如只读访问,代码中没有秘密等)。这是正确的,但我仍然认为应该更认真地对待这一点。你真的 100% 确定你的仓库中的一些旧提交没有秘密吗?无论如何都不应该访问您的系统的人得到了它,这一事实本身就是一个不祥之兆。

虽然不可能读懂玩游戏的人的想法 - 我认为独立程序员

A) 不想被指责为不正当行为——如果您急于要求撤销您的访问权限,那么被指责为 IP 盗窃要困难得多。

B) 对控制私有存储库的公司的安全状况感到震惊,并且知道如果他对此负责,他希望得到通知。

需要注意的一点是,让额外的用户访问存储库会打开一个全新的可能攻击向量。如果有恶意的其他人在原始帐户持有人不知情的情况下访问了已被授予访问回购权限的帐户,则该人可以轻松下载您的整个源代码。

为了提供与大多数人不同的观点,如果项目处理得当,它真的不应该是安全风险。

基本上有两件事必须完成。首先,那个

  • 你不能在没有其他人签字的情况下将代码引入发布分支。这通常是通过要求对进入发布分支的任何代码进行拉取请求和代码审查来实现的。在这种情况下,如果该人仅获得对存储库的读取权限,则您不必担心这一点。但是,无论如何,你应该把它放在适当的位置。

其次

  • 没有人在存储库中包含秘密。是的,你可能有秘密的 API 密钥、代码签名证书等等,但真正的那些永远不应该在你的主存储库中,每个人都可以访问。如果代码需要一些秘密才能工作,请在您的存储库中包含一些虚拟开发/测试版本。但是真正的应该分开保存,只有少数人可以访问,最好是让您的构建系统自动包含它们而无需手动参与。

如果这两个都是真的,从安全的角度来看,我真的没有看到任何伤害。代码中是否有一些有价值的商业机密可能会泄露给竞争对手,这是一个不同的话题。

或者换一种方式来思考这个问题:这里的情况没什么特别的。每次员工离职时,您都必须处理相同的问题如果您的存储库包含任何秘密,那么外部人员现在知道所有这些秘密。