對話頭部安全機構:安全審計到底在審計什麼?

買賣虛擬貨幣

作者 | indiGO

編輯| 門人 運營 | 小石頭

8月10日,異構跨鏈協議Poly Network遭遇攻擊,BSC、以太坊、Polygon鏈上資產總計被轉移6.1億美金,成為加密歷史上最大的DeFi駭客攻擊事件。

DeFi引領的熱潮之下,合約安全一直以來是投資者關心的話題。“Owner許可權過大”、“代幣無限增發”等等問題引發的各類安全事件也是時有發生,對此,許多投資者在使用DeFi協議前都會問一句:“合約過審計了嗎?”

認準一紙合約審計,但最後仍蒙受損失,這到底是為什麼呢?

針對合約安全審計的問題,深鏈財經邀請到了前慢霧高階安全研究員Yudan、派盾高階安全研究員WXQ和Certik高階安全研究員XJ為大家答疑解惑。

「 駭客發動一場攻擊的成本很低」

深鏈財經:近一個月有多個協議被駭客攻擊,近日發生的Poly Network事件是其中之一,也是單次攻擊涉及金額最大的。我們發現跨鏈協議成為了被駭客攻擊的重災區。相比於其他的鏈上協議,涉及到跨鏈的協議為什麼會成為駭客攻擊的主要目標?

前慢霧高階安全研究員Yudan:首先任何的鏈上協議,承擔的風險都是一致的,只不過有一些協議,經過了時間的沉澱,形成了自己獨有的安全的寫法,和特定的業務場景,攻擊面也隨之降低。其次,由於當前出現了多條基於以太坊的異構鏈,跨鏈成為一個新的需求,而在一個新的業務場景上,總是會衍生出很多不一樣的攻擊面,這些都是在設計的時候沒有辦法考慮到的。而跨鏈協議存放的資金量一般比較多,當出現事故的時候,損失也會比較大。那麼作為專業的駭客,自然會瞄準這些跨鏈基礎設施,對這些目標進行攻擊。

派盾高階安全研究員WXQ:跨鏈協議作為一個新興的業務層面上的領域,為了打破鏈與鏈之間的資訊孤島壁壘,仍然需要時間的考驗。隨著跨鏈橋的豐富與技術成熟,資金量增長較快,比如Poly Network、Anyswap的鎖倉量都超過幾億美金,但並不是說跨鏈協議本身的技術更容易遭受攻擊,這只是一個新的領域,可能前期出現的問題較多。

Certik高階安全研究員XJ:並不只針對跨鏈協議,這是個比較新的領域,很多新的開發者沒有相關攻防經驗,沒有想過可能的攻擊面,可能會有一些許可權控制不嚴的問題。

深鏈財經:就攻擊原因來說,這些被攻擊的跨鏈協議都存在哪些共性的問題?除了業務層面的漏洞外,專案選擇搭建的公鏈是否也存在安全問題導致駭客有機可乘?有人說,因為跨鏈協議存在能夠橋接其他鏈的資產橋,而往往資產橋內的資產流動性不佳,成為了駭客眼中的“肥肉”,這也是跨鏈協議被攻擊的原因之一。這種說法準確嗎?

前慢霧高階安全研究員Yudan:本次攻擊Poly Network的攻擊手法並不是特別高階或者新穎的手法。漏洞的點在於Poly Network存在一個可以任意呼叫的介面,導致特權函式被呼叫。所以本次攻擊和以往跨鏈橋存在不一樣的攻擊點。如果非要說共性問題的話,只能說開發者在開發對應的跨鏈協議的時候,沒有充分的考慮清楚業務場景,還有就是對一些攻擊手法不熟悉,沒有考慮到一些程式設計上的安全實踐,這就需要時間的沉澱了,不排除未來會在跨鏈協議上產生新的漏洞點。除此之外,公鏈的安全也是特別重要,但是以太坊已經是一條較為成熟的公鏈。公鏈的風險相對而言已經很難影響到DApp的安全問題,需要注意的反而是公鏈虛擬機器的特性,在不瞭解這些特性的情況下反而更容易產生漏洞。

Certik高階安全研究員XJ:因為都是EVM的異構鏈,攻擊的手段也相對成熟,攻擊手法並不新鮮,跟選擇搭載的公鏈關係不大。

