3月8日消息,一项研究发现了攻击英特尔处理器的新手段。该手段利用英特尔Coffee Lake和Skylake处理器的环形互连设计,发起侧通道攻击窃取敏感数据。
该发现由伊利诺伊大学厄巴纳-香槟分校的一组学者发布,预计将在今年8月举行的USENIX安全研讨会上发表。
尽管先前已证明,针对CPU微架构的信息泄漏攻击,可以打破用户应用程序和操作系统之间的隔离,让恶意程序访问其他程序使用的内存(如Meltdown和Spectre),但新的攻击利用了环形互连的争用。
SoC环形互连是一种以环形拓扑结构排列的在模总线,它实现了不同组件(又称代理)之间的进程内通信,如内核、最后一级缓存(LLC)、图形单元和安置在CPU内部的系统代理。每个环形代理通过环止点与环通信。
为了测试这种假设,研究人员对环形互连的协议进行了逆向工程,以探索两个或多个进程引起环形争夺的条件,进而利用这些条件建立一个容量为4.18Mbps的隐蔽通道。研究人员表示,这是迄今为止不依赖共享内存的跨核通道的最大容量,不同于Flush+Flush或Flush+Reload。
"关键是,这种攻击手段与之前的不同,它不依赖于共享内存、缓存集、核心私有资源或任何特定的非核心结构,"该研究的作者之一Riccardo Paccagnella说。"因此,它们很难使用现有的'域隔离'技术来缓解。"
研究人员观察到,一个环停总是优先考虑已经在环上的流量,而不是从其代理进入的新流量,当现有的环上流量延迟注入新的环上流量时,就会发生争夺。
英特尔处理器内核,环形互连架构,来源:The Hacker News
掌握了这些信息,攻击者就可以测量与恶意进程相关的内存访问延迟,该延迟是因为受害者进程的内存访问导致带宽容量饱和。然而,这就需要恶意进程在其私有缓存(L1-L2)中持续存在失误,并从目标LLC片断执行加载。
这样一来,由于环形竞争而导致LLC的存储器负载出现反复延迟,攻击者可以利用这些测量结果作为侧通道,从易受攻击的EdDSA和RSA实现中泄露密钥位,并通过提取受害用户输入键盘的精确时间来重建密码。
具体来说,"一个了解我们逆向工程工作的攻击者,可以利用这样的设置方式,以保证其负载与第一个进程的负载竞争,利用缓解措施抢先调度缓存攻击,使受害者的负载在缓存中失误,在受害者计算时监视环争用,然后用机器学习分类器对跟踪和泄漏位消噪。"
该研究也标志着基于环争用的微架构通道,首次被用来计时攻击(注:计时攻击是侧信道攻击的一种),以推断受害者输入的敏感数据。
针对此次披露的信息,英特尔将这些攻击归类为"传统侧通道",这些攻击通常利用执行时间上的差异来推断信息。
英特尔建议,在应对利用加密实现的定时攻击时,遵循恒定时间编程原则:
运行时与秘密值无关指令的执行顺序(即代码访问模式)与秘密值无关内存操作数的加载和存储顺序(即数据访问模式)与秘密值无关
参考链接:https://thehackernews.com/2021/03/malware-can-exploit-new-flaw-in-intel.html