Mobile Flash Storage Wearout Attack and Defense

Although flash cells wear out, a typical SSD has enough cells and sufficiently sophisticated firmware that its lifetime generally exceeds the expected lifetime of its host system. Even under heavy use SSDs last for months and can be replaced upon failure. We show that due to limited hardware, under heavy use, one can easily, and more quickly, wear out smartphone flash storage. Consequently, a simple, unprivileged, malicious application can render a smartphone unbootable (“bricked”) in a few short weeks with no warning signs to the user (Figure 1). This bleak result becomes more worrisome when considering the fact that smartphone users generally believe it is safe to try out new applications.

To combat this problem, we study the I/O behavior of a wide range of Android applications. We find that high-volume write bursts exist, yet none of the applications we checked sustains an average write rate that is high enough to damage the device (under reasonable usage assumptions backed by the literature). We therefore propose a rate-limiting algorithm for write activity that (1) prevents such attacks, (2) accommodates “normal” bursts, and (3) ensures that the smartphone drive lifetime is longer than a preconfigured lower bound (i.e., its warranty). In terms of user experience, our design only requires that in the worst case of an app that issues continuous, unsustainable, and unusual writes, the user decides whether to shorten phone’s life or rate limit the problematic app.

For more details, please refer to our MobiSys ‘19 paper.

Link to our proof-of-concept wearout attack targeting Android systems.

Source code of our defense framework(for Samsung S6 phone) is available here.

Apps Can Quickly Destroy Your Mobile's Flash: Why They Don't, and How to Keep It That Way
Proceedings of the 17th ACM International Conference on Mobile Systems, Applications, and Services (MobiSys '19), Seoul, South Korea, June 2019.
Why and How to Increase SSD Performance Transparency
Philipp Gühring,
Proceedings of the 17th ACM Workshop on Hot Topics in Operating Systems (HotOS '19), Bertinoro, Italy, May 2019.
Flash Lifespan *is* a Problem
In Proceedings of the 16th ACM Workshop on Hot Topics in Operating Systems (HotOS '17), Whistler, British Columbia, Canada, May 2017.