GPUs from all major suppliers are vulnerable to new pixel-stealing attack
GPUs from all major suppliers are vulnerable to new pixel-stealing attack
GPUs from all six of the major suppliers are vulnerable to a newly discovered attack that allows malicious websites to read the usernames, passwords, and other sensitive visual data displayed by other websites, researchers have demonstrated in a paper published Tuesday.
The cross-origin attack allows a malicious website from one domain—say, example.com—to effectively read the pixels displayed by a website from example.org, or another different domain. Attackers can then reconstruct them in a way that allows them to view the words or images displayed by the latter site. This leakage violates a critical security principle that forms one of the most fundamental security boundaries safeguarding the Internet. Known as the same origin policy, it mandates that content hosted on one website domain be isolated from all other website domains.
GPU.zip, as the proof-of-concept attack has been named, starts with a malicious website that places a link to the webpage it wants to read inside of an iframe, a common HTML element that allows sites to embed ads, images, or other content hosted on other websites. Normally, the same origin policy prevents either site from inspecting the source code, content, or final visual product of the other. The researchers found that data compression that both internal and discrete GPUs use to improve performance acts as a side channel that they can abuse to bypass the restriction and steal pixels one by one.
Advertisement
“We found that modern GPUs automatically try to compress this visual data, without any application involvement,” Yingchen Wang, the lead author and a researcher at the University of Texas at Austin, wrote in an email. “This is done to save memory bandwidth and improve performance. Since compressibility is data dependent, this optimization creates a side channel which can be exploited by an attacker to reveal information about the visual data.”
I'm not sure how to think of this new GPU.zip attack. The side channel exists in the GPUs themselves, so it seems fair to think they are vulnerable.
On the other hand, the only (known) way to exploit this side channel is loading iframes into Chrome or Edge, so it also seems reasonable to say these browsers are the things that are vulnerable.
I'm curious to know what you think.
@dalias iframes are the issue for me. I’d love to see them die in a fire. Literally nothing but abuse comes from them. Worst browser decision ever.
That being said, the GPU is definitely vulnerable and there’s probably another way to abuse the information leakage.
@dalias @0x0FFF I beg to differ, first of all finding prime number for exponent this big would be very time consuming process for such simple problem.
Second QC is just on the horizon with IBM presumably launching 4k qubit QC at the end of this year (it will be delayed most probably), but by Shor's algorithm, QC above 1000 qubits deems to shorten the exponent searching problem by an order of magnitude faster.
TL;DR: Let's start adopting PQ crypto, for now lattice based cryptosystem seems promising :)
@dalias @0x0FFF True and because of that the comapnies and agencies building it, will try their absolute best to keep it's abilities a secret in order to prevent spreading a mass hysteria across the internet.
Therefore, if we actually want a solid practical proof of its abilities, more people are needed to have its access, which I think, is just another play on surveillance of its usage.
@dangoodin
I think it is a GPU bug, because it is breaking the same origin promise due to GPU behavior rather than browser behavior.
At the same time I'm not sure it matters at all: The bandwidth of the side channel seems very low (1/2 hour to read data? OWch), and critically it can't be done in an invisible iFrame because it has to be rendered for this to work.
@dangoodin I think you need to look at it as they’re both vulnerable. Or rather there’s one vulnerability when both systems are put together. The browser iframes are being abused (literally the only thing to ever come from iframes is abuse) so they definitely have an issue but the GPU has an information leakage issue which needs to be addresssed. Either with some sort of variable padding or in some other way. I’m not really a low level hardware guy.
So they both have issues for sure, although I’d say they aren’t really vulnerabilities unless combined. Although I’d love to see the death of iframes as soon as possible. They’re way too easy to abuse.
@dangoodin Really great article, and super neat theoretical research. The comment you promoted would have been great to address in part of the article where you go into the mechanics.
In terms of "How to think of this new attack" - IMHO, this would be on browsers to fix _if_ it was anywhere close to practical. Taking 30 minutes to extract a couple hundred pixels from a carefully chosen zone in Wikipedia in (I assume no other significant computer activity or GPU load) makes it a fun parlor trick.
@dangoodin It's along the lines of "If you are a domain admin, you can install malware!"
Uh, if you are a domain admin, you can do whatever you want.
@dangoodin Yeah I did! Every word, like I always do with your articles.
That's not saying that I didn't have a woosh moment.