SHA-1被破解始末

大概是前天吧,朋友圈普天盖地地被sha1破解刷屏了。做这事的人是google,酷酷的google,喜欢酷酷的发一篇论文,然后一大堆人跟屁虫似的开始了实现之旅;喜欢酷酷的破解后,发一个报告,然后一众人又对谷歌顶礼膜拜。顶礼膜拜之余,人们不免心生怯意,这尼玛世上还有不被破解的加密算法吗?怎么感觉没有啊,都是玩得文字游戏啊。

也许有的朋友还并不是非常了解sha是个什么东东,直到它被破解的那一日。

让我们从maven repository目录下的文件说起吧:

相信你对这样的目录相当熟悉,发现没?这里边就有sha1文件。

pom和jar都有对应sha1文件。

SHA1算法 安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。

也就是上面maven的那些sha1文件都是jar和pom对应的校验文件。

Wiki:

On February 23, 2017 CWI Amsterdam and Google announced a practical collision attack against SHA-1, publishing two dissimilar PDF files which produce the same SHA-1 hash as proof of concept.

大概是在2017年 2月23日 CWI AmsterdamGoogle 宣布一个对sha1实践地冲突攻击,他们说,两个不同的pdf文件却产生了相同的sha hash。

为什么强调pratical呢?因为在这之前有人就说sha1不安全,但仅仅停留在理论层面。

2013年,Marc Stevens发表了一篇论文,概述了创建SHA-1碰撞的理论方法。他说两份不一样的pdf文件,可以散列到相同的SHA-1摘要。 可能有雨他没时间也没基础设施破解这玩意,于是他说在实践中构建这种理论上攻击,要克服一些挑战。

然后谷歌就把这事干了。

当两个不同的数据(文档,二进制或网站的证书)散列到如上所示的相同摘要时,会发生冲突。 实际上,对于安全散列函数不应发生冲突。 然而,如果哈希算法有一些缺陷,如SHA-1,一个资金充足的攻击者可以进行冲突。 攻击者然后可以使用这种冲突来欺骗依赖于哈希的系统接受恶意文件代替其良性对应。 例如,两个保险合同具有完全不同的术语。

破解难度有多大?

下面的列出了一些数字,让大家了解破解这种算法所需要的计算规模有多大:

  • 总计900万兆(即百万的五次幂,具体为9,223,372,036,854,775,808)次SHA1计算。
  • 要完成攻击的首个阶段需要单一CPU计算6500年。
  • 要完成攻击的第二阶段需要单一GPU计算110年。

总之,就是也就只有谷歌这些云计算基础设施才能搞得定,不是谁都可以。

md5:只需要一个智能手机30秒就破解了。

sha-1 shattered:110GPU 需要一年;

sha-1 bruteforce:12000000GPU 需要一年。

下面是谷歌他们发出来的一个说明文件:

你也可以通过http://shattered.io/来在线检测自己的文件是否安全。

如何避免sha1安全问题?

升级到sha256

什么类型的系统受到影响?

任何依赖SHA-1进行数字签名,文件完整性或文件识别的应用程序都可能存在漏洞。 这些包括:

数字证书签名

电子邮件PGP / GPG签名

软件供应商签名

软件更新

ISO校验和

备份系统

重复数据删除系统

GIT

等等

TLS / SSL证书是否有风险?

任何遵守CA /浏览器论坛法规的认证机构不允许再颁发SHA-1证书。 此外,要求证书机构在序列号字段内插入至少64位的随机性。 如果正确实施,这有助于防止风险。

我的浏览器会向我显示警告吗?

从2017年1月发布的第56版开始,Chrome会将任何受SHA-1证书保护的网站视为不安全。 Firefox已计划于2017年初推出此功能,已于2017年2月24日淘汰了SHA-1。

GIT是否受影响?

GIT强烈依赖SHA-1来识别和完整性检查所有文件对象和提交。 基本上可以创建两个具有相同的头提交哈希和不同内容的GIT存储库,例如良性的源代码和后代的。 攻击者可以选择性地为目标用户提供服务。 这将需要攻击者计算自己的冲突。

SVN是否受影响?

是的 - 请小心,因为SHA-1碰撞文件正在破坏SVN存储库。 Subversion服务器使用SHA-1进行重复数据删除,并且当两个冲突文件提交到存储库时,存储库损坏。 这已经在WebKit的Subversion存储库中发现,并由我们独立确认。 我们注意到,在某些情况下,由于损坏,进一步提交被阻止。

如何修补/升级我的系统?

考虑使用更安全的替代品,例如SHA-256或SHA-3。

如何检测此攻击?

