ABSTRACT
Caches are integral parts in modern computers; they leverage the memory access patterns of a program to mitigate the gap between the fast processors and slow memory components.
Unfortunately, the behavior of caches can be exploited by attackers to infer the program's memory access patterns, by carrying out cache-based side-channel attacks, which can leak critical information.
Secure caches that were proposed employ cache partitioning or randomized memory-to-cache mapping techniques to prevent these attacks. Such techniques may add to the complexity of cache designs.
In this work, we suggest the use of specialized prefetching algorithms for the purpose of protecting from cache-based side-channel attacks. Our prefetchers can be combined with conventional set associative cache designs, are simple to employ, and require low incremental hardware overhead costs, if the base prefetching scheme is already employed.
We integrated our prefetching policies with commonly used GHB and stride prefetching schemes, and compared their performance with the standard implementations of those schemes, on both conventional and secure cache designs. More specifically, our results show that the use of our secure prefetching policy delivers original prefetching performance when integrated with a stride prefetcher. Finally, we demonstrate how a disruptive prefetching scheme can protect the cache from an access based side-channel attack.
- ARM (2010). Cortex-A8 Technical Reference Manual. http://infocenter.arm.com/help/topic/com.arm.doc.subset.cortexa.a8/.Google Scholar
- Bernstein, D. J. (2005). Cache-timing attacks on aes.Google Scholar
- Binkert, N., Beckmann, B., Black, G., Reinhardt, S. K., Saidi, A., Basu, A., Hestness, J., Hower, D. R., Krishna, T., Sardashti, S., Sen, R., Sewell, K., Shoaib, M., Vaish, N., Hill, M. D., and Wood, D. A. (2011). The gem5 simulator. Computer Architecture News, 39(2): 1--7. Google ScholarDigital Library
- Bonneau, J. and Mironov, I. (2006). Cache-Collision Timing Attacks Against AES. Cryptographic Hardware and Embedded Systems, 8: 201--215. Google ScholarDigital Library
- Daemen, J. and Rijmen, V. (1999). Aes proposal: Rijndael. NIST Web page.Google Scholar
- Doweck, J. (2006). White paper: Inside microarchitecture and smart memory access.Google Scholar
- Fu, J. W. C., Patel, J. H., and Janssens, B. L. (1992). Stride directed prefetching in scalar processors. In Intl. Symp. on Microarchitecture (MICRO). Google ScholarDigital Library
- Jaleel, A. (2009). Memory characterization of workloads using instrumentation-driven simulation.Google Scholar
- Jana, S. and Shmatikov, V. (2012). Memento: Learning secrets from process footprints. In Security and Privacy (SP), 2012 IEEE Symposium on, pages 143--157. IEEE. Google ScholarDigital Library
- Kim, T., Peinado, M., and Mainar-Ruiz, G. (2012). Stealthmem: System-level protection against cache-based side channel attacks in the cloud. In USENIX Security symposium, pages 189--204. Google ScholarDigital Library
- Lee, R. B. (2013). Security basics for computer architects. Synthesis Lectures on Computer Architecture, 8(4): 1--111.Google ScholarCross Ref
- Liu, F. and Lee, R. (2014). Random fill cache architecture. In Microarchitecture (MICRO), 2014 47th Annual IEEE/ACM International Symposium on, pages 203--215. Google ScholarDigital Library
- Liu, F. and Lee, R. B. (2013). Security testing of a secure cache design. In Proceedings of the 2Nd International Workshop on Hardware and Architectural Support for Security and Privacy, HASP '13, pages 3:1--3:8, New York, NY, USA. ACM. Google ScholarDigital Library
- Nesbit, K. J. and Smith, J. E. (2004). Data cache prefetching using a global history buffer. In Symp. on High-Performance Computer Architecture (HPCA). Google ScholarDigital Library
- Osvik, D. A., Shamir, A., and Tromer, E. (2006). Cache attacks and countermeasures: the case of aes. In Topics in Cryptology--CT-RSA 2006, pages 1--20. Springer. Google ScholarDigital Library
- Page, D. (2002). Theoretical use of cache memory as a cryptanalytic side-channel. IACR Cryptology ePrint Archive, 2002: 169.Google Scholar
- Paoloni, G. (2010). How to benchmark code execution times on intel ia-32 and ia-64 instruction set architectures. http://download.intel.com/embedded/software/IA/324264.pdf. {Online; accessed 3-March-2013}.Google Scholar
- Percival, C. (2005). Cache missing for fun and profit.Google Scholar
- Ristenpart, T., Tromer, E., Shacham, H., and Savage, S. (2009). Hey, you, get off of my cloud: exploring information leakage in third-party compute clouds. In Proceedings of the 16th ACM conference on Computer and communications security, pages 199--212. ACM. Google ScholarDigital Library
- Standard Performance Evaluation Corporation (2006). SPEC CPU2006. http://www.spec.org/cpu2006.Google Scholar
- Tromer, E., Osvik, D. A., and Shamir, A. (2010). Efficient cache attacks on aes, and countermeasures. J. Cryptol., 23(2): 37--71. Google ScholarDigital Library
- Wang, Z. and Lee, R. B. (2007). New cache designs for thwarting software cache-based side channel attacks. In ACM SIGARCH Computer Architecture News, volume 35, pages 494--505. ACM. Google ScholarDigital Library
- Wang, Z. and Lee, R. B. (2008). A novel cache architecture with enhanced performance and security. In Microarchitecture, 2008. MICRO-41. 2008 41st IEEE/ACM International Symposium on, pages 83--93. IEEE. Google ScholarDigital Library
- Wu, Z., Xu, Z., andWang, H. (2012). Whispers in the hyper-space: High-speed covert channel attacks in the cloud. In USENIX Security Symposium, pages 159--173. Google ScholarDigital Library
- Wulf, W. A. and McKee, S. A. (1995). Hitting the memory wall: Implications of the obvious. SIGARCH Comput. Archit. News, 23(1): 20--24. Google ScholarDigital Library
- Yarom, Y. and Falkner, K. E. (2013). Flush+ reload: a high resolution, low noise, l3 cache side-channel attack. IACR Cryptology ePrint Archive, 2013: 448.Google Scholar
- Zhang, Y. and Reiter, M. K. (2013). Düppel: Retrofitting commodity operating systems to mitigate cache side channels in the cloud. In Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security, pages 827--838. ACM. Google ScholarDigital Library
Index Terms
- Disruptive prefetching: impact on side-channel attacks and cache designs
Recommendations
Effective cache prefetching on bus-based multiprocessors
Compiler-directed cache prefetching has the potential to hide much of the high memory latency seen by current and future high-performance processors. However, prefetching is not without costs, particularly on a shared-memory multiprocessor. Prefetching ...
CPU Cache Prefetching: Timing Evaluation of Hardware Implementations
Prefetching into CPU caches has long been known to be effective in reducing the cache miss ratio, but known implementations of prefetching have been unsuccessful in improving CPU performance. The reasons for this are that prefetches interfere with ...
Page Size Aware Cache Prefetching
MICRO '22: Proceedings of the 55th Annual IEEE/ACM International Symposium on MicroarchitectureThe increase in working set sizes of contemporary applications outpaces the growth in cache sizes, resulting in frequent main memory accesses that deteriorate system performance due to the disparity between processor and memory speeds. Prefetching ...
Comments