每个错误都很重要:如何在公司中运行错误赏金计划

时光网体验



任何公司都需要外部了解服务和产品的信息安全状态。这个问题可以通过不同的方式解决,其中之一就是参与Bug Bounty程序。



Bug赏金计划是



Bug追捕的新力量Bug赏金是一个提供金钱奖励或其他好处的程序,用于发现软件中的错误,漏洞利用和漏洞。 Bug Bounty程序由Facebook,Google,Reddit,Apple,Microsoft等许多公司实施,



公司可以自行启动该程序,并自行组织所有流程和交互。第二种选择是转向特殊的Bug赏金平台:我们达成协议,并且Bug猎手大军开始工作。



Timeweb大约一年前启动了它的Bug赏金计划。当时,该公司没有在这方面有经验的专家,所有工作都必须通过反复试验来完成。在Internet上,几乎没有人分享如何构建此过程的建议,因此经常发明自行车,并且通常在与咖啡机同事的对话中传递知识。



在本文中,我们将告诉您如何组织Bug Bounty程序的启动,如果从未执行过此操作,则应注意什么,以及如何检查信息安全系统的状态。



看看这个!



我们为什么启动Bug赏金计划?



我们的任务是将信息安全系统提高到一个新的更高质量水平,并且不要花费太多钱。重要的是要注意,Timeweb是一家成熟的公司,具有复杂的基础架构和大量的关键服务,因此对于我们而言,以什么顺序测试服务和修复漏洞以及首先要启动什么对我们来说并不明显。



有多种方法可以检查信息安全系统。在启动Bug Bounty程序之前,我们尝试考虑和分析各种选项。其中,外部审计可能是最常见的解决方案。通过审核,您可以发现复杂的非标准问题,但是即使付出了大笔费用,您也无法确定自己会得到真正需要的东西。



另一种方法是训练团队并发展员工的能力。在这里,您需要了解团队的资源仍然有限,当然,不可能自己找到所有可能的错误。



在检查信息安全系统时,如果可以有效地处理用户评论和消息,则票证和客户对技术支持的请求也将有所帮助。



同时,我们与同事进行了交谈,并收集了有关如何查找其他公司中的错误的过程的专家意见。由于这些建议,我们决定关注Bug赏金计划。



启动漏洞赏金计划



一开始要考虑什么是重要的?



有许多不同类型的Bug赏金计划和平台。

在第一阶段,我们在公共计划和私人计划之间进行选择,决定将重点放在后者上。在公共程序中访问不受限制:每个人都可以搜索错误。在私人程序中-受邀请。在这两种情况下,仅在双方同意的情况下才公开错误。我们认为现在开始公开程序为时过早:首先,我们必须确保我们的服务和产品不包含严重漏洞。



对于Bug Bounty平台本身,我们分析了现有的选项,并选择了最适合我们的选项,这在Bug猎人数量和服务成本方面均是最佳的。



以下是市场上最著名的Bug赏金平台的列表:





另外,值得一提的是,Open Bug Bounty平台是一个非商业性的Bug Bounty平台,该平台将信息安全爱好者团结在一起并推广道德黑客。研究人员可以报告公司提供奖励的任何软件的工作中存在的错误(现金付款,商品,折扣或他们自己的产品)。例如,Timeweb为漏洞猎人提供免费托管。请注意,根据开放漏洞赏金政策,您只能报告不表示主动干预的错误,例如,您不能报告RCE和SQL。



首先,我们在公司内部进行工作:我们确定了部门之间应该如何进行交互,谁负责修复错误,谁负责监视范围的更新和对报告的响应。



在启动程序之前,我们建议您确保自己已做所有可能的事情,自行发现所有可能的错误。了解计划投入到Baghunters工作中的产品的内部和外部也很重要:现在有什么问题,有什么问题;有什么问题?是否出现系统错误。此信息将使您形成正确的范围-简洁而全面地提供输入数据并描述对Bug猎人的请求。



平台已经选定,准备工作已经完成-我们开始填充锥体开始工作!



我们组成一个范围



我们将告诉您



,在Bug赏金平台上填写Scopes程序存在的那一年中,我们所了解的是一种要约-公司与Bug猎人社区之间的协议。以下信息应包括在范围内:



  • 指出目的:我们想检查是否存在任何有害影响或破坏性后果
  • 有关已知的,与公司无关或不感兴趣的错误的信息(找到它们没有任何奖励)
  • 搜索应遵循的漏洞的规则和边界
  • 奖励的大小。


您进行范围界定的时间越多,效果越好。尝试仔细详细地填写所有项目,以便将来您可以根据指定的信息解决所有事件。



