麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

【預警】Bancor危機:Token背后潛伏的“上帝之手”區塊鏈

鏈得得 2018-07-15 12:45
分享到:
導讀

我們也號召大家,去更多地了解相關項目的智能合約,關注手中的Token到底由誰控制,利用社區力量監督項目管理員權限。

風險提示:包括 Status 和 FunFair 在內的部分國內外熱門區塊鏈項目,智能合約存在管理員權限過高的問題,或導致項目存在過度中心化的風險,相關 Token 生態極易發生單點失效。致命問題可能會出現在兩個方面:一是項目方濫用權限,二是超級管理員身份被盜用。這兩種情況一旦發生,相關 Token 生態可能會迅速崩塌。

恐怖的智能合約管理員權限

作為比特幣和區塊鏈愛好者,我們崇尚去中心化。然而,很多持幣者可能還不太清楚,目前各類 Token 項目智能合約管理員擁有超級權限竟已逐漸成為常態。據我們不完全統計,排名前 570 名的 Token 合約中,有 342 個合約存在只有管理員能調用的功能(onlyOwner),不少合約更存在管理員任意鑄幣、燒幣、凍結賬戶、關停轉賬等過高權限 [1]。

安比(SECBIT)實驗室研究了排名靠前的 Status (SNT) 和 FunFair (FUN) 項目。我們認為這兩個熱門項目都存在非常嚴重的管理員權限過高問題。

Status 合約中有名為 Controller 的管理員角色,可調用 generateTokens() 往任意地址增發代幣,可調用 destroyTokens() 銷毀任意地址上的代幣 [2]。但 Status 項目的白皮書并沒有相關特殊權限聲明。而且,這兩個超級權限函數在實現上,并沒有觸發 Mint 或 Burn 事件,只有普通的 Transfer 事件。

倘若有人利用管理員身份作惡,社區可能難以第一時間發現。通過掃描區塊鏈數據我們發現,目前 Status 團隊僅于 2017 年 6 月 19 日依次傳入極小值成功調用了增發和銷毀的函數進行測試,因此普通用戶無需過分恐慌。但需要知道的是官方團隊隨時保留有這樣的超級權限。

此外,Status 合約還應用了可升級的代理合約機制,管理員可以通過任意設置代理合約 controller 地址的方式,在關鍵函數前面插入可升級的校驗邏輯,來影響轉賬等關鍵操作。

知名的 FunFair (FUN) 項目也存在與 Status 類似的問題 [3]。白皮書中并未提及其 Token 合約中的特殊權限;通常原本應當在眾籌后一定時間內關閉的鑄幣等功能,項目方依然未關閉。倘若有人作惡,增發巨額數量的 Token 至市場上拋售,后果不堪設想。

此外還有不少項目有同樣的問題。我們呼吁相關項目方應立即向社區做好風險告知特殊權限披露,社區參與者也可以積極發揮監督力量。

Token 持有者有權了解,項目方也有義務披露以下這些內容:

  • Token 及業務合約中項目方擁有的特殊權限明細

  • 項目方為何需要這些特殊權限

  • 特殊權限會在哪些情況下使用

  • 特殊權限被濫用會發生哪些后果

  • 哪些特殊權限可以被永久關閉以及何時關閉

  • 特殊權限動用歷史記錄的詳細說明

  • 特殊權限動用的監控渠道

  • 項目方采取何種措施來保障特殊權限不被濫用和盜用

  • 如何通過更好的智能設計提升社區治理水平

此外,交易所作為區塊鏈項目生態中的中堅力量,也應當積極督促項目方限制過高權限以及透明運營。

管理員權限過高造成損失的真實案例

目前為止還沒有熱門項目團隊利用超級權限作惡的證據,或許我們可以舒一口氣。但即使在信任官方團隊不會主動作惡的前提下,惡性安全事件依然有可能發生。

加密貨幣交易平臺 Bancor 于 7 月 10 日稱遭到攻擊,丟失 24,984 個 ETH,3,236,967 個 BNT,229,356,645 個 NPXS,折算法幣金額為 1250 萬美金的以太坊,1000 萬美金的 Bancor 代幣和 100 萬美金的 Pundix 代幣。

初期不少媒體報道稱 Bancor 智能合約存在安全漏洞。安比(SECBIT)實驗室遂對此安全事件進行追溯分析。

