不正資金フローのケーススタディLI.FI攻撃

LiFi攻撃のケーススタディでは、オンチェーン資金追跡・調査ツールであるMetaSleuthを使用して盗まれた資金を追跡し、攻撃の影響と資金の流れを明確に把握しました。

不正資金フローのケーススタディLI.FI攻撃

不正資金フローのケーススタディLI.FI 攻撃

ケースの背景

2024年7月16日、クロスチェーンブリッジおよびDEXアグリゲータであるLi.Fiは、Li.Fi Diamond Contractを悪用した重大なセキュリティ侵害に見舞われた。様々な安定したトークンや他の資産、およそ$11.6mathrm{M}$がユーザーから盗まれた。攻撃者は、攻撃された契約に無限承認を与えたユーザーから資金を流出させることができた。

脆弱性は GasZipFacet 契約の function depositToGasZipERC20() にあった。GasZipFacetコントラクトは攻撃の5日前にLI.FIチームによって配備され、ブリッジング・トランザクションのガス給油を可能にしていた。関数 depositToGasZipERC20()にはユーザーが制御する引数_swapDataが含まれており、この引数は後に関数LibSwap.swap() に渡された。不幸なことに、LibSwap.swapには、攻撃者が制御する引数_swapData` によって指定された呼び出し先と呼び出しデータで任意の関数を実行できる低レベルの呼び出しが含まれていた。攻撃者はこの「任意の呼び出しの脆弱性」を利用して、Li.Fiダイヤモンド契約に無限承認を与えたユーザーから不正な転送を実行した。

マネーフロー分析

2024年7月16日、攻撃者は任意の呼び出しの脆弱性を悪用した約100件のトランザクションを開始し、30分以内に約$1100万ドル相当の安定したトークン(USDT、USDC、DAI)をアドレス0x8b3cに送金した。その後、吸い上げられた安定型トークンのほぼすべてが、イーサリアムネイティブトークンのETHに素早く交換された。攻撃者が利用したDEXには、Uniswap、Metamask Swapなどがありました。スワップ取引の例0xdf9b, 0x11d, 0xb4a4.

0x8e27](https://etherscan.io/tx/0x8e27acf21089de72cd927e2efc44d99af9494d56c21fd49eaf0c5b7e56e7316e) とMetamask Swap Spenderとのスワップ取引における資金の流れの例。攻撃者は不正に取得した333,258USDTを97.16ETHにスワップした。すべてのプールとプロキシは、MetaSleuthを使用して明確に表示されます。

攻撃から2時間以内に、盗まれた資産はすべて攻撃者が管理するダウンストリームアドレスに転送され、元の攻撃アドレスには何も残っていません。アドレス0x8b3cに直接接続されている(つまり、元の攻撃アドレスから1ホップ離れている)ダウンストリームアドレスは合計32個ある。このうち、15個のアドレスが攻撃アドレスから0.1ETHしか受信していない。2024年10月22日現在、これら15のアドレスが保有するETHは送金されていません。残りのアドレスは、大量の不正資金の残りを処理した。

資金の一部は被害者アドレスから攻撃者が管理するダウンストリームアドレスに流れている:

アドレス0x8b3cから1ホップ離れたダウンストリームアドレスに不正資金を送金した後、攻撃者はさらに資金の移動を一括して開始した。この送金(ロンダリング)プロセスは3カ月近く続いた。不正な資金のほぼすべてが最終的にTornado Cashに移動され(99.9%)、ごく一部は直接キャッシュアウトするために取引所eXchに送られた。攻撃者がTornado Cash Routerとのやりとりに使用したトランザクションは全部で114件あった。Examples of transactions moving illicit gains to Tornado Cash: 0x07de, 0xfe82, 0x6a47, 0x8ea6.不正な利益をeXchに移す取引の例:0xaa89, 0x7e65, 0x8572, 0x625c, 0x2dd2, 0xda71.

資金の一部は、レイヤー2アドレス(元の攻撃アドレス0x8b3cから2ホップ離れている)からレイヤー4アドレスに流れる:

(https://blocksec-static-resources.s3.us-east-1.amazonaws.com/assets/frontend/blocksec-strapi-online/LIFI_5_7a6089a2fb.png)

最初の大規模な送金バッチは、攻撃後1週間以内、7月16日から7月22日の間に発生した。攻撃者は約$500mathrm{k}$相当の不正資産をAddress 0x6a6dからTornado Cashに送金した。攻撃者の不正資金移動には明確な特徴があり、攻撃アドレス(高リスクアドレス)から遠く離れたダウンストリームアドレスに資金を移動させ、徐々にトルネードキャッシュに一部を流した。最初のバッチでは、最長の送金経路は20ホップに達した。攻撃者は不正な資金の流れを不明瞭にするために、極めて深いロンダリング経路を利用した。8月から10月にかけて、残りの不正資金は同じ特徴を持つ送金バッチで徐々にトルネードキャッシュに送金された。

アドレス0x8e850x8b3cから1ホップ)からトルネードキャッシュのルーターに資金を移動する送金バッチの例:

(https://blocksec-static-resources.s3.us-east-1.amazonaws.com/assets/frontend/blocksec-strapi-online/LIFI_0_528bfc73cc.png)

図が示すように、2024 年 8 月 13 日から 8 月 16 日の間に、攻撃者は 206 ETH を 12 ホップの経路でトルネードキャッシュに徐々に送金した。アドレス0xe9f7で、攻撃者は204 ETHを2つのトランザクションに分割した:100ETHはTornado Cashに送られ、104ETHはさらなるロンダリングアドレスに転送された。この分割パターンは送金プロセス全体を通して一貫していました。つまり、攻撃者は Tornado Cash を含む各インタラクションで、より深い新しいアドレスを使用していました。

戦闘努力

攻撃の2日後、LI.FIは公式にインシデントレポートを発表し、すべてのチェーンで脆弱な契約ファセットを無効にし、それ以上の不正アクセスを防ぐことに成功したと主張した。LI.FIは補償プランを開始し、影響を受けたユーザーに全額を返済した。 吸い上げられた資産の回収については、法執行当局や業界のセキュリティチームを含む関連する第三者と引き続き協力し、流出した資金を追跡して回収を試みると主張した。2024年10月22日現在、不正資金のほぼすべてがトルネードキャッシュに送金されており、Li.Fiはまだ追跡報告書を発表していない。

関連する住所と取引の一部

| 住所|取引|不正な資金の流れ | :----------------------------------------:| :----------------------------------------------------------:| :----------------------:| | 0x8e85eace2fa757c1d97c5ebfb8b0622e5f23c5a1 | 0xe237, 0x0d23 | 206.49 ETH | | 0xcb7c341dc6172b642dcf4a14015be70a27e5b31e | 0x050c, 0x37d4| 873,568 usdt + 36.48 eth | 0x7b93fa16c04cdcf91949d4f5f893f740992ae57e | 0x57ea, 0x52ac | 332.02 ETH | 332.02 ETH | 0x3462d2523cded523ad47c14111aa1dcbe7773675 | 0xc66d, 0xc0ff| 120.55 ETH | 0xd0be9c4c84068a9964c3781f540f703c300db268 | 0x0c3b, 0x1670 | 275.38 ETH |

ファンドフローの概要

See more in MetaSleuth: https://metasleuth.io/result/eth/0x14c1597cc833783ed8ac08ecc9b704b0a398201d?source=c8cd3609-0402-45eb-bb9e-2f710bd66554

Sign up for the latest updates