微软在周一发布的博客文章中宣布,借助其 AI 工具 Microsoft Security Copilot,发现了 20 个开源引导加载程序(bootloader)中的漏洞。
这一发现标志着微软在推广其 AI 驱动的漏洞发现平台方面迈出了重要一步,旨在吸引更多开发者和系统管理员使用该平台。
这些安全漏洞出现在 GRUB2、U-boot 和 Barebox 等引导加载程序中,可能被用于安装绕过安全启动(Secure Boot)的引导工具包(bootkit),从而逃避安全软件的检测,并获取对系统的完全控制权。
这些漏洞已于 2025 年 2 月向相关开源维护者报告,并通过安全更新进行了修复。GRUB2 是 Linux 系统中常用的引导加载程序,而 U-boot 和 Barebox 则多用于嵌入式系统中。微软的漏洞发现过程从对 GRUB2 的调查开始,发现由于其使用 C 编程语言,易受到内存类漏洞的影响。团队特别关注引导加载程序,是因为它们运行时通常不受操作系统安全机制的保护,因此风险更高。
此次漏洞挖掘结合了传统手段(如静态代码分析、手动代码审查与模糊测试)以及 Security Copilot 的辅助功能。团队通过 Copilot 提示其识别引导加载程序中最容易出现可利用错误的功能。
在 Copilot 的建议下,团队将研究重点缩小至文件系统,并要求 Copilot 进一步发现潜在安全问题,进行可利用性分析,最终选出五个最紧迫需要修复的安全问题。
尽管 Copilot 的初步回应中包含了三个误报和一个不可利用的问题,剩下的一个问题——一个整数溢出漏洞——被认定为严重的安全威胁。随后,团队进一步让 Copilot 在其他 GRUB2 文件中寻找类似的模式,同时也进行了人工分析,以避免遗漏潜在的真实漏洞。
最终,微软在 GRUB2 中发现了 11 个漏洞,包括多个文件系统中的问题、两个命令相关漏洞,以及一个由于非恒定时间内存比较引发的加密侧信道攻击。
最严重的漏洞被评为高危,其 CVSS 安全评分为 7.8,对应的编号为 CVE-2025-0678。该漏洞是在 GRUB2 从 Squash4 文件系统读取数据时发生的整数溢出,可能导致任意代码执行,并绕过 Secure Boot 保护。
“像 Security Copilot 这样的 AI 工具有着不可替代的价值,帮助我们更高效地识别和细化引导加载程序中的安全问题,节省了大约一周的工作时间。”微软 365 Defender 研究团队的 Jonathan Bar Or 表示。
另外四个 U-boot 漏洞和五个 Barebox 漏洞是在 Copilot 被要求在其他 GitHub 项目中寻找类似代码时发现的。尽管这些漏洞大多需要物理访问嵌入式系统才能被利用,但它们的发现也突显了开源供应链中易受攻击的代码可能广泛传播的风险,因为 U-boot 和 Barebox 与 GRUB2 共享了大量代码。
微软此次的发现紧随谷歌去年的公告之后。谷歌当时表示,其 Big Sleep AI 代理帮助发现了开源数据库引擎 SQLite 中的一个可利用漏洞。微软和谷歌的工作都表明,AI 正在被越来越多地用于加快安全漏洞的发现,尤其是在开源生态系统中。