2020年智能合約安全問題引關注,如何護航合約安全?

2020年智能合約安全問題引關注,如何護航合約安全?

智能合約是一個事務處理系統,使數字化承諾在滿足觸發條件時被自動執行,而不會產生或者修改智能合約。相比於傳統合約,智能合約在合同主體、執行的效率和違約成本都有很大不同,使得信息驗證成本顯著降低,加上自動執行和不可篡改性,極大提高了商業社會多方協作的效率。因此,智能合約技術是區塊鏈應用中最主要的特徵,也是區塊鏈被稱為顛覆性技術的主要原因。

目前智能合約的應用還處於早期階段,主要集中在金融和政務領域。智能合約可以幫助實現可編程貨幣和金融功能,提高自動化交易水平和交易效率,降低金融交易及合約執行成本,便於交易行為的管理,因此得到國內外金融機構和央行的關注。根據央行提交的專利,為了實現該目的,DCEP可能加載智能合約功能,使DCEP只有在滿足特定條件(例如特定的經濟狀態、時點、利率、流向主體)的情形下才生效。隨著技術的發展,智能合約現在逐步延伸到物聯網、智能家居和供應鏈管理等多個領域。

據成都鏈安統計,2019年,DApp數量持續增加,全年運行在ETH、EOS、波場等公鏈上的DApp總數量超3000個,智能合約漏洞事件超百起,大多被黑事件發生於EOS DApp,DApp被黑總損失超1000萬美元。

EOS公鏈上去年共發生超60起典型攻擊事件,1-4月為集中爆發期,佔全年攻擊事件的67%,主要原因為EOS公鏈上菠菜類應用的持續火爆,加之項目合約代碼安全性薄弱,導致黑客在多個DApp上就同一個漏洞進行連續攻擊,手法主要以交易阻塞、回滾交易攻擊,假EOS攻擊,隨機數破解等。

TRON公鏈共發生近20起典型攻擊事件,主要集中在4、5、7月,以小規模攻擊為主,手法為回滾交易為主。

ETH公鏈未發生較嚴重的DApp攻擊事件,一是因為ETH公鏈上菠菜競猜類合約數量較少,熱度不夠,二是因為整體來說ETH智能合約項目方在安全方面做的較完善。

典型案例:

  • 2019年4月11日凌晨00:17,TCX1Cay開頭的黑客,創建了大量BTTx假幣,並於凌晨00:25至01:00之間向多個地址轉入共計4,000萬個BTTx代幣,並把假的BTTx洗成真BTT進而對TXHFhq開頭的BTTBank遊戲合約實施攻擊,共計損失1.8億BTT。

  • 2019年7月23日,18:49至22:24分,黑客向波場競猜類遊戲TronChip發起連續攻擊,共計獲利61,867個TRX。造成此次攻擊的原因為遊戲合約遭到隨機數被破解。

  • 2019年9月14日,EOS DApp EOSPlay 中的 DICE 遊戲遭受新型隨機數攻擊,損失金額高達數萬 EOS。攻擊者(賬號:muma**mm)在此次攻擊過程中利用 EOS 中的經濟模型的缺陷,使用了一種新型的隨機數攻擊手法對項目方進行攻擊。

針對智能合約漏洞問題,我們建議:

1、遊戲合約開發者應該重視遊戲邏輯嚴謹性及代碼安全性。

2、儘快將合約代碼開源,讓更多專業人士和技術團隊參與進來,分析整理出易發生的意外事件,提升合約編寫的安全性和功能準確性,防患於未然。

3、項目方全方面做好智能合約安全審計並加強風控策略,必要時可聯繫第三方專業審計團隊,在上鍊前進行完善的代碼安全審計。

2020年第一季度,隨著Defi金融持續升溫,隨之顯現而出的安全問題也日益突出,2020年Defi方面發生多起典型安全事件:

1、2月15日,BZX協議被爆出遭到可組合資產流動性套利攻擊,攻擊者通過閃貸從BZX借出ETH後通過一系列操作抬高幣價,套利ETH,獲利1000多ETH。

2、2月18日,BZX再次遭到類似攻擊,攻擊者通過抬高幣價對BZX合約進行『矇騙』,BZX未對幣種價格進行多次驗證,導致損失2378ETH。

