通信学报 ›› 2023, Vol. 44 ›› Issue (4): 64-77.doi: 10.11959/j.issn.1000-436x.2023051

• 学术论文 • 上一篇    下一篇

Load-to-store: store buffer暂态窗口时间泄露的利用

唐明, 胡一凡   

  1. 武汉大学国家网络安全学院,湖北 武汉 430072
  • 修回日期:2022-10-08 出版日期:2023-04-25 发布日期:2023-04-01
  • 作者简介:唐明(1976- ),女,湖北武汉人,博士,武汉大学教授、博士生导师,主要研究方向为信息安全、密码学和密码芯片等
    胡一凡(1998- ),男,浙江衢州人,武汉大学硕士生,主要研究方向为体系结构安全、密码学等
  • 基金资助:
    国家自然科学基金资助项目(61972295);国家自然科学基金资助项目(62072247);武汉市科技项目应用基础前沿专项基金资助项目(2019010701011407)

Load-to-store: exploit the time leakage of store buffer transient window

Ming TANG, Yifan HU   

  1. School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China
  • Revised:2022-10-08 Online:2023-04-25 Published:2023-04-01
  • Supported by:
    The National Natural Science Foundation of China(61972295);The National Natural Science Foundation of China(62072247);Wuhan Science and Technol-ogy Project Application Foundation Frontier Special Project(2019010701011407)

摘要:

为了研究现代处理器微架构中的漏洞并制定对应防护,针对负责管理访存指令执行顺序的内存顺序缓冲(MOB)进行分析,发现前向加载会把存在依赖的store指令的数据直接旁路到load指令,推测加载会提前执行不存在依赖的load指令,在带来效率优化的同时,也可能导致执行出错与相应的阻塞。针对Intel Coffee Lake微架构上现有MOB优化机制,分析如何利用内存顺序缓冲的4种执行模式与对应执行时间,构造包括暂态攻击、隐蔽信道与还原密码算法私钥的多种攻击。利用MOB引发的时间差还原内存指令地址,该地址可泄露AES T表实现的索引值。在Intel i5-9400处理器上对OpenSSL 3.0.0的AES-128进行了密钥还原实验,实验结果显示, 30 000组样本能以63.6%概率还原出一个密钥字节,且由于内存顺序缓冲的特性,该利用隐蔽性优于传统cache时间泄露。

关键词: 内存顺序缓冲, 微架构侧信道漏洞, OpenSSLAES, 时间侧信道

Abstract:

To research the vulnerability of modern microarchitecture and consider the mitigation, memory order buffer which was responsible for managing the execution order of memory access instructions was analyzed and found that load forward would directly bypass the data of dependent store instructions to load instructions, and speculative load would execute independent load instructions in advance.While bring efficiency optimizations, it might also lead to errors and corresponding blocking.The existing optimization mechanisms on the Intel Coffee Lake microarchitecture, and the leak attack scheme by using them were analyzed.Using the four execution modes of MOB and the corresponding duration, a variety of attacks were constructed including transient attack, covert channel, and recovery of the private key of the cryptographic algorithm.The time difference caused by MOB was used to leak the address of memory instructions, and the implementation of AES T table was attacked.Key recovery experiments were conducted on AES-128 with OpenSSL 3.0.0 on an Intel i5-9400 processor.The experimental results show that 30 000 sets of samples can recover a key byte with a probability of 63.6%.Due to the characteristics of memory order buffer, the concealment of the exploit is better than traditional cache time leaks.

Key words: memory order buffer, microarchitectural side-channel vulnerability, OpenSSL AES, timing side-channel

中图分类号: 

No Suggested Reading articles found!