笔者拙见,漏洞赏金计划和漏洞评估二者都是必须的,尽管它们在实用性上或许和一些商业模式存在不匹配。例如,可能有的漏洞赏金计划不适合那些只能通过特定位置或IP地址访问的敏感平台或目标;另一方面,宽泛的时间、受限的漏洞评估或许不适合已经被使用且测试过一段时间的大型开源应用。据笔者所知,漏洞赏金计划不能按照实时规则为客户提供任何保障,但未来这一情况或会改变。

本文不讨论间接漏洞赏金计划,因为这种赏金中包含第三方厂商付费购买其他厂商漏洞的情况。

开展漏洞赏金计划

优点:

  • 更多测试者覆盖更多目标,能找到更多漏洞。但实际上,通常只有吸引力较大的赏金计划才能收获高质量漏洞。

  • 更多时间或者时间不限来覆盖更多目标,从而寻找更多漏洞。但赏金要足够吸引人,才能出现技术高超的测试者。

  • 可以随时改变被测区域。可能导致赏金计划和已经锁定某漏洞的挖掘者之间出现问题。

  • 只对有效的或者被测区域内的漏洞进行奖励(并不是说奖金不高)。

  • 可以用较好的价格购买漏洞,从而做好入侵防御。

  • 可以帮助那些受攻击面大的公司识别此前安全评估中未发现的问题。

  • 当类似“互联网漏洞赏金”(Internet Bug Bounty)这样的赞助商愿意付费时,适合开源应用或非盈利应用。

  • 当一架公司的安全模式趋于成熟,而且能体面处理测试者上报的漏洞时,客户或许会觉得更安全。

  • 鼓励负责任的漏洞曝光文化。

  • 当赏金于与漏洞修复有关时,或许测试者会关心修复进程,因为在这种情况下,他们更渴望进行重新测试。然而,对于想快速获得赏金的测试者,这样会减少赏金计划的吸引力。

  • 有助于安全研究人员合法测试目标,且对于任何想曝光安全问题的人而言,负责任的曝光进程也变得更简单了。

缺点:

  • 市场竞争激烈。如果只有少数公司愿意为漏洞支付更多费用,就会让其他赏金计划逊色,并降低其质量。因此,漏洞赏金计划的质量是相对的,那些不能像大公司一样支付大笔赏金的赏金计划就会慢慢消失。

  • 除非赏金极具诱惑,而且仅限顶级测试者,否则大部分的渗透测试者都只会是水平一般,经验平平,而他们也只是为了那唾手可得的一点点赏金。因此,这些缺乏经验的测试者或未仔细阅读赏金规则的参与者提交了大量错误,虚假或重复的漏洞信息。实际上,不到5%的漏洞报告算有效提交,这会增加处理实际问题时的人为错误,而且给安全分类团队带来极大压力。

  • 对赏金计划平台比较陌生的渗透高手不能参与更具诱惑的私企的赏金计划,因为他们 对这样的系统不够了解。所以,当大多数诱人的计划都是私人计划时,由于这些高手们没有在一些小型赏金计划中积累过经验,所以导致他们被拦在门外。

  • 渗透测试评估存在的主要问题是时间受限,因为预算有限。在限定的时间和被测区域内设置的赏金计划和渗透测试评估相去甚远,除非赏金能吸引到高超的测试者,否则其结果可能一无是处。

  • 免费的或是低报酬的赏金计划会带给客户错觉,因为这种计划吸引不到高手。

  • 由于所有的沟通交流都是以电子邮件形式进行,信息传递慢,所以无法立刻停止所有测试者的行为。

  • 测试者一般看不到新开发的功能或隐藏功能。因此,会出现新功能未被测试,而其他常见部分则被不同测试者反复测试。

  • 测试者通常都匿名,所以如果要对渗透测试进行对比,是很难追踪其行为的。攻击者或许还会说自己是从负责任的漏洞披露中找的漏洞。

  • 如果缺乏对系统的整体了解,就很难设计出一套合适的方案。设计得不好机会降低赏金计划的功效,也会损坏厂商的安全声誉。

  • 或许给了攻击者一个合法的机会访问企业的系统,然而他们却不会上报最严重的安全问题。不过,有些平台可以限定只让一些行为记录良好的人参与测试。

  • 虽然自动扫描漏洞程序是禁止的,但有些测试者可能还是会使用,如果系统没有准备好负载,就可能导致拒绝访问的情况出现。尽管系统会被持续自动扫描,但依靠它们来定义漏洞赏金计划势必会有更多扫描程序被用来扫描目标。

  • 在优先权方面和付费购买漏洞方面存在很多争议。漏洞提交者们总是相互比较。

  • 大多数赏金计划都缺乏透明度,难免导致人们的不信任。

  • 应对不恰当会降低声誉(例如:忽视提交的漏洞报告,付费不合理,或者偷偷修复漏洞,完全不提漏洞提交者。)

  • 境外的赏金计划,征收税费有困难,因为货币种类不一。在英国,如果奖金是英镑以外的货币,就只允许走银行账户,商业软件或使用正确货币转换表的纸质文件。

