Bug 赏金的平均收入是软件工程师平均工资的 2.7 倍,我们鼓励你用业余时间兼职。
6 月 1 日,有报道称,印度开发者 Bhavuk Jain 向苹果安全团队报告了 Sign in with Apple(通过 Apple 登录)中存在一个零日漏洞,它允许攻击者远程劫持任意用户账户,影响严重。为此苹果向 Jain 支付了十万美元的巨额赏金。
在去年的 WWDC 上,苹果正式推出属于自己的第三方登录服务——Sign in with Apple(通过 Apple 登录),允许用户不必填写表单、验证电子邮件地址和选择新密码从而通过 Apple ID 登陆第三方服务。截至目前,有许多开发者已经将 Sign in with Apple 整合到应用程序中,比如国外的 Dropbox、Spotify、Airbnb、Giphy ,国内的喜马拉雅、懒饭、厨房故事等。
这名开发者今年才 27 岁,他在一篇博文中声称,他于 4 月向公众披露该漏洞之前,已向 Apple 报告。目前,Apple 已经修复该漏洞,并给他支付了十万美元赏金,作为 Apple 安全赏金计划的一部分。
Jain 之前是一位主要使用 React Native 进行移动应用程序开发的全栈工程师。现在,他已转向成为了一名全职漏洞赏金猎人。
赏金致富变得普遍
Bug 赏金平台 HackerOne 在两年前发布了一份调查报告,涉及到了该平台上注册的 1700 名 Bug 赏金猎人,该报告显示顶级黑客的赏金平均收入是同一国家软件工程师平均工资的 2.7 倍。
2019 年 8 月,HackerOne 还曾宣布,其平台的 8 名黑客已成为百万富翁,其中 19 岁的 Santiago Lopez (@try_to_hack) 于 2019 年 3 月成为第一个百万富翁。
“现在,英国的 Mark Litchfield (@mlitchfield)、澳大利亚的 Nathaniel Wakelam (@nnwakelam)、瑞典的 FransRosen (@fransrosen)、香港的 Ron Chan (@ngalog)、以及美国的 Tommy DeVoss (@dawgyg) 都已跻身百万黑客富翁行列,他们都提高了互联网安全。”HackerOne 当时表示。
来自德国的 Cosmin(@inhibitor181) 和 Eric (@todayisnew) 是今年早些时候(均在 2 月 24 日)公布的第七位和第八位的百万黑客富翁。
今年 5 月,HackerOne 自豪地宣布:“黑客们通过我们的平台上进行永久的黑客攻击,已经赚取了 1 亿美元的 Bug 赏金。”
该公司首席执行官补充说,“由于他们的创造力和坚韧不拔的精神,我们预计,黑客们将在五年内有望获得 10 亿美元的 Bug 赏金。”
HackerOne 仅一年就支付 5000 万美元赏金。
如下图所示,支付给黑客的赏金总额从 2014 年至 2016 年的 1000 万美元增长到 2017 年至 2019 年的 3000 万美元,并在 2019 年第二季度至 2020 年第二季度达到 5000 万美元。
在使用 HackerOne 来报告安全漏洞的黑客中,有 12% 能做到每年仅通过 Bug 赏金计划获得超过 2 万美元的收入,而 1.1% 的黑客每年能获得超过 35 万美元的赏金,有 3% 的黑客每年获得超过 10 万美元的赏金。
HackerOne 表示:“我们用了五年的时间才达到 2000 万美元赏金的级别,这一数字是在 2017 年第三季度达到的(见下面图表)。”
“从那以后,事情就真的有了起色,接下来的 8000 万美元赏金,只花了三年的时间。最近,我们迎来了有史以来最好的一周:仅仅六天,我们就支付了 240 万美元的赏金!”
漏洞赏金水涨船高,读到这里你是不是对传说中的白帽黑客、Bug 赏金猎人、道德黑客这些群体产生了好奇心?作为一位普通开发者,能在业余时间从事这些工作吗?
一位来自 Bugcrowd Bug 赏金平台绰号为 X3n0N 的年轻开发者,分享了他如何作为一位小白获得 2000 美元的经历。而另一位开发者 Wineberg ,过去六年一直在兼职做 Bug 赏金猎人,由于赏金可观,一年半前他转成全职 Bug 赏金猎人。
赏金猎人入门
2012 年,还在大学学习计算机科学时,一名绰号为 X3n0N 的年轻开发人员开始涉足 Bug 赏金猎人这一行业。
他通过阅读网上论坛的帖子和文章,掌握了基本技能,在白帽黑客技术方面进行了尝试,在各种网站上梳理漏洞,并查看带有用户输入框的网页以寻找可能潜伏的跨站脚本或 SQL 注入攻击漏洞。
据战略与国际研究中心(Center for Strategic and International Studies,CSIS,美国两大智库之一,位于华盛顿特区)的数据,当时,造成超过 100 万美元损失的网络攻击只有今天的四分之一。尽管现在有多家平台促进 Bug 赏金计划,以及强大的 Bug 赏金社区,但当时并没有足够的基础设施来支持白帽黑客,也就是所谓的道德黑客。
X3n0N 的冒险经历很快让他遭到一家大型互联网服务提供商的起诉。他发现了一个安全漏洞,这个漏洞使得劫持客户账户成为可能,他因此可以更改提供商的任何客户的宽带套餐。于是,他给该公司发了一封电子邮件,报告了这一漏洞。他说,该公司没有 Bug 赏金计划,因此他没有要求赏金,只是提醒他们注意这个漏洞,并要求他们确保安全。
但是,该公司收到 X3n0N 的邮件后,一点也不感激。他接着说道,很快,他就开始接到该公司律师的电话,威胁要将他告上法庭。整个事件传到了他所在院校的校长那里,这一经历让他感到很不愉快。
由于他的行为显然没有恶意,所以整个事态很快就平息了。他报告该漏洞的电子邮件为他证明了清白:他的意图是帮助互联网提供商更加安全,而不是从中牟利。于是,该公司放弃了诉讼,只要求他正式道歉,并签署一份保密协议,承诺不会将公司的漏洞公之于众。
有了那次经历之后,他变得更加谨慎,但这并没有阻止他继续寻找 Bug 的决心。他了解到,有一些公司有官方的漏洞报告渠道,比如 Google。不久之后,他在 Google 的消息服务中发现了一个跨站脚本漏洞,该漏洞允许他通过在电话号码输入框中注入 JavaScript 代码并窃取用户的 Cookie,从而入侵用户的账户。于是,他向 Google 报告了这一漏洞,Google 为他这一发现支付了 500 美元的报酬。
随后,他因一次相关的跨站请求伪造攻击而获得赏金,尽管这次并不是他报告的,但他上一次的报告有助于 Google 发现这一漏洞,于是 Google 将赏金提高到 2000 美元。X3n0N 对这次经历感到很高兴。“我真的很开心,也很惊喜。”他说,“当我还在读书的时候,我做梦也没想到我居然会挣到 2000 美元。”
从兼职转为全职 ,赏金猎人回报可观
Wineberg 在网络安全行业工作了十一年。过去六年来,他一直在兼职做 Bug 赏金猎人,直到一年半前,他才转成全职 Bug 赏金猎人。
Wineberg 说:“在过去几年来,Bug 赏金猎人这一行业真的很流行,如果你有时间的话,还是有很多工作可以做的。我一直认为,如果我肯花时间的话,我就能找到东西。通常情况下,当我拿到报酬时,将时间花在做 Bug 赏金猎人上是值得的。”
当他换工作的时候,碰巧也需要搬家,因此无论如何都需要找一份新工作,所以这似乎是一个很好的机会,可以尝试全职 Bug 赏金猎人。“我想,如果不成功的话,大不了我还可以再去找工作,”Wineberg 说,虽然他还没有感觉到再找工作的必要。“到目前为止,我真的很享受这份工作。”
每个星期,他都会挑选几个目标进行测试,通常是提供 Bug 赏金计划的公司最近推出的新产品。
Wineberg 表示:“我总是会试着去看一些新的东西,那些之前没有做过赏金测试的东西,因为在这些东西上总会有最多的发现。通常情况下,我会在我正在考虑的网站上进行半个小时的测试,然后如果它看起来值得做更多的测试,我就会花几天或一个星期左右的时间,只测试那一个网站……如果我立即发现了一个影响较小的漏洞,那往往是一个好的迹象,说明将会有更多的漏洞出现。”
Wineberg 称,他把大约四分之一的工作时间花在阅读安全新闻和其他研究人员发现的漏洞文档上。这有助于他随时关注新的漏洞,并了解他缺乏经验的技术栈。
“有了 Bug 赏金,你所关注的每一个不同的目标几乎总是使用略有不同的技术来运行其网站或系统,”他说,“通常我会做的是,如果我遇到一种以前不经常使用的技术,我就会回头寻找任何曾经用这种技术报告过安全问题的人。我会阅读以前的问题,然后要么去找那些问题,看看这些问题是否适用于目标,要么就去想一些新的方法,可能会有所发现。”
有些研究人员也会构建自己的工具,将部分流程实现自动化,这在一开始的时候需要时间来设置,但在以后的工作中会有帮助。这正所谓磨刀不误砍柴工。Wineberg 有时会注意到自己在重复执行同样的任务时,就会自己构建工具,但大多数情况下,他并没有专注于某个特定的方法来充分利用自动化。
“我很喜欢看各种各样的东西,”他说,“一大堆不同的客户,一大堆不同类型的漏洞。”
Bug 赏金可以积累开发技能
对开发人员来说,做 Bug 赏金猎人可以是积累更多技能的一种有趣方式,哪怕他们当作业余工作来做。
来自 Bugcrowd 的 McCracken 说,“你不会因为漏洞的存在而任由它‘漏雨’,你可能在一段时间内不会有任何发现或获得报酬。但是,你在学习安全方面的所有投资,都会在你的职业生涯、你的理解和构建方式中得到回报,并且会让你知道如何构建更安全的应用。”
Wineberg 对此观点亦表示认同。他说:“所有人群都可从中受益匪浅,尤其是当他们是兼职的话。当你全职工作时,你需要有一定的连贯性和策略,并知道你的报酬如何安排。”
开发人员往往不会考虑他们的应用程序的安全性如何,有时候从安全研究的角度来处理自己的应用程序是有益的。
Wineberg 说,“开发人员了解他们的产品是如何运作的,但往往不会去测试已部署的生产实例。在我还是顾问的时候,我们经常与开发团队一起工作。如果我们发现一个问题,有时候我们会就这个问题对开发人员进行描述,他们会说,‘不,它不是这样工作的,这不是一个问题。’”
Wineberg 接着说,“我们发现,如果给他们对自己的应用程序进行一些攻击性测试的机会,就像我们在 Bug 赏金计划中对自己的应用进行一些攻击性测试那样,他们就会带着一堆问题离开。如果你是一名开发人员,它可以让你深入了解现实世界中的事物是如何运作的。”
Bug 越来越难被发现,但赏金也在增多
如今,黑客行业发生了翻天覆地的变化。要在大型互联网公司中发现 Web 应用程序的漏洞,难度在增大,但 Bug 赏金和 Bug 报告计划也变得更加常见,公司也更愿意使用专业的渗透测试(Penetration Testing,也称为 Pen Tensting)公司的服务。渗透测试公司,就像他们所说的那样,帮助定位客户系统中的漏洞,其运作方式与传统的咨询公司类似,工作人员专门负责寻找安全漏洞。
Bug 赏金平台的运作方式有所不同。这些平台更像是一个市场,为自由 Bug 赏金猎人和对他们的服务感兴趣的公司牵线搭桥。它们通过让公司接触大量黑客来吸引公司,反过来又通过提供愿意为其服务付费的公司名单来吸引黑客。Bigcrowd 于 2011 年作为世界首家 Bug 赏金平台推出,之后很快就有很多其他平台纷纷效仿。
Bugcrowd 安全运营总监 Grant McCracken 说:“众包安全的理念是,如果你进行渗透测试,通常会有一个人做评估。如果你有两个人进行评估,你可能会发现这样做比一个人能够发现更多的东西;而如果有 500 个人的话,那就是指数级增加了,可不是仅靠一两个人发现所能比的。所以说,它是在利用大众的力量和零工经济(gig economy)的可扩展性来满足网络安全领域的需求。”
Bug 赏金平台需要一段时间才能为主流所接受。Katie Moussouris 是另一个早期的 Bug 赏金平台 HackerOne 的前首席政策官,她在帮助其项目发展的过程中发挥了重要作用。
她甚至成功与美国国防部合作,在 2016 年发起了试点 Bug 赏金挑战赛,名为“Hack The Pentagon”(入侵五角大楼)。逾一千名黑客参与其中,总共发现 138 个有效的安全漏洞。美国政府为此支付了大约 7.5 万美元。该试点被国防部认为是一次成功的概念验证。
挑战赛结束后,时任国防部长 Ash Carter 说:“我们对某些系统和网站的关注者越友好,我们就能发现越多的漏洞,就能修复越多的漏洞,我们就能为我们的战士提供更多的安全保障。”随后,该试点项目又陆续发起了入侵陆军、入侵空军、入侵海军陆战队的黑客挑战赛,以及持续的漏洞披露计划,任何人都可以报告他们发现的漏洞。
在这些努力的推动下,以及在越来越重视安全防范措施的趋势下,道德黑客的行为已得到更广泛的接受。Bug 赏金计划和雇佣黑客的公司现在将他们称为“安全研究人员”,听起来更体面。随着这一举动成为主流,使得更多的人开始尝试涉足 Bug 赏金猎人。如今,Bugcroud 平台上已经列出了大约 14 万名研究人员。
与此同时,公司越来越重视安全,这使得查找 Bug 变得更具挑战性。提供渗透测试服务的咨询公司 Rapid 在其 2019 年度调查报告称,当渗透测试员被聘请从公司网络外部测试公司的系统时,他们只有 21% 的时间能够侵入网络。成功攻击公司网站的几率更小,导致公司系统总访问率只有 3%。
这些数字看上去,可能离理想中的零相去甚远,但却令人鼓舞。因为渗透测试人员都是经过严格训练的,能够入侵系统。这对每个人来说都不啻为一个好消息,但这确实意味着在过去十年里,成功发现 Bug 并因此获取报酬的门槛已经提高了。
热情好客的社区
考虑到参与者众多,安全意识也越来越强,发现 Bug 的难度也越来越大,社区还能受到如此欢迎,着实有点令人惊讶。
Wesley Wineberg 具有网络安全背景,六年来一直从事寻找 Bug 的工作。
Wineberg 称:“通常情况下,如果我向某人求助,或者想要分享一些技巧,人们真的都会对此持开放态度,而且非常友好。”
他解释说,研究人员发现的数漏洞,大多都可以归为几类,这些漏洞可以通过使用广为人知并有详细记录的技术来发现,比如每年的 OWASP 十大最关键 Web 应用安全漏洞榜单上。当然,如果是研究人员自己开发的更复杂、更创新的方法,它就不适用了。
“这里面存在一个平衡点。如果有人拥有别人无法使用的技术,而他们得到了大量的发现并拿到了可观的赏金,那他们就不会真的会去分享太多关于这项技术的信息。”Wineberg 说。
但大多数情况下,人们还是愿意互相帮助的。尽管有越来越多的人在寻找 Bug,但仍然有很多 Bug 等待被人们发现。
Wineberg 说:“每年都有越来越多的人在做 Bug 赏金猎人,但每年的目标也会越来越多。如果有人想在某个目标需要帮助的话,我会假设这个目标和我这周的目标不一样,只是因为可供选择的目标实在太多了。”
除了研究人员之间互相学习之外,对于刚刚入门的新手来说,也有很多资源可供学习。那些掌握基础知识的人可以有目的地下载不安全的网络应用程序(因为未经网站所有者的明确许可而入侵网站是联邦犯罪),还可以跟随实时黑客教程学习,甚至进行黑客游戏,该游戏旨在让 K-12 年级的学生成为黑客的新秀。
另一个很好的学习方式是阅读研究人员写的有关他们成功经验的博文。2019 年,Teddy Katz 从 GitHub 获得了 2.5 万美元的赏金,这是 GitHub 有史以来最高的赏金,之后,他发布了一份详细的教程,阐述了他是如何发现这一漏洞的。这一漏洞绕过了 GitHub 的授权流程中的检查。
参考阅读:
https://www.businessinsider.in/tech/news/indian-developer-earns-rs-75-lakh-for-finding-sign-in-with-apple-bug
https://builtin.com/software-engineering-perspectives/bug-bounty-hunting
https://www.bleepingcomputer.com/news/security/100-million-in-bounties-paid-via-hackerone-to-ethical-hackers/