|
SHA-1冲突可以打破SVN代码存储库。灰鸽子远程控制软件,灰鸽子下载WebKit存储库已损坏,有人提交两个冲突的PDF文件到它
最近公布的SHA-1冲突攻击有可能破坏使用Subversion(SVN)修订控制系统的代码存储库。第一个受害者是WebKit浏览器引擎的存储库,在某人提交了两个具有相同SHA-1哈希值的不同PDF文件后,该引擎被损坏。
这个事件发生在几个小时后,荷兰的谷歌和Centrum Wiskunde&Informatica(CWI)的研究人员在星期四宣布对SHA-1哈希函数的第一次实际碰撞攻击。他们的演示包括创建两个具有不同内容的具有相同SHA-1摘要的PDF文件。
这证明毫无疑问,SHA-1是加密破解的,因为散列函数应该总是为不同的数据或文件片段产生不同的摘要(哈希)。 SHA-1是用于计算用作文件或数据片的加密表示的字母数字字符串的散列函数。
WebKit开发人员希望构建一个测试,以证明在WebKit的依赖于SHA-1的磁盘缓存重复数据删除功能的上下文中,所展示的冲突不能用于缓存中毒。为了做到这一点,他将由CWI和Google生成的两个PDF文件上传到WebKit SVN,然后开始发出错误。
看来,即使在删除文件后,仍然存在一些问题,需要进一步的手动干预来修复它们。
问题不是特定于WebKit的存储库,而是所有基于SVN的存储库。 Subversion开发人员发布了一个脚本,SVN管理员可以使用该脚本来防止SHA-1冲突文件被提交到其存储库。同时,正在进行更永久的修复工作。
Git,一个竞争和更受欢迎的版本控制系统,也内部使用SHA-1,根据CWI和谷歌研究人员,在理论上是脆弱的。
研究人员在他们的shattered.io网站上说,“基本上可以创建两个具有相同头部提交哈希和不同内容的GIT存储库,比如一个良性的源代码和一个后端的哈希。 “攻击者可以选择性地为目标用户提供服务。
这种攻击需要攻击者计算自己的冲突,这时需要大量的资源。它花了谷歌超过九个SHA-1计算,相当于一年的连续计算在110 GPU或6500个CPU。
Linus Torvalds是Linux和git的创始人,似乎对攻击的影响并不太关心,部分原因是它可以通过添加一些简单的检查,使得攻击不值得。
“与一些”签署pdf“攻击不同,Git从根本上不依赖于SHA1作为某种绝对安全,”Torvalds在关于git邮件列表的讨论中说。 “如果我们有git中的最小的机器只是注意到攻击,攻击基本上消失了,攻击者可以浪费无限的CPU时间,如果它很便宜,我们注意到,它完全解除所有的攻击工作。
后来在同一个讨论中,Git开发人员决定使用CWI研究人员提供的碰撞检测代码来构建一些保护。同时将git移动到另一个散列函数作为目标进行讨论,SHA3似乎是所选择的候选,因为它具有比SHA2更好的性能。
“我怀疑天空正在下降作为一个源代码控制管理工具,”Torvalds在他的一封电子邮件中总结。 “我们想迁移到另一个哈希吗?是的,SHA1就像人们想说的”游戏结束“,可能不是,远程控制软件, 远程控制。
即使长期以来已知SHA-1在理论上容易受到冲突攻击,但是对于文件同步,重复数据删除和备份系统的实际攻击的真实世界的影响还有待观察。在90天内,Google和CWI研究人员计划公开他们用于生成冲突的PDF文件的代码,如果他们有必要的计算资源,将允许其他人创建类似的冲突。
|
|