安全领域中的集群智慧:社区驱动的赏金和审计市场
作者:Ray,IOSG Ventures
前言
区块链作为大型的计算机系统,当前的系统复杂程度已经远远超过 5 年以前的水平, 基础设施模块化程度更加精细,应用层的智能合约逻辑越来越丰富并且合约之间的交互非常频繁,更重要的是区块链系统托管着资产数量已经非常庞大,因此最近区块链安全社区关于安全周期的讨论也多了起来(情况和是 2017 年一样当人们提到安全想到的只是开发者写完合约扔给以太坊基金会的朋友看一眼做一些基本的测试大有不同)。
在整个区块链程序的安全生命周期中(从测试、邀请第三方审计再到事后监测、更新审计),漏洞赏金社区像是一个安全垫通过博弈论、集群工作的方式吸引白帽们对项目方的代码进行最后一次审查,也有智能合约安全工作者觉得漏洞赏金更像是防线上的最后一人,但是我觉得漏洞赏金和审计比赛未来有潜力发挥更大的价值,充当一个贯穿整个安全生命周期角色提升系统整体的安全性。
当然在传统网络安全领域也有漏洞赏金项目(Bug Bounty or Vulnerabilty Rewards),首先各大科技公司像 Facebook, Google, Microsoft 等会针对他们自己的 inhouse 安全团队和自己公司的产品线部署 bounty program,其次从 2015 年左右开始出现了以 HackerOne 和 Bugcrowd 为代表的漏洞赏金第三方平台,目前这两家领先的安全公司依靠发放 bounty 抽取提成作为主营收入年收入分别可以达到将近 5000 万美金和 2000 万美金。而在区块链世界里赏金是一个安全圈经常讨论的更有意思的话题,主要原因是区块链代码开源其实让黑客攻击和提升攻击策略的成本更加低廉,再加上 crypto 世界非常提倡集群工作, 创作者和所有权经济开放性贡献模式,这一切让一个更开放的白帽经济模式更加有价值。
什么是漏洞悬赏和审计比赛?我们为什么需要它们?
安全是一个攻击方和防守方动态博弈的过程,就像计算机安全专家和密码学家 Bruce Schneier 所说的「安全是一个过程,而非一个产品。它是一种思维方式,必须贯穿软件开发过程的方方面面。」在区块链世界这个一切代码都开源、透明的黑暗森林里,一个想长期生存的区块链项目方对自己产品 / 合约的安全性必然有着永恒的需求,大部分的区块链产品都或多或少有金融属性,金融中最重要的资产就是信任,而用户的信任只有一次。
那传统审计的不足之处和问题在哪呢?社区驱动的漏洞悬赏和审计比赛又能有什么优势补足这些问题?
使用审计服务的开发人员经常发现:
- 哪怕购买了第三方审计公司的服务,代码经过了审计还是出现了问题,虽然这些问题原因各不相同(技术的非技术的),但最终说明依赖于一家审计公司似乎也并不完全靠谱,代码审计质量还是取决于审计者的水平,而客户往往对「谁更好」缺乏辨别能力。
- 而赏金平台和审计竞赛作为一个更开放的「沙盒」,项目代码可以让白帽们随意审查,背景不限(有可能有来自于专业审计公司的人员,有可能是自由职业的安全分析者),武器库不限,客户要做的只是设置合理的奖金,在白帽找到问题的时候支付他们的贡献。
- 通常客户会先提交他们需要被白帽审查代码,定义漏洞的安全等级(通常与可能造成的经济损失相关,越容易直接导致经济损失的漏洞严重等级越高)、赏金的预算、测试的代码范围甚至测试步骤。
市场规模有多大?
赏金平台和审计竞赛的商业模式通常是从客户支付的赏金中或者设置的总奖金池子中抽取一部分比例作为平台的服务费。对代码安全审计有需求的客户(项目方)会根据自身需求(哪些代码需要被审计覆盖、如何定义漏洞严重等级以及愿意支付多少赏金)在赏金平台上公布自己的计划,而白帽们会根据项目方的需求寻找漏洞,一旦漏洞被白帽找出并且满足项目方的需求,赏金就会被发放给白帽们,而赏金平台则会从中抽成作为服务费。
在 Web2 传统网络安全领域,漏洞赏金平台也是一个比较年轻的方向(2012 之后出现),目前最大的漏洞赏金平台是 HackerOne 和 Bugcrowd。2022 年,HackerOne 的年收入达到了 5800 万美金,公司估值达到 5 亿美金左右,历史累计支付赏金 2.3 亿美金(2021,2022 年两年支付赏金 1.5 亿美金),发现超过 65,000 个软件漏洞,拥有注册黑客数量超过 100 万,每月使用 HackerOne 服务的客户数量超过 1000 家。而其竞争对手 Bugcrowd 则在 2022 年收入超过 2000 万美金。
在 Web3 安全领域,2022 年所有的 web3 漏洞赏金和审计竞赛平台总共发放了 5000 万美金的赏金给白帽黑客,而这类平台平均的收费水平在 10%~30% 左右,因此保守估计目前的市场规模在 $5m~$15m 左右,还是一个非常新兴的市场。
另一个有意思的事情是有越来越多的客户愿意直接使用这种去中心化安全社区提供的代码审计服务,最有名的例子就是 Opensea 在推出他们的新平台 Seaport 之前并没有像往常直接找第三方审计公司,而是选择了目前最大的去中心化审计竞赛平台 Code4Rena 并设置了 100 万美金的奖金池,在传统安全审计市场日益内卷的今天(卷人力资源、卷技术工具、卷市场 BD),去中心化的安全服务会不会是这个市场的重要增量呢?(目前市面有 56 家审计公司,头部的公司过去年收入在 1000 万美金~4000 万美金,我觉得去中心化安全市场的想象空间非常大)。
漏洞赏金平台 vs 审计竞赛平台
虽然漏洞赏金平台在 web2 也有十年的发展史,但审计竞赛平台却是个 web3 native 的新鲜事物。审计竞赛服务的对象是那些即将上线产品或者某些新增功能的项目方,以去中心化社区的力量在特定时间(2 个星期以上)帮他们完成审计服务,从这个角度来说审计竞赛将会给传统审计公司带来不小的商业威胁。
以下我从参与方式、奖励结构、测试覆盖范围三个方面展示这两种平台的区别:
参与方式
漏洞赏金平台(如 Immunefi) 上通常是开放式的项目,任何人都可以参时随与。参与者通常独立探索并报告漏洞,以换取奖励。如果有两个人发现了同样重复的漏洞,遵循先来后到原则,谁先提交了报告谁先拿走奖励。
社区驱动的审计竞赛平台(例如 Code4rena、Sherlock)通常有时间限制,与参者在特定时间范围内竞争找寻并报告漏洞。相比赏金平台会有一部分团队合作(比如每个项目会有明确分配 Lead Senior Auditor 和 Lead Judge 最后把所有的审计结果审核、规整总结成审计报告提交给客户, 而这两个领导者也遵循社区选举、比赛竞争的去中心化原则 )。另外在规定的时间内如果两个审计竞争者发现重复的漏洞两人都可以获得奖励。
奖励结构
两者实际发放的奖励都会主要考虑发现漏洞的严重程度。
唯一不同的是像 Code4Rena 这样社区驱动的审计竞赛平台每个项目的奖金池会有一部分(5%~10%)固定分配给 Lead Senior Auditor 和 Lead Judge,因为他们其实承担了传统审计公司项目负责人的角色。
另一个有意思的点是漏洞赏金平台上项目方有时候会放置项目代币作为奖励,但是我也看到社区中有些白帽黑客更喜欢拿到 USDC, USDT 这种稳定币而不是价格波动的项目代币。
范围和重点
漏洞赏金平台项目通常范围广泛,而审计竞赛上的项目通常具更有专注的范围,针对软件的特定功能或方面,同时需要白帽们集中精力在较短的时间内完成工作
专注于审计竞赛的项目
Code4Rena - 一家类似电子竞技的社区驱动审计竞赛平台
Code4Rena 有三种角色类型:
1. 审计员(Wardens)查审代码。从专业的安全工程师到试图获得更多经验的新手开发人员,任何人都可以注册成为审计员参加公开审的计竞赛。
2. 评委(Judges)通常是 C4 社区中最优秀的工程师。他们决定漏洞的严重程度、有效性和质量,并评估审计的员表现。
3. 赞助商(Sponsors)是项目方,如 Opensea、Blur、ENS、Chainlink 等,他们创建奖金池以吸引审计员审计他们项目的代码。赞助商还可以选择举办限仅邀请的私人竞赛以提高隐私性。
最有趣的一点是 Code4Rena 正在建立的文化:鼓励合作和团队合作。与传统的漏洞悬赏计划不同,Code4Rena 向报告有效漏洞的所有审计员支付报酬使即,该漏洞已经被报告。过这种鼓方法励审计员之间的健康竞争,因为他们有动力寻找高严重性和常见的漏洞。在这个平台上,一些审计员组会成临时团队共同寻找漏洞。
商业模式:
任何项目可以到 Code4rena 开启一个审计竞赛 program 并提供 USDC 或 ETH 设立基础奖池(通常奖池规模在 $40,000 ~ $100,000), Code4rena 会从基础奖池中收取 20% 作为平台提供组织竞赛、提供评审、整理审核产出报告结果的服务收入。项目方还可以在基础奖池之上提供项目代币以设置额外奖池,Code4rena 会从这部分额外奖池中收取 40% 费用。
Sherlock - 有智能合约保险保障的社区驱动审计
与 Code4rena 类似,Sherlock 也有审计员、赞助商和评委等角色,Sherlock 的独特之处在于平台提供的保险服务。任何人可以投资 Sherlock 平台上的保险池,投资者将 USDC 存入保险池,协议客户可以购买服务对冲智能合约被 hack 的风险。保险投资者的收入来源包括:来自协议客户支付的保费 + 将保险池资金存入其他 DeFi 池子(Aave、Compound 等)所获得的利息 + Sherlock 代币激励。但是投资者在获得收益的同时承担偿还保单的风险。
另一个和 Code4rena 不太一样的点在于平台提供的审计服务收益的分配机制。与 Code4rena 相比,Sherlock 有规则允许首席高级安全审计员和首评席委从奖金池中获得固定的金额(5%~10%),以适当补偿和激励专职高级审计员。此外,还有选择和竞争的制度来选拔领导角色。
如何构建黑客社区?Web3 白帽们最关心的是什么?
在我们观察了不同的去中心化安全社区(ImmuneFi, Hats Finance, Code4Rena, Sherlock 等)以及和一些安全创业者聊过,我们认为所有的去中心化平台致力做的事情就是:构建一个更健康、高效的沟通和协作平台,赏金平台像是一个在 Hackers 和项目之间的 marketplace,他们既要从 hacker 角度出发考虑他们的需求(如下表),同时也要从项目角度考虑项目方最关心的(审计质量)。
Source: 《Bug Hunters’ Perspectives on the Challenges and Benefits of the Bug Bounty Ecosystem》
除了一些常见的需求外,在 Immunefi 白帽社区(我看到最热闹的白帽 discord 社区)我还看到了一些有意思的话题。
比如:
有一位叫 Rappie 的白帽想公开一些他 / 她之前发现的项目漏洞,咨询有什么社区规则需要遵守。(1. 只公开已经修复的漏洞。2. 确保任何公开的信息对协议或其用户没有负面影响。保守机密信息例如:在他们修复了你的 SQL 注入漏洞后,不要发布他们完整数据库的信息。3.确保公开之前需要私信给项目团队 )。
有一个叫 Noam Yakov 的白帽则对一个赏金项目的定义产生疑问(这是常常发生的,因为通常只有发现比较严重的安全漏洞才能拿到赏金,项目方如何定义好漏洞的安全等级是白帽们非常关心的事情,社区也经常听到此类纠纷)。他在 Uniwhales 的赏金项目中对他们把 MEV 影响定义为严重的安全漏洞产生疑惑,而最终大家的讨论认为这类描述并不试用于所有的 MEV 情况,比如对于一些 toxic order flow 能够把协议池子资产抽干的情况肯定算是严重安全事故(因此定义一套安全等级 framework 往往不够,通常还需要有平台中的仲裁员类似的角色介入到实际不同的案例中)。
而对于一个非常有意思的话题「你们对类似 Immunefi 这种赏金平台的诉求和期待是什么?」一个叫 ckksec 的白帽给了他的回答:1)帮助他们这些匿名的加密白帽的劳动收入做一些法律上的澄清,比如开发票。2)平台不仅应该对白帽们有评分系统,还应该对项目的质量进行评分因为白帽们往往需要花时间分辨项目质量的好坏。3)对于愿意开放自己 proflie 的白帽们平台可以展示他们的工作流,同时平台也最好能更透明的展示项目方收到的安全分析报告信息。
哪些工具可以为白帽们提供帮助?
随着 LLMs GPT 的大火,我最近频繁听到人们在讨论安全审计是否也能被 AI 替代这类话题。我聊过的经验丰富安全从业者普遍认为 GPT 很难直接取代人的智慧,一些低 hanging fruit(易于发现的问题)可能可以被语言模型检测出来,但是那些中高风险的问题仍然需要专家参与。比如据一位资深的安全专家反馈,对于类似数据分析, 动态分析这些更复杂测试需要人为提前具体结合协议实际业务逻辑进行安全分析测试并提前定义测试预期目标属性,最困难的部分是编写良好的属性和定义正确的测试领域。根据他们对 GPT 的实验,他们认为 GPT 在目前阶段做不到这一点完全替代人类。
当然目前也有比较乐观的结果显示 LLM 能够极大提升安全分析工具的分析效率并降低错报率 https://twitter.com/HatforceSec/status/1671758690808913922
https://www.researchgate.net/publication/371758506_Do_you_still_need_a_manual_smart_contract_audit。
关于这个话题我们从另一个有意思的非技术角度去思考,安全攻击者和防御者之间是动态的博弈,魔高一尺道高一丈,AI 会不会相对也能给安全攻击者带来帮助呢?
安全以人为本
人们会习惯性的认为软件是冰冷、机械、逻辑的事物,提升系统安全只需要提升分析技术、系统防御水平。但人们缺乏从经济激励、人性层面出发思考安全问题,在开源代码的黑暗森林里,我们需要一套更符合理性人假设的分配体系建设正向良性的经济激励吸引更多愿意长期为区块链系统安全贡献智慧的人们加入。
目前的传统安全审计市场格局稳定,品牌声誉是这个领域的公司最重要的无形资产,随着时间推移,头部的安全品牌的影响力和客户的信任度稳步增强,但是传统安全审计也有它们自身的问题(商业模式较单一依赖于人力难以规模化增长,在增长和审计质量之间头部企业需要做平衡,有一些企业已经碰到这样的瓶颈甚至影响了品牌的价值)。
社区驱动的安全审计竞赛是一个创新的商业模式,目前两大平台的客户量已经超过 300 个逐步找到了 PMF,而赏金平台对安全生命周期是一个良好的补充,尽管这些去中心化的平台还没有找到特别有效的代币模式,但我们非常看好这个市场未来出现规模化的增长(因为群体智慧非常契合安全市场里面攻防博弈的场景)。
社区驱动的的审计平台会给中心化的审计公司带来威胁么?我们认为他们会是良性相互竞争和互补的关系,短期内看当 Code4rena 这样的平台形成一定的网络效应并且拿出了不错的 track record( 审计过项目被 hack 比例低),确实可能会给一些中尾部的中心化公司带来一定的竞争压力,但是长期可能这也会倒逼中心化审计平台与社区驱动的平台形成一些商业合作,因为这也能拓宽中心化安全审计平台的客户群体并提升审计质量(有点像原来 web2 大公司内部独立运营的安全赏金项目后来也和第三方平台 HackerOne 等形成合作的逻辑)。
尽管社区驱动类型的安全平台致力的方向就是更加 DAO 化(Forta 其实我们也能放入这个范畴),但是在目前项目实际运行中还是会遇到诸如:如何让工作流和经济分配流程更加透明公开、如何权衡项目方对于隐私和安全的考量、如何更清晰定义团队合作和个人付出的关系、如何在出现利益纠纷的时候以更相对公平专业的角度解决问题等等,这些都是安全 DAO 需要面对的挑战。
Reference:
1.《HackerOne Year Book》
2.《Bounty Everything - Hackers and the Making of the Global Bug Marketplace》
3.《An empirical study of vulnerability rewards programs》
4.《The 2022 Hacker Report》
5.《Productivity and Patterns of Activity in Bug Bounty Programs》
6. https://immunefi.com
7. https://bugrap.io/
8. https://hackenproof.com/
9. https://hats.finance/
10. https://code4rena.com/
11. https://www.sherlock.xyz/