阿姆斯特丹自由大学的研究人员因利用L1TF重加载漏洞获得15万美元奖金。该漏洞结合了L1TF(预兆漏洞)和半幽灵漏洞,能够绕过现有防护措施,证明瞬态CPU漏洞仍具实际威胁,可从公有云服务的虚拟机中泄露内存数据,导致敏感信息暴露。
L1TF重加载漏洞可突破防护机制,从谷歌云超管理器及共租户虚拟机中提取数据。研究人员通过指针追踪技术,将客户机虚拟地址转换为主机物理地址,进而利用L1TF漏洞读取任意受害内存字节。
研究论文指出:"我们结合L1TF与推测性越界加载技术,突破了所有关键安全防护,成功从谷歌云超管理器甚至共租户虚拟机中提取敏感数据。通过创新的主机-客户机指针追踪方法,我们获取了手动执行二维页表遍历(即通过客户机页表和扩展页表)所需的全部信息,从而将任意客户机虚拟地址转换为主机物理地址,实现通过L1TF泄露受害者内存中的任意字节。"
研究人员在谷歌云平台进行了实测,在约14小时内从受害虚拟机中提取了Nginx TLS密钥,即使在强干扰环境下仍成功。该攻击利用Linux KVM中的半幽灵漏洞组件进行推测性数据加载,再通过L1TF实现数据泄露。从恶意虚拟机出发,他们不仅访问了主机操作系统数据,还识别出共租户虚拟机并窃取敏感密钥。在AWS平台上,防御机制将泄露范围限制在了非敏感主机数据。
论文数据显示:"我们在6台不同物理主机上进行了28次漏洞利用测试,其中25次成功完成。所有成功测试均完整泄露了私钥。具体而言,成功测试的平均运行时间为14.2小时(标准差16.2小时),时间分配如下:
- 定位漏洞组件基址:10.9小时(76.3%)
- 在主机中定位受害虚拟机:2.6小时(18.3%)
- 在客户机中定位受害Nginx:0.3小时(2.2%)
- 泄露Nginx TLS密钥:0.4小时(3.2%)需注意较大标准差:若运气良好,定位组件基址仅需半小时;若运气不佳,可能长达3天。"
在极端云环境噪声(高强度磁盘/网络I/O及缓存压力)下,L1TF漏洞利用仍保持稳定。研究人员通过让vCPU满载运行激进I/O和内存/缓存抖动,同时以每秒100次请求冲击受害Nginx服务器,在谷歌计算引擎的10次噪声测试中均成功泄露密钥,平均耗时15.2小时。这表明即使在真实的高噪声云环境下,该攻击仍具可靠性。
建议通过禁用同步多线程技术或扩展页表配合L1D缓存清空来防御L1TF,但警告这些措施可能影响性能,且Linux系统默认保持启用状态。若敏感数据通过半幽灵漏洞组件加载,清空缓存和核心调度等常规防御无法阻断客户机到主机的攻击。AWS平台借助XPFO和进程本地内存等额外防护,有效阻止了客户机数据泄露,仅暴露无害主机信息。
研究人员警告称,瞬态执行漏洞仍具危险性,正如在谷歌云平台上所验证的,新型利用技术可能突破云防护体系。
谷歌向研究人员支付151,515美元奖金,这是谷歌云漏洞奖励计划的最高额度。谷歌官方声明:"VUSec研究团队邀请谷歌前往阿姆斯特丹商讨研究方案,随后提出本项目。谷歌为保障研究安全提供了独立节点支持,避免影响其他客户。研究成果公布后,团队赴苏黎世办公室进行汇报,因此获得151,515美元奖励,这也是我们漏洞奖励计划首次颁发该级别的奖金。"
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)