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)
- 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
-
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} }