深鏈財經:為什麼駭客攻擊來得這麼頻繁和密集?是有組織的?還是說存在自導自演或者說模仿犯罪的行為?

前慢霧高階安全研究員Yudan:這個不好明確是否是有組織的,目前也沒有鏈上的證據說明多起攻擊確實就是同一人所為,駭客之所以攻擊頻繁,除了專案程式碼的安全性之外,同樣存在的是一些偽裝成被黑的專案方跑路事件,也有一些是因為借鑑了其他專案有缺陷的程式碼,導致的被黑。

派盾高階安全研究員WXQ:DeFi是一個新興的領域,很多技術都是不成熟的,需要時間的沉澱。但從攻擊本身來看無法判斷駭客是否是有組織的,而由於很低階錯誤導致的安全事件不得不讓人懷疑有自導自演的嫌疑。並且很多協議都是“克隆”來的,本身程式碼大同小異,所以模仿犯罪也是極有可能的。

Certik高階安全研究員XJ:不好說是不是有組織,但是就目前來看BSC鏈上協議的創新較多,涉及新的業務邏輯就會導致更容易出現問題。還有很多是因為fork之後的更新升級導致的被黑,很大概率也有模仿犯罪的可能。而且很多專案也會有私鑰洩露這樣低階的錯誤,也很有可能是專案方跑路自導自演。

深鏈財經:對於駭客來說發起一場攻擊的難度和成本是怎樣的?攻擊的成本又如何?可以就以Poly Network舉個例子說明嗎?

前慢霧高階安全研究員Yudan:以Poly Network為例,攻擊者的成本主要是研究程式碼的成本,也就是時間成本。在攻擊的時候,攻擊者所需要花費的成本,僅僅是交易所需要的gas費。

派盾高階安全研究員WXQ:攻擊的成本很低的,比如Poly Network的駭客並沒有使用閃電貸,所以他主要的成本是從ONT提取的Gas費用,經濟層面上講成本是很低的。

Certik高階安全研究員XJ:駭客的成本越來越低,手續費的成本對於一次攻擊來說是已經微不足道了,比如一次以太坊上的閃電貸攻擊,手續費花了20個ETH,但是駭客獲利幾千個ETH,對比之下手續費都是小意思。

「 審計了就安全了? 」

深鏈財經:被攻擊的這些專案此前也做過安全審計,為什麼還出現像Poly Network這樣嚴重的駭客攻擊情況?

前慢霧高階安全研究員Yudan:很多專案方以為自己做了一次安全審計,就可以安枕無憂。但其實安全是一個動態的過程,攻防場景也在不斷的進化,成本也是不對等的,單靠某次的安全審計,難以覆蓋到未來業務場景的變化,而區塊鏈世界,正不缺這種變化。

派盾高階安全研究員WXQ:對於專案方來說,需要尋求多家專業安全機構進行靜態審計,為協議安全築建第一道防線。此外,引入風控熔斷機制、第三方安全公司的危險感知情報和一些資料態勢情報服務也十分重要。對投資者來說需要進行專案背調,做好風險管理。

Certik高階安全研究員XJ:現在圈內流行一句話,所謂的安全,就是在下一次被黑之前的安全,它只是一個現在的狀態,並不是一個未來的狀態。所謂的安全,只是現有系統範圍內的安全。但是DeFi的可組合性讓越來越多的協議交叉混用,這時候就會存在無法調和的業務場景衝突的問題。

深鏈財經:一個常規的安全審計是怎樣的,具體審計哪些方面?審計的週期是怎樣的?具體審計的流程是怎樣的?

前慢霧高階安全研究員Yudan:常規的安全審計主要包含基礎的程式碼邏輯審計,業務功能審計,還有相容性審計,審計的週期依據專案的複雜度而定,無法一概而論。在審計流程上,大多使用靜態白盒審計加動態除錯結合,對專案可能出現的攻擊點進行全方位的測試,這也是花費時間佔比最多的,大概佔70%的審計時間。

派盾高階安全研究員WXQ:我們會先評估需要的審計工作量,預留需要的人力、走讀程式碼,對業務型別進行梳理、排查漏洞並與客戶溝通、修改,最後給出報告。

