导语:近日,据外媒报道称,三名研究人员发现了一种旧密码攻击的新变体,攻击者可以在某些条件下利用这种新变体获得解密HTTPS 流量所需的私有加密密钥。
近日,据外媒报道称,三名研究人员发现了一种旧密码攻击的新变体,攻击者可以在某些条件下利用这种新变体获得解密HTTPS 流量所需的私有加密密钥。
据悉,这种机密攻击新变体名为“ROBOT”(Return of Blichenbacher’s Oracle Threat)攻击,意为“Blichenbacher Oracle 攻击的回归”,这个新的攻击形式是差不多二十年前发现的针对RSA 算法的Blichenbacher攻击的一个变种。
原始的Blichenbacher攻击
早在1998年,贝尔实验室的研究人员Daniel Blichenbacher 在服务器所有者选择使用RSA 算法处理服务器端密钥交换时,发现了TLS 服务器的操作过程中存在一个漏洞。
默认情况下,在客户端(浏览器)和服务器通过HTTPS开始通信之前,客户端会选择一个随机的会话密钥,其将通过服务器公开发布的密钥进行加密。这个被加密的会话密钥会被发送给服务器,随后,服务器会使用其私钥来解密信息并保存会话密钥副本,并在后续过程中使用它来识别每个客户端。
由于RSA并不是一种安全的算法,因此它也会使用填充系统在加密会话密钥的顶层添加一个额外的随机位层。
研究员Blichenbacher发现,如果这个会话密钥是通过RSA算法加密的,并且填充系统是PKCS#11.5的话,那么攻击者就可以简单地向TLS 服务器发送一个随机会话密钥,并询问其是否有效。随后,服务器会以简单地“是”或“否”的方式来回应。
这也就意味着,攻击者可以通过简单的暴力攻击来猜测会话密钥,并解密TLS (HTTPS)服务器和客户端(浏览器)之间交换的所有HTTPS流量信息。
宣告失败的Blichenbacher攻击保护措施
TLS 标准的设计者并没有更换不安全的RSA算法,而是决定增加对抗措施,以使暴力猜测的过程难以执行。
这对于原始的Blichenbacher攻击而言是一种不完整且不足的解决方案。自此之后,研究人员陆续在2003年、2012年、2014年以及2015年都发现了原始Blichenbacher攻击的新变体。
其中,关于这一话题最新的研究当数DROWN 攻击,它影响了2016年3月发布的近三分之一的HTTPS 站点。
新的“ROBOT”攻击出现
如今,研究人员再次发现了一个名为“ROBOT”攻击的新型Blichenbacher变种,它也是依赖于TLS创建者在1998年及之后所部署的对抗措施。
根据研究人员所言,其问题在于,TLS 标准非常复杂,许多服务器设备供应商未能正确地执行TLS标准(RFC 5246)的7.4.7.章节的内容,该章节定义了针对原始Bleichenbacher 攻击的对抗措施。
发现并报告了“ROBOT”攻击的三名研究人员表示,思科、Citrix、F5以及Radware 等公司所提供的产品在某些配置下都容易受到“ROBOT”攻击影响。
这种配置的判断标准是,服务器所有者是否通过RSA算法并使用PKCS #11.5填充系统来对TLS会话密钥进行加密。
在针对易受攻击的产品发布补丁之前,“ROBOT”攻击研究小组和US-CERT(美国国家计算机安全应急响应中心) 建议称,脆弱设备的所有者可以在其设备上禁用TLS会话密钥RSA加密。这种办法实施起来不是什么难题,因为大多数设备也支持椭圆曲线Diffie Hellman(ECDH)会话密钥加密,这种方案比RSA算法更为安全。
TOP 100网站中有27个站点易受“ROBOT”攻击影响
“ROBOT”攻击研究小组表示,虽然“ROBOT”攻击是一个存在19年之久的攻击变体,但是在Alexa的排名前100的站点中仍然有27个站点易受“ROBOT”攻击影响。易受攻击的网站包括Facebook 以及PayPal等。“ROBOT”攻击的科学论文中有一个研究案例,在这个案例中研究人员解释了如何解密Facebook的流量。
此外,Alexa排名前100名之外的站点也可能会受到“ROBOT”攻击影响。目前,研究人员已经发布了一个Python脚本,旨在帮助服务器管理员扫描易受攻击的主机,并在“ROBOT”攻击主页上增加了一个ROBOT漏洞检查工具。
就像DROWN 漏洞一样,这个问题会造成非常巨大的影响,因为攻击者可以记录HTTPS流量,并在随后进行解密。
另外值得注意的是,攻击者通过“ROBOT”攻击获得的不是TLS服务器私钥,而是每个客户端连接的个人会话密钥。这就意味着,攻击者无法访问通用解密密钥,而只能访问某一个HTTPS会话的一次性密钥。为了解密大量的HTTPS流量,“ROBOT”攻击需要进行大量的计算工作。