PeckShield團隊在上一篇文章《PeckShield:硬核技術解析,bZx協議遭黑客漏洞攻擊始末》中分析了bZx于02月15日遭到黑客一次可組合資產流動性攻擊,那是由于bZx合約對抵押品狀態判斷不完善導致的。02月18日,bZx再次遭遇了類似的攻擊,這一次的攻擊從技術原理與上一次不同,此次黑客是通過操縱Oracle價格對bZx合約進行了“蒙騙”。從攻擊流程上來看,這一次與上次剛好相反,但整體上的套利手段還是一致的,根本原因主要是由于平臺間共享流動性過小以及價格機制設計缺陷導致的。
Figure:FiveExploitationStepsWithOracleManipulation本文的初衷是希望通過分析此漏洞的一些攻擊細節讓大家能夠更直觀的了解此次攻擊事件,并希望可以引起更深入的討論。我們相信,這些討論將對DeFi社區的完善和發展是十分有益的,特別是項目方在開發下一代的DeFi類產品時,可以有助于設計出更安全,更可靠的流動性共享模型。漏洞的攻擊細節如下:此攻擊事件發生在北京時間2020-02-1811:18:58。攻擊者的交易信息可以在etherscan上查到。此攻擊過程可以分為以下五個步驟:第一步:閃貸獲取可用資產
ApeCoin DAO 發起旨在成立元宇宙工作組的新提案 AIP-245:6月2日消息,ApeCoin DAO 社區在 Snapshot 發起新提案 AIP-245 投票,該提案旨在建立一個元宇宙工作組。ApeCoin 元宇宙工作組的任務是持 ApeCoin DAO 內的元宇宙相關工作,推動 APE 文化進入元宇宙,同時發展社區主導的可持續元宇宙基礎設施。如果該提案獲得通過,ApeCoin DAO 將選舉三位管理員負責「元宇宙工作組」。投票將于 6 月 8 日結束。[2023/6/2 11:54:38]
bZx合約有一個flashBorrowToken()接口,允許調用者可以“零成本”從bZx平臺上借出資產參與DeFi活動,之后在完成這一筆交易的時候償還這部分資產。且調用者在借出資產的同時,可以指定資產的接收方地址。
ApeCoin社區關于推出Ape Launchpad平臺的提案已獲投票通過:5月18日消息,Snapshot投票頁面顯示,ApeCoin社區關于推出生態項目孵化器Ape Launchpad的AIP-209提案已獲投票通過,最終支持率達59.09%。該提案旨在通過孵化和推動有助于ApeCoin和BAYC IP生態系統增長的項目,進一步加強ApeCoin和BAYC生態系統,APE和BAYC生態NFT持有者可以訪問Launchpad并對項目進行投資,ApeCoin DAO貢獻者也將有機會盡早參與有前途的Ape項目。[2023/5/18 15:11:10]
Figure1:FlashloanBorrowingFrombZx本次攻擊者向bZx平臺借出7,500ETH,并指定攻擊者的合約為資產接收方地址,這部分是基本的借貸功能,此處不做進一步解釋。當這一步操作過后,如下表中所示系統資產分布:
PeckShield:穩定幣USDN下降至0.92美元:金色財經報道,據PeckShield數據監測,穩定幣Neutrino USD(USDN)下降至0.92美元。[2022/9/14 13:28:22]
第二步:拉升sUSD
首先,我們介紹一下今天攻擊者的最佳配角:sUSD,sUSD是由Synthetix項目方發行的穩定幣,其幣價正常情況下與1美元持平,總發行量為5,563,037枚。
通過第一步閃貸獲得ETH后,攻擊者分兩批共900ETH通過KyberNetworkDEX換取成sUSD。其中第一次使用540ETH換取,攻擊者得到92,419枚sUSD;第二批分18次,每次20ETH換取,,攻擊者獲得63,584枚sUSD,總共獲得了156,003枚sUSD。
ApeCoin空投已于今日20:30時開放領取,Gas費用一度漲至297gwei:3月17日消息,據Etherscan數據顯示,由于ApeCoin空投已于今日20:30時開放領取,因空投領取量激增,Gas費用一度漲至297gwei。截止發稿時,本次空投領取活動已燃燒54.67枚ETH。[2022/3/17 14:03:21]
Figure2:PumpingWithKyber(andUniswap)這兩步驟也是正常的DEX幣幣交換的過程,在這兩個批次操作之后sUSD對ETH的價格瘋漲到了0.00899,是市場價的2.5倍。在這一步之后,使得sUSD價格被抬高了1.5倍,攻擊者手里的資產還是正常與KyberNetwork交互,并沒有實質性的攻擊發生。然而,KybrNetwork內部通過Uniswap完成sUSD與ETH轉換,這使得那些將Uniswap作為sUSD/ETHOracle的其它平臺誤認為當前sUSD價格的確有這么高,這才觸發了后面的攻擊事件。此時,系統的資產如下:
聲音 | PeckShield:P網累計接收超1億枚比特幣為計算錯誤,實際僅為300余萬:針對Poloniex交易所一個錢包地址累計接收超過1億枚比特幣的消息,PeckShield研究人員分析發現,此數據來源于Blockchair,并非BTC官方瀏覽器,且存在統計錯誤。17A16QmavnUfCW11DAApiJxp7ARnxN5pGX地址實際累積接收的BTC應為3,279,378枚,之所以造成計算誤差,PeckShield分析原因可能為,Blockchair在計算一個地址接收BTC數額時沒有過濾找零的情況:比方該地址實際接收僅0.2枚BTC,找零6.09枚BTC,總接收額度卻被夸大統計為0.2+6.09枚,這并不符合比特幣UTXO交易的統計邏輯。[2019/10/23]
第三步:吸納更多籌碼
攻擊者希望將手里的6,000ETH通過SynthetixexchangeEtherForSynths()接口全部換成sUSD。而Synthetix這邊也沒有足額的sUSD來促成這筆交易,只交換了其中的3,518枚ETH,并將剩余的2,482枚ETH返還給攻擊者,攻擊者獲得了943,837枚sUSD。
Figure3:HoardingFromSynthetix到此為止,攻擊者手里已經擁有的sUSD總量為1,099,841枚,占總發行量的19.7%。當前系統中的賬本數據如下:
第四步:抵押借款
攻擊者將手里擁有的1,099,841枚sUSD通過bZx的borrowTokenFromDeposit()接口全部抵押到bZx合約之中,按照sUSD/ETH正常價格的話,bZx應當借給攻擊者3,928ETH,但是bZx從OracleKyber這邊獲取的價格偏高,使得借出了6,796枚ETH,多借了2,868ETH。
Figure4:CollateralizedBorrowingFrombZx到此為止,系統的賬本信息如下:
第五步:閃貸還款
攻擊者利用從bZx借到的6,796枚ETH以及手中剩余的資產一起還給之前從bZx借出來的7,500ETH,然后退場離開,完成閃貸操作。
Figure5:RepayTheFlashloanTobZx完成整個閃電貸流程之后,當前資產情況:
1)bZx平臺對攻擊者借出的6,796ETH;2)bZx平臺持有1,099,841枚sUSD;3)攻擊者手上還持有2,378枚ETH。最終攻擊者手中持有的2,378ETH部分為其獲利,合計$665,840;而bZx平臺負債為2,868ETH,即$803,040。總結
這一次的攻擊事件中,我們能看出DeFi產品在設計過程中幾個明顯的問題點:1)當引入第三方Token的時候,需要考察第三方Token的安全性,有沒有可能被單方面市場操縱,從而引起價格波動;2)DeFi平臺自身應當有價格容錯與檢驗機制,使用第三方Oracle獲取價格的時候,對他方的數據有盡可能多的驗證;3)平臺自身對于價格也應當設立止水閥機制。從第一次bZx被攻擊損失1,271枚ETH,這一次又損失2,378枚,且這兩次攻擊之間只相差了3天時間,可見DeFi特別項目的安全問題非常嚴峻。由于各項目由不同團隊開發,對各自產品的設計與實現理解有限,集成的產品很可能在與第三方平臺交互的過程中出現安全問題,進而腹背受敵。PeckShield在此建議,DeFi項目方在上線之前,應當盡可能尋找對DeFi各環節產品設計有深入研究的團隊做一次完整的安全審計,以避免潛在存在的安全隱患。
2月28日晚23時許,有FCoin維權用戶爆料稱,已在浙江省杭州市上城區某一酒店內堵截到張健妻子父母及李瑩瑩妹妹。隨后,有維權者提供現場圖片、視頻顯示,上述三人或正在警局處理相關事宜.
1900/1/1 0:00:00編者按:本文來自PeckShield,Odaily星球日報經授權轉載。02月11日,FCoin交易所發出4小時停機維護公告.
1900/1/1 0:00:00文/趙雪嬌王巧編輯/獨秀本文首發于微信公眾號鋅鏈接,關注公眾號,和我們一起探索產業區塊鏈價值。如需轉載文章,請微信申請開白名單。“一個有益的公益軟件比捐10個億還管用.
1900/1/1 0:00:00編者按:本文來自白話區塊鏈,作者:BenCarlson,編譯:白話區塊鏈Joyce,Odaily星球日報經授權轉載.
1900/1/1 0:00:00編者按:本文來自PeckShield,Odaily星球日報經授權轉載。02月15日,bZx團隊在官方電報群上發出公告,稱有黑客對bZx協議進行了漏洞攻擊,且已暫停除了借貸外的其他功能.
1900/1/1 0:00:00編者按:本文來自區塊律動BlockBeats,作者:0x29,Odaily星球日報經授權轉載。時隔106天,比特幣重新站上1萬美金,再次登上熱搜,這讓許久被社會話題占據的社群,重新把焦點匯聚在行.
1900/1/1 0:00:00