Certik高階安全研究員XJ:拿到程式碼需要評估複雜度,然後進行靜態審計,依據工程師們的經驗、思路對程式碼直接對審計。然後對合約的攻擊點進行測試,並利用第三方的安全工具進行程式碼的掃描再次檢驗漏洞。

深鏈財經:怎麼看待多數專案方僅僅進行代幣的合約審計而跳過業務邏輯的程式碼審計的現象?

前慢霧高階安全研究員Yudan:就我個人而言,我覺得這種審計,無疑是撿了芝麻丟了西瓜,無任何益處可言,完全就是對投資者的不負責。

派盾高階安全研究員WXQ:因為代幣合約通常比較簡單,基本沒有漏洞。而業務層面的邏輯較為複雜,可能會有致命的漏洞,等到安全事件發生之時就為時已晚了。

深鏈財經:對於專案方而言,如果發生了攻擊行為,有辦法鎖定駭客,挽回損失嗎?

前慢霧高階安全研究員Yudan:這個要特殊場景特殊看待,不一定每次都可以追回。所以專案方更要注意自身專案程式碼安全,減少這種事後補救的行為。

派盾高階安全研究員WXQ:一旦安全事件發生,我們會及時聯絡專案方,追溯事故的根源,追蹤被盜資產的流轉情況,及時避免後面的攻擊,聯合各方面的力量,搭建完善的資產追蹤機制。一般駭客從中心化機構出金,可能會追回被盜資金,但目前DeFi的興起讓追回被盜資金變得更加困難。

Certik高階安全研究員XJ:從區塊鏈業務層面來講是很難追蹤到駭客的,但是在網路層面上講,駭客需要高超的技巧才能躲避我們的追蹤,例如1inch事件,駭客不小心洩露了自己本人的後設資料同步資訊才被定位到。

「 總結:投資時刻要風險意識」

根據安全團隊的解讀,在智慧合約安全審計後,還會存在幾個風險:第一,安全審計可能都沒發現的漏洞或新型攻擊方式;第二,智慧合約可升級或可篡改,如何讓可升級或可篡改成為不可能或有效可信的社羣治理行為;第三,隨著專案的發展,智慧合約會增加新的,如新池子、新功能模組,需要注意看智慧合約安全審計報告明確審計的是哪些。

於Poly Network而言,隨著駭客將被盜資產悉數歸還,這場吸引無數眼光的鬧劇最終塵埃落定。

對於投資者而言,經過一次又一次的教訓,在判斷投資標的是否具有較高風險時,需要關注以下內容:

1.團隊和它的聲譽:創始人和開發者是誰?團隊是公開的嗎?它曾經參與過任何值得信賴的加密專案嗎?

2.團隊持幣比例、專案金庫:如果創始人的持股比例過高,這並不是一個安全的訊號。

3.多重簽名訪問公司資金:如果開發人員啟用了多簽名訪問庫,並且團隊之外的人擁有一些簽名,這可能有助於防止Rug Pull。

4.流動性與代幣鎖倉:如果開發人員將他們的資金鎖定在一年以上的時間,使用者可以放心,團隊至少在這段時間結束前不會退出。

雖然說審計報告是相當專業且權威的,但專案宣傳、上線的功能是否又對的上審計報告?根據描述的許可權,專案方是否有跑路的能力等等都是我們在使用DeFi協議前應該考慮的問題。

而目前的現狀是,DeFi的大熱導致了專案的井噴,安全審計機構的排期也成為了問題。很多專案迫切的上線,對使用者來說自然不是好事。而由於缺乏安全意識,即便協議沒有透過安全審計,也可能有大量使用者直接湧入。

雖然職業的安全審計會大大降低使用者參與DeFi風險,但切記不要盲目信任審計報告,胡亂的授權可能會讓你血本無歸。而即使去參與經過多家安全審計機構審計過的協議,也做好“黑天鵝”事件可能發生的心理預期,不要把所有資金放到一個籃子裡,倉位、風險管理也很重要。

進行投資時,本金安全作為第一重要的評估引數來看待,而面對龐大的參與資金,駭客們可比普通投資者更狂熱。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读