前言
2020 年 7 月 1 日,VETH 合約遭遇黑客攻擊。慢霧安全團隊在收到情報后對本次攻擊事件進行了全面的分析,下面為大家就這次攻擊事件展開具體的技術分析。
攻擊細節
本次攻擊交易如下 0xdd1120a90ed4112b634266d6a244b93ca86785317bc75f0e170ab0cd97c65224
通過交易概覽可以看到攻擊者在 Uniswap 中使用 0.9 ETH 兌換成 VETH,然后使用 VETH 在 Vether 合約中進行操作,最終盜走巨額的 VETH。
加密貨幣規則被延遲,美國數十億稅收面臨風險:金色財經報道,一項旨在打擊加密貨幣稅收欺詐的法律在美國財政部內部被推遲實施,這使數十億美元的聯邦收入面臨風險,并讓總統所在政黨的成員感到沮喪。若能夠彌補這個令加密貨幣投資者更容易逃稅的漏洞,預計將可以在十年內籌集280億美元。參議員們表示,只要有機會,逃稅者和愿意幫助他們的加密貨幣中介機構將會繼續利用漏洞,每年從美國政府手中吸走數十億美元。政府不應給他們提供這樣的機會并需要迅速采取行動。(華爾街日報)[2023/8/2 16:14:00]
現在使用 OKO 合約瀏覽器對具體的攻擊細節進行分析(下圖只展示一部分)https://oko.palkeo.com/0xdd1120a90ed4112b634266d6a244b93ca86785317bc75f0e170ab0cd97c65224/
ApeCoin發起新提案AIP-247擬創建新社區參與平臺“Degenda”:金色財經報道,據Snapshot信息顯示,ApeCoin社區已發起新提案AIP-247擬創建一個新的社區參與平臺“Degenda”,旨在進一步提升DAO 提案和公告的可見性,據悉ApeCoin社區希望將DAO投票功能集成到該平臺中,以便ApeCoin DAO社區成員盡可能快速、輕松地對即將推出的提案進行投票。該平臺還支持對與社區成員有密切關聯的多個Web3社區進行一站式事件/公告跟蹤。據悉,“Degenda”平臺除了推出門戶網站之外,還將構建移動APP,目前投票窗口已經開啟,預計8月3日結束。[2023/7/30 16:07:10]
知情人士:SEC稱最近一系列ETF申請不充分且不夠明確:金色財經報道,據知情人士稱,美國證券交易委員會(SEC)表示,資產管理公司最近一系列現貨比特幣交易所交易基金(ETF)申請不充分且不夠明確。[2023/7/1 22:11:44]
通過分析交易內具體的細節可以發現:攻擊者先創建了一個合約0x47Ed415006C6F8052Fff05fe983f31D6D24B8fDB 通過此合約對 Vether 合約中的 changeExcluded(unknown37217349) 函數與 transferFrom 函數進行了調用。
接下來對這兩個函數的具體代碼進行分析:
數據:BTC平均交易規模達近3年內低點:金色財經報道,據glassnode alerts數據監測顯示,BTC平均交易規模 (7d MA) 達到近3年內低點,為458.610。[2023/5/7 14:48:26]
可以看到在 transferFrom 函數中,先對 mapAddress_Excluded[msg.sender] 進行了 if 判斷,具體邏輯是mapAddress_Excluded[msg.sender]為 false 時,將會檢查對攻擊者合約的授權額度,然后調用_transfer函數進行轉賬。而這個邏輯顯然走不通,攻擊者合約是沒有任何授權額度的。因此mapAddress_Excluded[msg.sender]只能為 true ,然后直接調用_transfer函數進行轉賬。
數據:當前比特幣總持幣地址數超5302萬:1月6日消息,據Tokenview數據顯示,當前比特幣全網算力達243.86 EH/s;比特幣全網難度為34.09 T;比特幣24h交易筆數39,245;24h活躍地址數176,526;24h新增地址數88,615;比特幣持幣地址數53,026,948。[2023/1/6 10:58:10]
接下來具體分析該如何將mapAddress_Excluded[msg.sender]設置為 true:
通過查看合約可以發現:
合約在初始化時只將address(this)和burnAddress的mapAddress_Excluded置為 true,那么可以肯定還有其他邏輯可以設置mapAddress_Excluded,通過分析 Vether 合約可以發現changeExcluded函數可以實現對mapAddress_Excluded的設置。
通過分析changeExcluded函數可以發現其可見性為external,因此攻擊者合約可以直接調用changeExcluded函數,此時攻擊者合約的mapAddress_Excluded為 false,所以會進入 if 的邏輯中。
接下來對 if 邏輯內的代碼進行具體分析:
在進行 if 邏輯后需要先支付手續費,具體為上方代碼塊中的第 3 行,那這個手續費是從哪里來呢?答案就是攻擊者最初轉入合約中的 0.9 ETH。
圖中可以看到,通過 0.9 ETH 兌換成約 138 VETH。
通過計算代碼中的mapEra_Emission/16我們可以得到攻擊者需要支付的手續費:我們讀取合約中的 mapEra_Emission可以知道 mapEra_Emission為 2048。
此時計算mapEra_Emission/16可得手續費為 2048/16 = 128 VETH,而攻擊者兌換了約138 VETH 是足夠用來支付手續費的,因此便可以通過上方代碼塊中的第 4 行將攻擊者合約的mapAddress_Excluded置為 true。
創建攻擊合約,通過 Uniswap 將 0.9 ETH 兌換成約138 VETH(此處換幣為了后續支付手續費)
調用 Vether 合約中的changeExcluded函數并利用先前在 Uniswap 兌換的約 138 VETH 支付 128 VETH 的手續費,然后將mapAddress_Excluded置為 true
調用 transferFrom 函數,利用mapAddress_Excluded為 true,直接進行轉賬操作
拿錢走人
0xfa2700e67065bc364136b5e7f57112083cb2a0cd
0x75572098dc462f976127f59f8c97dfa291f81d8b
修復建議
此次攻擊主要利用 Vether 合約中changeExcluded函數的可見性為external且未有權限限制,用戶可以直接進行外部調用為攻擊創造了必要的條件。因此應做好對changeExcluded函數的權限或可見性的限制,從而避免任意用戶可以直接外部調用changeExcluded函數。
Tags:DEDEXCETHLUDKirby ReloadedMindexcoinbeth幣如何換回ethludos幣價格
北京市人民政府辦公廳于6月30日發布了《北京市區塊鏈創新發展行動計劃(2020年—2022年》(下文簡稱《計劃》),該《計劃》文件在6月9日北京市委和北京市政府常務會議上做過深入的探討研究.
1900/1/1 0:00:001. 什么是ETH? ETH是Ethereum網絡的原生通證,作為網絡生態中價值流通的主要介質.
1900/1/1 0:00:00作為一個以“去中心化存儲”為核心目標的技術,IPFS最重要的功能、能提供給用戶最好的服務就是存儲。作為IPFS激勵層的區塊鏈Filecoin,自然也要把“存儲”作為重中之重的共識.
1900/1/1 0:00:00金色財經 區塊鏈7月2日訊 在經歷了近十年的下跌之后,比特幣巨鯨的市場統治地位出現了2011年以來的最大增長.
1900/1/1 0:00:007月5日上午9點,由杭州市余杭區政府指導,巴比特主辦的“2020杭州區塊鏈國際周”正式開幕。來自世界各地的行業大咖、互聯網大廠、創新企業、投資機構、學術機構、主流媒體將齊聚亮相,共同探討區塊鏈產.
1900/1/1 0:00:00金色財經訊,繼6月29日Balancer流動池遭到閃電貸攻擊后,加密貨幣行業又出現一起黑客攻擊事件.
1900/1/1 0:00:00