Echo's blog
Echo's blog
· 1 min read · 资讯

AMD的自动更新程序有RCE漏洞,他们不想修

cover

一个叫 MrBruh 的研究者买了台新电脑打游戏。每隔一阵,一个黑窗口就弹出来,又消失。烦了。他把这个弹窗的可执行文件拖进了反编译器。

然后他发现了一件事:AMD 的自动更新程序从一个 HTTP 链接下载可执行文件,没有任何签名校验,然后就执行了。

你读到这句的时候,后背应该已经凉了半截。

一个普通的午后发现了什么#

弹窗是 AMD AutoUpdate 搞的。MrBruh 反编译了它,发现更新 URL 写死在程序里,用的是 HTTPS 还算安全。但他好奇点开了那个 URL——发现 URL 里指向的所有 exe 下载链接,走的是 HTTP。

中间人攻击的标准教科书案例。在你同一个 WiFi 网络里的人,或者能控制你 ISP 路由的人,可以拦截更新请求,替换成任何恶意程序。AMD 的软件会毫无防备地下载、解压、执行。

MrBruh 查了反编译的代码,确认了:没有任何证书校验,没有任何签名检查,没有任何完整性验证。它就是下载,然后执行。

大公司的小把戏#

他把这个漏洞报告给了 AMD 的漏洞赏金计划。回复来了:不好意思,中间人攻击不在范围内。

这个措辞很精妙。你把漏洞报告过来,他说这不算是漏洞——因为前提是”有人能拦截你的网络”才能利用。就好像你家门锁一撬就开,然后锁匠告诉你:只有有钥匙的人才能开,所以这不算是锁的问题。

在反复沟通之后,AMD 最终同意发一个 CVE。但不给钱,因为”影响的是可选工具”以及”需要中间人条件”。注意,AMD 用的不是一个内部安全响应团队,是一家叫 Intigriti 的第三方平台在做初始分类。这意味着研究者和 AMD 之间隔了一个中间人。

等了 100 天的结果#

报告之后,MrBruh 撤下了他的博客,等待 AMD 修复。87 天过去了,没有任何有意义的更新。他跟进,AMD 说再等一等。最终在第 100 天,他决定不再等了。

有趣的是,AMD 的自动更新程序还有一个更大的问题,跟安全无关但更有黑色幽默色彩:它完全坏了。AMD 把软件包列表从 ati.com 迁到了 drivers.amd.com,但 AutoUpdater 处理不了重定向,直接崩溃。所以你无法通过 AutoUpdater 更新 AutoUpdater 来修复漏洞。

一个死循环。你要更新你的更新程序,但你的更新程序没法更新。想修这个漏洞?去官网手动下载最新安装包,完全卸载旧的,全新安装。

这件事真正意味什么#

这不只是 AMD 的锅。每一个在电脑上预装自动更新软件的硬件厂商,其安全实践都值得被审视。AutoUpdate 是一个高权限进程——它要下载并执行代码。如果这个链条上的任何一个环节出了问题,你的电脑就不再是你的了。

更让人寒心的是 bug bounty 程序里的那些”潜规则”。MITM 攻击不被接受?那 XSS 呢?CSRF 呢?边界画在哪,取决于厂商想负多少责任。一个”可选工具”(更新程序这种说法)的漏洞就这么被推来推去,那如果真的涉及到核心驱动呢?

CVE 发了,补丁也承诺了。但 MrBruh 在文章最后问的问题没人能回答:如果我不写这篇博客,AMD 会修吗?

来源:Hacker News | MrBruh’s Blog

Related Posts

Comments

Copied
Copied to clipboard