比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 中幣 > Info

警惕隱蔽的 Rug Pull 合約存儲引起的跑路盤_區塊鏈

Author:

Time:1900/1/1 0:00:00

背景

從 DeFi 之夏到現在,我們在遭受各種漏洞、后門、跑路等層出不窮的手段洗禮后,總算學會了在 DEX 上參與新項目前,應先檢查代幣合約的權限、代幣的持倉分布及合約的代碼以保護自己的資產安全。但相對的,壞人們的作惡手段也更加高明與隱蔽。近期,慢霧安全團隊收到來自 PancakeSwap 社區用戶的求助,其參與項目時觀察到,在項目代幣沒有任何增發記錄的情況下,惡意用戶使用未被記錄的大量增發代幣卷走了池子中的資金。慢霧安全團隊跟進分析此事件并將結果分享如下:

攻擊細節

惡意代幣 IEGT 在 BSC 上的部署地址是 0x8D07f605926837Ea0F9E1e24DbA0Fb348cb3E97D。我們通過區塊瀏覽器觀察其 Holders,發現在 dead 與 pair 地址持有大量 IEGT 代幣的情況下,合約記錄的 totalSupply 仍為 5,000,000。

通過進一步查看這些代幣的來源可以發現,這些代幣在0x00002b9b0748d575CB21De3caE868Ed19a7B5B56 中只有轉出記錄而沒有轉入記錄。

哥斯達黎加央行:對加密貨幣持“警惕寬容”態度:哥斯達黎加央行行長Rodrigo Cubero發布一份名為“圍繞數字貨幣和加密資產的一些考量”的文件,稱央行對加密貨幣持“警惕寬容”態度:“央行寬容加密資產的存在和流通,以便為技術創新留出空間,推動金融科技行業發展,并會在必要時引入監管。”他還表示,任何希望獲得加密資產的人都需要自擔風險,而根據現行法律制度,該國財政部認為使用加密貨幣納稅不具可行性。Cubero也提到該國已經研究了CBDC問題,并認為目前沒有發行數字貨幣的必要。他說哥斯達黎加已經在國家電子支付系統(Sinpe)下實現了金融包容性,擁有了安全、敏捷和低成本的數字支付系統。他也表示不排除未來推出CBDC的可能性,目前也已經具備搭建這一金融工具的技術平臺。(oicanadian)[2021/8/17 22:18:48]

我們都知道,EIP20 標準 規定了代幣轉移時必須實現 Transfer 事件,包括在代幣鑄造時,從 0x0 地址進行轉移也必須進行事件記錄。區塊瀏覽器依賴這些標準的事件記錄進行數據統計。因此,當在區塊瀏覽器中發現其代幣總額與實際數量不匹配時,則表明代幣在進行增發時并未進行事件記錄,導致區塊瀏覽器只統計了轉賬后相關地址的余額變化,而沒有任何代幣增發記錄。據此,我們可以確定代幣合約中必然存在增發代幣的惡意代碼。

證券時報評論:美聯儲醞釀退出量化寬松 警惕下半年匯率波動加大:美聯儲退出量化寬松貨幣政策,以及由此帶來的美元指數階段性走強、全球資本回流美國等都會成為引發人民幣匯率貶值的因素。尤其是在美聯儲尚未公布縮減購債規模細節之前,市場對于美聯儲收緊貨幣政策的具體落地時點預期不一,外匯市場的雙向波動會被進一步放大,此時更需樹立“風險中性”理念,做好必要的套保避險,以適應匯率雙向波動的常態。(證券時報)[2021/6/18 23:46:20]

此代幣合約的代碼是開源的,想來是項目方為了增加項目的可信度。接下來我們對其源碼進行分析。一般來說,進行代幣增發最簡單的方式就是實現一個直接增加指定地址余額的方法。在當前合約中是通過定義一個 _balances 映射,對用戶的代幣余額進行記錄。但經過檢查,合約中并未實現對指定地址的 _balances 進行修改的代碼。

既然沒有發現直接增加余額的代碼,那么項目方又是如何進行增發的呢?我們回顧下智能合約的基礎知識,可以知道用戶代幣余額的變化本質上就是修改了合約在鏈上存儲的數據狀態。因此,只要修改特定地址的 _balances 在合約中對應存儲的插槽數據,即可修改其代幣余額。

