Cache timing side-channel vulnerability checking with computation tree logic
Authors:
Open Access
- 2 June 2018
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1-8
Abstract
Caches are one of the key features of modern processors as they help to improve memory access timing through caching recently used data. However, due to the timing differences between cache hits and misses, numerous timing side-channels have been discovered and exploited in the past. In this paper, Computation Tree Logic is used to model execution paths of the processor cache logic, and to derive formulas for paths that can lead to timing side-channel vulnerabilities. In total, 28 types of cache attacks are presented: 20 types of which map to attacks previously categorized or discussed in literature, and 8 types are new. Furthermore, to enable practical vulnerability checking, we present a new approach that limits the depth of the execution paths that need to be checked by the Computation Tree Logic, allowing for use of bounded model checking for Computation Tree Logic based cache security verification using the new three-step single-cache-block-access model.Keywords
Funding Information
- National Science Foundation (1524680)
This publication has 29 references indexed in Scilit:
- Non-monopolizable cachesACM Transactions on Architecture and Code Optimization, 2012
- New cache designs for thwarting software cache-based side channel attacksACM SIGARCH Computer Architecture News, 2007
- Cache-Collision Timing Attacks Against AES2006
- Cache Attacks and Countermeasures: The Case of AES2006
- Trace-Driven Cache Attacks on AES (Short Paper)2006
- Architecture for Protecting Critical Secrets in MicroprocessorsACM SIGARCH Computer Architecture News, 2005
- Uppaal in a nutshellInternational Journal on Software Tools for Technology Transfer, 1997
- Automatic verification of finite-state concurrent systems using temporal logic specificationsACM Transactions on Programming Languages and Systems, 1986
- “Sometimes” and “not never” revisitedJournal of the ACM, 1986
- Towards a general theory of action and timeArtificial Intelligence, 1984