Researchers use a self-developed app to crack RSA keys with a length of 2048 bits. A patch is likely to result in reduced performance.
A group of security researchers has discovered a vulnerability in Apple’s M-series processors. We ArsTechnica reported, an attacker may be able to read encryption keys to access encrypted user data.
The error is therefore in the so-called Data Memory-Dependant Prefetcher (DMP). This component predicts which memory addresses are likely to be used by the currently executing program code. Because prefetchers use prior access patterns to determine their predictions, attackers can attempt to influence the prefetched data to gain access to sensitive data.
The researchers called the attack developed for the vulnerability “GoFetch”. This takes advantage of a quirk of DMP: a DMP can confuse the contents of the memory location with pointer values used to load more, with data sometimes being used as pointer values and vice versa.
According to the researchers, it is thus possible to output data as pointer values, which DMP then treats as a memory address and then loads this data into the cache. This address is then visible in the cache, giving malicious code access to the address. During an attack, data from the encryption algorithm is changed so that it looks like a pointer.
According to the report, the attack fails to crack an encryption key. However, such an attack can probably be carried out repeatedly, which could allow the key to be read. Using the GoFetch app they developed, it took them just over two hours to crack a 2048-bit Diffie-Hellman key. They got their hands on an RSA key with a length of 2048 bits in less than an hour.
According to ArsTechnica, existing Apple processors cannot be patched. Instead, the necessary changes must be implemented in cryptographic software. This in turn would lead to higher workloads and thus lower performance of such software.