最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

當前位置:主頁 > 區(qū)塊鏈 > 資訊 > HopeLend遭受借貸攻擊

去中心化借貸平臺HopeLend遭受借貸攻擊事件分析

2023-10-22 12:37:37 | 來源: | 作者:佚名
Hope.money 的借貸池受到了基于閃電貸實施的攻擊,本次攻擊涉及的協(xié)議是 HopeLend,是一個去中心化借貸平臺,用戶可以為協(xié)議提供流動性或者超額抵押借貸賺取收益

北京時間 2023 年 10 月 18 日 19:48:59,Hope.money 的借貸池受到了基于閃電貸實施的攻擊。

Hope.money 包括了借貸平臺 HopeLend、去中心化交易所 HopeSwap、穩(wěn)定幣 HOPE 和治理代幣 LT,為用戶提供去中心化金融全棧服務(wù)。

本次攻擊涉及的協(xié)議是 HopeLend,是一個去中心化借貸平臺,用戶可以為協(xié)議提供流動性或者超額抵押借貸賺取收益。

事件始末

在 HopeLend 的代碼實現(xiàn)中,借貸池存在可被利用的漏洞,由于在銷毀存款憑證時,出現(xiàn)了錯誤的整數(shù)除法問題,導(dǎo)致小數(shù)點部分被截斷,實現(xiàn)了銷毀比預(yù)期少的憑證數(shù)量,獲得和預(yù)期一致的價值代幣。

攻擊者利用這個缺陷掏空了 Hope.money 上存在資金的多種借貸池。

其中 hEthWbtc 借貸池于 73 天前部署,但是其中沒有資金,因此黑客通過往該借貸池注入大量資金來達到讓貼現(xiàn)率戲劇性地暴漲,從而實現(xiàn)了在一個區(qū)塊交易內(nèi)快速掏空了所有其他借貸池子的資金。

更戲劇性的是,實現(xiàn)利用的黑客沒有獲得漏洞利用的資金,他的攻擊交易被搶跑者發(fā)現(xiàn),搶跑者模仿其攻擊行為并成功搶走了所有攻擊收益資金(527 ETH),最終有 50% 的攻擊收益資金 (263 ETH) 被搶跑者用于賄賂打包區(qū)塊的礦工(payload)。

發(fā)現(xiàn)漏洞的初始黑客,在區(qū)塊 18377039 創(chuàng)建了攻擊合約,并在區(qū)塊 18377042 進行了攻擊合約的調(diào)用,此時搶跑者監(jiān)控到內(nèi)存池里的交易,并將其攻擊合約進行模擬,作為搶跑合約的輸入,在同樣的 18377042 區(qū)塊進行利用,而初始黑客在 18377042 區(qū)塊的交易由于排序在搶跑者后面,從而執(zhí)行失敗了。

資金去向

搶跑者在獲得收益后的一小時,將資金轉(zhuǎn)移到:0x9a9122Ef3C4B33cAe7902EDFCD5F5a486792Bc3A

在 10 月 20 日 13:30:23,疑似官方團隊聯(lián)系了該地址,允許搶跑者留下 26 ETH(10% 的獲利)作為獎勵,并得到搶跑者的答復(fù)。

最終資金在溝通一個小時后,轉(zhuǎn)移到 Gnosis Safe 的多簽金庫中。

下面我們將展示真實的漏洞和黑客進行利用的細節(jié)。

前置信息

HopeLend 的借貸協(xié)議實現(xiàn) Fork 自 Aave,因此涉及到漏洞相關(guān)的核心業(yè)務(wù)邏輯參考自 Aave 的白皮書。

0×00 存款和借貸

Aave 是一個純粹的 DeFi,借貸業(yè)務(wù)通過流動性池實現(xiàn),用戶在 Aave 存款提供流動性時,期望獲得借貸所獲得的收益。

貸款收益并不會完全分配給用戶,有少部分利息收入會被計入風險儲備金,此部分比例較少,大部分貸款收益會分發(fā)給提供流動性的用戶。

在 Aave 中進行存款放貸時,Aave 是通過貼現(xiàn)的方式,將不同時間點的存款數(shù)量轉(zhuǎn)化成流動性池初始時間點的存款數(shù)量份額,因此每數(shù)量份額的底層資產(chǎn)對應(yīng)的本息和,就可以直接用 amount(份額) * index(貼現(xiàn)率)算出來,大大方便了計算和理解。

可以理解為類似購買基金的過程,基金的初始凈值是 1,用戶投入 100 塊錢獲得 100 的份額,假設(shè)經(jīng)過一段時間獲得收益,凈值變成 1.03,此時用戶再次投入 100 塊錢,獲得的份額是 97,用戶的總份額是 197。

