漏洞赏金与顶尖黑客的真相:数据揭示的残酷现实

本文基于《Fixing a Hole》研究数据,深入分析漏洞赏金市场的帕累托分布现象,揭示顶尖黑客与普通参与者的巨大收入差距,探讨企业安全依赖赏金计划的局限性及替代方案。

漏洞赏金与顶尖黑客 - Trail of Bits博客

Trent Brunson
2019年1月14日
paper-review, research-practice

试图通过参与漏洞赏金计划谋生的程序员,就像相信自己玩德州扑克足够好到可以辞职一样。Ryan Ellis、Keman Huang、Michael Siegel、Katie Moussouris和James Houghton合著的《网络安全新解决方案》中的《修补漏洞:漏洞劳动力市场》一章提供了数据支持这一点。

漏洞赏金遵循帕累托分布,表现出与财富分配和其他社会现象相同的特征。少数精选的顶尖黑客(boffins)报告了最多数量和最高质量的漏洞,并获得了绝大部分赏金。其余的人则在争夺这些顶尖黑客的残羹剩饭。

《修补漏洞》并没有为希望通过漏洞赏金计划提高安全性的软件公司提供太多鼓励。托管漏洞赏金计划的公司HackerOne吹嘘有超过30万人"注册"帮助组织提高安全性。想象有30万双眼睛审查你的代码是件好事,但这个数字包括僵尸账户和从未发现过任何漏洞的人。实际上,只有少数精英在完成工作并兑现报酬。

如果你是一家公司,你不会希望自己的安全性依赖于单个高效研究人员是否投入足够的业余时间来查看你的产品。
— Trail of Bits (@trailofbits) 2019年1月14日

那么,为什么不直接雇佣这些顶尖黑客作为顾问,而是将公司安全游戏化呢?《修补漏洞》的作者认为,漏洞赏金计划应该设计成激励精英。他们表示,使赏金计划仅限邀请可以降低管理海量琐碎、非问题和重复漏洞的操作成本。(谷歌、Facebook和GitHub面向公众的赏金计划中只有4-5%的漏洞符合支付条件。)根据作者的说法,少数赏金猎人是不可或缺的,并拥有塑造漏洞赏金计划市场的重大权力。基于这一点,在可控制的条款和条件下雇佣安全顾问似乎更实际。

削弱漏洞赏金的数据

在《修补漏洞》中,Facebook资助的独立研究人员研究了61个HackerOne赏金计划23个月的数据和一个Facebook计划45个月的数据。HackerOne数据集包括Twitter、Square、Slack、Coinbase、Flash等公司的赏金计划。在HackerOne数据集中,用户名可以在不同计划中跟踪,但无法与Facebook数据集关联。

顶部:Facebook(45个月)和HackerOne(23个月)的参与者、销售和支付情况。
底部:按每人漏洞销售划分的人口分布。

顶部的多产群体并不局限于一个计划。他们横扫多个计划,在不同技术中销售漏洞。更重要的是,他们还报告了最关键、价值最高的漏洞。平均而言,前1%的人向近五个不同的计划提交了漏洞。

作者包含了每个卖家的平均销售额、每个卖家的收入和每笔交易的价格,但这些值扭曲了对不均匀分布的分析,因此在本评论中不予考虑。(例如,如果90人最终赚取10美元/小时的工资,10人赚取1000美元/小时,平均工资为109美元/小时,这不代表任何一个人群的特征。)

令人惊讶的是,《修补漏洞》中没有报告数据的方差。当人群被分层时,如作者所发现,各个组的方差揭示了一些令人惊讶的见解。因此,关于最有趣的人群——表现最好的5%——的很多信息被省略了。

我们在此复制并叠加了一些图表,以显示报告中的主题:漏洞赏金计划中有一小群多产的参与者。数据集越大,这种趋势越明显。对于整个HackerOne和Facebook数据集,7%的参与者(拥有10个或更多漏洞)获得了1622笔赏金,而其他93%的人口获得了2523笔。

最有趣的群体被任意归入10个或更多漏洞的类别。(看到图表末尾的线如何上升了吗?你不想这样做。绘制所有数据。)HackerOne数据中的前1%(6名参与者)获得了161笔赏金,Facebook数据中的前1%(7名参与者)占了274个漏洞。平均每人分别为27和39个漏洞!即使在顶级收入者中也可能存在分层,但由于不知道顶层的这种分布(即方差),这仍然是个谜。

尽管前1%的人多产,但他们的收入同样令人沮丧。Facebook数据集中的前七名参与者平均每月0.87个漏洞,平均年收入为34,255美元;略低于密西西比州害虫控制工人的收入。

来源:https://www.bls.gov/oes/current/oes_ms.htm

对于HackerOne数据集中的前六名收入者来说,情况更糟。平均每月1.17个漏洞,他们平均年收入为16,544美元。(《修补漏洞》的注释中出现了两个异常数据点,提到谷歌的Chromium奖励计划为单次提交支付了60,000美元,一名Facebook参与者在21个月内赚了183,000美元,平均年收入104,000美元。)

如果你心碎并想知道这前1%是否在担心下一顿饭从哪里来,更可能的是这些是从事副业的安全专业人士。你可以非常擅长发现几类关键漏洞,然后在相关赏金计划上线时设置扫描器和警报。你找到漏洞,提交证明,拿钱,然后继续前进。

比漏洞赏金更好的选择

这些顶级漏洞赏金表现者是谁,他们的背景是什么?是什么将他们与其他人区分开来?从数据中无法判断,但作者提出了三种可能性:随时间提高的技能、原始天赋的差异以及专业人士与业余爱好者。(我相信一些顶级表现者可能在一个账户下以团队形式工作,或者是专注于几类关键漏洞并在新计划启动时密切关注低 hanging fruit 的个人。)无论他们是谁,他们都是不可或缺的,需要被激励加入漏洞赏金计划。为此,作者提供了三种解决方案:

  1. 通过仅限邀请、不向公众开放的计划保持人才库的排他性。这确保最有才华的人不会因为才华较低的人而失去任何赏金——即使是低 hanging fruit。
  2. 随着连续有效提交而提高价格,以阻止人们 straying 到其他计划。
  3. 向有才华的研究人员提供资助,即使没有发现漏洞也支付报酬。

这个建议与直接联系咨询公司进行代码审计没有太大区别。此外,一个排他的漏洞赏金计划面临参与者的鸡或蛋悖论:当没有机会建立声誉时,如何获得邀请?此外,举办漏洞赏金计划的控制力远低于大多数人的意识,风险也大得多。

漏洞赏金计划的经济学是动荡的,因为有一个竞争性的进攻市场在起作用。可利用的零日漏洞可以从合适的买家那里获得高达数百万美元。任何发现关键漏洞的人都可以选择不向供应商披露,并尝试在其他地方以更高的价格出售。《修补漏洞》建议工作应导向激励向供应商披露,但除此之外没有提供实际细节。没有证据表明研究人员会比较防御性和进攻性赏金计划以寻找最高售价。我们的观点是,向供应商披露或不披露的决定主要是一个道德问题。

那么,目前谁有动力参与漏洞赏金计划?两类人:经济 disadvantaged 国家的公民,他们可以利用美元汇率;以及想提高安全技能和学习行业工具的学生。读完《修补漏洞》后,我不相信精英顶尖黑客有动力参与漏洞赏金计划。也许他们应该运用一些不可或缺的权力,向市场要求更多。

如果你喜欢这篇文章,请分享: Twitter LinkedIn GitHub Mastodon Hacker News

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