Cache Side-Channel Attacks: Flush+Flush and the Countermeasures Time Gap
Keith Nyasha Bhebe, Jian Liu, Wenyu Qu · 2019
In cloud computing, profitability among others, is the driving force that encourages full utilization of computing resources. Hence, scenarios where one or more users are co-located on the same CPU but on different virtual machines are normal. Even though this setting brings profitability, unfortunately it also brings security and privacy issues. Software-based sand-boxing techniques are not perfect, as a result, users through the shared memory of an application, can leak secret information. To tackle this problem, some work has been published proving how it is possible to detect cache side-channel attacks using HPCs (Hardware Performance Counters). However, this particular method of detection may only be effective for cache side-channel attacks that cause a lot of cache activity, especially in the form of cache misses, among others. Using HPCs, we observe that the Firefox Web Browser (a benign application) causes more page-faults and cache misses among others, in comparison with the FLUSH+FLUSH, FLUSH+RELOAD and PRIME+PROBE in our attack. In this paper, we focus on using the FLUSH+FLUSH method of cache side-channel attacks, to distinguish between input against the Links text-based browser in order to gain private information about last visited websites. Because the FLUSH+FLUSH attack method causes little or no cache misses, as a result, the attack is more stealthy and in some cases more accurate compared to the state of the art FLUSH+RELOAD attack method. We make the assumption that both the victim and the adversary are co-located on the same CPU but on different virtual machines and different cores, and that they have the same application installed, then through the shared memory of the application, the attack is made possible. Our experiment results indicate that the shared memory of computer applications may be vulnerable to cache side-channel attacks and that more work needs to be done to protect users in the cloud computing system in this aspect.