Securing Filesystems for Confidential Computing
The paper presents ShieldFS, a POSIX-compliant filesystem that ensures end-to-end integrity and freshness for persistent storage in confidential computing environments by utilizing succinct cryptographic commitments and Merkle trees to detect rollback and tampering attacks without requiring application changes or trusted storage.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
In the modern digital age, we have grown accustomed to the idea that our data is safe in the cloud. We trust that when we save a file or update a database, it remains exactly as we left it, protected from prying eyes and accidental loss. However, a fundamental gap has existed in this trust. While new technologies called "confidential computing" have emerged to lock down the memory where a computer is actively thinking, they leave the hard drive vulnerable. Imagine a vault where the safe inside is impenetrable, but the hallway leading to it is controlled by a stranger who can swap your documents, rewrite history, or replace your current version with an old one without you ever knowing. This is the reality for applications running in secure environments today: their calculations are protected, but the storage they rely on can be manipulated by a malicious cloud provider or a compromised system administrator.
The challenge, then, is to build a system that protects the data on the disk just as fiercely as the data in the memory, without slowing down the computer or forcing programmers to rewrite their software. A team of researchers from Microsoft Azure, Imperial College London, and other institutions has tackled this problem by creating a new way to manage file storage. They developed a system called SHIELDFS, which acts as a guardian for persistent data, ensuring that what is read from the disk is exactly what was written, and that no one has secretly rolled back time to an earlier state. Their work, implemented as a specific version of a popular open-source file system called ZFS, demonstrates that it is possible to secure storage against even the most powerful attackers while maintaining speeds that are nearly identical to standard, unsecured systems.
The core of the problem lies in how computers handle data over time. When an application saves information, it writes it to a disk. In a secure environment, the computer's memory is locked down, but the disk is often managed by the cloud provider. A dishonest provider could theoretically record the state of a disk at a specific moment, and later, if the application tries to update that data, the provider could simply replace the new version with the old, recorded snapshot. This is known as a rollback attack. The application would read the old data, believing it is current, leading to errors, lost transactions, or corrupted databases. Existing solutions either required the storage itself to be trusted (which defeats the purpose of cloud security), imposed heavy performance penalties that made systems too slow to be useful, or forced developers to build custom security checks into every single application, a tedious and error-prone process.
To solve this, the researchers designed a system that treats the file system itself as a chain of verified events. Instead of just storing files, the system creates a cryptographic "fingerprint" for every change made to the data. When a piece of data is written, the system calculates a unique code based on that data and the history of changes that came before it. This code is then stored alongside the data. Crucially, the system also keeps a very small, secure record of the latest valid "fingerprint" in a separate, trusted location that the attacker cannot touch. This trusted location acts as a checkpoint. Whenever the computer restarts or tries to read data, it checks the fingerprint on the disk against the one in the trusted checkpoint. If the attacker has swapped the disk with an old version or altered the data, the fingerprints will not match, and the system will immediately know something is wrong, refusing to load the corrupted data.
The researchers built a working version of this system, which they named SHIELDZFS, by extending an existing, widely used file system called ZFS. They did not need to change the fundamental way the file system organizes data on the disk; instead, they added a layer of verification that runs inside the secure memory of the computer. This layer ensures that every time data is written, a new, unbreakable link is added to the chain of history. They also created a lightweight service, which they call a "registry," that runs in its own secure environment to hold the latest valid fingerprints for many different file systems at once. This registry is designed to be fast and reliable, capable of handling thousands of requests per second with a delay of less than one millisecond, ensuring that the security checks do not become a bottleneck.
To test their creation, the team ran a series of rigorous experiments using standard benchmarks and real-world applications, such as database servers and file servers. They compared their secure system against standard file systems and other security tools. The results showed that SHIELDZFS successfully detected every type of tampering they simulated, including attempts to roll back data, replay old versions, or create conflicting copies of the file system. In terms of speed, the secure system performed remarkably well. For most tasks, it was nearly as fast as the standard, unsecured version of the file system. In the most demanding scenarios, where data had to be written and confirmed instantly, it was only about 1.7 times slower than the standard version, a trade-off that many security-conscious organizations would find acceptable. In contrast, other security methods they tested were significantly slower, sometimes up to five times slower, making them impractical for high-performance needs.
The researchers also explored how this system could work alongside existing software that already has some security features. They found that by using their secure system only for the most critical parts of a database—the logs that record changes—and using a standard, faster file system for the rest of the data, they could achieve the best of both worlds. This hybrid approach allowed them to maintain high security for the most important data while keeping the overall system fast and responsive. The study confirms that it is possible to build a file system that is resilient against a malicious cloud provider without requiring a complete overhaul of the software that uses it. By turning the file system into a self-verifying structure and anchoring it to a trusted, external checkpoint, the researchers have provided a practical path forward for securing data in the cloud, ensuring that what is saved is exactly what is retrieved, no matter who controls the hardware.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.