區塊鏈
挖礦,比特幣,EOS,以太坊

ETH以太坊,以太坊又曝重大漏洞,交易安全誰來保障?!

1.不能僅依賴status字段
日前,財路網記者從一位技術員那里得知,以太坊Token轉賬有效性標識字段的含義調整或將引發新一輪對交易站的攻擊。
他指出, 最近以太坊Token轉賬有效性標識字段失效了,因為他們抓取了1筆這樣的交易,會發現很顛覆人的認知,出現了status為成功,實際轉賬為失敗的情況。

這位技術員分析稱,自上一次軟分叉以來,使用receipts里面的status判斷一筆轉賬交易是否有效一直是正確的,然而進入2018年10月以來,會不經意發現,出現了一些status指示為成功,但是實際轉賬交易失敗的情況,這可能和以太坊即將要做的分叉有關系。
當然,針對此漏洞,這位技術員向財路網記者表示,他們已經找到了修復漏洞的方法了。具體修復方法可以參考此前財路網發布的文章http://www.cailuw.com/postPage/1936?id=18。
不過他強調,“交易站不能僅依賴于status字段的判斷,還要對token轉賬的event log字段進行分析,才能正確的判斷一筆token轉賬是否真實成功,避免黑客惡意構造錯誤的轉賬記錄導致資金判斷受損失。”

2.漏洞頻出,開發者能力有限
說到以太坊漏洞,實際上也不是這一次了,其漏洞頻出也是眾所周知的事。據財路網記者查閱相關資料得知,此前以太坊代幣發生了一次影響面很廣的漏洞,其影響包括中心化交易所、中心化錢包、代幣合約等。這個漏洞便是所謂的“假充值”漏洞。據統計,僅代幣合約這項,就有 3619 份存在“假充值”漏洞風險。
今年4月25日上午,火幣Pro的虛擬幣SMT項目方反饋25日凌晨發現其交易存在異常問題,經初步排查,SMT的以太坊智能合約存在漏洞。據分析,BEC 智能合約中的 batchTransfer 批量轉賬函數存在漏洞,攻擊者可傳入很大的 value 數值,使 cnt *value 后超過 unit256 的最大值使其溢出導致 amount 變為 0。
簡單的說,BEC的某一段代碼忘記使用safeMath方法,導致系統產生了整數溢出漏洞,利用該漏洞,黑客可以通過轉賬手段生成大量原本合約中不存在的代幣,并將這些“無中生有”的代幣在市場進行拋售。
另外,值得一提的漏洞是黑客增發ATN 1100萬枚token這件事件讓一些程序員們看到了這點:call函數的使用一定要小心,在智能合約開發中盡量避免call函數的使用,如果使用需要對其相關參數進行嚴格的限定。另一方面,智能合約在部署之前應進行安全審計,比如代碼的形式化驗證等。
除了上述漏洞外,以太坊多次曝出高危漏洞,總結今年以來以太坊漏洞主要有以下這些。
漏洞一:函數可重入性

漏洞二:跨函數的競態條件

漏洞三:時間戳依賴

漏洞四:存儲操作中的深度下溢

漏洞五:利用交易失敗,促使意外恢復

漏洞六:利用區塊燃料上限引發漏洞

漏洞七:強行給智能合約中加入以太幣,引發程序邏輯漏洞漏洞八:利用已被棄用的協議進行攻擊

通過以太坊智能合約引發的多次漏洞,這些程序們強調:合約的安全審計,僅依靠開發者的經驗和能力總有隱患,過去業內的幾次合約漏洞事件也說明了這個問題,開發者務必要引起重視。
3.ERC20標準存安全爭議
我們知道,以太坊(英文Ethereum)是一個開源的有智能合約功能的公共區塊鏈平臺,可以分發代幣(Token)。它有自己的一套標準,這個標準就是以太坊代幣的標準:ERC20標準。
代碼即法律(Code Is Law),程序寫完了,無論執行多少次都會得到同樣的結果,除非有外界因素的干擾。
然而我們發現,關于ERC20核心是基于賬戶的設計,所有的交易都是以結果為準,過程需要人為控制,交易的安全性完全取決于人。由于人是最不可控的,所以合約出現漏洞也再所難免。基于仍舊需要人為配合完成任務,因此這些代幣體系里的漏洞不可能全部消失,只能說讓漏洞盡量不要頻頻出現。
在安全性方面,業內人士認為,其實可以考慮犧牲少數業務場景,去最大化滿足合約安全。這個方法便是ERC20接口實現最簡化,其它復雜交易合約均調用該最簡合約,這種合約調用保證最小化的那套ERC20代幣系統能夠正常運轉,即使復雜合約出現bug也能保證代幣系統的安全性。但是這種合約調用不能滿足所有的業務場景。
此外,也可以找一些專業的智能合約開發工程師做審計。審計可以從另一個角度去發現智能合約可能存在的潛在問題。可能做審計的人的專業能力沒有開發者的專業能力強大。但是不同人的切入點是不一樣的,很多問題往往都是開發者的主觀意識造成的。
比特幣的代碼對比,有人認為,“我們往往會覺得比特幣代碼的有些設計是多余的,尤其是utxo,工程師很難接受任何一個轉賬要從創世紀區塊找到現在翻出那條來源,看這筆錢是否用過,然后才認可這筆轉賬。當競爭幣即便經歷各種優化仍然出了安全漏洞之后,我們才能深刻感受到中本聰這個多余的設計原來是有用的。”為此,有人提出,重要的 token 資產不適合構建在ERC20體系基礎之上。

縮略圖
贊(0)

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
p3试机号99