MemPoline: Protecting Sensitive Software against Memory-based Information Leakage

INV-21111

 

Background

In recent years, various side-channel timing attacks on both CPUs and GPUs, in diverse settings such as desktops, clouds, and mobile systems have been seen. These attacks observe events on different shared resources on the memory hierarchy from timing information, and then infer memory access patterns to retrieve the secret through statistical analysis. These attacks significantly violate confidentiality and privacy requirements. Both hardware and software have been introduced as viable protection methods. Though hardware protections can be efficient, they are invasive and require hardware redesign, and typically only address a specific attack. Software countermeasures require no hardware modification and make changes at different levels of the software stack, e.g., the source code, binary code, compiler, or the operating system. They are favorable for existing computer systems with the potential to be general, portable, and compatible. The software implementation of Oblivious RAM (ORAM) scheme shown in the prior work, Racoon, has been demonstrated to be successful in mitigating cache side-channel attacks. However, since it relies on ORAM for storing data, its memory access runtime is O(N) given N data elements, and the ORAM-related operations can incur more than 100x performance overhead. Therefore, new software countermeasures should be implemented with lower computation storage, complexity, and runtime while providing the same security.

 

Technology Overview

Researchers at Northeastern have implemented 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 ORAM technology, MemPoline employs parameter-directed permutations to achieve randomness, which makes it significantly more efficient and yet provides similar security. Only the parameter value (instead of a position map) needs to be kept private to track the real dynamic locations of data. MemPoline is an algorithm-agonistic software that works for any operating system or hypervisor, and only requires modifying the source code. This countermeasure can be applied to the most commonly used symmetric cipher and asymmetric cipher for data security from AES to RSA. Security evaluation results have shown that MemPoline resists a series of existing memory-based side-channel attacks on CPUs and GPUs. Finally, it has much less performance degradation and significantly reduced memory access runtime compared to the prior work.

 

Benefits

  • Lower computation and storage complexity of the data shuffling method and providing great efficiency
  • Applicable to many different cryptographic software implementations
  • Effective and secure protection
  • Significantly reduced memory runtime

 

Applications

Cyber Security in:

  • Online conference software, such as Zoom, WebEx, and Microsoft Teams
  • Cloud services
  • Massive internet-of-things (IoT) devices and communications systems

 

Opportunity

  • License
  • Partnering

 

Patent Information: