0x财经|“迷途知返”的黑客與區塊鏈安全隱憂

截止到8月11日12時59分,Poly Network發生的O3資金池被盜事件,在持續發酵後,似乎有了最終結果。

黑客使用攻擊地址“自己給自己”發送交易,在交易附帶信息裡說到“I NEED A SECURED MULTISIG WALLET FROM YOU”

隨後Poly Network回复:“We are preparing a multi-sig address controlled by known Poly addresses”並在50分鐘後回復了以太坊、BSC、Polygon三條鏈的接受地址,分別為:

以太幣:0x71Fb9dB587F6d47Ac8192Cd76110E05B8fd2142f

BSC:0xEEBb0c4a5017bEd8079B88F35528eF2c722b31fc

多邊形:0xA4b291Ed1220310d3120f515B5B7AccaecD66F17

這場漫長的溝通經歷差不多15小時,第一次嘗試溝通,Poly Network嘗試取得溝通,並留下了溝通郵箱。 2小時後,繼續溝通表示,如果歸還資產,會因為這次發現安全漏洞給予安全獎勵。

隨後黑客在攻擊地址表示,可能會建立一個DAO決定地址中資金的流向。

Poly Network再次回复,建立DAO也改變不了資金被盜的事實,如果歸還資產,會為黑客提供安全賞金,並且這也會成為歷史上最大金額的“白帽”黑客事件而被銘記。

隨後便是黑客表示自己是傳奇,而將退還資產的關鍵消息的發布。

白帽黑客指正義的黑客,區塊鏈圈很多安全公司的中流砥柱都出自白帽。

也許這次參與的黑客真的如其所說,對錢不感興趣。

在下午5時左右,Poly公佈的Polygon地址收到了101萬枚USDC。發稿前,其他地址暫時還沒有將資產轉入。

但作為區塊鏈從業者、用戶來說,面對攻擊事件,小概率可以得到善終,大概率是會波及項目和用戶資產安全。

此次安全事件發生後,在事件的評論中,有一條極為反諷的評論“講個笑話,區塊鍊是安全的。”

外行看熱鬧,內行看門道。

區塊鏈的安全是一個相對概念,而不是一個絕對概念。

在巨額收益的引誘、加密貨幣無監管、合約設計不成熟的情況下,加密貨幣網絡中的合約漏洞被當成黑客提款機也就不足為奇了。

傳統金融領域,安全不僅僅在於軟件,更多安全保證在於流程防護。但當全部的流程通過智能合約自動執行的時候,就會出現多個漏洞。

最大的保障變成了代碼正確性和安全案例的設計實踐。

此次Poly的問題就在於黑客可以控制資金池中管理賬戶轉賬的權限,當把轉出地址換成黑客自己的地址後,只要向合約發送虛擬的數據轉出交易,那資金池的資產就會順利被轉出。

這個漏洞主要在於,因為設計了一些合約接受某些數據而執行行為的操作,但可以執行這個動作又有多個因素管理,其中有一個因素漏洞被黑客利用了,劫取了“權限”。

這類事件還要有一個理解框架。

其中分為鏈的安全和合約安全。

一條公鏈,首先要保證鏈的安全,即總帳本的安全、交易打包的安全。然後是合約執行的安全。

軟件的安全依賴開發者代碼的成熟性,正所謂沒有絕對安全的系統,只有良莠不齊的開發者。

鏈的安全是指鏈上的共識算法設計、基礎協議的編寫不能有漏洞,其次是基礎協議執行的合約沒有問題,例如在以太坊上髮型代幣,其合約是一個基礎流程,但如果合約漏洞裡有明顯的增發漏洞,那極有可能被利用增發代幣。

鏈的安全,主要是共識來保證,比特幣使用中本聰共識,以太坊使用Ethash,波卡使用NPOS。其保證的是總帳本不能篡改。合約安全就只能考究其設計問題和編碼成熟度了。

所以合約設計者和開發者要嚴格設計合約,要檢查合約的設計漏洞,代碼編寫漏洞,設計邏輯,以及在業務場景裡可能出現的問題。

在這裡,我們還是再次通過合約審計的思路,來為大家提供理解合約安全的思路。

安全審計團隊拿到審計需求後,會先用團隊內部的安全審計工具過一遍,不過工具是一個輔助,然後進行人工審計,這個流程會按照審計列表將常規漏洞點審計一遍。

然後進行業務上的審計,其中包含什麼業務場景、業務規模、業務邏輯。然後業務的描述如何,看代碼裡是否有和描述功能不一致,是否會被薅羊毛,代幣是否有被鎖,權限設置錯誤問題,是否會增發或無限鑄幣等等。

但這些流程進行完畢後,上文講到,代碼的安全要看代碼編寫成熟度,而不同開發者因為其經驗,對合約的判斷也不同,再加上智能合約的特殊性和DeFi業務邏輯複雜性,代碼審計必須要進行交叉審計,相互審查的。

就像Poly的以太坊合約問題,其在該合約後續的流程上是沒問題的,但在黑客看來,通過合約流程前面的一些數據偽造,就控制了其合約轉出的權限。也是一種迂迴擊破的方式了。

或者因為Poly是一個跨鏈系統,出問題的部分可以稱為跨鏈合約交互部分,這也代表著跨鏈案例的實踐,要邏輯更為嚴密。

從智能合約的設計來看,絕大部分DeFi合約出問題都出在資產轉移、價格計算和權限控制上,因此這些方面開發者需要入手向上延展,並找到這條路徑上可能存在的薄弱環節加以防範。

Poly此次是萬幸的,黑客可以歸還資產,儘管目前歸還了一小部分,我們還在等待更多的資產轉賬。筆者從Poly處獲取的消息是,目前合約已經在升級,最優先級的目標是追回用戶資產,其他的細節會後續公佈。

6Ci2iMvqHvJERL9X4bgQTMSQ0c3NLXUhJL2jJEAg.png

從黑客公佈的消息看,似乎黑客已經接受了Poly提出的安全賞金,也希望在這場博弈裡,雙方可以快速結束相互的拉扯。就像Poly說的,讓這一次安全事件,成為歷史上最大的白帽黑客事件。

Total
0
Shares
Related Posts