Group of Software Security In Progress

GoSSIP @ LoCCS.Shanghai Jiao Tong University

Curious Case of Rowhammer: Flipping Secret Exponent Bits Using Timing Analysis

论文下载

Sarani Bhattachary,Indian Institute of Technology,CHES’16

Combing Timing Analysis and Rowhammer

攻击模型

  • decryption oracle:RSA,对输入的密文解密,然后返回解密结果
  • Adversary:普通用户,已知明密文,可以和decryption oralce交互。目标是通过rowhammer让解密指数出错,因此需要知道secret在内存中的bank地址
  • spy:adversary引入的进程,监视解密过程,使得解密进程访问数据都是从内存中访问,并利用时间旁路确定secret所处的bank
  • k cores,k slices,c cache sets/slice, m way associative

Fig

确定evivtion set

  • Prime+Probe整体思想:由于cache组相连,攻击者可以占满一个cache set的所有组(Prime),当victim有cache进入这个set时,攻击者原有的cache被挤出,攻击者可以再次访问自己的数据看到时间差(Probe)。。

确定secret映射到的LLC slice

  • Prime+Probe可以确定secret所在的cacheset,攻击者可以找出m*k个映射到同一个set的地址,不断在这些地址上Prime+Probe,就可以把secret从缓存中逐出,保证decryption oracle每次都是从内存中取值

确定secret映射到的DRAM bank

  • row buffer collison的时间旁路(Drammer中也是利用这个来确定rowsize)
  • 当同时访问处于同一个bank中但在不同row的内存地址时,row buffer会清空,访问时间被比其他情况下的多 (两个进程的Collision只是理想中能发生的)

在bank中进行rowhammer

  • 在确定了secret所在的bank后,由于无法进一步获知secret所处的row,所以作者在其中进行随机的hammer,如果解密结果不对说明flip影响到了解密进程

Experimental Validation for Inducing Bit Flips On secret

  • 物理地址与cache slice的关系(RAID15)
  • 4核,12路组相连,4个cache slice,每个有2048个cache sets。
  • 攻击者mmap大块内存,通过pagemap得到物理地址,利用映射关系算出cache slice和cache set

Fig

Fig

Countermeasures and Discussion

  • hardware
  • software:ANVIL,统计cache miss
  • fault countermeasure: OpenSSL,计算两次,如果可以稳定的造出两次错误,这样的防护是无效的