New ZombieLad vulnerability discovered on Intel chips
The investigation into vulnerabilities dependent on speculative execution techniques has been ongoing since the time Meltdown, and Specter were revealed. New details on the security status of Intel processors have been published.
The discovery of the Specter and Meltdown vulnerabilities has stimulated a study, both internal to Intel and by external entities, on the speculative execution techniques typical of recently conceived processors. Speculative execution is based on the parallelization of the execution of instructions in order to improve processing times, but in some cases it can lead to security problems.
The survey led to the publication of a series of studies that identified a new vulnerability belonging to the same family, identified by various names: RIDL, Fallout, ZombieLoad or Microarchitectural Data Sampling.
The plurality of names depends on the fact that different groups worked on the problem and each of them identified it in its own way. The Vrije Universiteit of Amsterdam called it Rogue In-Flight Data Load; a team that includes the University of Technology in Graz, the University of Michigan, Worcester Polytechnic Institute and KU Leuven chose the name Fallout.
Separate study groups at the University of Technology in Graz came to the conclusion that the best names could be ZombieLoad and Store-to-Leak Forwarding.
Internally, Intel is instead using the name of Microarchitectural Data Sampling (MDS). The vulnerability was discovered independently by both Intel and various other groups, and the first warning to Intel came in June last year.
At the architectural level, processors normally execute instructions sequentially, waiting for all operands of an instruction to be known before executing that instruction. A program that needs the value processed by the instruction will wait for the calculation to be completed before accessing that value.
According to speculative execution techniques, the processor tries to guess speculatively which calculation it will have to perform: in this way, if the condition is verified, the result is already ready to be used.
To formulate this hypothesis, the CPU is generally based on data from previous calculations kept in the cache. If the processor guesses, it will improve the processing time; if it fails, it will ignore the assumed value and wait for the execution branch calculation to be completed in the traditional manner.
A malicious process cannot obviously access the data kept in the cache, but can read the access times to the cache locations. The processor needs the various cache positions to be adjusted with respect to the value it is inferring and, at this point, a difference in the access times is generated.
If data is saved in the cache, a second instruction that requires data will have instant access; if, on the other hand, the position of the cache needs to be updated taking the data from the memory, a latency will be generated.
If the malicious process is aware of the range of values that can be stored in the memory cells of the cache, an access at the right moment can provide it with information that can allow it to discover the content of the location with restricted access. By analyzing the delays in accessing the cache locations, the malicious process is able to potentially read every memory location on the computer by obtaining confidential operating system data, passwords, encrypted data and more.
Meltdown works by following this principle and MDS is very similar: rather than accessing cached data, it refers to data from the various buffers used by the processor. The processor has three specialized buffers (load, store and line fill) that it uses to move the data internally, and the values that the buffers keep are updated or maintained with a mechanism similar to the operation of the cache.
At the same time, the malicious process in this case has little control over the data used by the buffers and must make attempts that can make the attack, particularly slow. From this the term ” sampling ” in the name of the vulnerability.
The store buffer, for example: could contain outdated data from previous store operations that are irrelevant to the malicious process. To obtain usable data, many attempts must be made, and then the buffer queried several times.
So, although this problem was already evident for the experts who first tracked the system for identifying the cache locations at the base of Meltdown, there is no simple way to force the buffers in order to contain sensitive information for the malicious process. Researchers at the University of Amsterdam showed a proof-of-concept attack in which a browser tried to read the encrypted password file of a Linux system.
However, to make this attack work, the victims of the demonstration were asked to repeatedly execute the passwd command, in order to trigger a high probability that the contents of the file are in one of the buffers. For these reasons, Intel believes that the newly revealed vulnerability is low or medium risk.
Intel has released a microcode update to address software vulnerability in Sandy Bridge processors and first-generation Coffee Lake and Whiskey Lake processors. Operating systems will forcefully clean up the various buffers to ensure they are free of sensitive data.
The latest Coffee Lake, Whiskey Lake and Cascade Lake processors, on the other hand, include hardware adjustments that inhibit the functioning of various vulnerabilities. For systems that depend on microcode corrections, Intel expects an average performance loss of around 3%, although this percentage could increase in the case of unfavorable workloads.
” Microarchitectural Data Sampling (MDS) has already been addressed at a hardware level in many of our recent eighth and ninth-generation Intel Core processors, as well as in the second-generation Intel Xeon scalable processor family ” reads an official statement from Intel.
” For other affected products, troubleshooting is possible through microcode updates, along with operating system updates and newly released software hypervisors. We provide additional information on our site and encourage all users to keep their systems up to date, because it remains the best way to remain protected. We thank the researchers who have collaborated with us and with our partners for the contribution they have made to tackle the problem “.
As with Meltdown, ZombieLoad (or MDS) seems to be a specific problem with Intel processors. These use speculative processing as a matter of improving performance, but also implementing simplicity, while the AMD and ARM chips work in slightly different ways that keep them away from the problem.