I just heard in the news: Intel CPUs impacted by new PortSmash side-channel vulnerability. Is it as threatening as Meltdown/Spectre? Is it patched? What should we do to be safe? Does it affect AMD CPU's?

It is found by a team in a university so possibly it is not dangerous but a POC is available in GitHub, which makes me to worry.

up vote 23 down vote accepted

As with a lot of breaking-news coverage of computer security, there's a lot of questionable reporting on PortSmash. It's not actually very interesting, as it doesn't really add much to the attacker toolkit. It only affects a very narrow set of targets, which are already vulnerable to other attacks (and have been for years).

Colin Percival actually described the attack in question 13 years ago. The scope, specifically, is where there's a secret held in memory (a cryptographic key, for example) that alters what code your program executes. As Percival says in the linked tweets:

The defence against PortSmash is exactly the same as the defence against microarchitectural side channel attacks from 2005: Make sure that the cryptographic key you're using does not affect the sequence of instructions or memory accesses performed by your code.

So this story can be filed under "confirming what we already knew". It's great work -- and I'm glad that after 13 years someone has finally gotten around to writing the exploit -- but it's not something users need to worry about at all.

So PortSmash isn't really anything that new; it's a small evolution in a class of side-channel attacks that all hyper-threading processors are vulnerable to, and have been since the beginning. And yes, it almost certainly impacts both AMD and Intel processors — as it may any hyper-threading processor where similar multi-threading features (specifically, ports or pipes — see comments on this answer for more information) can be maliciously abused.

  • 3
    You mention that it supports AMD processors, but port conflicts aren't a thing for AMD. Ports between units is a thing unique to Intel (though of course SMT-based side-channel attacks are still a thing for AMD). – forest Nov 5 at 7:54
  • 3
    @Johnny So the vulnerability isn't new but the Python POC does. All security news are like a new disaster is coming. – Aiden Stewart Nov 5 at 7:59
  • 7
    It looks like AMD uses something called pipes instead, which seem to have equivalent functionality. At least it looks like that in section 16.8 of cs.utexas.edu/~hunt/class/2018-spring/cs340d/documents/… – forest Nov 5 at 8:31
  • 4
    @forest: Port and pipe are basically synonymous; it's just different terminology for the same thing. Resource conflicts for execution units on the same dispatch port/pipe, or for the same execution unit, are a thing on AMD Ryzen. (But note that Bulldozer-family doesn't have SMT, it has two weak integer cores sharing a vector unit, which AMD calls CMT. So two threads sharing a "module/core" compete for the front-end, and for resources on the SIMD/FP instructions, but not for integer execution pipes. realworldtech.com/bulldozer/10/.) – Peter Cordes Nov 5 at 12:05
  • 5
    @Johnny: Agner Fog publishes his guides on his own web site, agner.org/optimize. No need to go to some random mirror of them. – Peter Cordes Nov 5 at 12:07

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.