MeltdownDetector: a runtime approach for detecting meltdown attacks
Akyıldız, Taha Atahan and Güzgeren, Can Berk and Yılmaz, Cemal and Savaş, Erkay (2020) MeltdownDetector: a runtime approach for detecting meltdown attacks. Future Generation Computer Systems, 112 . pp. 136-147. ISSN 0167-739X (Print) 1872-7115 (Online)
This is the latest version of this item.
Official URL: http://dx.doi.org/10.1016/j.future.2020.05.017
In this work, we present a runtime approach, called MeltdownDetector, for detecting, isolating, and preventing ongoing Meltdown attacks that operate by causing segmentation faults. Meltdown exploits a hardware vulnerability that allows a malicious process to access memory locations, which do not belong to the process, including the physical and kernel memory. The proposed approach is based on a simple observation that in order for a Meltdown attack to be worthwhile, either a single byte of data located at a particular memory address or a sequence of consecutive memory addresses (i.e., sequence of bytes) need to be read, so that a meaningful piece of information can be extracted from the data leaked. MeltdownDetector, therefore, monitors segmentation faults occurring at memory addresses that are close to each other and issues a warning at runtime when these faults become “suspicious.” Furthermore, MeltdownDetector flushes the cache hierarchy after every suspicious segmentation fault, which, in turn, prevents any information leakage. In the experiments, MeltdownDetector successfully detected all the attacks and correctly pinpointed all the malicious processes involved in these attacks and did so without issuing any false alarms and without leaking even a single byte of data. Furthermore, the runtime overhead of the fastest MeltdownDetector implementation was about 1%, on average.
Available Versions of this Item
Repository Staff Only: item control page