OblivIO: Securing Reactive Programs by Oblivious Execution with Bounded Traffic Overheads

πŸ“… 2023-01-19
πŸ›οΈ IEEE Computer Security Foundations Symposium
πŸ“ˆ Citations: 0
✨ Influential: 0
πŸ“„ PDF
πŸ€– AI Summary
Responsive programs are vulnerable to traffic analysis attacks. To address this, we propose OblivIOβ€”the first secure execution framework for event-driven reactive programming. Its core innovation is the adaptation of data obliviousness to the reactive paradigm, achieved by injecting controlled dummy messages to decouple communication traffic patterns from sensitive program logic. We design a potential-annotated information-flow type system that formally bounds traffic overhead, and integrate constant-time cryptographic primitives with potential-based analysis to enforce strictly constant traffic behavior. The OblivIO interpreter, built atop this framework, provides formal security guarantees against traffic analysis. Empirical evaluation demonstrates its effectiveness in protecting security-critical operations while maintaining manageable performance overhead.
πŸ“ Abstract
Traffic analysis attacks remain a significant problem for online security. Communication between nodes can be observed by network level attackers as it inherently takes place in the open. Despite online services increasingly using encrypted traffic, the shape of the traffic is not hidden. To prevent traffic analysis, the shape of a system's traffic must be independent of secrets. We investigate adapting the data-oblivious approach the reactive setting and present OblivIO, a secure language for writing reactive programs driven by network events. Our approach pads with dummy messages to hide which program sends are genuinely executed. We use an information-flow type system to provably enforce timing-sensitive noninterference. The type system is extended with potentials to bound the overhead in traffic introduced by our approach. We address challenges that arise from joining data-oblivious and reactive programming and demonstrate the feasibility of our resulting language by developing an interpreter that implements security critical operations as constant-time algorithms.
Problem

Research questions and friction points this paper is trying to address.

Prevent traffic analysis by hiding communication patterns
Secure reactive programs via oblivious execution
Bound traffic overhead while ensuring data privacy
Innovation

Methods, ideas, or system contributions that make the work stand out.

OblivIO language for secure reactive programs
Dummy messages pad traffic to hide execution
Type system bounds traffic overhead provably
πŸ”Ž Similar Papers
No similar papers found.