新的黑客技术克服了可能影响旁路攻击成功的“网络抖动”问题。
比利时鲁汶大学和阿布扎比纽约大学的研究人员开发的一项新技术显示,恶意攻击者可以利用网络协议的特殊功能泄露敏感信息。
在今年的Usenix会议上提出的这项名为“Timless Timing Attack”的技术,利用网络协议处理并发请求的方式来解决远程定时旁路攻击的地方性挑战之一。
计时攻击衡量不同命令之间的计算时间差异,以试图通过加密提供的保护,并推断有关加密密钥、私人对话和浏览习惯等敏感信息的线索。
但是要成功地发动计时攻击,攻击者需要精确了解目标应用程序处理请求所需的时间。
当以远程系统(如Web服务器)为目标时,这就变成了一个问题,因为网络延迟(抖动)会导致响应时间的变化,从而使计算处理时间变得困难。
在远程定时攻击中,攻击者通常会多次发送每个命令,并对响应时间进行统计分析,以减少网络抖动的影响。但这项技术只在一定程度上有效。
“时间差越小,需要的请求就越多,在某种程度上,这会变得不可行,”KU鲁汶大学的安全研究员、这篇永恒攻击论文的主要作者汤姆·范·戈瑟姆(Tom Van Goehim)告诉“每日游泳报”(The Daily Swig)。
戈瑟姆和他的同事开发的这项技术以一种消除网络抖动影响的方式执行远程定时攻击。
永恒计时攻击背后的想法很简单:确保请求在完全相同的时间到达服务器,而不是按顺序发送。
并发性确保两个请求享受相同的网络条件,并且它们的性能不受攻击者和服务器之间的路径的影响。然后,响应到达的顺序将为您提供比较计算时间所需的所有信息。
“永恒计时攻击的主要优势是这些攻击更加准确,因此需要的请求要少得多。这使得攻击者可以检测到执行时间的差异,小到100 ns,“Van Goehim说。
研究人员观察到,在通过互联网进行的传统计时攻击中,最小的计时差异是10μs,比基于并发请求的攻击高出100倍。
“我们确保[并发性]的方法确实是通过确保两个请求都放在一个网络数据包中,”Van Goehim说,并补充说,“它在实践中的确切工作方式主要取决于网络协议。”
例如,HTTP/2正在迅速成为Web服务器的事实标准,它支持“请求多路复用”,这是一种允许客户端在单个TCP连接上并行发送多个请求的功能。
“(对于HTTP/2),我们只需要确保两个请求都放在一个数据包中(例如,同时将两个请求写入套接字),”Van Goehim解释说。
然而,也有一些警告。例如,大多数内容交付网络(如为大部分Web提供动力的Cloudflare),边缘服务器和源站点之间的连接是通过HTTP/1.1进行的,这不支持请求多路复用。
虽然这降低了永恒攻击的有效性,但它仍然比对远程计时攻击进行分类更精确,因为它消除了攻击者和CDN边缘服务器之间的抖动。
对于不支持请求多路复用的协议,攻击者可以使用封装请求的中间网络协议。
研究人员继续展示了永恒的计时攻击是如何在Tor网络上发挥作用的。在这种情况下,攻击者将多个请求封装在ToR信元中,即在Tor网络中的节点之间加密并在单个TCP数据包中传递的数据包。
“因为洋葱服务的Tor线路一直到服务器,所以我们可以确保请求同时到达,”Van Goehim说。
在直接计时攻击中,恶意行为者直接连接到服务器,并试图泄露特定于应用程序的机密信息。
Van Goehim说:“由于大多数Web应用程序在编写时并没有考虑到计时攻击可以非常实用和准确,我们认为许多网站都容易受到计时攻击。”
在跨站点计时攻击中,攻击者从受害者的浏览器触发对其他网站的请求,并通过观察响应序列推断私人信息。
攻击者利用此方案利用HackerOne漏洞赏金程序中的漏洞进行攻击,并提取有关未修复漏洞的私人报告中使用的关键字等信息。
范·戈瑟姆说:“我寻找那些之前报告过定时攻击但被认为无效的案例。”
“在HackerOne漏洞的情况下,它已经报告了至少三次(漏洞ID#350432、#348168和#4701),但没有修复,因为攻击被认为是不可行的。然后,我创建了一个带有永恒定时攻击的基本PoC。
“当时,它还没有经过优化,因为我们还在弄清楚攻击的细节,但尽管如此,它似乎相当准确(在我家的WiFi连接上,我设法获得了非常准确的结果)。”
该论文的合著者之一Mathy Vanhoef之前曾在WPA3的握手协议中发现了一个潜在的定时泄漏。但时间太短,不能在高性能设备上利用,或者不能在服务器上利用。
Van Goehim说:“通过新的永恒计时攻击,我们表明,即使服务器使用性能良好的硬件,实际上也可以利用WiFi认证握手(EAP-PWD)攻击服务器。”
在他们的论文中,研究人员提供了保护服务器免受永恒攻击的指导方针,例如对执行时间设置恒定时间和随机填充约束。针对直接定时攻击的实用、低影响的防御需要进一步研究。
范·戈瑟姆说:“我们认为,这一系列研究仍处于早期阶段,还有很多东西有待探索。”
未来的研究方向可能包括探索可用于执行并发定时攻击的其他技术、可作为目标的其他协议和中间网络层,以及评估允许在漏洞赏金下进行此类测试的流行网站的漏洞。
Van Goehim说,之所以选择“永恒”这个名字,“是因为我们在攻击中没有使用任何(绝对的)时间信息。”
“”天长地久“还利用了这样一种观点,即(远程)定时攻击已经存在很长一段时间了,根据我们的发现,它们很可能只会变得更糟,而且还会继续存在。”