[关闭]
@1qaz 2016-12-22T01:47:40.000000Z 字数 1298 阅读 770

Curious case of Rowhammer: Flipping Secret Exponent Bits using Timing Analysis

rowhammer


Sarani Bhattachary,Indian Institute of Technology,CHES'16
一句话:利用Prime+Probe和row-buffer collison作为时间旁路信息来确定RSA解密过程中指数所处的bank地址,改进了引入故障的可控性。

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
1

确定evivtion set

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

确定secret映射到的LLC slice

Prime+Probe可以确定secret所在的cache set,攻击者可以找出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
2

3

Countermeasures and Discussion

hardware
software:ANVIL,统计cache miss

fault countermeasure: OpenSSL,计算两次,如果可以稳定的造出两次错误,这样的防护是无效的

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注