Prime+Probe 1, JavaScript 0: Overcoming Browser-based Side-Channel Defenses Anatoly Shusterman Ayush Agarwal Sioli O’Connell Ben-Gurion Univ. of the Negev University of Michigan University of Adelaide
[email protected] [email protected] [email protected] Daniel Genkin Yossi Oren Yuval Yarom University of Michigan Ben-Gurion Univ. of the Negev University of Adelaide and Data61
[email protected] [email protected] [email protected] Abstract While traditionally such attacks were implemented using native code [7, 29, 49, 58, 60, 79, 80], recent works have The “eternal war in cache” has reached browsers, with mul- demonstrated that JavaScript code in browsers can also be tiple cache-based side-channel attacks and countermeasures used to launch such attacks [24, 30, 57, 69]. In an attempt being suggested. A common approach for countermeasures is to mitigate JavaScript-based side-channel leakage, browser to disable or restrict JavaScript features deemed essential for vendors have mainly focused on restricting the ability of an carrying out attacks. attacker to precisely measure time [15, 16, 84]. To assess the effectiveness of this approach, in this work Side-channel attackers, in turn, attempt to get around these we seek to identify those JavaScript features which are es- restrictions by creating makeshift timers with varying accu- sential for carrying out a cache-based attack. We develop racies through the exploitation of other browser APIs, such a sequence of attacks with progressively decreasing depen- as message passing or multithreading [42, 66, 72]. More re- dency on JavaScript features, culminating in the first browser- cently, Schwarz et al.