這其實是將該資產(chǎn)按照 index(凈值)進行貼現(xiàn)處理。之所以這么處理,是因為用戶實際的本息和是用 balance 去乘以當前的 index。當?shù)诙未婵畹臅r候,用戶正確的本息和應(yīng)該是 100 * 1.03 + 100 = 203,如果不做貼現(xiàn)處理,第二次用戶存入 100 后的本息和就變成了 (100+100) * 1.03 = 206,是錯誤的,如果進行了貼現(xiàn),本息和就變成了(100 + 100 / 1.03) * 1.03 = 103 + 100 = 203,203 的結(jié)果是正確的。

攻擊過程

0×25126……403907(hETHWBTC pool)

0x5a63e……844e74(攻擊合約 – 套現(xiàn))

借出初始閃電貸資金,進行質(zhì)押

攻擊者首先從 Aave 閃電貸借入 2300WBTC,將其中 2000 枚 WBTC 質(zhì)押(deposit)到 HopeLend,資金將會被轉(zhuǎn)移至 HopeLend 的 hEthWbtc 合約(0×251…907),同時獲取相應(yīng)的 2000 枚 hETHWBTC。

借助空借貸池操縱初始貼現(xiàn)率(liquidityIndex)

從 HopeLend 進行閃電貸借入 2000 枚 WBTC。

目前的價值是 1 hETHWBTC = 1 WBTC。

按照正常的存取 ETHWBTC 換回 WBTC 的操作,是不會影響兌換比例(只有當收入了利息才會影響兌換比例,1 hETHWBTC 會獲得更多 WBTC)。

此時黑客開始通過一系列復(fù)雜操作,操縱貼現(xiàn)率:

黑客直接又將得到的 2000 枚 WBTC 通過直接轉(zhuǎn)賬(transfer)的方式轉(zhuǎn)移資金至 HopeLend 的 hEthWbtc 合約 ( 0×251…907),這一步并不是還貸。

黑客隨后取出(withdraw)之前步驟 1 中質(zhì)押(deposit)的絕大部分 WBTC(1999.999…),所以上一步才需要轉(zhuǎn)回 WBTC 以補充池子內(nèi)的資產(chǎn)。

最后黑客手上僅保留最小單位 (1e-8) 的 hEthWbtc,這里不能完全提完,是因為需要留下一點點,作為計算貼現(xiàn)率(liquidityIndex)時,會基于現(xiàn)有的加上新增的,如果清零的話,導(dǎo)致貼現(xiàn)率(liquidityIndex)變成 0,就不能讓池子里的比例失衡。

把上一步銷毀掉絕大部分 hEthWbtc 換回來的 wBTC,加上之前閃電貸剩余的 wBTC,歸還向 HopeLend 池子借出的閃電貸,共支付 2001.8 枚 WBTC( 其中包含利息 1.8 枚 wBTC)。

上面的過程銷毀掉大部分的 hEthWbtc,只留下 1 最小單位(1e-8)的 hEthWbtc 在黑客賬戶,這樣一來 hETHWBTC 總量就減少了,而借貸池里卻有 2001.8 枚 wBTC,此時的貼現(xiàn)率(liquidityIndex)達到驚人的 126,000,000。

這里涉及到一個知識,存款用戶的利息根本上來自池中流動性的增長,借貸池會根據(jù)存款率和使用率,動態(tài)調(diào)節(jié)借款和存款利率。

此處,當池子從閃電貸利息 (1.8WBTC) 獲得額外流動性時,百分之七十 (126,000,000) 被計入 liquidityIndex(liquidityIndex),這個數(shù)值用來計算每單位存款 (hEthWbt) 的貼現(xiàn)價值。

由于池子在黑客操作前為空,還款后 totalLiquidity 僅為 1,amount 是 126000000,初始 liquidityIndex 為 1,得出結(jié)果為 126000001。

繼續(xù)放大貼現(xiàn)率

黑客繼續(xù)從 HopeLend 進行閃電貸借入 2000 枚 WBTC,并每次歸還額外的 1.8 枚 WBTC,使得每次 LiquidityIndex 得以累加 126,000,000。

黑客重復(fù)執(zhí)行了 60 次該過程,最終 liquidityIndex 達到 7,560,000,001,攻擊者持有的 1 個最小單位的 hEthWBTC 貼現(xiàn)價值可達 75.6WBTC(約為 214 萬美元)。

這也就使得黑客操控了 hEthWBTC,使之價值失真。

掏空其他存在資金的借貸池,形成收益

攻擊者接著將 1 個最小單位的 hEthWBTC 為抵押,從 HopeLend 的其他五個代幣池借出了大量資產(chǎn)。

包括:

175.4 – WETH

145,522.220985 – USDT

123,406.134999 – USDC

844,282.284002229528476039 – HOPE

220,617.821736563540747967 – stHOPE