范围部分的示例,其中包含我们当前程序示例中点的内容:





您如何选择先检查哪个?我们建议您在程序中包含最有可能需要最多验证的服务或方面。无法立即了解您真正需要寻找什么,只能选择一个方向,找到最有问题的要点很重要。通过每个新报告和每个新程序,我们增加了经验,并且更清楚地了解下一步要去哪里。



到目前为止,Bug Bounty平台上并未列出我们所有的服务和产品。这样做是有意进行的,例如,某些服务是在开源解决方案的基础上创建的:第三方团队参与了他们的开发和支持,因此我们认为在我们的Bug Bounty平台中展示它们是没有意义的,因为我们的团队仅监视相关性这些服务。



值得考虑的是,是否可以更改Bug Bounty程序中包含的产品:是否有团队可以开发它?允许建筑的细微差别。



就我们而言,在Bug赏金计划期间,我们不断地自行研究所有服务和网络。这样可以节省金钱:我们修复了发现的错误并更新了范围。



该计划的重要组成部分是确定发现的漏洞的严重性级别并确定奖励金额。尝试捕获错误的严重程度与奖励的大小之间的透明关系。越透明,给您的问题就越少!优良作法是将奖励的金额CVSS的等级挂钩(评估漏洞的严重性的开放标准)。此外,Bug Bounty平台通常会显示有关如何确定奖励金额的手册和说明。网站管理员可以帮助您。要浏览漏洞猎手工作的付款水平,您可以转到HeadHunter门户并分析指示的薪水。如果黑客不再活跃,那么值得奖励。



在Timeweb,我们根据对业务的影响独立评估情况的严重性。我们的业务影响严重性规模包括4个级别:



  • (接收有关其他用户的非关键信息,例如登录名或更改头像的能力;以及违反此信息的完整性和可用性的信息)
  • medium ( , , ; )
  • high ( “” ; : , , , ; )
  • critical ( ; ).


除了上面提供的信息之外,我们还将研究漏洞的类型(RCE,XSS,SQL注入)以及被黑或设法被访问的服务器的重要性。



因此,为了确定所发现错误的严重性级别,我们分析了漏洞的类型,服务器的重要性以及对公司的影响程度。基于这些标准,我们确定发现的每个漏洞的级别,该级别确定漏洞猎人的薪酬金额。但是,我们补充说,不可能将所有内容都考虑在内,并且通常在确定已发现错误的严重性级别时,离不开主观性。



下表提供了有关漏洞严重性评估过程的更详细描述:





服务器/服务得分表





Bug赏金时间表:如何?



程序1:



放手: Timeweb.ru托管面板Scop



Scop是根据其他公司的示例编写的。剧透:别做!但是我们必须从某个地方开始。



结果:在一周内,我们收到了20份报告,主要表明有严重漏洞,并且...花了我们存入帐户的所有资金(数千美元)。在这7天中,我们看到了问题的重复模式:过滤输入和显示数据的多个问题,对应用程序业务逻辑的各种违反,以及OWASP十大风险。我们决定暂停该程序,下个月我们只修复发现的错误并进行分析。



一旦我们分析了这20份报告,我们就知道下一步该怎么做:在开发过程中在哪里挖掘,如何正确使用安全性。



程序2:



我们放弃了: Timeweb.ru托管面板(再次)



Scop:我们根据先前收到的报告修复了Scop:删除了已修复的漏洞,并专注于我们感兴趣的内容。



结果:这次我们收到了许多重要的报告,但是这些报告更为具体和具体。所有漏洞赏金任务均被确定为紧急任务。由于有了第二个程序,我们已经调整了开发流程和错误修复。



程序3,



我们正在送给别人: VDS Timeweb.ru面板,检查官方网站



结果:收到约40个报告,报告中包含不同严重程度的错误。



由于我们的产品在功能上相似,因此有时它们不仅继承功能,还彼此继承错误。原来,新面板包含以前的Bug Bounty程序中已经发现的bug。这些错误已在范围内注册为重复,因此我们无需再次付费。



在站点中发现了许多表单和XSS漏洞问题。



程序4的



范围:第四个程序的主要目标是找到SQL注入。



结果:在启动该程序之前,我们独立研究了它的工作原理,并对自己的产品进行了研究:我们发现只有1-2个非关键漏洞。晚上启动该程序的两周后,我们收到了期待已久的报告:一个漏洞猎人使用盲SQLi演示了一种对计费数据库具有破坏性影响的攻击媒介。我们能够在5分钟之内迅速关闭此漏洞:它是以前的内核全局版本,仍以插件的形式用于控制面板的最新全局版本(虚拟主机,VDS,网站管理员)中的多项操作。我们很高兴能够检测到如此严重的问题并及时解决。除其他外,我们通过类推彻底检查了所有其他类似的代码节。



