Paper 2020/653

MemPoline: Mitigating Memory-based Side-Channel Attacks through Memory Access Obfuscation

Zhen Hang Jiang, Yunsi Fei, Aidong Adam Ding, and Thomas Wahl

Abstract

Recent years have seen various side-channel timing attacks demonstrated on both CPUs and GPUs, in diverse settings such as desktops, clouds, and mobile systems. These attacks observe events on different shared resources on the memory hierarchy from timing information, and then infer secret-dependent memory access pattern to retrieve the secret through statistical analysis. We generalize these attacks as memory-based side-channel attacks. In this paper, we propose a novel software countermeasure, MemPoline, against memory-based side-channel attacks. MemPoline hides the secret-dependent memory access pattern by moving sensitive data around randomly within a memory space. Compared to the prior oblivious RAM technology, MemPoline employs parameter-directed permutations to achieve randomness, which are significantly more efficient and yet provide similar security. Our countermeasure only requires modifying the source code, and has great advantages of being general - algorithm-agnostic, portable - independent of the underlying architecture, and compatible - a user-space approach that works for any operating system or hypervisor. We run a thorough evaluation of our countermeasure. We apply it to both AES, a symmetric cipher, and RSA, an asymmetric cipher. Both empirical results and theoretical analysis show that our countermeasure resists a series of existing memory-based side-channel attacks on CPUs and GPUs.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. MINOR revision.
Keywords
implementationAESRSAinformation hiding
Contact author(s)
yfei @ ece neu edu
History
2020-06-03: received
Short URL
https://ia.cr/2020/653
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2020/653,
      author = {Zhen Hang Jiang and Yunsi Fei and Aidong Adam Ding and Thomas Wahl},
      title = {{MemPoline}: Mitigating Memory-based Side-Channel Attacks through Memory Access Obfuscation},
      howpublished = {Cryptology {ePrint} Archive, Paper 2020/653},
      year = {2020},
      url = {https://eprint.iacr.org/2020/653}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.