Visible to the public Memory-Safe Elimination of Side Channels

TitleMemory-Safe Elimination of Side Channels
Publication TypeConference Paper
Year of Publication2021
AuthorsSoares, Luigi, Pereira, Fernando Magno Quintãn
Conference Name2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
Keywordscontracts, Human Behavior, human factors, Information Leak, maintenance engineering, Memory management, Metrics, Optimization, Policy Based Governance, program transformation, pubcrawl, resilience, Resiliency, Runtime, Safe Coding, Safety, Side channel, Transforms
AbstractA program is said to be isochronous if its running time does not depend on classified information. The programming languages literature contains much work that transforms programs to ensure isochronicity. The current state-of-the-art approach is a code transformation technique due to Wu et al., published in 2018. That technique has an important virtue: it ensures that the transformed program runs exactly the same set of operations, regardless of inputs. However, in this paper we demonstrate that it has also a shortcoming: it might add out-of-bounds memory accesses into programs that were originally memory sound. From this observation, we show how to deliver the same runtime guarantees that Wu et al. provide, in a memory-safe way. In addition to being safer, our LLVM-based implementation is more efficient than its original inspiration, achieving shorter repairing times, and producing code that is smaller and faster.
DOI10.1109/CGO51591.2021.9370305
Citation Keysoares_memory-safe_2021