動態 | 經觀社論?:新技術總是伴隨泡沫 警惕地方拿區塊鏈“割韭菜”:經濟觀察網今日發表社論文章《警惕地方拿區塊鏈“割韭菜”》稱:區塊鏈向我們展示了截然不同的兩樣圖景。一方面,很多公司積極嘗試基于區塊鏈技術的創新應用;另一方面,“虛擬貨幣”、“區塊鏈商城”和“區塊鏈游戲”等概念炒作,新瓶裝舊酒,究其實就是各種“割韭菜”。對于那些穿著區塊鏈技術馬甲,以創新之名非法吸收公眾資金,侵害公眾權益的行為,監管應該擔起責任。這方面,我們應強化監管協同,加快補足短板,避免監管空白和盲區。新技術落地總是伴隨泡沫。這一點幾乎無可避免。監管對此理當有清晰的認知和判斷。在這場角逐中,更需要關注的是行政之手和財政資金的去向。我們擔心那種地方官員拍腦袋的決策,缺乏足夠的科學精神和對規律的尊重,更多出于急功近利和好大喜功。市場的狂熱總歸會經歷一個去偽存真的過程,在試錯中回歸理性,并給予各類投資者最終的判定。這樣的成本,市場愿意支付。但對于那些政績驅動下的親身入場和大筆財政資金,決策部門恐怕應該要有足夠的警惕。[2019/11/22]

我們先簡單回顧下 EVM 中計算合約數據存儲位置的基礎知識,對于映射類型 _balances 來說,其會根據其鍵值 k 與其所占據位置 p 進行 keccak256 后得到偏移量,作為其存儲的插槽位置,即 keccak256(k,p)。通過分析 IEGT 合約的數據存儲位置,我們可以發現其 _balances 參數所在位置為 slot0,那么用戶的余額存儲位置即為 keccak256(address,0) 。

動態 | Beosin預警:持續警惕hardfail狀態攻擊 ?:Beosin(成都鏈安)預警,根據成都鏈安區塊鏈安全態勢感知系統Beosin-Eagle Eye檢測發現,目前仍有不少攻擊者嘗試使用hard_fail 狀態攻擊,攻擊測試目標已由交易所轉向各類游戲合約,截止9號晚間10點,攻擊者****wge在持續攻擊中嘗試混合使用正常轉賬交易和hardfail失敗交易,在兩次交易中設置同樣的memo,如果項目方從節點獲取交易數據時沒有做好完整的交易判斷,可能會因此造成損失,這種攻擊嘗試雖然簡單但仍可能造成危害,Beosin(成都鏈安)提醒各項目方做好自檢自查,對交易執行狀態進行校驗,避免不必要的損失。[2019/4/9]

帶入惡意地址進行計算,可以得到其余額存儲位置為 0x9d1f25384689385576b577f0f3bf1fa04b6829457a3e65965ad8e59bd165a716。隨后查找此插槽數據變化,可以發現其在合約部署時已被修改為一個巨大的值。

動態 | 檢察日報:對“虛擬貨幣”投資須保持高度警惕 最好不要碰:據檢察日報刊文,中國人民銀行等部委2013年12月發出的《關于防范比特幣風險的通知》,以及中國人民銀行等部委2017年9月發布《關于防范代幣發行融資風險的公告》,都只是行政機關給予的指導性管理意見,對于虛擬貨幣的法律地位,我國法律沒有明確規定。在此情況下,江寧區法院對因委托投資“虛擬貨幣”引發的糾紛,從法理、虛擬貨幣的本質屬性、給我國金融帶來的潛在風險出發,結合相關行政機關的指導意見,以判決形式否定“虛擬貨幣”的合法性,意義重大。“山寨比特幣”等,此類虛擬貨幣號稱不受各國央行管控,但每一筆投資有定向的投資對象(即賣礦機的機構,一般都在國外),只是很多投資者不知道而已。這種打著云礦機旗號的所謂虛擬貨幣基本上是圈錢的,其產生的虛擬貨幣沒有長遠投資價值,一旦賣礦機的機構破產,虛擬貨幣就將一文不值。此類貨幣的投資雖是個人自由,但國家對此類貨幣持否定態度,對此類投資須保持高度警惕,最好不要碰。[2018/9/26]

因此,我們可以確定在 IEGT 合約部署初始化時,項目方就隱蔽地增發了大量的代幣,為 Rug 做好準備。接下來我們跟進其初始化函數,分析發現其在進行 _pathSet 操作時,通過內聯匯編對合約存儲進行了修改,并且未對代碼進行格式化處理,以降低其可讀性。

跟進計算發現 y 值為 2b9b0748d575cb21de3cae868ed19a7b5b56,通過兩次 mstore 將內存 0~64 字節的位置填充為 00000000000000000000000000002b9b0748d575cb21de3cae868ed19a7b5b56,而惡意增加代幣余額的地址為 0x00002b9b0748d575CB21De3caE868Ed19a7B5B56。可以發現惡意用戶通過構造一連串的數據,計算使得正好可以得到其控制的目標地址。因此,我們也可以從編譯后的字節碼中發現此計算后未進行填充的“地址”。