Bancor 主要合約包括 SmartToken 和 BancorConverter,分別為 ERC20 Token 合約以及與業務相關的 Token 轉換交易合約。

本次 Bancor 平臺被盜事件與 BancorConverter 合約有關,攻擊者(黑客/內鬼)極有可能獲取了 0x009bb5e9fcf28e5e601b7d0e9e821da6365d0a9c 賬戶的私鑰。

而此賬戶正是轉換代幣合約BancorConverter(0x3839416bd0095d97bE9b354cBfB0F6807d4d609E)的 owner,同樣擁有極高權限。owner 作為該合約的所有者和管理員,有唯一的權限通過 withdrawTokens() 方法提走合約中的全部 ERC20 Token 至任意地址。

第一次攻擊發生在以太坊主網區塊高度 5930096,北京時間 7 月 9 日 8 時 6 分。攻擊者利用 owner 身份,首先調用 withdrawTokens() 轉走 0.1 ERC20 ETH 進行攻擊測試 [4]。

三分鐘后,攻擊者再次轉走 22000 巨額數量的 ERC20 ETH 至其控制的地址(0x33ed22f4b6b05f8a5faac4701550d52286bd735a)上 [5]。

隨后,攻擊者再調用 Ether Token 合約(0xc0829421C1d260BD3cB3E0F06cfE2D52db2cE315)的 withdrawTo() 方法,將 ERC20 版本的以太代幣兌換為真實以太幣 [6]。

至此,22000 個 ETH 便完全被攻擊者借用管理員身份所盜走。

攻擊者還控制了以下賬戶,如法炮制地偷走其賬戶余額,以及其所管理合約中的代幣。

目前,區塊鏈瀏覽器網站 EtherScan 已將攻擊者的地址標注為 Fake_Phishing1701 和 Fake_Phishing1702。

此外,Bancor SmartToken ERC20 合約也由 owner 完全控制,目前是一個名為 MultiSigWallet 的合約,暫未被盜用。

owner 對 SmartToken 合約具有以下權限:

  • owner 可通過 disableTransfers() 任意禁用轉賬功能

  • owner 可通過 issue() 任意增發代幣

  • owner 可通過 destroy() 任意銷毀代幣

以上這些功能均通過 ownerOnly 進行限定,換句話說,owner 對 Bancor 合約擁有最高權限。

Bancor 團隊如何處理被盜事件

Bancor 項目方在攻擊發生后,識別出攻擊者地址,聲稱凍結了攻擊者偷來的 BNT 代幣。

經我們調查,Bancor 管理員實際動用了 destroy() 方法來“銷毀”用戶手中的 Token。

管理員可以從任意賬戶 _from 中扣除任意金額 _amount 的 Token,同時將總供應量 totalSupply 縮減。

這就是常說的 燒幣 功能。由于攻擊者在得手后,將偷來的幣分散到若干個地址中。Bancor 的管理員不得不挨個依次調用 destroy() 來銷毀對應地址的代幣,再調用 issue() 方法將燒毀的幣重新增發到自己手中。但此補救方法對于 NPXS Token 和已轉走的 ETH 無效,這些被盜的幣將被轉至交易所拋售。

Bancor 團隊也發表聲明稱普通用戶的錢包沒有受到影響,并進一步解釋鑄幣、燒幣以及存儲大量以太幣是他們協議中價格發現機制的一部分。

Bancor 安全事件的影響與反思

除開巨額被盜事件,Bancor 團隊的這一聲明和處理方式,同樣引起了社區的恐慌。人們紛紛質疑 Bancor 項目智能合約中 owner 管理員的超級權限,甚至稱之為“后門”。

Udi Wertheimer 早在一年前就曾發文抨擊 Bancor 項目無論是眾籌合約還是 ERC20 Token 合約都缺乏良好的設計,稱所有的 Token 都由 Bancor 團隊完全掌控,管理員擁有絕對控制權,極度中心化 [7]。而 Bancor 團隊則一直聲稱自己十分重視安全,并采用業內最佳的錢包和私鑰管理方案 [8]。不過,他們并沒有披露此次被盜事件的細節,如攻擊者如何能控制多個管理員賬戶。

我們把目光放至整個通證生態。社區參與者對管理員擁有的權限知之甚少,而項目方的相關披露與風險提示更少。安比(SECBIT)實驗室也正在智能合約風險列表中收錄各類權限過高問題 [9],試圖借此引導社區重視這些問題。

