Data-Driven Debugging for Functional Side Channels
Saeid Tizpaz-Niari, Pavol Cerny, Ashutosh Trivedi

TL;DR
This paper introduces a new framework and tool, FUCHSIA, for detecting and debugging functional side channels in programs by modeling response functions and pinpointing code causing leaks, demonstrating effectiveness on benchmarks and real-world Java applications.
Contribution
It presents a novel approach combining evolutionary fuzzing, functional data analysis, and decision tree learning to identify and localize functional side channels in software.
Findings
FUCHSIA outperforms existing techniques in detecting side channels.
FUCHSIA scales to large Java programs with thousands of methods.
FUCHSIA successfully identified real-world vulnerabilities, including zero-day in OpenJDK.
Abstract
Information leaks through side channels are a pervasive problem, even in security-critical applications. Functional side channels arise when an attacker knows that a secret value of a server stays fixed for a certain time. Then, the attacker can observe the server executions on a sequence of different public inputs, each paired with the same secret input. Thus for each secret, the attacker observes a function from public inputs to execution time, for instance, and she can compare these functions for different secrets. First, we introduce a notion of noninterference for functional side channels. We focus on the case of noisy observations, where we demonstrate with examples that there is a practical functional side channel in programs that would be deemed information-leak-free or be underestimated using the standard definition. Second, we develop a framework and techniques for debugging…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
