2022年3月13日,成都鏈安鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,Paraluni合約遭受攻擊,損失約170萬美元,成都鏈安技術團隊對此事件進行了相關分析。
#1總述
我們以第一筆攻擊交易0xd0b4a1d4964cec578516bd3a2fcb6d46cadefe1fea5a2f18eec4c0a496e696f9為例:
地址列表
攻擊地址:
0x94bC1d555E63eEA23fE7FDbf937ef3f9aC5fcF8F
攻擊合約:
0x4770b5cb9d51EcB7AD5B14f0d4F2cEe8e5563645
ParaProxy:
慢霧余弦:SushiSwap仿盤項目KIMCHI項目方權限過大可任意鑄幣:9月2日消息,慢霧創始人余弦發微博分析,SushiSwap仿盤項目KIMCHI(泡菜)項目方確實擁有任意鑄幣的權限,只是如果項目方要任意鑄幣,至少需要等待2天時間。對接泡菜的平臺可以觀測泡菜廚師的devaddr地址是否變更為泡菜廚師的當前owner地址。[2020/9/2]
0x633Fa755a83B015cCcDc451F82C57EA0Bd32b4B4
ParaImpl:
0xA386F30853A7EB7E6A25eC8389337a5C6973421D(MasterChef)
UGT:
0xbc5db89CE5AB8035A71c6Cd1cd0F0721aD28B508
分析 | ICO項目方在過去一月拋售ETH的數量 不如2018年12月一天的多:據Santiment 統計顯示,最近一個月以來,ICO項目方累計消耗以太坊數量僅為28500ETH,約合3800萬美元,這個數字已經是開始記錄以來的最低水準。轉移超過8500ETH的項目方只有Bancor等零星數個項目放,大多數項目方還是傾向于繼續持有以太坊。對此,Singularity Financial表示,ICO項目方停止拋盤ETH的可能性有如下幾個方面:一、套現的法幣已足夠項目運營;二、幣價趨于穩定,看好后市幣價;三、采用抵押ETH獲得法幣等方法維持項目運營。[2019/2/25]
UBT
0xcA2ca459Ec6E4F58AD88AEb7285D2e41747b9134
1.向CakeSwap(0x7EFaEf62)中通過閃電貸借貸224BSC-USD,224BUSD
聲音 | 易理華:很多項目方找交易所退上幣費:昨日了得資本創始人易理華在朋友圈表示:據說有很多項目方找交易所退上幣費了[2018/9/10]
2.把第1步借到的代幣向Para-LP(0x3fD4FbD7)中添加流動性,并將獲得的222枚流動性代幣的接收地址指定為UBT(0xcA2ca459)地址,這一步是為了后續的重入做準備。
圖1初始準備
3.攻擊合約(0x4770b5cb)調用ParaProxy合約的depositByAddLiquidity函數,添加流動性代幣抵押挖礦,此處傳入的pid為18,對應的Para-LP(BSC-USD/BUSD)0x3fD4FbD7a83062942b6589A2E9e2436dd8e134D4,但是token0,token1傳入的地址為UGT、UBT的地址,數量為1e18。
動態 | Digix項目方宣布已將7萬枚ETH換成法幣 5.4萬枚轉入交易所錢包:項目方Digix于9月2日宣布:“將眾籌地址DigixDAO持有的46.5135萬枚ETH轉至DigixDAOMultiSig(0x75打頭)安全地址;取出價值2000萬美元的ETH,使用北京時間9月4日12時Kraken和Gemini交易所的第一根小時線開盤價的均值作為結算價,將ETH換成美元。”昨日該項目方已完成46.5萬枚ETH大額轉移。不久,近7萬枚ETH轉至0x7b打頭的地址,價值恰好約2000萬美元。隨后,該0x7b打頭的地址將5.4萬枚ETH轉入了Gemini的錢包地址。[2018/9/5]
圖2重入攻擊
4.此處原本正常的邏輯為:添加流動性,并將流動性代幣存入pid為18的流動性抵押池,但是本函數在代碼中并未檢查添加的流動性token0、token1得到的流動性代幣是否與pid對應的流動性代幣地址一致,導致了攻擊的發生。注意,并不是所有的流動性池抵押都有該風險,由于第2524行代碼,pool的ticket需要為零地址才能夠通過該檢查。
但是攻擊者通過控制執行邏輯,實際執行的邏輯為:第2505,2506行將攻擊者指定的1枚UGT、1枚UBT代幣轉入ParaProxy合約。然后在第2535行代碼用于添加流動性,并在第2537行檢查添加的流動性代幣數量。
此時,vars.oldBalance為初始流動性代幣數量。攻擊者為了通過第2537行的檢查,在添加流動性的過程中,進行了重入攻擊。由于在添加流動性時調用了攻擊者構造的惡意代幣的transferFrom函數,攻擊者在transferFrom函數中才將流動性通過deposit函數存入ParaProxy合約。這也是第2步時攻擊合約將流動性代幣接收地址指定為UBT合約的原因所在。
在重入過程中,UBT合約存入了真正的LP代幣222枚,并計入ParaProxy的賬本中。在重入完成后,ParaProxy合約地址新增了222枚LP代幣,ParaProxy合約將其視為攻擊合約添加的LP,并計入賬本中。至此,UBT合約和攻擊合約都新增了222枚LP的存取記錄。
圖3ParaImpl合約相關代碼
重入相關過程如下圖所示:
圖4攻擊流程示意圖
5.UBT合約和攻擊合約分別調用withdraw函數,從ParaProxy合約提取221枚LP,并歸集到攻擊合約,由攻擊合約將LP移除流動性并獲取對應的BSC-USD以及BUSD。
6.歸還閃電貸225枚BSC-USD,225枚BUSD,并將獲利的221枚BSC-USD、225枚BUSD發送到攻擊者地址。整個攻擊交易執行完成。
#2總結建議
攻擊者一共執行了約40次攻擊,共獲利約170萬美元。截止發稿時,攻擊者通過跨鏈協議將其轉到以太坊網絡中,并將其中的660枚ETH轉入Tornado.Cash,另外5枚ETH轉入了0xDd52CE617cAF1b7C8cEaCC111DE2f1c54E20C1b0地址。
本次攻擊主要由合約代碼中存在邏輯缺陷以及存在資金操作的關鍵函數未進行防重入導致。建議合約開發者在開發過程中進行完整的測試以及第三方審計,并養成使用Openzeppelin庫的ReentrancyGuard合約來進行重入攻擊的防范。
“以太坊作為第一個擁有智能合約的區塊鏈,憑借先發優勢已經建立了相對完整的生態并沉淀了足夠多的用戶,但在Gas費、處理速度和可擴展性方面飽受詬病.
1900/1/1 0:00:00據最新消息,5月13日,波場去中心化算法穩定幣USDD已正式登陸Huobi。 波場TRON用戶數突破5700萬:據官方消息,根據TRONSCAN區塊鏈瀏覽器最新數據顯示,波場TRON賬戶總數達到.
1900/1/1 0:00:00“Crema正在接管Solana的流動性空間。”加密KOLCryptoMonarch如此說道,作為僅正式上線2個月的流動性協議,Crema在4月份成為了Solana生態中TVL增速最快的DeFi.
1900/1/1 0:00:00自現代電信誕生以來,該行業一直以閃電般的速度創新、發展和進步。然而,近年來,這種情況有所放緩。硬件和軟件供應商為了保持在高層的地位而扼殺創新,導致全球覆蓋面積增長率下降.
1900/1/1 0:00:00瑞士加密貨幣行業著力解決勞動力短缺問題“區塊鏈作為一個技術概念并不難懂,”瑞士洛桑聯邦理工學院計算機和通信科學系系主任詹姆斯·拉魯斯(JamesLarus)說.
1900/1/1 0:00:00一、MACI簡介 MACI是MinimalAnti-CollusionInfrastructure的縮寫,是一種允許用戶進行鏈上投票過程的應用程序,其有很強的抗串通/共謀能力.
1900/1/1 0:00:00