NeuralD: Detecting Indistinguishability Violations of Oblivious RAM With Neural Distinguishers

Pingchuan Ma,Zhibo Liu,Yuanyuan Yuan,Shuai Wang
DOI: https://doi.org/10.1109/tifs.2022.3155274
IF: 7.231
2022-01-01
IEEE Transactions on Information Forensics and Security
Abstract:Adversaries can deduce confidential information processed by a program by analyzing its memory access patterns. Oblivious RAM (ORAM) converts a sequence of program memory accesses to an oblivious form, hence preventing adversarial inference. In recent years, a flourishing growth of sophisticated and effective ORAM protocols has occurred. Nonetheless, due to the complexity of these protocols, some of them contain defects in their implementations or even in their design, jeopardizing their obliviousness when processing certain memory access sequences. In this paper, we present NeuralD, a practical tool for testing ORAM protocols and detecting violations of their stated obliviousness. We train a neural distinguisher to form a probabilistic testing oracle capable of determining with a bounded high probability if a pair of ORAM inputs violates the obliviousness guarantee. NeuralD incorporates a set of techniques and optimizations to provide a highly effective and practical testing pipeline. Additionally, it features a delta debugging-like method to minimize error-triggering inputs (i.e., counterexamples) — developers can use these counterexamples to debug their ORAM protocols and identify root problems. NeuralD is evaluated using well-known ORAM protocols and real-world ORAM applications (e.g., secure key-value storage). Within a few minutes, NeuralD can detect subtle violations of stated obliviousness.
computer science, theory & methods,engineering, electrical & electronic
What problem does this paper attempt to address?