程序#5



我们将其摆在一边虚拟主机Timeweb



虚拟主机大致上是一台物理服务器,分布在数百个客户端中。客户端将其Web应用程序和工作目录托管在此服务器上,并且可以通过SSH和FTP访问该服务器。我们每个客户都有自己的客户。在这样的服务器上,我们的服务服务脚本,服务和其他定制正在运行,它们与其他服务服务和数据库进行交互。



范围:漏洞搜寻者的主要目标很简单:找到用于将特权提升为root的向量。我们还期望搜索对其他用户及其资源有影响的媒介,对我们的服务脚本有影响的媒介以及对其他服务器(虚拟主机和服务服务器)的攻击媒介的假设访问性。



结果:我们为漏洞搜寻器分配了一个没有客户端的特殊服务器,其功能与生产服务器相似。目前,漏洞搜寻者仅发现了10个漏洞。两项报告显示,攻击媒介已将特权提升为root,但无法到达其他服务器。这些问题立即得到解决。



在启动第五个程序之前,我们投入了很多精力来更新服务器和软件,解决弱点,将服务服务部署到外部网络无法访问的本地网络。由于有了此程序,我们可以重构服务器上的内部系统。这使我们甚至在错误向我们写下错误之前就注意到了它们。



那带你去哪里了?



关于Bug赏金计划的结果在Bug赏金计划的



近一年中,我们收到了72份报告。其中36份报告不符合我们范围的规则。但是,漏洞搜寻者发现了7个严重漏洞,9个高漏洞和10个中低漏洞。



为了获得这样的结果,我们花费了超过$ 15,000的Bug猎手报酬(不包括平台费用)。最小的奖励是50美元(一个漏洞使您可以通过IDOR接收有关任何账单的付款方式的信息)。到目前为止支付的最高奖励是1,500美元。平均薪酬:约423美元。



至于质量结果:我们



保留了IB肌肉的基调



由于漏洞赏金计划意味着需要不断不断地搜索错误,因此我们的信息安全团队会24/7发出警报。



可以说,漏洞猎人模拟了黑客的行为。他们每天都会进行经批准的“有害”活动,迫使我们睁大眼睛并保持警惕。



跟上潮流,



Baghunters使用新服务,陌生实用程序和现代黑客技术。因此,我们的专家可以更新他们的能力和知识。



改善服务和产品



总体上,尤其是Bug Bounty流程中的信息安全始终旨在为客户改善和开发服务和产品。



聘请专家社区



在信息安全的实施中,不仅涉及我们的内部管理员,而且包括具有各种经验和知识的成熟的专家社区。



我们经常问漏洞搜寻者如何重现找到的错误,甚至如何修复它。专家们准备好直接通过电报进行交流,录制视频,对此我们非常感谢。



我们遵守纪律



使用Bug Bounty平台,我们不仅负责关闭自身和客户的bug,还负责关闭bug猎手,他们在等待反馈。互动是按照既定规则进行的,我们必须定期更新当前报告中的信息。



在3天之内,我们不得不回答bughunter的报告:该错误是否发现了bug,其严重性级别是多少。当然,我们可以在一周之内给出答案,但是这种行为不会对黑客友好,并且可能会疏远漏洞猎人。



我们更好地了解用户,



Baghunters是在信息安全方面为我们提供特定用户体验的用户和客户。



Bug赏金后还有生命吗?



我们将继续通过一个经过验证的平台,与一个私人的Bug赏金计划合作。我们希望有效地构建所有内部流程来关闭和修复错误。一旦我们了解到当前正在与之交互的Bug搜寻器变得不那么活跃,我们将尝试移至其他站点,包括较大的Bug Bounty站点,以接收更多报告并发现所有可能的问题。



对我们来说,发展的另一个领域是安全发展原则的实施。通常,开发人员在进行函数式编程,而安全性处于次要地位。使代码安全性审查成为任何代码审查的关键部分非常重要。



Timeweb团队正在尝试引入新的现代工具来审核服务的信息安全性。我们通过与baghunters的合作了解了一些资源。



逐渐地,我们邀请技术支持人员来解决信息安全问题:我们培训同事并加强团队。



我们准备无限期地讨论Bug赏金计划。也许您仍然对我们的专家有疑问-在评论中写下,还有其他有趣且有用的内容。我们将尝试回答以下所有问题,或在以下文章中更详细地解释。



All Articles