您可以使用上面的在线工具提交文件,并让他们检查对SHA-1的密码分析冲突攻击。 它的代码由Marc Stevens(CWI)和Dan Shumow(Microsoft)开发,并在GitHub上公开提供。

它基于反密码分析的概念,并且它能够检测已知和未知的SHA-1密码分析冲突攻击,只给出来自冲突文件对的单个文件。

谁能够进行这种攻击?

这种攻击需要超过9,223,372,036,854,775,808个SHA1计算。这使得等价的处理能力为6,500年的单CPU计算和110年的单GPU计算。

这个攻击与强力攻击相比怎么样?

SHAttered攻击比依靠生日悖论的暴力攻击快100,000倍。暴力攻击需要12,000,000 GPU年才能完成,因此是不切实际的。

你是如何利用PDF格式的这种攻击?

一个差不多一千个大小的一张图片。就是下面这张:

这项研究背后的团队是谁?

这个结果是Centrum Wiskunde&Informatica(CWI) - 荷兰数学和计算机科学国家研究所和Google研究安全,隐私和反滥用小组的长期合作的产物。两年前,Marc Stevens和领导Google反滥用研究团队的Elie Bursztein开始合作,利用Google的专业知识和基础设施,使Marc对SHA-1的密码分析攻击成为可能。从那时起,许多CWI研究人员和Google员工帮助这个项目成为可能,包括从事密码分析和原型GPU实现的Pierre Karpman,以及开发PDF攻击的Google Ange Albertini,Yarik Markov负责分布式GPU代码,Alex Petit-Bianco实施了碰撞检测器来保护Google用户,Luca Invernizzi创建了在线文件检查程序,Clement Blaisse负责监督计算可靠性。

原文发布于微信公众号 - ImportSource(importsource)

原文发表时间:2017-02-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安智客

数字证书的存储和安全性

数字证书的产生、分发和存储 首先,让我们来回顾一下数字证书产生和分发的简要过程。一个网上用户怎样才能得到一张数字证书呢? ? CA将证书分发给用户的途径有多种...

334100

云安全(第1部分):从何开始

在何以以及何时部署安全措施这件事上,不同的公司的方案各式各样,形形色色。有的未雨绸缪提早准备,而有的会等到其成为首要需求的时候才会开始。

20080
来自专栏FreeBuf

Google全系列产品不再信任赛门铁克某款根证书

Google宣布在接下来的几周,Google会在Chrome、Android和其他Google产品中将把赛门铁克颁发的“Class 3 Public Prima...

20370
来自专栏黑白安全

蓝牙加密配对漏洞曝光:请速更新操作系统或驱动程序

据外媒报道,最近曝出的一个加密错误(Crypto Bug),对苹果、博通、英特尔、高通等硬件供应商的蓝牙实施和操作系统程序都产生了较大的影响。其原因是支持蓝牙的...

15010
来自专栏云市场·精选汇

目前为止,您的网站还没有ssl证书吗?

今年年初,Google在其安全博客上已经表明,从7月开始,chrome68会将所有的HTTP网站标记为不安全。随后,Mozilla也表明,Firefox浏览器也...

21550
来自专栏腾讯数据中心

数据中心柴油发电机组带容性负载能力技术研究探讨(上)

柴油发电机组在数据中心行业的特性应用场景下,容性带载能力及突加重载能力一直是行业研究和攻克的应用难题,腾讯IDC技术专家将从测试和技术研究的角度来剖析其中的奥...

52390
来自专栏Debian社区

Debian瞻前 微软顾后:安全改进是否会产生负面影响

在许多互联网领域,尤其是Web PKI和SSL/TLS行业中,我们大多生活在过去的决定中。脆皮密码、差强人意的协议设计以及不怎么标准的软件始终牵绊着前进的步伐。...

8720
来自专栏FreeBuf

【安全预警】Forbidden attack:7万台web服务器陷入被攻击的险境

最近,根据某国际安全小组的研究表明,金融巨头Visa旗下部分受HTTPS保护的网站最近被发现了一种漏洞,它的存在可以让黑客注入恶意代码,访客浏览器将会访问到恶意...

22670
来自专栏企业短信平台

短信验证码收不到的原因,处理方法

在现今的互联网生活中,我们会经常用到短信验证码。例如在用户注册、账户登陆、修改密码、资金支付等场景通过短信验证码进行账户身份安全核验。如果遇到不能收到验证码短信...

4.5K60
来自专栏FreeBuf

“历史遗留”漏洞:浅析新型SSL/TLS漏洞FREAK

最近安全研究人员发现一种新型SSL/TLS漏洞。预计在十年内,数以百万计的苹果、安卓用户访问HTTPS网站时将可能遭受中间人进而被窃取账号和密码,即使这些网站使...

26770

扫码关注云+社区

领取腾讯云代金券