新的“时间攻击”如何工作,保护又如何?

一组工程师演示了一种规避经典攻击的抖动限制的方法。我们将告诉您这种方法的外观以及与之相反的方法。





/ CC BY / chuttersnap



经典方法的本质是什么



在继续使用新版本的“时间攻击”之前,让我们先做个小题大作,并讨论一下它们一般如何工作。它们基于这样一种假设,即在分析某些请求的计算时间的过程中,人们可以对密码系统的设计,处理器的类型和所使用的算法有所了解。基于此数据,攻击者可以逐渐恢复有关密钥的信息。



几年前,斯坦福大学的专家证明了使用定时攻击破解OpenSSL的可能性。但是,实现起来非常困难因为网络抖动会严重影响时序。但是,来自比利时鲁汶天主教大学和阿布扎比纽约大学的一组工程师表明,可以克服这一限制。



USENIX会议上,他们演示了一种“定时攻击”的新方法-永恒的定时攻击,它不依赖于网络参数。



新方法如何运作



工程师建议不要将请求一次又一次地发送到服务器,而是同时(以一个包的形式)发送到服务器。您可以直接执行此操作,也可以使用跨站点脚本执行此操作(第5页)。



我们在Habré博客上的新帖子:





因此,仅通过服务器响应的参数引入错误,从而减少了网络抖动对结果的影响。例如,黑客可以以100纳秒的精度估算密码算法的运行时间,这比传统攻击的运行时间短一百倍。工程师测试了他们使用HTTP / 2和WPA3协议编写的漏洞在这两种情况下,永恒的定时攻击都是成功的。



如何保护自己



最明显的方法是实现一个系统,其中所有操作都花费相同的时间。但是实际上在实践中是不可能做到的,因为总是会有无法预料的偏差。另一种选择是将随机延迟添加到所有计算中。这种方法会使测量结果不准确,并使黑客的任务严重复杂化。





/ CC BY / Erik Mclean



防止永不过时的定时攻击的另一种方法是使用HTTP / 1.1协议,该协议不支持多路复用。在这种情况下,攻击者将无法在一个数据包中发送进行攻击所需的多个请求。



比利时和阿布扎比的工程师没有提出不会对网络的运行施加严格限制的其他方法。但是,他们计划继续朝这个方向进行研究。



在公司博客中阅读的内容:






All Articles