SHA-1碰撞攻击将会对我们产生怎样的现实影响?

近期,Google和荷兰国家数学和计算机中心(Centrum Wiskunde & Informatica,CWI)的研究人员完成了针对第一例SHA-1的碰撞攻击,创造了两个hash值完全相同但内容截然不同的文件。然而,在真实的信息安全世界中,这种攻击又会怎样对个人和组织机构造成何种威胁呢?

对SHA-1算法不安全的担心由来已早。在2015年荷兰国家数学和计算中心和新加坡南洋理工大学研究员联合发表的论文中,描述了SHA-1碰撞攻击的各种理论性可能。同时,在RSA 2016的密码学家研讨会上,该篇论文得到了很多关注,参会的著名密码学专家Adi Shamir也预测,真实的SHA-1碰撞攻击在未来几个月将会成功实现。在此次会议之后,一些安全公司正式对外宣布SHA-1机制可能存在缺陷;与此同时,因为没有真实的攻击成功案例,这种攻击也带来了诸多质疑。更多请参考FreeBuf百科《深度:为什么Google急着杀死加密算法SHA-1》。

但为了防止任何理论攻击可能,去年开始,一些安全公司开始反对继续使用SHA-1算法。尽管谷歌、Facebook、微软和Mozilla等公司已采取措施替换SHA-1算法,但哈希函数仍在广泛使用。当Google和CWI的实验成功之后,SHA-1碰撞攻击再次受到关注。这种攻击已经成为现实,所以,我们应该如何去防范和修复呢?

影响分析

几年前,针对MD5算法存在“构造前缀碰撞攻击”(chosen-prefix collisions),而真实案例中,Flame(火焰)病毒就使用了此种攻击方法。SHA-1碰撞攻击实现后,恶意软件开发者将会创造什么样的病毒,值得想像。

在此,我们就针对一些利用微软签名校验的恶意程序,结合SHA-1碰撞作一些攻击可能的探讨。为了说明SHA-1碰撞攻击的现实威胁,我们找到了一例很有趣的例子:微软内核模式代码签名策略,攻击针对目标是加载的内核模式驱动程序签名认证,以下是包括WIN 10在内的该类签名规范和要求:

我们可以看到,其中列出的哈希机制就包括SHA-1,所以,毫无疑问,SHA-1碰撞攻击将会产生驱动签名滥用情况,为恶意内核代码程序的利用传播敞开大门。事实上,SHA-1签名校验的驱动程序并不少见,以下就是一些我们发现的实例:

在Win 10系统中,这类存在“风险隐患”的驱动程序是不是就非常少呢?但由于存在很多第三方驱动,所以,情况让你超乎想像。虽然微软在最新的系统适配产品中明确反对SHA-1机制认证程序,但很多第三方驱动依然大范围存在此种情况。另外,在一些之前的操作系统版本(Win 7\Win 8)中,还存在着大量且多年未更新的此类驱动。例如:

从这里就可以看出,SHA-1将会成为很多组织机构和相关系统的一个心头大患。受影响的系统和服务包括:数字证书签名、邮件、PGP/GPG 签名、软件发布签名、备份系统、冗余热备份系统、Git......等等,除了网络安全之外,影响将会波及很多使用传统操作系统的大型组织机构。这种很多第三方软件公司持续使用的,运行机制本身就存在的问题,将会成为一个严重的信息安全问题。要保证安全,只有从核心和本质上进行处理,但对很多软件公司来说,这又会成为一个“牵一发动全身”的棘手问题。

深入研究之后,我们甚至发现一些固件和硬件也受到此问题影响。例如,普遍使用的仅支持SHA-1验证的TPM 1.2芯片,SHA-1碰撞攻击将会直接对一些使用SHA-1算法的固件可信启动机制造成影响。在这方面,微软在Win10系统中已经作了一些限制,如其加密方式不支持TPM1.2芯片。

SHA-1碰撞攻击的恶梦才刚刚开始,我们应该尽快结束使用SHA-1的时代。谷歌将在接下来的90天内公布SHA-1碰撞攻击的测试工具。

SHA-1碰撞会被用到一些野生攻击中吗?

