3 ms·
Modern discrete GPUs also have IOMMUs and per-context page tables. It's a large attack surface which has received relatively little attention from hackers so fa
by psykotic 9y ago
Modern discrete GPUs also have IOMMUs and per-context page tables. It's a large attack surface which has received relatively little attention from hackers so far compared to CPUs, but there are hardware-level security features in place.
- kllrnohj 9y agoIt's a really small attack surface. Other than the tiny, basic mini CPUs what's even on the GPU? There's no OS to speak of, no privileged processes to poke at, etc... Other than the framebuffer there's not even any data of worth on the GPU. The attack of note that's been mitigated is DoS attacks through webgl, but GPU preemption is a thing now which largely solves the infinite loop in a shader to lock up the machine.
- deleted 9y ago[deleted]
- fulafel 9y agoSorry but you are really on the wrong track on every point. Attack surface (the drivers are the GPU OS, though hardware bugs do play a part too), GPU memory sensitivity, WebGL history (it's been much worse, not DoS only etc). (And re the MMU features upthread, it's just a building block. Just like CPU having a MMU doesn't make your OS magically secure)
- kllrnohj 9y agoYou seem to have entirely lost the context. We're talking what you can attack from code running on the GPU (aka, from a compute shader), which does not include the drivers since that's not running on the GPU. If you want to attack the shader compiler go for it, but since that lives in your own process anyway so you could skip that step and go straight to attacking whatever it is you wanted to attack. > WebGL history (it's been much worse, not DoS only etc). Such as? All I'm finding are DoS attacks. But regardless WebGL's problems were more due to WebGL and its designs than in vulnerabilities in the drivers or GPUs.
- fulafel 9y agoThe context was "How do you prevent shaders being used to gain elevated privileges?" and those go through the whole stack. Regarding WebGL vulnerabilities, you can use your favourite search engine to look up vulnerabilities, here are some first hits for RCE bugs: https://www.cvedetails.com/cve/CVE-2012-3968/ https://www.cvedetails.com/cve/CVE-2012-3968/ https://bugs.chromium.org/p/chromium/issues/detail?id=740603 https://bugs.chromium.org/p/chromium/issues/detail?id=740603 https://nvd.nist.gov/vuln/detail/CVE-2017-5128 https://nvd.nist.gov/vuln/detail/CVE-2017-5128