3、去中心化交易平臺Curve出現異常交易,該筆交易使用價值8.9萬美元的USDC兌換了價值46.5萬美元的BUSD,攻擊者對Curve的busd.curve.fi以及y.curve.fi兩種資金池進行一次鉗形攻擊 (Pincer Attack)。

4、3月,bZx閃電貸二度開花攻擊,導致用戶損失14萬美元。

5、3月,以ETH作為抵押資產的MakerDao去中心化Defi項目清算,有1462場拍賣以0dai成交,導致平臺共計損失780萬美元。

6、3月,Defi項目Synthetix公開一個合約漏洞。

7、Lendf.Me於去年 9 月推出後因其鎖倉資產價值成為 DeFi Pulse 七大 DeFi 市場之一,前天攻擊者利用重入漏洞覆蓋自己的資金餘額並使得可提現的資金量不斷翻倍,最終將Lendf.Me盜取一空,損失超2500萬美元。

Defi項目正在快速發展壯大,據統計截止2020年,鎖定在以太坊Defi應用中的資產已達到了10億美元。Defi項目的火爆主要來源它的高收益。Defi又被稱為『去中心化金融』,開放式金融的基礎,則是高達8%-10%的收益率必然會伴隨著巨大的風險。

這是一個快速迭代的領域,因此各方Defi團隊開發自己的合約產品也是自由發揮;但並沒有一個統一的、標準的安全方案去遵守,或者說是必須通過嚴格的安全審計,這就導致了各種合約漏洞與相關安全問題層出不窮。

成都鏈安在此建議:任何Defi項目方在開發合約時應重視合約安全問題,以應對各種突發情況和各種非正常使用合約情況,從而避免造成損失;同時建議做好相關安全審計工作,藉助專業的區塊鏈安全公司的力量,避免潛在的安全隱患。

智能合約的安全性問題的焦點在於智能合約代碼的安全性,此外也存 在運行環境和區塊鏈平臺的安全性問題。合約代碼的安全性問題種類眾多,比如常規的整數溢出漏洞和合約特有的gas限制問題等,這些都是容易受到關注的問題,在此不做過多討論。

運行環境的安全問題相對比較容易被忽視,比如虛擬機的安全性,EVM這種開源且經過多次迭代的虛擬機可以認為相對安全,但是一些不開源的或者開源但不活躍的虛擬機,則需要更多的關注安全性問題。

區塊鏈平臺的安全性問題也會直接影響智能合約的安全性,比如加密 算法安全性考慮不足可導致的複用問題,共識算法造成結果不一致可被重放攻擊。這些問題在區塊鏈平臺開發的過程中應當被考慮到。

為此,項目方應全方面做好智能合約安全審計並加強風控策略,必要時可聯繫第三方專業審計團隊,在上鍊前進行完善的代碼安全審計。另外儘快將合約代碼開源,讓更多專業人士和技術團隊參與進來,分析整理出易發生的意外事件,提升合約編寫的安全性和功能準確性,防患於未然。

智能合約在區塊鏈技術的加持下實現了防篡改性、一致性、可審計性、 自動化執行等技術特點,同時也成為區塊鏈技術的重要組成部分,在區塊鏈技術的普及下將為各行各業帶來一場變革。

目前智能合約的應用還處於早期階段,主要集中在金融和政務領域。智能合約可以幫助實現可編程貨幣和金融功能,提高自動化交易水平和交易效率,降低金融交易及合約執行成本,便於交易行為的管理,因此得到國內外金融機構和央行的關注。

不過技術的發展也面臨諸多挑戰,如安全性問題。除了合約自身,合約運行環境和區塊鏈平臺帶來的安全問題也需要受到重視。由於處於發展早期,可信、可靠的數據來源要麼沒有,要麼需要一個過程才能安全對接上,因此缺乏鏈外可信、可靠數據來源給技術的應用落地帶來了較大挑戰。

隨著技術的發展,智能合約已經已經延伸到物聯網、智能家居和供應 鏈管理等多個領域。特別是這次疫情給政府的治理能力帶來了新的挑戰,區塊鏈作為一種新興的互聯網技術,將促進政府組織結構扁平化、治理及服務過程透明化,提高政府創新績效,增強政務數據安全,建設智能化和可信任政府,智能合約技術將發揮關鍵作用。


分享到:


相關文章: