入侵 kernel.org 对站点 Git 存储库上托管的代码库的可信度有何安全影响?今天的公告解释了 160 位哈希、站点镜像和开发工作的分布式特性提供的缓解措施。考虑到主 Git 存储库的散列与它们散列的代码和典型用法/镜像并置,考虑到该站点在检测前 17 天被入侵这一事实,这些保证是否可靠?最后,基于此事件可以提出哪些改进(如果有的话)?
kernel.org 攻击后的可信度
信息安全
哈希
2021-09-05 04:45:47
2个回答
好吧,关于 Git 的使用,事实证明,软件和分布式特性在保护代码和检测恶意修改方面做了很多工作。对于初学者,除非它们匹配相应的 SHA-1 哈希,否则不能更改旧提交。即使一个提交确实与某个 SHA-1 匹配,它也会影响子 SHA-1 哈希,所以这已经过时了。不能合理地更改比违规日期更早的任何内容,否则会破坏存储库和同步。
可以在 17 天内添加提交。因为时间戳是提交的 SHA-1 哈希的一部分,我们可以通过查看比违反前最后一次提交更早的任何内容或提交的子日期早于提交日期的任何内容来缩小“可疑”提交的列表。父母日期。如果您曾经尝试在 git 中的提交到达共享存储库后对其进行更改,那么您就会明白历史上的某些内容被更改是多么明显。
由于包含完整历史记录的内核哈希的完整副本分布广泛,并且始终通过遵循无法在用户不知情的情况下回滚的提交链进行增量更新,因此内核源代码实际上非常安全,即使在托管网站遭到入侵。
最后,因为只有少数人能够合法地提交内核,我们可以期望他们能够注意到他们不期望的任何更新。签核的人工控制(一种技术控制,但不是)在了解内容的来源方面起着重要作用。
总而言之,在 Git 中以未被发现的方式破坏内核源代码将是十年来最令人印象深刻的黑客攻击之一。人们可以更轻松地通过看起来无害但具有恶意的适当渠道输入代码。
这个问题不应该标题为“kernel.org PRE-attack 的可信度”吗?再想一想,我想这个问题已经得到了回答。:-)
我可能会花费大部分分析时间来确定我对他们确定最早可能的攻击日期的确定性。