被朋友Q到近期火熱的羊毛事件,截止目前,不僅是黑客獲利超20W刀,FTX損失108個ETH,合計有38名同樣思路的攻擊者部署合約發起攻擊。
本文從技術維度出發,深入分析此利用FTX交易所免手續費提幣的漏洞,結合智能合約回調發起的攻擊方式,并通過樣例代碼復現實現原理。
由于FTX已經通過人工審計針對攻擊者進行懲罰,該漏洞處于風險可控階段。切勿嘗試可能導致封號沒收質押物。
1.1XEN是什么?
是近期大火的一個XEN幣,到10-15為止已有超過120W筆交易,其實筆者對這類缺乏長期價值對Web3毫無建設性意義的項目一直沒什么興趣,因為他的機制就是只要發起的交易消耗了多少的GAS,就可以鑄造出一定數量的XEN幣,而眾所周知Etherscan有針對gas消耗的排行榜
動態 | 律師解讀《區塊鏈信息服務管理規定》:部分要求在現階段實施條件尚不成熟:2月14日,微信公眾號“京都律師”刊文指出,《區塊鏈信息服務管理規定》的部分條款偏向于原則性規定,且部分要求在現階段實施條件尚不成熟,可操作性值得商榷,有以下幾點可供探討和完善: 1.區塊鏈信息服務提供者的概念并未完全明確; 2.區塊鏈信息服務提供者的技術標準并不明晰; 3.區塊鏈信息服務提供者的安全評估流程并未說明; 4.行業自律條件尚不成熟。[2019/2/15]
可以看到真正出色的項目往往由于服務用戶多交易量大,所以gas消耗高排名靠前,仿佛成了另一種的應用商店熱門榜單,而XEN一舉通過“沖票“成了冠絕以太坊整個生態的Top1,且等于其他好項目的總和。
IMEOS 解讀 EOSIO Dawn 4.0 精校版出爐 代碼將于近日正式發布:據金色財經合作媒體 IMEOS 報道:今日, BM 在Medium上發布了關于EOSIO Dawn4.0 的版本介紹,從十余個方面介紹 EOSIO Dawn4.0。在過去的一個月里,block.one團隊一直在為EOSIO的精簡性和穩定性付出著努力。[2018/5/5]
可拓展閱讀:當我們在看Etherscan的時候,到底在看什么?
錢包單筆轉移gas消耗大于5W,且to地址是合約地址的交易。
下圖為其中top10的攻擊者,其交易數占總攻擊數的80%,致使FTX手續費損失86個ETH
筆者通過對其交易的gas消耗總值核算后,得出FTX本次損失總值為:108.19個ETH
以太坊安全主管解讀硬分叉Constantinople:重建區塊哈希值:據Ethnews的報道,今日,以太坊安全主管Martin Swende發布了一系列文章,介紹即將到來的以太坊硬分叉Constantinople正在討論中的一些特點。文章討論了V神提出的EIP210提案,Swende解釋道,提案將分成三個階段重建區塊哈希值,允許新的區塊直接與舊區塊不按順序地連接,增加區塊間的連接性。EIP210將按照EDCC或智能合約的方式算入哈希值,“將會強化輕客戶端要求”,這個區塊哈希值升級將使以太坊用戶免于查看歷史區塊哈希值。[2018/5/1]
合計鑄造出XEN約24億個。按14號日常價格估算的話,則黑客總收益在24W美金以上
《金色講堂》今晚開講 蔡維德將多角度為用戶解讀區塊鏈行業:4月8日晚8:00國家特聘區塊鏈專家蔡維德將在《金色講堂》中對區塊鏈發展方向進行深入解讀,本次課程主題為“2018風向變了,區塊鏈正式啟航”。蔡教授將從監管、Token等方面對區塊鏈進行全方位解讀,詳情請關注晚上8:00的《金色講堂》。[2018/4/8]
詳細數據可<十四君>公眾號后臺輸入”FTX與XEN”獲得
2.1核心原理
智能合約的fallback/receive可任意執行邏輯。
任何一個合約都有默認的fallback函數,典型的功能就是讓合約可以接收以太幣并對其做出反應,這也是代幣型合約用來拒絕轉賬、發出事件或轉發以太幣的典型模式。后來更多場景是應用在代理升級模式
總之就是,一筆指向合約地址的交易,如果沒有匹配到對應執行的函數,就必然會執行fallback函數,而fallback可以將輸入參數指向另一個合約地址,從而執行對應的邏輯。
參考:https://blog.soliditylang.org/2020/03/26/fallback-receive-split/
黑客先部署了一個攻擊合約0xCba9b1
然后利用FTX的交易免費提幣功能
讓FTX的熱錢包0xc098b2,發起了一筆指向攻擊合約的提幣
導致交易觸發指向XEN合約的Mint函數調用
由于XEN合約可以設置Mint出代幣的收益方,從而將代幣轉入黑客地址
2.3手法還原
其實任意fallback非常好觸發,咱們通過現場手搓實現下,當然并不是MintXen,而是臨時隨意的一個20token來示意。
下文便是最簡單的一個ERC20代幣了,任何人均可執行mint函數,雷同于XEN了
對于ERC20/721實現原理可拓展閱讀:你買的NFT到底是什么?
而攻擊合約也很簡單,設置寫死要調用Mint的XEN合約地址以及黑客收益的地址。
可以看到實驗中,對此攻擊合約發起的任意一筆交易,即會觸發了receive,且myAddr的GLD余額增加1e18個,當然并不能拿著這個代碼就去復現黑客的實現了,因為要鑄造更多的GEX還得增加工廠合約部署的邏輯,即能提高gas消耗也吻合XEG的mint管理。
3、總結-從攻擊事件看“元交易”
其實如果不是黑客本身知道FTX有免費提幣優惠,且其提幣的交易的gasLimit設置為固定值50W,則很難發起這樣的攻擊,因為依據以太坊黃皮書,普通轉賬也僅僅需要2.1W的gas即可。
黑暗森林的web里知其雄守其雌,這樣的攻擊從歷史進程來看,其實更有警示性意義
筆者想談談元交易的發展
元交易是來自于ChristianLundkvist教授在2015年的一個設想
如今上手Dapp實在是太麻煩了,以太坊生態若想普及,就應該允許新用戶直接使用其功能,而不是先安排幾座大山讓用戶翻山越嶺。這意味著需要為新來的用戶墊付Gas費用。當前的以太坊協議并沒有提供原生方法來實現這一點。然而,得益于公/私密鑰對,用戶可以通過對元交易進行簽名并證明所有權。
相信未來元交易終會成為應用主流,本次的FTX代付gas執行免費提幣轉賬還只是元交易的某種小小實現,但只有安全無感才能迎接全民低成本上鏈時代的到來,為此安全與風控都需要特別注意,這也是筆者分析安全案件的初衷。
歡迎你從后臺提交web3行業問題探討
點贊關注十四,用技術視角帶給你價值
以太坊未能突破1,300美元兌美元的阻力位。ETH正在下跌,有跌破1,265美元支撐位的風險。以太坊在1,350美元和1,320美元的支撐位下方仍顯示出看跌跡象.
1900/1/1 0:00:00公眾號 盡管懷疑論者沒有給加密市場機會,但現在市場上有無數的加密貨幣可供交易。事實上,它們的數量如此之多,以至于新來者幾乎不可能確定其中哪些是一項好的投資.
1900/1/1 0:00:00幣安剛剛宣布已完成第21個季度的BNB銷毀。對于那些不知道的人,這家加密貨幣公司每季度都會進行一次自動銷毀,導致大量BNB供應不足.
1900/1/1 0:00:00周四(10月13日),比特幣的價值在9月通脹數據發布高于預期后跌至7月2日以來的最低點后,但隨后反彈。比特幣周四下午以19,407美元的價格易手,在過去24小時內上漲1.35%.
1900/1/1 0:00:00截止今日,僅僅過去兩天TTC漲幅超過4000%,就目前k線趨勢,漲勢完全沒有減弱,反而一直在增強,那么今天我們來談談,TTC到底能否達到1U,實現熊市逆襲,成為神話首先從k線來看.
1900/1/1 0:00:00親愛的CoinW用戶: 幣贏CoinW將于2022/10/2419:00(UTC8)在創新區首發上線FNT,開通FNT/USDT交易對.
1900/1/1 0:00:00