Researchers at ETH Zurich have found a way to overcome a commonly used defense mechanism against so-called speculative execution attacks targeting modern microprocessors.
In a technical paper published this week, the researchers described how attackers could use their technique — dubbed “Retbleed” — to steal sensitive data from the memory of systems with Intel and AMD microprocessors that are vulnerable to the issue. The researchers built their proof-of concept code for Linux but said some Windows and Apple computers with the affected microprocessors likely have the issue as well.
Their discovery prompted Intel and AMD to issue advisories this week describing mitigations against the new attack method. In an emailed statement, Intel said it had worked with industry partners, the Linux community, and Virtual Machine Manager (VMM) vendors to make mitigations available to customers. “Windows systems are not affected as they already have these mitigations by default,” Intel noted.
AMD said the issue the researchers had identified potentially allows arbitrary speculative code execution under certain microarchitecture conditions. “As part of its ongoing work to identify and respond to new potential security vulnerabilities, AMD is recommending software suppliers consider taking additional steps to help guard against Spectre-like attacks,” AMD said in an emailed statement. “That guidance is found in a new AMD whitepaper now available.”
Both chipmakers said they were not aware of any active exploits in the wild related to the issue that the researchers at ETH Zurich discovered and reported.
A Dangerous Attack Vector
Security researchers consider speculative execution attacks as dangerous because they give attackers a way to access and steal sensitive data — including passwords and encryption keys — in a computer’s memory. It’s an issue that is especially of concern in shared environments such as public cloud services and shared enterprise infrastructure.
Speculative execution is a performance-enhancing mechanism in modern microprocessors where instructions in code are executed in advance of when they are needed, without waiting for previous instructions to be completed. The…