Eliminating Cache-Based Timing Attacks with Instruction-Based Scheduling
Paper i proceeding, 2013

Information flow control allows untrusted code to access sensitive and trustworthy information without leaking this information. However, the presence of covert channels subverts this security mechanism, allowing processes to communicate information in violation of IFC policies. In this paper, we show that concurrent deterministic IFC systems that use time-based scheduling are vulnerable to a cache-based internal timing channel. We demonstrate this vulnerability with a concrete attack on Hails, one particular IFC web framework. To eliminate this internal timing channel, we implement instruction-based scheduling, a new kind of scheduler that is indifferent to timing perturbations from underlying hardware components, such as the cache, TLB, and CPU buses. We show this scheduler is secure against cache-based internal timing attacks for applications using a single CPU. To show the feasibility of instruction-based scheduling, we have implemented a version of Hails that uses the CPU retired-instruction counters available on commodity Intel and AMD hardware. We show that instruction-based scheduling does not impose significant performance penalties. Additionally, we formally prove that our modifications to Hails’ underlying IFC system preserve non-interference in the presence of caches.


Deian Stefan

Stanford University

Pablo Buiras

Chalmers, Data- och informationsteknik, Programvaruteknik

E.Z. Yang

Stanford University

Amit Levy

Stanford University

David Terei

Stanford University

Alejandro Russo

Chalmers, Data- och informationsteknik, Programvaruteknik

David Mazières

Stanford University

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 8134 718-735


Informations- och kommunikationsteknik


Datavetenskap (datalogi)