Title | Memory-Safe Elimination of Side Channels |
Publication Type | Conference Paper |
Year of Publication | 2021 |
Authors | Soares, Luigi, Pereira, Fernando Magno Quintãn |
Conference Name | 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) |
Keywords | contracts, 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 |
Abstract | A 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. |
DOI | 10.1109/CGO51591.2021.9370305 |
Citation Key | soares_memory-safe_2021 |