以太坊ERC20Token標準自2015年11月19日誕生以來,為智能合約、以太坊生態以及區塊鏈應用的發展做出了巨大的貢獻。據Etherscan網站數據顯示,截止2018年6月26日,以太坊主網上ERC20Token數量已超過90000。下圖是統計的ERC20每日創建數量趨勢圖。
這些Token合約所承載的價值不可估量。然而近幾個月以來,以BEC事件為開端,引發的一系列的鏈式反應,越來越多的合約漏洞與不兼容性問題相繼被曝光。目前智能合約安全問題的分析披露還比較散亂,對智能合約的開發和后續的使用所起到的作用非常有限,社區缺乏一套完備的合約問題匯總機制。因此安比實驗室在分析了近期爆出的合約風險問題和大量的智能合約源碼后,攜手路印發布智能合約風險列表,聯合去中心化交易所DEx.top、輕信科技、Consensys中國、長亭科技等技術團隊,共同對該風險列表進行維護。
由于以太坊上部署的合約數量規模還在不斷增大,未來還會有更多更復雜的問題暴露出來。因此,我們倡導發起Token合約風險列表共建計劃,呼吁更多關心區塊鏈生態的團隊或技術人員參與進來,共同維護這份合約風險列表。
ERC20Token的安全問題總結
ERC20Token漏洞事件回顧
在ERC20Token逐漸成熟和完善的發展過程中,不少ERC20智能合約曾出現過重大漏洞,對項目方、投資人、交易所甚至整個以太坊社區造成了比較大的經濟損失。例如:
安全公司:有攻擊者分發Win10 ISO鏡像,并在EFI分區中隱藏挖礦代碼:金色財經報道,網絡安全公司Dr. Web發文稱,發現有攻擊者分發Win10 ISO鏡像,并在EFI(可擴展固件接口)分區中隱藏挖礦代碼,可以躲避殺軟的監測。設備一旦感染之后就會監測進程資源管理器、任務管理器、進程監視器、進程等等,一旦發現剪貼板中的加密貨幣錢包地址,就會立即替換為攻擊者預設的地址。Dr. Web表示調查重定向的加密錢包地址,發現該錢包賬號上至少有價值19000美元的加密貨幣。
注:EFI分區是一個小型系統分區,其中包含在操作系統啟動之前執行的引導加載程序和相關文件。主流殺軟不會掃描EFI分區,因此惡意軟件可以繞過惡意軟件檢測。[2023/6/14 21:36:34]
2016年6月18日,DAO合約遭到攻擊,導致超過3,600,000個以太幣(ETH)被盜,迫使以太坊社區不得不采取硬分叉的手段來減少損失,而這更是直接引起了以太坊社區的分裂2018年4月22日,黑客攻擊了美鏈(BEC)的Token合約,通過一個整數溢出漏洞,一時間BEC的價格幾乎歸零。我們發現至少有10份合約存在該類問題。2018年4月25日,SMT爆出類似整數溢出漏洞,黑客制造和拋售了天文數字規模的Token,導致SMT價格崩盤。2018年5月20日,嚴重的邏輯漏洞導致EDU用戶的Token可被任意轉出,同時還有其它3個Token存在相同問題。2018年6月12日,一系列ERC20智能合約整數溢出漏洞(CVE-2018-11687,CVE-2018-11809,CVE-2018-11810,CVE-2018-11811,CVE-2018-11812)又被爆出,據不完全統計有800多個合約受到影響。
NEOS申請推出比特幣高收益ETF和比特幣量化趨勢ETF:金色財經報道,專注于基于期權收益ETF的公司NEOS申請推出比特幣高收益ETF和比特幣量化趨勢ETF。主動管理的高收入ETF將采用比特幣期貨看漲期權策略,而另一個ETF則尋求捕捉比特幣價格的積極勢頭,同時通過使用現金和現金替代產品,力求將下跌風險降至最低。
后者的ETF將持有比特幣期貨合約、美國政府證券和貨幣市場基金,以及短期固定收益和現金替代ETF。NEOS提議,這些基金在5月中旬提交申請后60天內生效。[2023/5/28 9:46:26]
大量ERC20Token實現未嚴格遵守規范
未參照ERC20標準實現Token合約會給DApp開發帶來較大的困擾。某知名DApp團隊在深入分析了排名前20的合約之后,提示社區需要對Token合約的諸多實現問題和不規范行為重視起來,尤其是對于新的DApp開發者,提早避免一些問題。
NearlyathirdofthetimedevelopingBsktwasspentauditingexternaldependencies.WehighlyencourageotherEthereumdevteamstobeawareofthedangersinexternaldependencies.Unlikesoftwaredevelopmentinmostsystems,it’scriticaltoreadtheimplementationofdeployedcontractsyoudependon—notjusttheinterface.
ChatGPT已升至美國地區App Store免費App排行榜首位:5月19日消息,繼 OpenAI 今晨宣布將推出 iOS 平臺的 ChatGPT 應用程序之后,OpenAI ChatGPT現已躍升至美國地區 App Store 免費 App 排行榜首位。[2023/5/19 15:13:31]
我們還注意到,大量已部署Token合約曾經參考了以太坊官網以及OpenZeppelin等其它DApp。據不完全統計,存在該類問題的合約超過2000份。
若干Token合約在標準approve()函數中添加了對當前賬戶余額校驗邏輯。導致采用類似0x協議的諸多DApp有可能無法正常完成approve(),必須由Token項目方提前轉入一筆數額巨大的Token至中間賬戶,這給DApp和交易所帶來了諸多不便。超過17份合約存在該問題。
ERC20規范中規定了幾個可選的通用查詢接口如name()、symbol()、decimals(),因而大量Token合約未提供這些接口,甚至不少采用NAME()、SYMBOL()、DECIMALS()等不一致的寫法,也給合約的外部調用帶來了極大的麻煩。存在該類問題的合約超過3000份。
ERC20標準中還規定了Transfer和Approval事件必須在特定場景下觸發。很多Token的實現參考了以太坊官網的不標準代碼,漏掉觸發Approval事件的操作。存在該類問題的合約超過1800份。
英國政府成立獨立機構來研究在現有的法律下對Web3發展的最佳方式:金色財經報道,世界各地的金融監管機構正在尋求加強對加密貨幣市場的控制,英國政府委托了一個由高等法院法官、律師和法學教授組成的獨立機構來研究加密貨幣并提出管理方法。英格蘭和威爾士法律委員會在英國司法部的資助下,正在運行多個專注于加密貨幣空間的項目,以確定在新的或現有的法律下對待Web3發展的最佳方式,如分散式自治組織(DAO)和數字資產。
去年11月完成的一個法律委員會項目發現,英格蘭和威爾士現有的合同法可以適用于作為加密貨幣交易基礎的智能合同。它還在進行一個法律沖突項目,探索如何確定哪些法院應該處理數字資產糾紛,因為它們具有全球性質。最近,該機構發布了一份咨詢文件,其觀點是加密貨幣應被視為個人財產,以使投資者在其資金被盜或丟失時更容易追回損失。[2022/10/19 16:30:25]
ERC20安全問題匯總與分類
我們對數萬份ERC20Token合約存在的問題進行分析統計,已將所有統計數據上傳至Github倉庫。
Github倉庫地址:https://github.com/sec-bit/awesome-buggy-erc20-tokens
已發現的所有ERC20Token合約安全風險問題被歸納為三大類:代碼實現漏洞,不規范問題,權限管理問題。
代碼實現漏洞涵蓋了合約代碼功能實現和邏輯實現上的漏洞,如整數溢出不規范問題涵蓋了因代碼實現不規范導致版本不兼容或者外部合約調用時的無法不兼容問題,如ERC20接口無返回值權限管理問題涵蓋了所有因管理權限設置不當而引發的問題,如owner可以操作任何人賬戶上的余額
數據:區塊鏈和加密貨幣初創企業Q2風投總額降至65億美元:7月28日消息,市場情報平臺CB Insights的報告顯示,今年第二季度,由于市場波動加劇,加上導致價格暴跌的“加密冬天”,區塊鏈和加密貨幣初創企業獲得的風險投資資金下降29%,降至65億美元。
CB Insights周四表示,盡管融資額兩年來首次下降,但第二季度的區塊鏈和加密貨幣初創企業融資額排名第四。相比之下,這些初創企業在第一季度吸引92億美元的資金,預計今年將獲得總價值315億美元的資金。
報告顯示,雖然風險投資者在第二季度的投資者交易份額中居于領先地位,但資金從中心化加密貨幣交易所和錢包轉向NFT、游戲、DeFi和DApp基礎設施和開發。(The National News)[2022/7/28 2:43:31]
問題列表如下:
在awesome-buggy-erc20-tokens倉庫的文章中對每個問題給出了詳細描述信息。
如何使用Token合約風險列表
Token合約開發者:本列表提供了詳細的問題描述和相關合約列表,希望能夠借此提ERC20Token合約開發者的安全意識,避免在后續的合約開發中重復踩坑。DApp項目方:以太坊平臺的DApp可能會與多個ERC20Token合約對接。DApp項可以通過本倉庫查閱已部署的問題合約的詳細信息,獲知Token合約存在的問題,避免因Token合約的漏洞或者合約的不兼容問題,給DApp帶來不必要的麻煩。其他生態參與者:本列表收錄了大量ERC20Token合約存在的風險問題,并記錄了市值排名較的672份已部署的Token合約的基本信息和問題詳情,大家可以通過查閱本倉庫來找到問題合約,了解已部署Token合約存在的風險。
Token列表包含哪些內容
awesome-buggy-erc20-tokens倉庫共收錄了以太坊上數萬份ERC20Token合約中存在的問題。主要包含三部分內容:Token合約的基本信息,問題Token列表,風險問題匯總。
1.合約的基本信息倉庫中目前已收錄的合約,所有問題合約均來源于此。
另外,倉庫中還統計coinmarket網站收錄的Token合約的詳細信息,包括token的排名,token名稱,token縮寫符號,總量,小數位數和上線交易所的信息。
2.所有的問題合約列表,列表分別以json和CSV的形式展示,也便于導入表格軟件或者編寫腳本進行分析。
3.風險問題匯總文件
倉庫中共收錄了28種合約風險問題,對所有問題的詳細信息,包括詳細的描述、錯誤的代碼實現示例、推薦修改的代碼實現示例、存在該問題的合約列表和對該問題報道的相關鏈接。
以batchTransfer-overflow問題為例:
聲明
本列表信息全部來源于以太坊區塊鏈,etherscan.io,coinmarketcap.io等公開網站上的公開信息本列表所列所有問題均屬于已披露的漏洞或缺陷,不包含任何未公開漏洞本列表中存在多個合約Token名稱重復現象,請以合約地址為準;Token名稱只做參考,可能與知名項目重復,請勿過分解讀本列表中的數據可能會存在偏差或遺漏,請大家直接提交更改請求或者通知我們(info@secbit.io)
發起共建計劃
awesome-buggy-erc20-tokens倉庫由安比實驗室持續維護,路印團隊提供信息更新支持。并歡迎大家共同參與維護更新工作,共同推進以太坊生態健康發展。參與方式:
提交未被列入的問題ERC20Token合約地址提交新的ERC20Token合約漏洞提供改進建議或參與討論
同時我們也在尋求更多的力量,來共同開發更友好的前端查詢頁面,以供大家查詢。如果你有其他任何問題或者想法,歡迎加入我們的Gitter參與討論。
安比實驗室與路印合作共建安全可信的以太坊生態,安比實驗室團隊將擔任路印協議的安全顧問,提供合約驗證與Token合約審計技術服務。路印協議是基于智能合約的去中心化交易撮合協議,提供100%開源的去中心化交易前后臺解決方案。詳情請訪問路印官網:https://loopring.org
致謝:特別感謝DEx.top團隊參與早期列表建設想法的討論;感謝葉健,ZongminYu,吳玉會,YiTang等人對合約風險列表內容所提供的寶貴意見。
Reference
MarketshareofEthereum-basedtokensgrowsto91%https://medium.com/@amincad/market-share-of-ethereum-based-tokens-grows-to-91-fdefadfd9f6eAdisastrousvulnerabilityfoundinsmartcontractsofBeautyChain(BEC)https://medium.com/secbit-media/a-disastrous-vulnerability-found-in-smart-contracts-of-beautychain-bec-dbf24ddbc30e,Apr23,2018.UnderstandingTheDAOHackforJournalistshttps://medium.com/@pullnews/understanding-the-dao-hack-for-journalists-2312dd43e993,Jun19,2016.SmartMeshAnnouncementonEthereumSmartContractOverflowVulnerabilityhttps://medium.com/smartmesh/smartmesh-announcement-on-ethereum-smart-contract-overflow-vulnerability-f1ded8777720,Apr25,2018.SECBIT:智能合約紅色預警:四個Token驚爆邏輯漏洞,歸零風險或源于代碼復制https://mp.weixin.qq.com/s/lf9vXcUxdB2fGY2YVTauRQ,May24,2018.ERC20智能合約整數溢出系列漏洞披露https://www.secrss.com/articles/3289,Jun12,2018.數千份以太坊Token合約不兼容問題浮出水面,恐嚴重影響DAPP生態https://mp.weixin.qq.com/s/1MB-t_yZYsJDTPRazD1zAA,Jun8,2018.ERC20智能合約的approve千萬別這樣寫https://mp.weixin.qq.com/s/hYE4nu7FCD_nJH5WMRrXMA,Jun15,2018.Whatwelearnedfromauditingthetop20ERC20tokencontractshttps://blog.cryptofin.io/what-we-learned-from-auditing-the-top-20-erc20-token-contracts-7526ef3b6fb1,Mar28,2018.
“凌晨4點的洛杉磯”風靡了沒多久,風向忽然變了。“選擇比努力重要”,橫空出世。這句可比雞血高級多了,冷靜理性不明覺厲,一語驚醒假裝埋頭努力的人們,新的精神鴉片就此誕生,萬能金油擱哪兒都合適.
1900/1/1 0:00:00新華社北京5月3日電 中國外匯交易中心5月3日受權公布人民幣對美元、歐元、日元、港元、英鎊、澳元、新西蘭元、新加坡元、瑞士法郎、加元、林吉特、盧布、蘭特、韓元、迪拉姆、里亞爾、福林、茲羅提、丹麥.
1900/1/1 0:00:00Bianews4月18日消息,今晚,由Bianews、騰訊科技和31區共同打造的《區塊鏈50人》欄目邀請到雄岸資本合伙人、INBlockchain合伙人李笑來和快校CEO搜狐前高級副總裁方剛.
1900/1/1 0:00:00每當聊起互聯網與現實的交互作用的時候,我和我的同齡人都會提到“MUD”,這應該是非常有時代感的“互聯網入侵現實”的案例了,盡管在當年MUD游戲在中國沒有那么流行.
1900/1/1 0:00:00在比特幣這個市場中90%以上的投資者都是普通投資者,這些人都有一個共性,那么就是他們不是正在虧錢,就是在虧錢的路上.
1900/1/1 0:00:00投資者開始賣出加密貨幣,買入貨真價實的黃金。隨著比特幣價格大跌,總部位于德國法蘭克福的硬幣投資公司金幣銷量上漲五倍。比特幣價格16日下跌23%,17日盤中跌破10000美元.
1900/1/1 0:00:00