Rollbaccine : Herd Immunity against Storage Rollback Attacks in TEEs [Technical Report]
David Chu, Aditya Balasubramanian, Dee Bao, Natacha Crooks, Heidi Howard, Lucky E. Katahanas, Soujanya Ponnapalli
TL;DR
Rollbaccine tackles the problem that TEEs protect in-memory data but not disk state, leaving applications vulnerable to disk rollback attacks. It uses a device-mapper that intercepts and replicates writes across a primary-backup setup to restore a disk state that could have occurred after a benign crash, thereby achieving general, automatic rollback resistance for unmodified applications. The approach formalizes block-device crash consistency, proves Rollbaccine preserves this property, and shows practical performance: overhead remains modest (generally around 19% with targeted cases higher for fsync-heavy workloads) while delivering rollback resistance comparable to or better than bespoke, manual solutions like Nimble. The system is implemented in the kernel, relies on standard Linux persistence flags, and uses fault-tolerant replication with Paxos/CCF for recovery, making it a viable drop-in defense for cloud TEEs and storage stacks with broad applicability.
Abstract
Today, users can "lift-and-shift" unmodified applications into modern, VM-based Trusted Execution Environments (TEEs) in order to gain hardware-based security guarantees. However, TEEs do not protect applications against disk rollback attacks, where persistent storage can be reverted to an earlier state after a crash; existing rollback resistance solutions either only support a subset of applications or require code modification. Our key insight is that restoring disk consistency after a rollback attack guarantees rollback resistance for any application. We present Rollbaccine, a device mapper that provides automatic rollback resistance for all applications by provably preserving disk consistency. Rollbaccine intercepts and replicates writes to disk, restores lost state from backups during recovery, and minimizes overheads by taking advantage of the weak, multi-threaded semantics of disk operations. Rollbaccine performs on-par with state-of-the-art, non-automatic rollback resistant solutions; in fact, across benchmarks over PostgreSQL, HDFS, and two file systems (ext4 and xfs), Rollbaccine adds only 19% overhead, except for the fsync-heavy Filebench Varmail.
