漏洞赏金计划的困境:i915漏洞与ChromeOS/Intel赏金项目内幕

本文通过作者亲身经历的Linux内核i915驱动漏洞案例,深入剖析了当前漏洞赏金计划存在的系统性缺陷。详细记录了从漏洞发现、报告到与Google和Intel沟通的全过程,揭示了赏金计划中存在的权力失衡、沟通滞后、透明度不足等核心问题。

漏洞赏金计划已破败——“i915"漏洞故事、ChromeOS与Intel赏金项目及更多

最初我并未打算撰写关于漏洞赏金计划问题的文章。这本应是一篇标准的技术博客,描述Linux内核i915驱动中一个有趣的漏洞(CVE-2023-28410),该漏洞允许线性越界读写访问。而且我本身并不热衷漏洞赏金计划,主要是因为我有满意、稳定且收入丰厚的工作。

历史背景:从"免费漏洞不再"到赏金计划

2009年3月,Alex Sotirov、Dino Dai Zovi和Charlie Miller在CanSecWest会议上发起了"不再免费提供漏洞"运动。虽然效果有限,但这引发了行业对漏洞价值补偿的广泛讨论。

漏洞赏金计划:理想与现实

漏洞赏金计划理论上应该为公司和研究人员带来双赢:

  • 成本效益高的漏洞管理
  • 提升品牌声誉和安全形象
  • 防止漏洞被恶意利用

i915漏洞技术细节

在分析i915驱动时,我发现vm_access函数中存在线性越界读写漏洞:

1
2
3
4
5
6
7
8
static int vm_access(struct vm_area_struct *area, unsigned long addr,
                     void *buf, int len, int write) {
    if (write) {
        memcpy(vaddr + addr, buf, len);  // 越界写入
    } else {
        memcpy(buf, vaddr + addr, len);  // 越界读取
    }
}

参数len未经验证直接用于memcpy()调用,导致内存破坏或信息泄露。

与Google和Intel的曲折沟通经历

我将漏洞报告给Google的Chrome漏洞赏金计划后:

  • 2022年2月3日:向Google报告漏洞
  • 2月8日:Google转发给Intel
  • 随后58天内无任何更新
  • 4月12日:我发现漏洞已在3月11日被"内部发现"并修复

Intel在提交信息中将我列为建议者,但使用了已过期的微软邮箱地址,暗示漏洞是内部发现的。

漏洞赏金计划的核心问题

通过这个案例,我亲身体验了赏金计划的多个典型问题:

  1. 沟通迟缓或无响应 - Google长达58天无更新
  2. 缺乏透明度 - 漏洞修复过程完全不透明
  3. 不明确的范畴 - 中间商责任界定模糊
  4. 公开认可缺失 - 功劳被归为内部发现

权力失衡的根本问题

漏洞赏金计划由公司单方面定义和执行,研究人员处于弱势地位。当出现争议时,研究人员几乎没有追索途径。

经验教训与展望

这次经历让我意识到,对于真正有价值的漏洞,通过经纪人渠道可能仍是更可靠的选择。安全社区需要就赏金计划的权力失衡问题展开讨论,建立更公平的机制。

尽管存在正面案例,但系统性问题的解决需要行业共同努力。希望本文能推动相关讨论,改善研究人员与公司的合作模式。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计