當前位置:
首頁 > 最新 > 以太坊標準接納中國團隊安全建議-EIP827安全事件跟蹤

以太坊標準接納中國團隊安全建議-EIP827安全事件跟蹤

6月24號(2018),安比(SECBIT)實驗室輕信科技發現了不少 ERC827 合約實現存在類ATN Token 漏洞。黑客可以利用該漏洞,以合約的身份調用任意合約地址上的任意函數。其中大部分問題合約參考了 OpenZeppelin 官方提供的 ERC827 模板,安比(SECBIT)實驗室小夥伴p0n1隨即向 OpenZeppelin 項目報告了該問題。Zeppelin 及時移除了 GitHub 官方倉庫中帶有安全隱患的 ERC827 合約模板。

安比(SECBIT)實驗室正在積极參与以太坊社區的臨時工作小組,尋求有效的安全修訂方案。為了安全起見,暫時請不要再使用 ERC827 相關代碼。

特別提醒

新項目方:進行智能合約開發時,目前請不要使用 ERC827 代碼模版

DApp開發團隊:DEX 和 DApp 開發者目前請勿與使用 ERC827 Token 的合約進行交互對接;已採用 ERC827 提案的 DApp 開發團隊請進行自查,評估所受影響

用戶與交易所:請對相關項目保持密切關注

目前有活躍交易的 ERC827 Token 有:

EIP827 是以太坊平台一種 Token 標準提案

EIP827 即 ERC827 標準的提案,是以太坊平台眾多提案之一,為 Token 標準提案,它是對 ERC20 標準的擴充。

ERC827 標準在 ERC20 的基礎上增加了三個介面 ,,。

這三個函數中都有一個 函數的操作,即允許用戶通過該合約隨意調用任意地址上的任意函數。以 為例,函數中轉賬操作完成後,會調用 地址上的任意函數,並且參數 由調用者任意指定。攻擊者可以很容易地借用當前合約的身份來對 合約執行任何操作,比如盜取 Token 或者繞開許可權檢查等。

ERC827 Token 合約設計和實現上允許用戶自定義 任意地址上任意函數來實現「接收通知調用」功能,攻擊者可以很容易地借用當前合約的身份來進行任何操作。

這通常會導致以下危險的後果:

後果一:允許攻擊者以缺陷合約身份來盜走其它 Token 合約中的 Token

後果二:與 ds-auth 之類的鑒權機制結合,繞過合約自身的許可權檢查

後果三:允許攻擊者以缺陷合約身份來盜走其它 Token 賬戶所授權(Approve)的 Token

後果四:攻擊者可傳入虛假數據欺騙 Receiver 合約

DEX 和 DApp 開發者目前請勿與使用 ERC827 Token 的合約進行交互對接,否則可能會有嚴重的後果。

OpenZeppelin 已經移除 ERC827 合約模板

這些問題合約部分參照了 OpenZeppelin 提供的合約模板。安比(SECBIT)實驗室隨即向 OpenZeppelin 官方的 Github 倉庫提出了issue。

目前 OpenZeppelin 官方倉庫中 ERC827 合約的實現已經被移除,而p0n1在與 OpenZeppelin 討論中一致認為,應將目前尚未被廣泛採納的提案實現放入一個單獨的文件夾,標明。EIP827 提案的作者也隨即做出了反饋。

存在問題的 ERC827 的合約有哪些

這個問題的描述及問題合約已收錄至 智能合約風險列表, 該列表由安比(SECBIT)實驗室發起共建並持續維護的 Token 合約問題列表,我們將不間斷更新問題 Token 合約信息,同時也歡迎更多的小夥伴發現並更新更多漏洞和問題合約。

問題詳細描述及合約列表:https://github.com/sec-bit/awesome-buggy-erc20-tokens/blob/master/ERC20_token_issue_list_CN.md#a16-custom-call-abuse

社區下一步做什麼

目前 ERC827 合約的實現已經被轉移到新的倉庫中。

倉庫地址 https://github.com/windingtree/erc827

對於ERC 827標準的後續討論和改進也將在此倉庫中完成。

安比(SECBIT)實驗室小夥伴也將積极參与到 ERC 827 標準的後續跟進中,共同致力於打造更加良好的以太坊生態。同時我們也提醒項目方,發行合約一定要慎之又慎,謹慎使用尚未被廣泛認可的標準提案。項目方務必做好測試和審計工作,尋求專業的審計團隊對合約進行審計,必要時遵守智能合約安全開發規範,引入安全審計流程,必要的時候採用形式化驗證手段,確保萬無一失。

智能合約形式化驗證示例:https://github.com/sec-bit/tokenlibs-with-proofs

參考文獻

[1] ERC827 Token Standard (ERC20 Extension) https://github.com/ethereum/EIPs/issues/827

[2] ERC223及ERC827實現代碼欠缺安全考慮 —— ATN Token中的CUSTOM_CALL漏洞深入分析 https://mp.weixin.qq.com/s/kgo_FA1lCvuglC9cG-V2cQ

[3] ERC827: abuse of CUSTOM_CALL will cause unexpected result #1044 https://github.com/OpenZeppelin/openzeppelin-solidity/issues/1044#issuecomment-399789610

[4] 智能合約風險列表(awesome-buggy-erc20-tokens) https://github.com/sec-bit/awesome-buggy-erc20-tokens

[5] 安?(SECBIT)實驗室攜?路印(Loopring)共同發布智能合約風險列表 https://mp.weixin.qq.com/s/XbXlrmt0fi9IgxicmdAF0w

[6] ERC827 Token Standard https://github.com/windingtree/erc827

安比(SECBIT)實驗室

安比(SECBIT)實驗室專註於區塊鏈與智能合約安全問題,全方位監控智能合約安全漏洞、提供專業合約安全審計服務,在智能合約安全技術上開展全方位深入研究,致力於參與共建共識、可信、有序的區塊鏈經濟體。

安比(SECBIT)實驗室創始人郭宇,中國科學技術大學博士、耶魯大學訪問學者、曾任中科大副教授。專註於形式化證明與系統軟體研究領域十餘年,具有豐富的金融安全產品研發經驗,是國內早期關注並研究比特幣與區塊鏈技術的科研人員之一。研究專長:區塊鏈技術、形式化驗證、程序語言理論、操作系統內核、計算機病毒。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 共享財經 的精彩文章:

The Blockchainer總裁朱高峰:「數字貨幣是唯一給個人投資者的機會」
新加坡LongHash 與斯坦福Cryptic Labs 達成戰略合作 區塊鏈密碼學開始融合

TAG:共享財經 |