作者: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能夠極大提升安全分析工具的分析效率並降低錯報率:
1/ 🧵 Do you still need a manual smart contract audit? #GPT #LLM pic.twitter.com/YGZfUDnXA0
— Arthur Gervais (@HatforceSec) June 22, 2023
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需要面對的挑戰。