https://github.com/sec-bit/awesome-buggy-erc20-tokens

對于 Token 合約,當有賬戶存在超級權限時,整個 Token 生態極容易發生單點失效。致命問題可能會出現在兩個方面,一是項目方作惡,二是超級管理員身份被盜用。當 Token 的價值全部依賴在某一個人或少數幾個人身上時,可想而知這其中暗藏的風險會非常之高。以 Bancor 為例,在巨大的經濟利益面前,即使我們信任了發行方不會濫用權限,卻依然無法保證別有用心者不會借此攻擊。對于發行與運營極度依賴項目方的 Token,可能我們永遠無法形成類似對比特幣的共識與信仰。

Bancor 危機也給我們帶來很多反思:

  • Bancor 是否是真正的去中心化交易協議

  • 智能合約在哪些情況下需要管理員

  • 合約管理員權限的邊界在何處

  • 如何保障錢包及私鑰安全

管理員權限是把雙刃劍。在 Bancor 事件中,黑客利用了管理員權限盜取代幣,而項目方也正利用了管理員權限來降低損失。不過我們認為,開發者依然可以通過良好的代碼設計來降低Token 和 協議合約對管理員的依賴。同時,我們也號召大家,去更多地了解相關項目的智能合約(它可能跟你想象的不太一樣),關注手中的 Token 到底由誰控制,利用社區力量監督項目管理員權限。


參考文獻

[1] CoinAlpha 對 ERC20 亂象的總結https://medium.com/finance-3/the-myth-of-the-erc-20-token-standard-ab0d76cf8532
 [2] Status 合約代碼
https://etherscan.io/address/0x744d70fdbe2ba4cf95131626614a1763df805b9e#code
 [3] FunFair 合約代碼
https://etherscan.io/address/0x419d0d8bdd9af5e606ae2232ed285aff190e711b#code
 [4] 第一次攻擊測試
https://etherscan.io/tx/0xf9fd6ac9bb4e632cf07d5b80b59bb6e417fe52305ea720e552ca6ca204951629
 [5] 第二次攻擊
https://etherscan.io/tx/0xf9fe97d642705fa016c4f8d11ea13ce581ba75c57ac455586254e15d915e9bde
 [6] 兌換成 ETH
https://etherscan.io/tx/0x43a964e635f31b0cc329db6f980f09096054e4e3a627c85654852fd026b92ba0
 [7] 對 bancor 的質疑
https://medium.com/unchained-reports/bancor-unchained-all-your-token-are-belong-to-us-d6bb00871e86
 [8] bancor 的回應
https://blog.bancor.network/response-to-bancor-unchained-cdb3bd2ba505
 [9] SECBIT 智能合約風險列表
https://github.com/sec-bit/awesome-buggy-erc20-tokens/blob/master/ERC20_token_issue_list_CN.md#c-權限管理問題列表



權限 合約 項目 管理員 Token
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


專題報道

主站蜘蛛池模板: 91tv在线 | 美国复古性xxxx | 末代皇帝无删减版在线观看 | 国产第一草草影院 | youporn在线 | 幻女free性zozo交体内谢 | 久久精品18 | 亚州人成网在线播放 | 免费在线观看成年人视频 | 亚洲日日做天天做日日谢 | 国模孕妇季玥337p人体 | 久久99r66热这里只有精品 | 国内久久婷婷综合欲色啪 | 无码日韩精品一区二区免费 | 日本在线观看视频 | 欧美日韩视频在线一区二区 | 毛片资源站 | 精品女同同性视频很黄很色 | 日韩精品一区二区三区中文字幕 | 性欧美黑人巨大喷潮xxoo | 国产日韩欧美综合一区二区三区 | 日本一区二区三区久久精品 | 日本一区二区视频在线观看 | 国产成人精品一区二区 | 好奇害死猫在线观看 | 美女厕所尿尿擦逼 | 深夜免费看 | 日本mature乱子视频 | 91porny丨首页| 午夜想想爱| 精品欧美日韩一区二区三区 | 国产一区二区三区免费在线视频 | 久久夜色噜噜噜亚洲AV0000 | chinese男同志videos| 欧美va在线播放免费观看 | 免费超级乱淫视频播放性 | 青青青青青国产费线在线观看 | 国产成人综合精品 | 国产精品亚洲片在线观看麻豆 | 久久国产精品永久免费网站 | 国产视频二 |