Chrome危险,Firefox免疫

梦晨 发自 凹非寺
量子位 | 公众号 QbitAI

万万没想到,这年头GPU还能泄露密码了。

主流6家公司的产品都中招,从英伟达英特尔AMD,到高通苹果ARM,手机电脑都没跑。

6家GPU被曝漏洞,用户名密码被「像素级窃取」,N卡A卡I卡都中招

并且不是在处理AI、大数据任务的时候泄露,而是在处理图形任务渲染网页的时候。

新攻击方法称为像素窃取(pixel stealing),由得克萨斯大学奥斯汀分校等研究团队提出。

6家GPU被曝漏洞,用户名密码被「像素级窃取」,N卡A卡I卡都中招

研究将出现在2024年的第45届IEEE安全和隐私研讨会上,不过现在论文和代码都已经开源了。

压缩数据的锅

研究人员开发的概念验证攻击称为GPU.zip

方法是在恶意网站嵌入一个iframe标签,获取被嵌入网站的内容如用户名、密码的图像和其他敏感数据。

6家GPU被曝漏洞,用户名密码被「像素级窃取」,N卡A卡I卡都中招

通常来说,浏览器的同源策略会阻止这个行为。

但现代GPU几乎都用到的一个数据压缩方法却不受此限制。

这种压缩方法核显独显都会用,主要目的是节省显存带宽并提高性能,不需要应用程序的参与,所以也不受应用程序规则的限制。

研究团队把不同GPU的压缩算法逆向工程出来后,就可以再把数据“解压”。

6家GPU被曝漏洞,用户名密码被「像素级窃取」,N卡A卡I卡都中招

攻击思路很精彩,测量应用滤镜的渲染时间或缓存状态变化。

如果目标像素是白色,滤镜结果不可压缩,渲染时间长;如果是黑色,则可压缩,渲染时间短。

通过时间差异判断目标像素的颜色,完成跨域获取像素最后可逐个获取所有像素,重构受害页面的完整信息。

实验中,在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使用越来越少,要不取消掉算了?

6家GPU被曝漏洞,用户名密码被「像素级窃取」,N卡A卡I卡都中招

论文地址:
https://www.hertzbleed.com/gpu.zip/

参考链接:
[1]https://arstechnica.com/security/2023/09/gpus-from-all-major-suppliers-are-vulnerable-to-new-pixel-stealing-attack/
[2]https://news.ycombinator.com/item?id=37663159