A feature that Intel introduced in some of its server processors several years ago to help improve performance in some use cases brought with it a serious security weakness that researchers have discovered can be used to monitor keystrokes across a network and steal sensitive information, without the use of any malicious software.
The weakness is in the Data-Direct I/O (DDIO) feature in some Intel Xeon processors and the attack that researchers from Vrije University in Amsterdam developed allows them to leak information from the cache of a vulnerable processor. The NetCAT attack, as it’s known, can be run remotely across a network and the researchers said it could be used to steal information such as keystrokes in an SSH session as they occur.
“We show that NetCAT can break confidentiality of a SSH session from a third machine without any malicious software running on the remote server or client. The attacker machine does this by solely sending network packets to the remote server,” the researchers from VUSec wrote in their explanation of the attack.
“More precisely, with NetCAT, we can leak the arrival time of the individual network packets from a SSH session using a remote cache side channel. Why is this useful? In an interactive SSH session, every time you press a key, network packets are being directly transmitted. As a result, every time a victim you type a character inside an encrypted SSH session on your console, NetCAT can leak the timing of the event by leaking the arrival time of the corresponding network packet.”
The vulnerability that the VUSec team discovered affects Intel Xeon E5, E7, and SP processors that support DDIO and Remote Direct Memory Access (RDMA). Intel has published an advisory on the vulnerability and recommends that customers limit direct access from untrusted networks in an environments where DDIO and RDMA are enabled. DDIO is a feature Intel introduced in 2011 and it’s designed to improve server performance by allowing peripherals to write to and read from the processor’s low-level cache rather than slower traditional memory. The VUSec researchers discovered that they could exploit the way DDIO works to leak sensitive data over the network. Their attack is particularly problematic for cloud providers and data center operators, which rely on shared resources.
"In our example we launch a cache attack over the network to a target server to leak secret information."
“In our attack, we exploit the fact that the DDIO-enabled application server has a shared resource (the last-level cache) between the CPU cores and the network card. We reverse engineered important properties of DDIO to understand how the cache is shared with DDIO. We then use this knowledge to leak sensitive information from the cache of the application server using a cache side-channel attack over the network. To simplify the attack, similar in spirit to Throwhammer, we rely on Remote Direct Memory Access (RDMA) technology. RDMA allows our exploit to surgically control the relative memory location of network packets on the target server,” the researchers said.
“The attacker controls a machine which communicates over RDMA to an application server that supports DDIO and also services network requests from a victim client. NetCAT shows that attackers can successfully spy on remote server-side peripherals such as network cards to leak victim data over the network.”
In a statement, Intel officials said the risk of compromise for most customers is low.
“Intel received notice of this research and determined it to be low severity (CVSS score of 2.6) primarily due to complexity, user interaction, and the uncommon level of access that would be required in scenarios where DDIO and RDMA are typically used. Additional mitigations include the use of software modules resistant to timing attacks, using constant-time style code. We thank the academic community for their ongoing research," the statement says.
The NetCAT attack is somewhat similar to other side-channel attacks that have emerged in recent years, but it does not rely on any user interaction or require the attacker to have compromised the target machine. Rather, the attacker just needs to be able to send packets to the target machine in order to execute the NetCAT attack.
“We assume the attacker can interact with a target PCIe device on the server, such as a NIC. For the purpose of instantiating our attack in a practical scenario, we specifically assume the attacker is on the same network as the victim server and can send packets to the victim server’s NIC, thereby interacting with the remote server’s DDIO feature,” the research paper says.
“In particular, in our example we launch a cache attack over the network to a target server to leak secret information (such as keystrokes) from the connection between the server and a different client.”
CC By 2.0 license image from Dr GMC.