背景
從 DeFi 之夏到現在,我們在遭受各種漏洞、后門、跑路等層出不窮的手段洗禮后,總算學會了在 DEX 上參與新項目前,應先檢查代幣合約的權限、代幣的持倉分布及合約的代碼以保護自己的資產安全。但相對的,壞人們的作惡手段也更加高明與隱蔽。近期,慢霧安全團隊收到來自 PancakeSwap 社區用戶的求助,其參與項目時觀察到,在項目代幣沒有任何增發記錄的情況下,惡意用戶使用未被記錄的大量增發代幣卷走了池子中的資金。慢霧安全團隊跟進分析此事件并將結果分享如下:
攻擊細節
惡意代幣 IEGT 在 BSC 上的部署地址是 0x8D07f605926837Ea0F9E1e24DbA0Fb348cb3E97D。我們通過區塊瀏覽器觀察其 Holders,發現在 dead 與 pair 地址持有大量 IEGT 代幣的情況下,合約記錄的 totalSupply 仍為 5,000,000。
通過進一步查看這些代幣的來源可以發現,這些代幣在0x00002b9b0748d575CB21De3caE868Ed19a7B5B56 中只有轉出記錄而沒有轉入記錄。
CertiK:警惕推特上的Apecoin虛假空投宣傳:金色財經消息,據CertiK官方推特發布消息稱,警惕推特上的ApeCoin虛假空投宣傳,請用戶切勿與其互動,該網站會連接到一個已知的自動盜幣地址。[2023/7/8 22:26:03]
我們都知道,EIP20 標準 規定了代幣轉移時必須實現 Transfer 事件,包括在代幣鑄造時,從 0x0 地址進行轉移也必須進行事件記錄。區塊瀏覽器依賴這些標準的事件記錄進行數據統計。因此,當在區塊瀏覽器中發現其代幣總額與實際數量不匹配時,則表明代幣在進行增發時并未進行事件記錄,導致區塊瀏覽器只統計了轉賬后相關地址的余額變化,而沒有任何代幣增發記錄。據此,我們可以確定代幣合約中必然存在增發代幣的惡意代碼。
此代幣合約的代碼是開源的,想來是項目方為了增加項目的可信度。接下來我們對其源碼進行分析。一般來說,進行代幣增發最簡單的方式就是實現一個直接增加指定地址余額的方法。在當前合約中是通過定義一個 _balances 映射,對用戶的代幣余額進行記錄。但經過檢查,合約中并未實現對指定地址的 _balances 進行修改的代碼。
警惕釣魚網站uniswap.gg空投詐騙:據降維安全實驗室報道,近日有用戶反饋有不法分子創建uniswap釣魚網站(uniswap.gg),聲稱1個ETH可以兌換2000個“UNIG”,從而引導用戶將以太坊轉入詐騙者的合約地址中,并返還給用戶虛假“UNIG”從而騙取用戶資產。據統計,“UNIG空投”騙局數小時內已有43位受害者,累計金額已達四十五枚以太坊,截至報道時騙局仍在持續運轉。[2020/9/26]
既然沒有發現直接增加余額的代碼,那么項目方又是如何進行增發的呢?我們回顧下智能合約的基礎知識,可以知道用戶代幣余額的變化本質上就是修改了合約在鏈上存儲的數據狀態。因此,只要修改特定地址的 _balances 在合約中對應存儲的插槽數據,即可修改其代幣余額。
我們先簡單回顧下 EVM 中計算合約數據存儲位置的基礎知識,對于映射類型 _balances 來說,其會根據其鍵值 k 與其所占據位置 p 進行 keccak256 后得到偏移量,作為其存儲的插槽位置,即 keccak256(k,p)。通過分析 IEGT 合約的數據存儲位置,我們可以發現其 _balances 參數所在位置為 slot0,那么用戶的余額存儲位置即為 keccak256(address,0) 。
煙臺網警巡查執法官方發文 警惕“區塊鏈騙局”等新興詐騙:4月26日,煙臺網警巡查執法官方發布文章提醒警惕新型詐騙手段。文章稱,如同病進化一樣,網絡詐騙也在不斷升級換代。傳統的以炒外匯、黃金為噱頭的投資詐騙正演變為“區塊鏈騙局”,借助區塊鏈的熱度,新瓶裝舊酒,對受害人實施詐騙。煙臺網警巡查執法官方列舉出如“一區塊鏈應用場景落地,XX幣躺著賺大錢”等網絡詐騙新變種,以此提醒稱“如果有人這樣說,你千萬別相信”。[2020/4/26]
帶入惡意地址進行計算,可以得到其余額存儲位置為 0x9d1f25384689385576b577f0f3bf1fa04b6829457a3e65965ad8e59bd165a716。隨后查找此插槽數據變化,可以發現其在合約部署時已被修改為一個巨大的值。
因此,我們可以確定在 IEGT 合約部署初始化時,項目方就隱蔽地增發了大量的代幣,為 Rug 做好準備。接下來我們跟進其初始化函數,分析發現其在進行 _pathSet 操作時,通過內聯匯編對合約存儲進行了修改,并且未對代碼進行格式化處理,以降低其可讀性。
聲音 | Fcoin官推:警惕聲稱收取費用幫助索賠的網絡詐騙:Fcoin官方推特發推表示,詐騙者為成員損失祈禱,聲稱收取一定費用可以幫助索賠。[2020/2/23]
跟進計算發現 y 值為 2b9b0748d575cb21de3cae868ed19a7b5b56,通過兩次 mstore 將內存 0~64 字節的位置填充為 00000000000000000000000000002b9b0748d575cb21de3cae868ed19a7b5b56,而惡意增加代幣余額的地址為 0x00002b9b0748d575CB21De3caE868Ed19a7B5B56。可以發現惡意用戶通過構造一連串的數據,計算使得正好可以得到其控制的目標地址。因此,我們也可以從編譯后的字節碼中發現此計算后未進行填充的“地址”。
緊接著通過 keccak256 對內存 0~64 字節的數據進行哈希后,正好得到惡意用戶的余額存儲插槽位置 0x9d1f25384689385576b577f0f3bf1fa04b6829457a3e65965ad8e59bd165a716,這也正是合約中將 _balances 置于 slot0 位置的原因,這極大方便了在內聯匯編中計算余額實際的存儲位置。然后使用 sstore 將合約中此存儲位置的值修改為當前時間的 6 次方,此時即完成了對指定地址的余額修改。隨后的內聯匯編操作類似,在此不做贅述。
動態 | 預警: 警惕EOS主網“交易阻塞攻擊”繼續蔓延:昨天,區塊鏈安全公司PeckShield發出EOS主網存在致命交易阻塞攻擊漏洞高危預警。PeckShield安全人員已經于第一時間(前天)就緊急聯系了block.one團隊,并同時輔助展開緊急修復(CVE-2019-6199)。不過,由于該攻擊原理目前已被攻擊者知曉,且我們已經監測有多起EOS競猜類游戲遭攻擊事件發生。PeckShield再次發出預警:1、不同于以往隨機數和交易回滾合約層的問題,交易阻塞攻擊屬于公鏈底層的漏洞,在問題修復前,必然會進一步蔓延威脅到更多EOS DApps的安全;2、目前EOS競猜類游戲隨機數算法中只要包含賬號余額或時間因素就存在被攻擊可能,建議廣大EOS競猜游戲務必緊急自查并做相應布控防御措施。3、DAppShield安全盾已經根據攻擊特征做全網布控預警,建議廣大DApp開發者應及時梳理現有DApp邏輯,隨時聯系我們或自行去除可控變量如賬號余額或時間因素等參與隨機數生成,盡可能避免因阻塞攻擊造成資產損失。[2019/1/13]
至此,我們知道了項目方是在合約初始化時,通過內聯匯編的方式修改了指定地址余額,隱蔽地增發了大量未被其他用戶獲悉的代幣,導致用戶在參與項目時被 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:ANCNCEUNIBALEmporium FinanceBeefy FinanceunitedbitcoinBitBall
又到了每月安全盤點時刻!據區塊鏈安全審計公司Beosin旗下Beosin EagleEye安全風險監控、預警與阻斷平臺監測顯示,2023年7月,各類安全事件數量和損失金額較6月大幅增加.
1900/1/1 0:00:00作者:admin,CRYPTO NEWS BTC;編譯:松雪,金色財經穩定幣發行商 Tether (USDT) 第二季度證明顯示,其比特幣 (BTC) 儲備大幅增加超過 1.7 億美元.
1900/1/1 0:00:00原文作者:WILLIAM M. PEASTER 原文編譯:深潮 TechFlow Axie Infinity 剛剛推出了其鏈上升級系統 AXP.
1900/1/1 0:00:00【07.23 - 07.29】周報概要:1、上周NFT總交易額:104,642,920(美元)2、上周NFT總交易筆數:283,3713、上周NFT總用戶數:130.
1900/1/1 0:00:00Pacman是一個去中心化的杠桿收益和流動性聚合協議,以社區為導向,在Arbitrum和zkSync上運行.
1900/1/1 0:00:00來源:Coindesk;編譯:比推BitpushNews Mary Liu我前往柏林展望未來。或者,更準確地說,我前往柏林看“球”去了–就是字面意義上的看–一種設備,有些人認為這是人類馴服甚至利.
1900/1/1 0:00:00