這些代幣被作為收益通過 Uniswap 兌換為 WBTC 和 WETH,扣除各種費用后,最終黑客獲利為約 263 枚 WETH(除去賄賂 payload 的 263.9 枚 WETH)。

為什么黑客可以從其他池子借走大量資金:

借款或取走存款時,借貸合約會檢驗用戶的抵押資產(chǎn)狀況,確保借出不超過抵押。

由于之前貼現(xiàn)率已被黑客操縱且貼現(xiàn)率會以 normalizedIncome 乘數(shù)計入抵押價值計算,其手中的一單位 hEthWBTC 抵押價值高達 75.6WBTC。

每一次從其他池借款,黑客都輕松通過了抵押資產(chǎn)校驗。

此時, 攻擊者總共在 HopeLend 投入了 2000+1.8*60 枚 WBTC 用于操縱 liquidityIndex,只留存了 1 單位的 hEtthWBTC。

利用關(guān)鍵漏洞點(整數(shù)除法錯誤)套現(xiàn)

為了取出之前的投入 wBTC,攻擊者部署了另一個攻擊合約:0x5a63e……844e74,并調(diào)用其中的 withdrawAllBtc() 方法:

漏洞過程如下

首先存入 151.20000002 枚 wBTC,根據(jù)當前的 liquidityIndex(1 最小單位 hEthWBTC=75.6wBTC),攻擊者獲得 2 個最小單位的 hEthWBTC。

取出(withdraw)113.4 個 wBTC,反算出其對應(yīng)的 hEthWBTC 份額,對 hEthWBTC 進行 burn 操作。

113.4 個 wBTC 需要銷毀 1.9999999998 最小單位的的 hEthWBTC,但是由于 div 函數(shù)精度問題,僅一個最小單位的 hEthWBTC 被銷毀,因此變成可被利用的漏洞,黑客仍可保留 1 個最小單位的 hEthWBTC。

關(guān)鍵漏洞

hEthWBTC 的 burn 方法調(diào)用了高精度除法 rayDiv。

此處:

a=11340000000(打算取出的 WBTC)

b=7560000001000000000000000009655610336(貼現(xiàn)率)

雖然 (a*1e27+b/2)/b = 1.9999999998,solidity 自帶的 div 方法截斷返回 1, 相當于 11340000000 / 7560000001 除法后小數(shù)位被截斷了。

0x5a63( 攻擊合約 – 套現(xiàn) ) 繼續(xù)存入 75.60000001WBTC 恰好又獲得 1 個最小單位 hEthWBTC,從而繼續(xù)持有 2 個最小單位 hEthWBTC。

如此循環(huán)取出 113.40000000wBTC,存入 75.60000001wBTC 的操作,每次攻擊者可以憑空獲取 37.8 枚 wBTC。

循環(huán) 58 次后,攻擊者取出了所有前期投入的 wBTC ,并順利歸還 Aave 的閃電貸。

結(jié)論

由于 hEthWBTC 借貸池未被初始化,攻擊者得以輕易操縱 liquidityIndex,將其增至極大,提現(xiàn)率作為除數(shù)極大放大后,由于整數(shù)除法的截斷誤差,使得取出之前的投入更容易在一個區(qū)塊內(nèi)實現(xiàn)。

在運轉(zhuǎn)良好的借貸池中,由于池中已有流動性,不容易因為少量的貸款利息增加而極大增加貼現(xiàn)率。

免責聲明:本文只為提供市場訊息,所有內(nèi)容及觀點僅供參考,不構(gòu)成投資建議,不代表本站觀點和立場。投資者應(yīng)自行決策與交易,對投資者交易形成的直接或間接損失,作者及本站將不承擔任何責任。!
Tag:HopeLend   借貸攻擊  

你可能感興趣的文章

