自阿姆斯特丹Vrije大学的学者今天详细介绍了对英特尔CPU的新攻击。

名为NetCAT,这是所有支持数据直接I / O技术(Intel DDIO)和远程直接内存访问(RDMA)功能的英特尔芯片中的漏洞。

启用这两个功能后,学者们已经证明他们可以对远程联网计算机发起攻击,并推断在CPU缓存中处理的某些类型的数据。

攻击监视CPU处理数据所需时间的微小变化,然后根据这些变化猜测可能处理的数据。

这种类型的攻击称为旁道攻击,通常需要两个条件:(1)具有物理访问权限的攻击者,或(2)计算机上安装的恶意软件。

但是,Vrije大学系统和网络安全组(VUSec)的成员已经证明,英特尔DDIO和RDMA功能通过发送到计算机网卡的网络数据包促进了侧通道攻击。

英特尔DDIO功能出现故障

出现故障的是Intel DDIO功能。这是一种专为英特尔服务器级处理器系列设计的CPU速度优化功能。

DDIO的工作原理是允许外围设备(如网卡)直接访问CPU缓存中的数据,而不是像外设通常那样写入RAM。

该功能是为数据中心和云计算平台开发的,其中服务器在高速网络连接上运行,并且RAM并不总是足以处理所有传入数据。

DDIO通过将网络卡写入CPU缓存来帮助卸载网卡可能正在接收或发送的大量数据,其中可以以远高于RAM的速度存储和处理更多信息。

该功能是服务器级计算机的必备功能,也是英特尔自2012年以来默认为所有英特尔服务器级处理器启用DDIO的原因 - 例如英特尔至强E5,E7和SP系列。

NETCAT攻击

但在今天发布的新研究中,VUSec学者已经证明,将精心设计的网络数据包发送到支持DDIO的CPU允许攻击者密切关注CPU中正在处理的其他内容。

攻击者无法使用NetCAT攻击从远程CPU中窃取任何类型的数据,只能使用作为网络数据包到达并直接登陆DDIO共享缓存的数据。

虽然这听起来毫无用处,但VUSec团队已经展示了NetCAT如何准确地推断在受攻击机器上发生的SSH会话中输入的击键。

“在交互式SSH会话中,每次按一个键,网络数据包都会被直接传输,”VUSec的研究人员说。“因此,每当受害者在控制台上的加密SSH会话中键入一个字符时,NetCAT就会通过泄漏相应网络数据包的到达时间来泄漏事件的时间。”

“现在,人类有不同的打字模式。例如,在'a'之后输入's'比在's'之后输入'g'更快。因此,NetCAT可以对数据包的到达间时间进行静态分析在所谓的击键定时攻击中泄露你在私人SSH会话中输入的内容,“他们补充道。

即使只启用了英特尔DDIO功能,NetCAT攻击也可以工作; 但是,如果RDMA功能也打开,攻击变得更加高效。

*远程直接内存访问(RDMA)允许计算机访问另一台计算机的内存,而无需与计算机的操作系统数据缓冲区交互。因此,网络速度和吞吐量增加。

补丁不可用

VUSec团队在6月份向英特尔通报了NetCAT攻击,英特尔今天发布了缓解建议。

“英特尔收到了这项研究的通知,并确定它的严重程度较低(CVSS评分为2.6),这主要是由于复杂性,用户交互以及通常使用DDIO和RDMA的情况所需的访问级别,”英特尔发言人告诉ZDNet。

“在通常使用英特尔DDIO和RDMA的复杂场景中,例如大规模并行计算集群,恶意行为者通常无法从不受信任的网络直接访问。”

英特尔的建议包括在受影响的CPU上禁用DDIO和RDMA功能,或限制从外部不受信任的网络直接访问易受攻击的系统。

“额外的缓解措施包括使用能够抵抗定时攻击的软件模块,使用恒定时间样式的代码,”英特尔补充道。

然而,VUSec研究人员对使用侧通道抗性(恒定时间)软件有所帮助存在争议。相反,他们建议至少在受影响的CPU上禁用RDMA,因为这会降低攻击的效率。