Skip to main content
4 of 4
clarified what a GPU is not, typo in e.g.

A GPU (Graphical Processing Unit) is not vulnerable to spectre/meltdown attacks.

This is due to various reasons:

  1. A GPU is a completely differently designed processor.
  2. It does not run privileged code (e.g. kernel code).
  3. It does not run the OS.
  4. It is optimized for Vector calculations.
  5. Its micro code is build completely differently.
  6. It (most often) does not have protection for privileged code (like the execution rings on a CPU).
  7. It does not have access to the CPU's registers (directly), it does have DMA (Direct Memory Access) but so do a lot of other devices.
  8. There is only limited research on this done by security experts, so no one is sure if it's not vulnerable.
  9. As for having the same parts, those parts are either shared between many devices or nowhere similar in design. a GPU's memory or example is differently mapped than a CPU's memory (although they share an electrical standard).
  10. The DMA access should be limited to the current execution level, since the Graphics card is normally controlled by the Kernel, no user level application can directly access it. Or send code to it. (Drivers exist to facilitate user level access and to limit what they can do. As to maximize the usable features. And not blow the card up (by setting illegal settings for example).
  11. Code that can run on the GPU is highly limited in what it can execute (instruction set is limited) DMA is for example only allowed indirectly (first load it into the Graphics cards memory than access is granted and visa versa).

tldr; GPUs are not CPUs and are not designed to be multi-user / application. They have some protection against abuse but most of this is not yet tested by security experts.

LvB
  • 9.1k
  • 1
  • 31
  • 47