HeadlinesSource:BlockBeats

2023-03-15 07:25:52

從Euler黑客事件,漫談DeFi的安全審計和安全

借著 Euler 黑客事件,聊聊 DeFi 的安全審計和安全。


大的 DeFi 協議基本上都經過多輪審計,我們前前後後 5 次審計費用百萬刀級別 大的協議常規審計每年都百萬刀,但藍籌 DeFi 沒哪個沒被黑過 這裏原因很簡單,簡單的數學問題 從攻防來看,所有靜態審計的輸入(安全投入)和輸出(發現 bug) 都是有限的。


除了常規審計,Euler 還用了 Certora 做形式化驗證,這個我們之前也用過,形式化驗證能幫助窮盡「已知」路徑的覆蓋範圍,但是無法窮盡「未知的未知」。DeFi 是一個開放系統,對於黑客(攻方)來說,它的輸入是無限的,輸出也是無限的。假設把安全攻防看成挖礦,你守方用三五臺機器算哈希挖礦。


攻方無數機器時刻在算哈希,只要算對一次就贏了;這個輸贏面對比是明顯的。靜態的安全審計,由於輸入輸出固定,無法覆蓋已知的未知,更無法覆蓋未知之未知。所以出現另一種審計,叫開發式競爭型審計,如 Code4rena,審計獎金池固定,但是輸入在一定時間內是彈性的,所有人都可以參加,誰發現 bug。


按照嚴重程度,分獎金,這個方式是讓審計師/白帽去卷,可以擴大覆蓋面,但總體輸入依然固定,遠遠不夠。最後是完全開放的模式,那就是賞金網絡,DeFi 裏最出名的 Immunefy,雲集最多 DeFi 白帽高手的平臺,我建議每個 DeFi 在上面發 bounty,親測效果十分明顯。Immunefy 的獎金項目方會給非常高。


比如最高已支付的是 Warmhole 的千萬美金(就是被黑了兩億美金的那個 bridge,又給敲了一大筆 bounty)。這次出事的 Euler 也曾放出 100w 刀賞金,但依舊沒發現這次的漏洞。賞金模式在輸入輸出上也是開放式的,這個類似於黑客的攻擊模式。


DeFi


但兩者激勵模式很大區別。假如把兩者當成是抽獎,同樣 1000w 獎金池,賞金模式獎金一般都會在 10w-30w 刀封頂 黑客模式是 100% 獎金全拿走 這兩種模式,同等投入,同樣中獎概率,假設沒有犯罪成本,毫無疑問黑客池輸入/輸出會跑贏。賞金模式就算加到 10%,也跑不贏黑客池,除非把犯罪成本加入等式。


有人建議把賞金比例和 TVL 掛鉤,比如 10%,是否會激勵更多黑客轉白帽?首先,沒哪個 defi 協議能支付 10% TVL 的賞金,其次,遇到真黑客,他大概率還是願意一黑到底而不會止步要 10%。DeFi 的安全更復雜問題在於除了代碼層面,還有可組合風險(如這次 Euler 波及多個整合協議)。


攻擊面上,DeFi 本身隨著整合增加,攻擊面是四維增長的,定期靜態安全審計加長期賞金,也無法覆蓋不斷擴大的攻擊面 DeFi 安全是無限遊戲,唯一靠譜的是在協議上減少外部依賴(資產/oracle/第三方協議),最小化攻擊面,盡量待在「自己的舒適區」,不亂做擴展 對開放系統來說,安全代價就是自由的代價。

kikitrade
0/200

0 COMMENT

kikitrade
There are no comments yet

Top views

Market Spotlight

More