
SMoTherSpectre: Transient execution attacks through port contention - atrib
https://nebelwelt.net/blog/20190306-SMoTherSpectre.html
======
mmastrac
I guess the conclusion from the last couple of years is that every shared
resource is nearly guaranteed to be a source of information leaks.

Don't share CPU functional ports -- or cache memory -- with untrusted
programs.

~~~
bpye
In a way this is a direct consequence of sharing. Almost any shared resource
will have contention, or stored state and this will affect use of the resource
by (typically) other cores/threads. This will always end up telling you
something, you just have to hope it's nothing useful.

~~~
ahartmetz
The only ways to share without contention that I can think of are:

\- Static allocation (e.g. static partitioning of caches, actually exists in
some architectures IIRC)

\- Some kind of ahead of time scheduling in a "sufficiently smart compiler",
but then you can't dynamically run independent threads of execution on the
shared resource

You know what else is a contended shared resource in multicore computers? RAM.
Space is kind of statically allocated but bandwidth / access / latency is very
dynamic. At this point I wouldn't bet that it can't be exploited.

~~~
Mirioron
> _RAM. Space is kind of statically allocated but bandwidth / access / latency
> is very dynamic. At this point I wouldn't bet that it can't be exploited._

Correct me if I'm wrong, but doesn't rowhammer basically do that?

~~~
ahartmetz
Rowhammer is different, it doesn't use a timing side channel. It uses an
electrical(!) flaw to turn reads at address X into writes at address Y. It can
work on a single core machine running a single process.

------
est31
The initial reaction to this is "OMG our computers are so insecure, the world
is ending", but I think that this is great. It means that the lower hanging
fruit is gone, and that security is taken seriously. That it makes sense for
chip developing companies to start investing into security, and not just
performance. This should be seen as another step of progress.

------
exabrial
Good God, running your code on a CPU with other people's code is turning into
a very bad idea

