연구/읽을 논문

[USENIX 2018] Meltdown

xeskin 2020. 4. 17. 15:41
반응형

Paper Link: https://arxiv.org/abs/1801.01203

Official Link: https://meltdownattack.com

Idea: cache slide channel attack + speculative execution

 

cache slide channel attack

캐시에 블록이 저장돼있다면, 그 블록에 대한 메모리 접근 시간이 매우 짧고 블록이 캐시에 없으면 블록에 대한 메모리 접근 시간이 길다는 점을 이용한 것이다. 그래서, attacker process가 1이라는 데이터를 다른 프로세스에게 전달하려고 할 때 1을 특정 메모리 공간에 저장하는 것이 아니고, 1이라는 주소를 접하여 1이라는 주소에 대한 cache location에 블록이 저장되도록 한다. 그러면 프로세스가 1이라는 주소를 접근할 때 메모리 접근 시간이 매우 짧게 되고 이를 통해 attacker가 1이라는 데이터를 전달하려고 했다는 것을 알 수 있는 것이다. 만약, attacker process가 kernel address에 접근하면 그 프로세스는 종료될 것이다. 하지만, 그 프로세스가 종료되기 직전에 캐시에 저장했던 데이터는 여전히 캐시에 남아있다. 프로세스가 종료되기 직전에 캐시에 뭔가를 저장할 수 있는 것은 최근 프로세서가 갖고 있는 speculative execution이라는 기능 때문이다. 이를 통해 프로세서의 성능을 향상시킬 수 있는데, meltdown attack을 막기 위해 speculative execution을 사용하지 않으면 프로세서의 성능이 많이 떨어질 수 있다.

반응형

'연구 > 읽을 논문' 카테고리의 다른 글

[ICML 2016] Expressiveness of Rectifier Networks  (0) 2020.04.27
[ICLR 2017] Deep Information Propagation  (0) 2020.01.06