安全研究人员概述了一种新技术,无论对手与目标服务器之间的网络拥塞如何,基于远程计时的边信道攻击都可以更加有效。通过网络连接进行的
远程定时攻击主要受网络传输时间(或抖动)变化的影响,而后者又取决于任何给定时间点的网络连接负载。
但是,由于测量执行密码算法所需的时间对于进行定时攻击并因此泄漏信息至关重要,因此从攻击者到服务器的网络路径上的抖动可能使成功利用依赖于加密算法的定时侧信道变得不切实际。执行时间差异很小。
这种新方法被DistriNet研究小组和纽约大学阿布扎比分校的研究人员称为“无时限定时攻击(Timeless Timing Attacks,TTAs)”,而是利用网络协议的多路复用和应用程序的并发执行,从而使攻击不受网络条件的影响。
研究人员说:“这些基于并发的定时攻击通过分析返回响应的顺序来推断相对的定时差异,因此不依赖任何绝对定时信息。”
使用HTTP / 2的请求复用来减少抖动
与典型的基于计时的攻击不同,在这种计时中,执行时间是独立和顺序地进行测量的,最新技术试图从顺序和两个同时执行的请求之间的相对计时差异中提取信息,而无需依赖任何计时信息。
为此,不良行为者会直接或使用跨站点(例如恶意广告或诱使受害者访问由攻击者控制的网页)向受害服务器发起一对HTTP / 2请求,以向通过JavaScript代码访问服务器。
服务器返回的结果包含第二个请求和第一个请求之间的响应时间差。然后,TTA通过考虑此差异是正值还是负值来工作,其中正值表示第一个请求的处理时间比处理第二个请求花费的时间少。
研究人员指出:“在通过HTTP / 2托管的Web服务器上,我们可以从大约40,000个请求对的响应顺序中准确推断出100ns的时序差异。”
“在传统的Internet定时攻击中,我们可以观察到的最小定时差异为10μs,比基于并发的攻击高100倍。”
这种方法的局限性在于,针对使用HTTP / 1.1的服务器的攻击无法利用该协议合并单个网络数据包中的多个请求,因此要求使用多个连接执行并发定时攻击,而不是通过同一连接发送所有请求。
这源于HTTP / 1.1使用行头(HOL)阻止,这导致顺序处理同一连接上的所有请求,而HTTP / 2通过请求多路复用解决了此问题。
当前,所有台式机网站中有37.46%是通过HTTP / 2提供服务的,对于支持HTTPS的网站,这一数字进一步增加到54.04%。尽管这使大量网站容易受到TTA的影响,但研究人员指出,其中许多网站都依赖内容分发网络(CDN),例如Cloudflare,该网站仍使用HTTP / 1.1来实现CDN与原始站点之间的连接。
Tor洋葱服务和Wi-Fi EAP-PWD容易受到攻击
但与此相反,研究人员发现,还可以针对Tor洋葱服务(包括仅支持HTTP / 1.1的服务)部署基于并发的定时攻击,从而允许攻击者创建到特定洋葱服务的两个Tor连接,然后同时发送每个连接的要求是测量1μs的时序差异。
那不是全部。所述EAP-PWD认证方法,它连接到Wi-Fi网络在服务器和请求者之间使用共享密码,通过在利用一个定时泄漏呈现容易受到字典攻击蜻蜓握手协议来揭示关于密码本身的信息。
尽管可以通过确保恒定的时间执行来抵制定时攻击,但说起来容易做起来难,尤其是对于依赖第三方组件的应用程序。或者,研究人员建议对传入的请求添加随机延迟,并确保不同的请求不会组合在单个数据包中。
这不是第一次采用远程定时攻击来泄漏敏感信息。研究人员先前已经证明,可以利用缓存辅助通道从Intel CPU缓存(NetCAT)嗅探SSH密码,甚至可以通过网络连接(NetSpectre)实现类似Spectre的推测执行。
研究人员说:“由于NetSpectre攻击的目标是网络层以上的应用程序,因此从理论上讲,攻击者可以利用我们基于并发的定时攻击来提高定时精度。”
研究结果将在今年晚些时候的USENIX安全研讨会上发表。研究人员还发布了基于Python的工具,以测试HTTP / 2服务器的TTA漏洞。