
今年早些时候,已经显示了
Spectre和Meltdown攻击类型。 它们使您可以使用最少的资源来攻击受害者。 特制的JavaScript可用于执行Spectre攻击。 据人们所知,云服务是安全的-两种类型的攻击仅适用于渗透离散的网络资源。
现在
有有关新型攻击的信息。 它是由格拉茨工业大学的研究人员以Karl和Franz的名字命名的。 发现最初的Meltdown攻击的网络安全专家Daniel Grass也参与了发现新型攻击的活动。 至于新产品,它称为NetSpectre。 它的特殊之处在于,攻击者可以远程读取内存数据,而无需在受害者的系统上执行任何代码。
值得注意的是,所有Spectre攻击选项均基于同一套原则。 每个处理器都具有架构和微架构行为的特征。 它们可能有所不同,但变化不大。 例如,在第一种情况下,从内存的特定区域加载值的程序将等待,直到知道地址为止,然后再开始下载。 在第二种情况下,即使在确切的地址已知之前,处理器也可以尝试猜测地址以开始从内存中接收值。
如果处理器出错,则将以新方式执行下载,这次将使用正确的地址。 “猜测”的值将被忽略,并且保留体系结构定义的行为。 但是该错误会影响其他元素,尤其是缓存的内容。 恶意软件可以检测和识别此类违规行为。 这种获取数据的方法称为第三方渠道。 或更确切地说-是
对第三方 (或旁道)渠道的
攻击 。
这根本不是一种新型的攻击,自上世纪80年代以来就已广为人知,但在第96年被Paul Kocher报道后,这种攻击就变得广泛了。 NetSpectre建立在这些著名的攻击原理上,但是开发人员带来了自己的东西。 特别是,该攻击使您可以通过处理通过网络发送的网络数据包来从内存中发起数据泄漏。
为了确定处理器的剩余数据,谈到攻击的专家建议使用应用程序或内核中的现有代码片段,这些代码片段会在出现某些类型的网络请求时被激活。 例如,为了提取已存储在缓存中的数据,研究人员建议修改Evict + Reload方法。 它基于创建条件来从缓存中挤出数据以及处理请求,这些请求的执行时间使我们能够判断处理器缓存中数据的可用性。
如果不是因为攻击性能低下,则可以将其视为非常危险。 在最佳条件下,新方法可以每小时确定15-60位。 一天-不超过45-180个字节。 但是最佳条件很少见,因此在正常条件下,攻击速度很小-在3-8个小时的攻击中只有1-3个字节。 在这种情况下,要检查一位,大约需要2000万张支票。
据专家介绍,随着时间的推移,将提出新的方法来提高攻击的有效性。 但是,例如,提取AES密钥将需要一整天。 此类攻击被对Spectre漏洞的第一版有效的防御方法(CVE-2017-5753)阻止。

为了提高真实(而非最佳)条件下的攻击性能,最高可达每小时60位,研究人员
建议使用带有AVX2指令的小工具作为信息泄漏的附加通道。 此方法使用将AVX2单元转换为省电模式的功能。 在不使用AVX2的情况下,提供了一种节能模式,尽管性能降低,AVX2单元仍将继续运行。 如果AVX2在1毫秒内处于非活动状态,则处理器将其关闭,这会在下一次操作期间造成延迟。
攻击者可以根据延迟的消失来确定推测性代码执行的事实,以唤醒上述模块。 这样一来,您就可以减少检查次数,以决定信息的每一位。
要执行此工作,可以使用专门的实用程序。 据专家介绍,上述代码段可以包含在任何网络应用程序中。 包括-HTTP服务器,SSH和其他网络数据包处理程序的代码。 在某些情况下,您可以完全访问整个系统内存的内容。