由於以太坊智能合約出現Bug的不斷曝光,就在今日(4月27日)Okex,Poloniex,Coinone和Hitbtc等多家交易所宣布暫停ERC20存款。

其實對於以太坊智能合約出現漏洞引發的安全事件並不只是一次,就在本週,以太坊社區發起的一項投票中,其意在反對恢復於去年Parity合約漏洞中鎖定的已丟失的以太幣,但在周二(4月22日),由於BEC一段代碼忘記使用safeMath方法,致使系統產生批量溢出漏洞,一些不法黑客利用該漏洞生成大量原本合約中不存在的代幣。

據了解,今年年初,由研究人員表明已經發現34000個以太坊智能合約漏洞。近日一篇關於ERC20智能合約批量溢出漏洞”的博客文章發布,引發了大量關注。由於此次漏洞巨大,Okex已宣布暫停ERC20存款,寫道:

由於發現新的智能合同錯誤- “Batchoverflow”(批量溢出),我們暫停了所有ERC-20代幣的存款。黑客可以利用這個錯誤生成大量代幣,並將其存入正常的地址,這使得許多ERC20代幣價格易受黑客操縱。

並且補充道:為保護公眾利益,我們決定暫停所有ERC-20代幣存款,直到問題得到解決。此外,我們已聯繫受影響的代幣團隊進行調查,並採取必要措施以防止遭受襲擊。

Okex此舉引起各大交易所紛紛效仿,Poloniex、Coinone等交易所也已宣布暫停ERC20存款。

當然,對於智能合約溢出漏洞的問題“戰鬥”從未停止過!黑客可以自由竊取、凍結或複制ERC20代幣等行為對於以太坊的項目以及現有代幣來說無疑是一場噩夢。目前以太坊項目及代幣團隊正在仔細審查他們的代碼以便查找漏洞。

此次智能合約漏洞導致代幣出現明顯轉移跡象,受此影響的代幣超30種。其中,受影響較大的幣種包括Smartmesh(SMT)和美鏈(BEC)。數據顯示,數千億SMT在過去的24小時中被轉移。

不得不提的是,如果黑客利用智能合約漏洞,手中不持有任何代幣但卻能製造出大量代幣,然後將其放到市場與其他代幣進行交易,這將對代幣的價格產生很大影響,甚至損害以太坊生態系統的信任。而且隨著EOS等競爭對手的入局,下一代區塊鏈競爭正迅速升溫,智能合約漏洞或許將成為以太坊無法承受的負擔。

如何解決或規避智能合約Bug已成為重點關注對象。YeeCall團隊通過對BEC、SMT智能合約安全漏洞的分析得出了一些技術解決方案,他們認為:

現在發現的漏洞中有很多代碼是因為直接使用普通的加減乘除符號,缺少溢出判斷,導致存在數據溢出隱患,可以通過徹查智能合約代碼,使用lipary SafeMath解決數據溢出問題。

在近日,微博研發副總經理Tim Yang發布微博指出:

最近ERC20轉賬安全問題,直接原因都是代碼安全漏洞,由程序員背鍋。但以太坊只是一個記錄DAPP執行結果的區塊鏈,本身並沒有加密貨幣複式記賬所需的utxo模型。重要的Token資產本身需要貨幣級別的安全程度,以太坊目前的設計更適合遊戲積分之類的合約運行結果。

他強調,重要的Token 資產不適合構建在ERC20 體系基礎之上。希望各大機構能以此為鑑,避免再出現此類事件。

參考來源