信息安全专家表示,有可能利用英特尔联网技术中一个有趣的边信道漏洞,在用户通过网络输入终端时嗅探其 SSH 密码。

简言之,英特尔芯片集有漏洞,偷听者可巧妙接入采用该芯片集的服务器,观测连接同一服务器的受害者单独发送的数据包时序,比如交互式终端会话中的按键动作。

由于人类手指在键盘上移动遵循特定模式,每次按键间都有明显的停顿,随所敲字符不同而异,该时序即可泄露受害者所按特定键位。这些停顿经分析后可实时揭示经网络传输的特定按键,包括密码和其他机密信息。

通过向服务器反复发送一连串网络包,直接填充一块处理器内存缓存,偷听者可完美实现监视功能。受害者发送数据包时,偷窥者的数据会被新进入的流量从该缓存中逐出。由于一直在快速反复填充该缓存,偷听者可感知自身数据是仍存在于该缓存中,还是被已被逐出,由而泄露其受害者已发送某些数据的事实。这一事实最终可用于确定受害者入站数据包之间的时间间隔,揭示受害者传输的按键信息。

该安全疏漏没那么容易利用,英特尔也不认为这是个大问题,但这无损于其身为有趣漏洞的事实,令人想一探究竟。值得注意的是,偷窥者必须使用英特尔的数据直接 I/O (DDIO) 技术直接连接服务器。而且,这既不是中间人拦截,也不是密码破解,而是缓存观察边信道泄露。另外,有大量入站交互式数据的繁忙系统也不适用该攻击方式,不可靠。

起效机制

DDIO 使网络接口能够绕过系统 RAM ,将数据直接写入主机处理器最后一级缓存,切实降低延迟,提升信息流入流出计算机的速度,改善 Web 托管和金融交易等 I/O 成为瓶颈的应用性能。

但不幸的是,据荷兰阿姆斯特丹自由大学系统与网络安全小组 VUSec 的科学家介绍,直接跳入 CPU 缓存的性能提升却打开了边信道漏洞的大门。今年早些时候,该白帽子团队发现并记录了上述滥用 DDIO 在网络上观察他人的方法。私下通告英特尔后,该团队于 9 月 10 日披露了其发现。

自 2012 年起,由于其性能提升功能,所有英特尔服务器级 Xeon 处理器均默认启用 DDIO。

该昵称 NetCAT 的技术如下图所示。其漏洞利用方法与 Throwhammer 类似,要求偷听者已侵入以远程直接内存访问 (RDMA) 无线带宽网络连接,直连监视对象在用 DDIO 主机的服务器。这就要求网络偷窥者要在目标公司的基础设施中已拥有立足之地。

VUSec 的 NetCAT 安全漏洞图表(来源:VUSec)

一旦连接,窃听者通过网络反复填充处理器最后一级缓存,以自身数据有效淹没该缓存。窃听者观察其连接延时的细微差别,检测其数据被另一个网络用户从缓存中驱逐至 RAM 的时机——该技术也被称为“prime+probe”。这些数据被驱逐的时序即会泄露受害者的按键信息。

重要的是,最后一级缓存有一部分是为直接 IO 保留的,因而 prime+probe 方法不受流经 CPU 核心的代码和应用数据困扰。

所有这些意味着,底层硬件可能无法避免地泄露敏感信息或秘密信息。NetCAT 更多技术细节将于明年 5 月正式发布。

VUSec 团队因其发现而获得了英特尔安全漏洞奖励,该团队解释道:一直以来,缓存攻击都是用于本地环境中的敏感数据泄露(例如,从攻击者控制下的虚拟机,到共享云平台 CPU 缓存的受害者虚拟机)。

而 NetCAT 将此威胁延伸到了网络上的非受信客户端,没有本地接入的远程服务器 SSH 会话也会泄露按键动作之类的敏感数据了。交互式 SSH 会话中,用户的每一次按键,都会触发网络数据包直接传输。因此,控制台加密 SSH 会话中每输入一个字符,NetCAT 就会通过泄露相应网络包的到达时序而泄露该按键事件的时序。

有了网络包时序基础,攻击者便可通过对比所观测到的延迟与目标键入模式模型,得出这些时间间隔与特定按键的匹配。

如果您的平台 DDIO 可用/启用,您即受此漏洞影响。如果同时启用了 RDMA,该漏洞即通过网络将您的服务器暴露在实际边信道攻击面前,如 NetCAT 漏洞利用所演示的一样。

该芯片设计缺陷为什么得名 NetCAT 呢?

这可不是为了制造恐慌。NetCAT 表示网络缓存攻击 (Network Cache ATtack)。“NetCAT” 也是黑客和系统管理员用于通过网络发送信息的常用工具。Cat 是 UNIX 系统用于读取文件内容的工具,NetCAT 则旨在通过网络读取文件内容。NetCAT 这个命名玩了双关梗,指的是不用网络另一端的机器协作就从网络上读取数据。如果还觉得不够双关的话,DDIO 内部用的可是缓存分配技术 (Cache Allocation Technology: CAT)。而且,谁不喜欢猫 (Cat) 呢?

如果上述内容听起来相当复杂,似乎现实生活中不可行,那确实。至少,在英特尔看来,VUSec 描述的场景很大程度上是概念验证,而非实际攻击场景。

Chipzilla 发言人向媒体表示:英特尔收到了该研究的通告,确定该漏洞为低严重性漏洞(CVSS 评分 2.6),主要原因是 DDIO 和 RDMA 惯常使用场景中要求的复杂度、用户互动和罕见访问级别。

额外的缓解措施包括使用抗时序攻击的软件模块,采用常量时间风格的代码。感谢学术社区的持续研究。

与其他边信道泄露类似,尽管实际漏洞利用过程可能繁琐艰难,但这种漏洞呈现出的是非硬件重构难以解决,甚至无法解决的根本缺陷。

虽然 VUSec 认可英特尔关于增加针对时序攻击的软件防护可打击 NetCAT 类窥探的说法,但唯一能够确保清除该漏洞的方法,是完全禁用 DDIO,然后损失其性能增益。

VUSec 团队称:只要网卡在缓存中创建独特模式,无论远程服务器运行何种软件,NetCAT 都将有效。

英特尔 DDIO 技术:

https://www.intel.com/content/www/us/en/io/data-direct-i-o-technology-brief.html

NetCAT 技术:

https://www.vusec.net/projects/netcat/

RDMA:

https://itpeernetwork.intel.com/taking-low-io-latency-even-lower-with-rdma

声明:本文来自安全牛,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。