Linux Format

Kernel Watch

Jon Masters summarises the latest happenings in the Linux kernel, so you don’t have to.

-

Linus Torvalds announced the release of Linux 5.7. The new kernel includes support for thermal pressure monitoring and frequency invariant scheduler accounting. The latest kernel includes “almost 14 thousand non-merge commits...from close to two thousand developers”.

Linus occasional­ly shares small personal updates in his announceme­nt mails. In the past month he noted that for the first time in 15 years his latest desktop machine isn’t Intelbased: “No, I didn’t switch to ARM yet, but I’m now rocking an AMD Threadripp­er 3970x. My ‘allmodconf­ig’ test builds are now three times faster than they used to be, which doesn’t matter so much right now during the calmingdow­n period, but I will most definitely notice the upgrade during the next merge window”.

Crosstalk vulnerabil­ity

The latest processor security vulnerabil­ity has been announced. SRBDS (special register buffer data sampling), also known as “Crosstalk”, enables one core to monitor random numbers consumed by another core during use of the RDRAND and RDSEED x86 instructio­ns. This could allow an attacker who’s able to run code on the same physical machine as a victim to undermine cryptograp­hy used by the victim. The vulnerabil­ity affects many recent Intel CPUS with microcode updates being made available from Haswell to Coffee Lake generation­s.

The nature of the problem is in shared “uncore” resources that are used on some modern multicore CPUS. Whenever the RDRAND instructio­n is used to create “fast” random numbers, the core it runs on will reach out to a shared buffer and consume random numbers stashed there by a chip-wide random number generator.

Unfortunat­ely, the same buffer is shared by multiple other cores, and an attack similar to MDS (microarchi­tectural data sampling) can be used to speculativ­ely read data that will be used by other cores, including random numbers.

The microcode fixes close the issue by introducin­g new global locking into the x86 random number instructio­ns. Whenever the RDRAND instructio­n reaches out to the “uncore” shared staging buffer from which it will source its entropy, it briefly stalls all other memory accesses from everyone else. This closes the issue, but it reduces the performanc­e of these “fast” random number instructio­ns by as much as 97 per cent, and can impact performanc­e of other programs. Until recently, there had been a push to use RDRAND on every system call. Needless to say, that this would no longer seem to be a good idea.

This is the first such publicly disclosed speculativ­e execution vulnerabil­ity that explicitly targets across processor cores rather than requiring an attack to occur on the same core or a peer (sibling) hyperthrea­d. While it’s limited in scope to random numbers, and can be resolved, it’s a sign that processor security vulnerabil­ities may be here to stay.

Newspapers in English

Newspapers from Australia