使用渗透测试服务

优点:

  • 渗透测试公司可以出具一份官方报告或安全评估证明。需要安全评估证明文件时,再呈交给合作伙伴或其他组织。

  • 比普通的漏洞赏金计划的报告质量更高。

  • 聚焦特定的目标,因为时间和被测区域都是预先设定好的,不允许脱离。

  • 一个负责任的公司是可以随时联系上的,而且能对自己的评估和测试员负责。

  • 评估后提供技术支持以便纠正错误。

  • 由于顾问的经验和QA过程,所以不会出现误报。然而,还可能出现人为错误,但至少有人调查原因,而出错的时候,报告也会被更新。

  • 为了解决一切可能的问题,厂商与测试者之间可进行更好沟通。

  • 先不论渗透测试员找出的问题数量,这些问题最终都会以相同的固定成本呈交给客户

  • 测试和进展可视性

  • 可为客户提供更好的评估覆盖面,更好的测试质量和可靠的测试公司。

  • 可被不同的法规接纳,如PCI。

缺点:

  • 有限的测试时间减少了隐藏漏洞被发现的几率,因为隐藏的漏洞需要更多研究或不同的技术。

  • 如果需要重新测试,厂商需要支付额外费用,因为重新测试不属于原始评估任务。

  • 在一项评估中分配更多时间可能会非常昂贵。

  • 人为因素起到很大作用,因为参与每项评估的测试员数量都是有限的。例如,被指派测试员的经验和知识不同,他们在测试期间的状态对识别安全问题有很大影响。然而,如果是一个赏金计划,任何人都能在同一时间检查系统。

  • 在评估期间难以改变被测区域或是加派测试员,因为资源通常是有限的,而测试员的专业水平和技能却是不同的。

笔者不喜欢漏洞赏金计划,因为它就像坐着钓鱼一样。不过,漏洞赏金发展还处于早期,前景还是可观的!

以下几点建议已经应用到部分知名的漏洞赏金平台。

漏洞赏金平台改善建议:

  • 当有人提交重复问题时,允许其访问此前提交的报告,并说明原委(类似Mozilla谋智公司的问题跟踪器)。如果从另一处收到重复问题,或许多了一条追踪线索,可以帮助人们明白厂商并非以问题重复为由欺骗他们。

  • 在申请参与漏洞赏金计划时,让测试员们留下自己的手机号以便跟踪联系。而且被测试区域也只允许短信确认过的注册用户查看。如果测试员不想接收关于被测区域变更或任何与测试相关的信息,可选择退出。

  • 在不同程度的验证过程中,测试者可以向赏金平台提供身份文件,证书,地址以及履历以便做账户验证。如果厂商想根据测试者的验证水平或证书,把赏金给受信任的人,就可以用这种方法。

  • 验证过的测试者有专门的VPN服务,所以可使用特定的IP地址进行测试。这让厂商有机会设计合适的防火墙规则,设定只通过特定IP地址访问其测试系统。

  • 调查漏洞提交者投入的时间和其他资源,他们对特定漏洞,赏金平台性能的看法,以及厂商对测试者的看法。经当事人同意后,可公开这些调查数据。

  • 一个透明的平台应该展现每个漏洞赏金计划的统计数据。包括但不限于下列可根据日期选择和查询信息:根据严重程度,提交的/采纳的/重复的/无效的漏洞数量。前一百位(或者其他选拔方式)漏洞提交者,修复漏洞/支付奖金的平均天数,根据漏洞严重性的平均奖金数,被采纳但未修复的漏洞数。

  • 为厂商确定一个咨询系统,以便他们根据测试员的反馈细化被测区域。

  • 创建一个集中平台,按照研究目的把漏洞奖金的目标放进去。往往,人们得费很多功夫才能获得这些东西。例如,为了对某个使用特定技术的目标进行特定的漏洞检查。

  • 与政府合作,让测试者更容易交税或是拿钱做慈善。

漏洞赏金计划若能吸引高手参与,计划才会成功。所以设计并实施一个能鼓励测试员花更多时间,报告更多漏洞的计划,非常重要。

以下几条表明了一个受研究员欢迎的漏洞赏金计划具备的特点,可供漏洞赏金计划主办者参考

  • 明确的被测区域例外列表。

  • 收到漏洞提交后的快速认可。

  • 对赏金有效性的快速决断。

  • 奖励发放及时

  • 对发现的问题,高质量报告和协助重测给予慷慨奖励。

  • 对于意外的发现,即便是被测被测区域外的问题,也给予意外奖励。

  • 奖励支持多种支付方式。

  • 可体面解决棘手问题的高素质诊断团队。

本文翻译自Soroush Dalili (@irsdl)

声明:本文来自安全内参,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。