幣圈快訊

  • 美媒曝特朗普暫停打擊伊朗內(nèi)幕

    2026-07-26 13:15
    7月26日,據(jù)美國《紐約時報》報道,美國總統(tǒng)特朗普目前已經(jīng)擱置了大幅升級對伊朗軍事打擊行動的計劃,特朗普擔憂,戰(zhàn)事的升級可能會危險地消耗五角大樓在中東地區(qū)已經(jīng)減少的“愛國者”反導(dǎo)攔截彈以及其他防空彈藥庫存。據(jù)報道,政府官員表示,攔截彈庫存面臨的壓力,是讓恢復(fù)大規(guī)模軍事行動變得極具風險的眾多因素之一。此外,特朗普及其高級顧問還對以下前景感到不安:中東戰(zhàn)事可能擴大、易受伊朗攻擊的關(guān)鍵海灣盟友可能疏遠、全球經(jīng)濟受到?jīng)_擊、以及能源和難民危機加劇。
  • 某巨鯨向Hyperliquid存入1000萬美元USDC增持CXMT空頭頭寸

    2026-07-26 12:55
    該錢包分兩筆完成存入,分別為800萬美元USDC和200萬美元USDC。目前該地址持有212.8萬枚CXMT空頭頭寸,價值約1310萬美元,未實現(xiàn)利潤約61.8萬美元。該地址歷史累計盈虧為+79.28萬美元。
  • SK海力士二季度利潤或創(chuàng)紀錄韓國存儲雙雄合計利潤有望破150萬億韓元

    2026-07-26 12:27
    7月26日,SK海力士將于29日公布第二季度業(yè)績,繼三星電子之后,預(yù)計SK海力士今年第二季度盈利也將創(chuàng)下新高。根據(jù)韓國金融信息機構(gòu)YonhapInfomax匯總的14家券商過去一個月發(fā)布的報告,SK海力士第二季度營收和營業(yè)利潤預(yù)計分別為84.0597萬億韓元和64.0899萬億韓元。第二季度營業(yè)利潤預(yù)期比去年全年47.2萬億韓元的營業(yè)利潤高出約17萬億韓元。加上今年第一季度37.6103萬億韓元的營業(yè)利潤,SK海力士僅上半年的營業(yè)利潤就將超過100萬億韓元。本月早些時候,三星電子也發(fā)布了初步業(yè)績報告,其DS部門表現(xiàn)強勁,營業(yè)利潤達到89.4萬億韓元。如果SK海力士的業(yè)績符合市場預(yù)期,兩家公司第二季度的合并營業(yè)利潤將超過150萬億韓元。
  • SK海力士Q2利潤或創(chuàng)紀錄韓國存儲雙雄合計利潤有望破150萬億韓元

    2026-07-26 12:07
    SK海力士將于29日公布第二季度業(yè)績,繼三星電子之后,預(yù)計SK海力士今年第二季度盈利也將創(chuàng)下新高。 根據(jù)韓國金融信息機構(gòu)YonhapInfomax匯總的14家券商過去一個月發(fā)布的報告,SK海力士第二季度營收和營業(yè)利潤預(yù)計分別為84.0597萬億韓元和64.0899萬億韓元。第二季度營業(yè)利潤預(yù)期比去年全年47.2萬億韓元的營業(yè)利潤高出約17萬億韓元。 加上今年第一季度37.6103萬億韓元的營業(yè)利潤,SK海力士僅上半年的營業(yè)利潤就將超過100萬億韓元。本月早些時候,三星電子也發(fā)布了初步業(yè)績報告,其DS部門表現(xiàn)強勁,營業(yè)利潤達到89.4萬億韓元。如果SK海力士的業(yè)績符合市場預(yù)期,兩家公司第二季度的合并營業(yè)利潤將超過150萬億韓元。
  • 若ETH跌破1788美元主流CEX累計多單清算強度將達4.48億美元

    2026-07-26 12:00
    據(jù)Coinglass數(shù)據(jù)顯示,若ETH跌破1,788美元,主流CEX累計多單清算強度將達4.48億美元。反之,若ETH突破1,960美元,主流CEX累計空單清算強度將達3.7億美元。
  • 查看更多
更多

熱門幣種

  • 幣種
    最新價格
    24H漲跌幅
  • bitcoin BTC 比特幣

    BTC

    比特幣

    $ 64524.91¥ 436846.54
    +0.57%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 1885.73¥ 12766.76
    +1.32%
  • tether USDT 泰達幣

    USDT

    泰達幣

    $ 0.999¥ 6.7634
    +0%
  • binance-coin BNB 幣安幣

    BNB

    幣安幣

    $ 570.84¥ 3864.7
    +0.92%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 1.0008¥ 6.7756
    +0%
  • ripple XRP 瑞波幣

    XRP

    瑞波幣

    $ 1.1018¥ 7.4594
    +0.75%
  • solana SOL Solana

    SOL

    Solana

    $ 75.0363¥ 508.01
    +1%
  • tron TRX 波場

    TRX

    波場

    $ 0.3313¥ 2.2429
    +0.39%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 58.5701¥ 396.53
    +1.93%
  • dogecoin DOGE 狗狗幣

    DOGE

    狗狗幣

    $ 0.073127¥ 0.495
    +4.99%
会理县| 惠州市| 姚安县| 鲁甸县| 临湘市| 威远县| 老河口市| 离岛区| 泗阳县| 政和县| 建始县| 剑河县| 涿州市| 银川市| 神木县| 海兴县| 米易县| 沂源县| 望江县| 太保市| 夏邑县| 繁峙县| 绥江县| 巴彦县| 德庆县| 金平| 金溪县| 城固县| 金山区| 绥宁县| 阿拉尔市| 缙云县| 连平县| 泰兴市| 聂拉木县| 灌云县| 津市市| 红原县| 靖州| 闻喜县| 乾安县|