緊接著通過 keccak256 對內存 0~64 字節的數據進行哈希后,正好得到惡意用戶的余額存儲插槽位置 0x9d1f25384689385576b577f0f3bf1fa04b6829457a3e65965ad8e59bd165a716,這也正是合約中將 _balances 置于 slot0 位置的原因,這極大方便了在內聯匯編中計算余額實際的存儲位置。然后使用 sstore 將合約中此存儲位置的值修改為當前時間的 6 次方,此時即完成了對指定地址的余額修改。隨后的內聯匯編操作類似,在此不做贅述。

至此,我們知道了項目方是在合約初始化時,通過內聯匯編的方式修改了指定地址余額,隱蔽地增發了大量未被其他用戶獲悉的代幣,導致用戶在參與項目時被 Rug。

追蹤分析

通過 MistTrack 分析此次事件獲利地址為 BSC 鏈上 0x000000481F40f88742399A627Cbc2Afb6Ec34FeD 與 0x00002b9b0748d575CB21De3caE868Ed19a7B5B56,共計獲利 114 萬 USDT,獲利地址轉移 USDT 的手續費來源為 Binance 交易所提款。

目前資金轉移情況如下圖:

此外,惡意合約創建者的手續費地址 0xb795ad917DAF9A1c98eE18E03E81FBBfb6D54355 同樣存在大量痕跡。

總結

此次事件中,項目方開源合約代碼以增加用戶信任度,通過未格式化的代碼降低代碼可讀性,并且使用內聯匯編來編寫直接修改用戶余額存儲插槽數據的代碼,提高了代碼分析門檻。其使用種種手段隱藏作惡痕跡,最后將池子席卷一空。可以發現,在用戶的安全意識越來越強的情況下,作惡者的手段也越發隱蔽與高明。據 SlowMist Hacked 統計,截止目前,由于 Rug Pull 導致的損失金額接近 5 億美元。因此,用戶在參與新項目時應著重分析其合約中是否存在可疑的代碼,盡量不參與合約未開源且未經過審計的項目。MistTrack 團隊也將持續跟進并監控此事件。

參考鏈接:

 https://bscscan.com/address/0x8d07f605926837ea0f9e1e24dba0fb348cb3e97d

https://eips.ethereum.org/EIPS/eip-20

 https://misttrack.io/

https://hacked.slowmist.io/

慢霧科技

個人專欄

閱讀更多

Foresight News

金色財經 Jason.

白話區塊鏈

金色早8點

LD Capital

-R3PO

MarsBit

深潮TechFlow

Tags:區塊鏈ANCNCEBAL區塊鏈dapp開發框架Corra.FinanceVox FinanceFootball Decentralized

中幣
從ChatGPT到WorldCoin Sam會給Web3帶來驚喜嗎?_WOR

作者:火火,白話區塊鏈 7月24日,Web3 加密項目 WorldCoin 正式宣布上線。Worldcoin計劃在全球大規模收集虹膜,來進行個人身份的證明,以此帶動下一個十億級人口進入Web3.

1900/1/1 0:00:00
EraLend被黑后 我和受害者們隔空“掏池子”自救_USD

7 月 25 日晚間,zkSync 上 TVL 最高的借貸協議  EraLend 突遭黑客攻擊.

1900/1/1 0:00:00
非營利組織Glo宣布推出受監管的穩定幣Glo Dollar_DOL

作者:Liam 'Akiba' Wright  ,CryptoSlate;編譯:松雪,金色財經非營利組織 Glo 宣布于 8 月 2 日推出 Glo Dollar.

1900/1/1 0:00:00
一文讀懂NFT借貸協議條款和清算機制_BSP

作者:南枳 引言 本文旨在通過整理各 NFT 借貸協議的借貸條款和清算機制以及已通過的重要提案,探究 NFT 借貸的發展路徑和趨勢.

1900/1/1 0:00:00
解碼穩定幣法案對「DeFi+RWA」的建設性和破壞性_EFI

作者:Jerry@TPDAO、BeeGee美國眾議院在本周就穩定幣法案進行投票表決,這是加密貨幣監管法案首次在國會付諸表決,這是國會山為數字資產行業編纂聯邦監管法規的一個里程碑.

1900/1/1 0:00:00
觀點:為什么我不看好Worldcoin_加密貨幣

作者:ZachXBT,鏈上偵探、加密KOL;翻譯:金色財經xiaozou關于WorldCoin,我是這樣看的.

1900/1/1 0:00:00
ads