2

What prompts this question is why some Spectre mitigations are considered meaningful on single user workstations or desktops.

When a piece of software is trusted by the admin or a user to run on a single user system, what is the purpose of applying CPU related security mitigation on that system unless the software is not truly trusted, in which case it shouldn't be installed on the system?

In the case of using shared resources like virtual machines with hosting providers or other multi-user, multi-tenant system where a hostile party can cause damage or steal data these mitigations are meaningful, but what about the case where the owner of the workstation uses it to plays games and doesn't share the system with anyone else. Are such measures meaningful, more so when they come with performance penalties which may matter a lot in some applications? Are they sensible?

I get that web browsers may enable software to be downloaded and executed, but if downloading and executing software is restricted, just browser based Javascript software, which again the user is expected to trust, then where is the risk?

Another thing which prompted the question is the differences between X11 and Wayland, with Wayland offering more security against some flaws in X11 out of the box. Question is for desktop apps on systems not shared with others what difference does it make?

3
  • 2
    If you can trust the software you can effectively get rid of all defences, true. But you wouldn't be the first one to trust the wrong software. Humans fail more often than machines. Do you really want to lose all your money because you visited the wrong cat pictures site? Commented Nov 3 at 18:26
  • 1
    I don't think there is any such expectation that the user trusts "browser based Javascript software". Browsers put mitigations in place (e.g. limiting the resolution of timing functions) precisely because Javascript code from web sources is not trusted.
    – kaya3
    Commented Nov 3 at 18:28
  • 1
    Just remember that usability is just as important as security, in many cases. If someone prioritised security to the maximum degree, they wouldn't use the internet, nor any devices. Commented Nov 3 at 23:35

2 Answers 2

2

To exploit spectre someone needs to run malware on the same computer as your software. If you use say AWS and don’t have a whole computer for yourself, another customer using the same computer can run malware intentionally and attack your software.

On my Mac at home, the same happens if someone can run malware on my computer. If they can run malware as the same user they don’t need spectre, so the situation is bad but not because of spectre. Anything someone can run from a second user account is a risk.

2

Spectre mitigations are very meaningful on single-user devices.

Your definition of trust is far too broad. As kaya3 already pointed out in the comments, browsers have to deal with untrusted code all the time. For example, Google has shown a proof-of-concept for a JavaScript-based Spectre attack. This might be used to defeat the same-origin policy, one of the core security mechanisms of browsers which is supposed to isolate websites (or more precisely origins) from each other. To mitigate this, a lot of effort is put into countermeasures like Cross-Origin Read Blocking (CORB) or Opaque Response Blocking (ORB).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .