万万没想到,这年头GPU还能泄露密码了。
主流6家公司的产品都中招,从英伟达英特尔AMD,到高通苹果ARM,手机电脑都没跑。
并且不是在处理AI、大数据任务的时候泄露,而是在处理图形任务渲染网页的时候。
新攻击方法称为像素窃取(pixel stealing),由得克萨斯大学奥斯汀分校等研究团队提出。
研究将出现在2024年的第45届IEEE安全和隐私研讨会上,不过现在论文和代码都已经开源了。
压缩数据的锅
研究人员开发的概念验证攻击称为GPU.zip。
方法是在恶意网站嵌入一个iframe标签,获取被嵌入网站的内容如用户名、密码的图像和其他敏感数据。
通常来说,浏览器的同源策略会阻止这个行为。
但现代GPU几乎都用到的一个数据压缩方法却不受此限制。
这种压缩方法核显独显都会用,主要目的是节省显存带宽并提高性能,不需要应用程序的参与,所以也不受应用程序规则的限制。
研究团队把不同GPU的压缩算法逆向工程出来后,就可以再把数据“解压”。
攻击思路很精彩,测量应用滤镜的渲染时间或缓存状态变化。
如果目标像素是白色,滤镜结果不可压缩,渲染时间长;如果是黑色,则可压缩,渲染时间短。
通过时间差异判断目标像素的颜色,完成跨域获取像素最后可逐个获取所有像素,重构受害页面的完整信息。
实验中,在AMD的Ryzen 7 4800U上花30分钟可以97%的精确度渲染目标像素。
Intel i7-8700上需要215分钟,精确度98.3%。
准是很准,还不怕系统噪声干扰,不过好在攻击需要的时间较长。
英伟达、高通:不归我们管
要达成这个攻击,还需要浏览器满足三个条件。
- 允许跨源iframe加载cookies
- 允许在iframe上渲染SVG滤镜
- 将渲染任务交给GPU
主流浏览器中满足全部条件比较危险的有Chrome和Edge,Safari和Firefox免疫这种攻击。
基于这点,英伟达和高通都表示没有计划做任何修补。
英伟达发言人表示,“已经评估了研究人员提供的调查结果,并确定根本原因不在我们的 GPU 中,而是在第三方软件中。”
高通发言人表示,“这个问题不在我们的威胁模型中,因为它更直接地影响浏览器,并且如果有必要的话可以由浏览器应用程序解决,因此目前没有计划进行任何更改。”
截至发稿时,英伟达、苹果、AMD和ARM还没有提供正式评论。
谷歌Chrome方面也没决定是否进行修补,只是说正与研究团队沟通和积极参与。
对于网站开发者来说,如果想避免这种攻击,需要限制敏感页面被跨源网站嵌入。
可以在HTTP响应头中设置X-Frame-Options或Content-Security-Policy达成。
那么作为用户,应该担心遭受这种攻击么?
研究人员测试发现,大多数敏感网站都已拒绝被跨源网站嵌入,易受攻击的大型网站发现有维基百科。
也有网友提出了更彻底的解决方法,反正iframe使用越来越少,要不取消掉算了?
论文地址:https://www.hertzbleed.com/gpu.zip/