
一项新的研究通过利用Intel Coffee Lake和Skylake处理器中的第一个“片上,跨核”侧通道,提供了另一种窃取敏感数据的方法。
由伊利诺伊大学厄本那-香槟分校的一组学者发表,研究结果有望在今年八月举行的USENIX安全研讨会上发表。
尽管先前已证明针对CPU微体系结构的信息泄漏攻击打破了用户应用程序与操作系统之间的隔离,允许恶意程序访问其他程序(例如Meltdown和Spectre)使用的内存,但新攻击利用了对环形互连。
SoC环形互连是一种以环形拓扑结构排列的管芯上总线,它可以在不同组件(aka代理)之间进行进程内通信,例如内核,最后一级缓存(LLC),图形单元和系统代理。安置在CPU内部。每个振铃代理都通过所谓的振铃停止器与振铃通信。
为了检验他们的假设,研究人员对环形互连的协议进行了逆向工程,以揭示两个或多个导致环争用的过程的条件,进而使用它们来构建容量为4.18 Mbps的隐蔽信道。与Flush + Flush或Flush + Reload不同,迄今为止,最大的跨核心通道不依赖共享内存。
“重要的是,与现有的攻击,我们的攻击不依赖于共享存储,高速缓存组,核心私有资源或任何特定的非核心结构,”里卡尔多Paccagnella,该研究的作者之一说。“结果,使用现有的“域隔离”技术很难缓解它们。”
研究人员观察到,环站始终优先于环上的流量,而不是从其代理进入的新流量,当现有环上流量延迟新环流量的注入时,就会发生争用。

有了这些信息,攻击者就可以测量与恶意进程相关的内存访问的延迟,这是由于受害者进程的内存访问导致带宽容量饱和所致。但是,这需要间谍进程始终在其专用缓存(L1-L2)中丢失,并从目标LLC切片执行加载。
这样一来,由于环争用而导致LLC的存储器负载重复出现延迟,攻击者可以利用这些测量值作为旁道,从易受攻击的EdDSA和RSA实现中泄漏密钥位,并通过提取受害者用户键入按键的精确的时序来重建密码。
具体来说,“知道我们的逆向工程工作的攻击者可以以确保其负载可以与第一进程的负载抗衡的方式进行设置,将缓解措施滥用于抢先式调度缓存攻击,从而造成受害者的恶意软件攻击。daccess-ods.un.org daccess-ods.un.org会在高速缓存中加载未命中的内容,在受害者正在计算时监视环争用,并使用标准的机器学习分类器对跟踪和泄漏位进行降噪。”
该研究还标志着第一次基于争用的微体系结构通道被用于击键定时攻击,以推断受害人键入的敏感数据。
作为对这些披露的回应,英特尔将这些攻击归类为“传统边信道”,这是指一类预言性攻击,这些攻击通常利用执行时间上的差异来推断秘密。
芯片制造商针对针对加密实现的定时攻击的指南建议遵循恒定时间编程原则,方法是确保—
- 运行时与秘密值无关
- 指令的执行顺序(即代码访问模式)与秘密值无关,并且
- 内存操作数的加载和存储顺序(即数据访问模式)与秘密值无关
在此处可以找到有关减轻传统边信道攻击的安全开发实践的其他指南。可在此处访问用于重现本文中详细介绍的实验设置的源代码。
*编译:Domino
*来自:thehackernews