Visible to the public NetCAT: Practical Cache Attacks from the Network

TitleNetCAT: Practical Cache Attacks from the Network
Publication TypeConference Paper
Year of Publication2020
AuthorsKurth, Michael, Gras, Ben, Andriesse, Dennis, Giuffrida, Cristiano, Bos, Herbert, Razavi, Kaveh
Conference Name2020 IEEE Symposium on Security and Privacy (SP)
Date PublishedMay 2020
PublisherIEEE
ISBN Number978-1-7281-3497-0
KeywordsHuman Behavior, keystroke analysis, Metrics, microarchitecture, Prefetching, pubcrawl, Random access memory, security, Servers, Timing
AbstractIncreased peripheral performance is causing strain on the memory subsystem of modern processors. For example, available DRAM throughput can no longer sustain the traffic of a modern network card. Scrambling to deliver the promised performance, instead of transferring peripheral data to and from DRAM, modern Intel processors perform I/O operations directly on the Last Level Cache (LLC). While Direct Cache Access (DCA) instead of Direct Memory Access (DMA) is a sensible performance optimization, it is unfortunately implemented without care for security, as the LLC is now shared between the CPU and all the attached devices, including the network card.In this paper, we reverse engineer the behavior of DCA, widely referred to as Data-Direct I/O (DDIO), on recent Intel processors and present its first security analysis. Based on our analysis, we present NetCAT, the first Network-based PRIME+PROBE Cache Attack on the processor's LLC of a remote machine. We show that NetCAT not only enables attacks in cooperative settings where an attacker can build a covert channel between a network client and a sandboxed server process (without network), but more worryingly, in general adversarial settings. In such settings, NetCAT can enable disclosure of network timing-based sensitive information. As an example, we show a keystroke timing attack on a victim SSH connection belonging to another client on the target server. Our results should caution processor vendors against unsupervised sharing of (additional) microarchitectural components with peripherals exposed to malicious input.
URLhttps://ieeexplore.ieee.org/document/9152768
DOI10.1109/SP40000.2020.00082
Citation Keykurth_netcat_2020