证据表明,攻击者必须在拥有原始文件和已知哈希的情况下才能完成碰撞攻击,另外,由于攻击利用了定向编辑,不是每次编辑都会有效。换句话说,即使是破解了SSH或TLS的认证证书,也都不可能实现,需要对原始文件进行一些非常细微的定向更改才能保证碰撞攻击成功。

虽然在某种程度上来说,更改签名验证很容易实现,但如果要进行伪装式的SHA-1碰撞攻击,想要让受害者迷惑,完全对看不出马脚,这就需要对利用文档进行破坏性的改造,而不只是通常性修改。后续可能会有一些针对SHA-1碰撞攻击的检测研究。

总体上来说,要实现该项攻击需要很大的代价成本。如果攻击者使用类似于比特币挖矿的专业装备和技能,攻击可能将会变得更加便捷。Google和CWI声称,该攻击实现需要大量的CPU和GPU计算,同时还需高效的分布式操作,攻击第一阶段攻击是在Google的异质CPU集群上进行的,并扩展至8个物理地址;第二阶段攻击代价更高,是在Google的K20、K40和K80异质GPU集群上进行的。经相关研究人员计算得出,使用亚马逊云服务AWS进行第二阶段的攻击,耗资约56万美元。但是,若攻击者足够耐心并利用现场参考案例,成本可降至11万美元。

如何修复和预防这种攻击呢?

作为安全和开发团队来说,最好的方法就是使用SHA-256等更复杂的算法,或使用两个独立的加密算法。当然,对于攻击检测来说,仍然可以使用Google发布的开源检测代码。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-03-04

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏镁客网

牛津大学研究团队发文,称常温保存系统更利于肝脏移植 | 黑科技

14520
来自专栏媒矿工厂

新一代互联网视频压缩AV1最新进展【2017.8】

前几天,开放媒体联盟(AOM,Alliance for Open Media)举行了董事会议,对AV1编解码器的发布日期进行了讨论,Netflix和YouTub...

48530
来自专栏FreeBuf

国内研究人员发现GMR-2的安全问题,卫星电话通讯几乎可实时解密

根据最新报道,国内的两名安全研究专家在GMR-2密码实现中发现了漏洞,而这些漏洞将允许攻击者以秒为单位来实时解密卫星电话的通讯数据。 ? GMR-2是一种应用于...

31150
来自专栏云计算D1net

社交网络信息安全:规避云计算风险

云计算用在 BYOD 及社交网络这两种最新的、最热门的 IT 应用,特别会引起人们的注意,这是因为它们引起了新的安全问题。 第一个问题是: BYOD 为何会如此...

39460
来自专栏顶级程序员

最具争议的12个数学事实

来自:译言网 译者:沉香玉 原文作者:Walter Hickey 链接:http://select.yeeyan.org/view/102595/35749...

468110
来自专栏腾讯社交用户体验设计

2015Q4智能可穿戴市场白皮书 - 腾讯ISUX

17330
来自专栏视频加密

视频加密一机一码软件,能实现哪些功能呢?

很多客户疑惑视频加密一机一码软件就只是对视频加密吗?就拿点量视频一机一码软件举例来说,视频加密一机一码软件除了对视频加密这个功能,还附加好多其他常用的功能,简单...

44630
来自专栏FreeBuf

利用无线电波窃取计算机密码

根据安全研究人员的最新报告,电脑中的加密密钥可以通过无线电波而泄漏,攻击者只需要廉价的消费级装备即可获取密钥。 在过去,已经有相关专家谈论到有可能通过分析无线电...

26390
来自专栏微信小程序开发

为什么那么多人要做小程序?

前言:自从2017年1月9号发布小程序以来,不少公司和个人已经投入到小程序的开发中。目前小程序入口较弱,只能依附于微信体系,那么大家都是出于什么原因要做小程序呢...

333110
来自专栏云计算D1net

云加密:云端使用数据加密技术

虽然许多企业组织期望充分利用云计算,但数据安全仍然是需要操心的首要问题。然而,借助众多云解决方案,有望实现并享用云端的有效数据保护和强加密。 ? 随着商业监管和...

82960

扫码关注云+社区

领取腾讯云代金券