一文介紹社區驅動的漏洞賞金和審計競賽平臺

作者:Ray, IOSG Ventures

原用標題:IOSG Weekly Brief |安全領域中的集群智慧– 社區驅動的賞金和審計市場 #182

封面:Photo by Shubham Dhage on Unsplash

本文為 IOSG 原創內容,僅做行業學習交流之用,不構成任何投資參考。 如需引用,請註明來源,轉載請聯繫 IOSG 團隊獲取授權及轉載須知。 感謝 Gokhan@IOSG 和 Hats Finance 團隊對這篇文章的説明:)

前言

區塊鏈作為大型的計算機系統,當前的系統複雜程度已經遠遠超過 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/

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。