不正資金流出事件:LI.FI 攻撃

LiFi攻撃事例では、オンチェーン資金追跡・調査ツール「MetaSleuth」を使用し、盗難資金を追跡。攻撃の影響と資金の流れを可視化しました。

不正資金流出事件:LI.FI 攻撃

不正資金流動のケーススタディ:LI.FI 攻撃

事件の背景

2024年7月16日、クロスチェーンブリッジおよびDEXアグリゲーターであるLi.Fiが、Li.Fi Diamond Contractを悪用した大規模なセキュリティ侵害を受けました。ユーザーの様々なステーブルトークンやその他の資産、約1160万ドル相当が盗難されました。攻撃者は、攻撃されたコントラクトに無制限の承認を与えていたユーザーから資金を引き出すことに成功しました。

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

資金フロー分析

2024年7月16日、攻撃者は約1億ドルのステーブルトークン(USDT、USDC、DAI)を、30分以内にアドレス0x8b3cに送金する、任意の呼び出し脆弱性を悪用した約100件のトランザクションを開始しました。盗まれたステーブルトークンのほとんどは、すぐにイーサリアムネイティブトークンであるETHに交換されました。攻撃者が利用したDEXには、Uniswap、Metamask Swapなどが含まれます。スワップトランザクションの例: 0xdf9b, 0x11d, 0xb4a4

Metamask Swap Spenderとやり取りするスワップトランザクション0x8e27内の資金フローの例。攻撃者は、不正に取得した333,258 USDTを97.16 ETHに交換しました。すべてのプールとプロキシは、MetaSleuthを使用して明確に表示されています。

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

被害者アドレスから攻撃者が管理する下流アドレスへの資金フローの一部:

不正な資金を0x8b3cから1ホップ離れた下流アドレスに転送した後、攻撃者はさらに資金をバッチで移動させ始めました。転送(マネーロンダリング)プロセスは、約3ヶ月間続きました。不正な資金のほぼすべてが最終的にTornado Cashに(99.9%)移動され、少額は取引所eXchに直接現金化のために送られました。攻撃者がTornado Cash Routerとやり取りするために使用したトランザクションは、合計114件でした。Tornado Cashへの不正な利益の移動トランザクションの例: 0x07de, 0xfe82, 0x6a47, 0x8ea6。eXchへの不正な利益の移動トランザクションの例: 0xaa89, 0x7e65, 0x8572, 0x625c, 0x2dd2, 0xda71

レイヤー2アドレス(元の攻撃者アドレス0x8b3cから2ホップ離れた)からレイヤー4アドレスへの資金フローの一部:

最初の大規模な資金移動バッチは、攻撃の最初の週、7月16日から7月22日の間に行われました。攻撃者は、アドレス0x6a6dからTornado Cashに約50万ドルの不正資産を転送しました。攻撃者の不正資金の移動は、明確な特徴を示していました。資金を攻撃者アドレスから離れた下流アドレス(高リスクアドレス)に移動させ、徐々に一部をTornado Cashに流していました。最初のバッチでは、最長の転送パスは20ホップに達しました。攻撃者は、不正な資金フローを不明瞭にするために、非常に深いマネーロンダリングパスを使用しました。8月から10月にかけて、残りの不正資金は、同じ特徴を持つ転送バッチで徐々にTornado Cashに転送されました。

アドレス0x8e850x8b3cから1ホップ)からTornado Cash Routerへの資金移動バッチの例:

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

対策

攻撃から2日後、LI.FIはインシデントレポートを正式に公開し、すべてのチェーンで脆弱なコントラクトファセットを正常に無効化し、さらなる不正アクセスを防いだと主張しました。LI.FIは補償計画を開始し、影響を受けたユーザーに全額返金しました。盗まれた資産の回収については、捜査当局および業界のセキュリティチームを含む関連する第三者と連携を続け、不正に引き出された資金を追跡し、回収を試みると主張しました。2024年10月22日現在、不正な資金のほぼすべてがTornado Cashに転送されており、Li.Fiは追跡レポートをまだ公開していません。

関連アドレスとトランザクションの一部

アドレス トランザクション 不正資金フロー
0x8e85eace2fa757c1d97c5ebfb8b0622e5f23c5a1 0xe237, 0x0d23 206.49 ETH
0xcb7c341dc6172b642dcf4a14015be70a27e5b31e 0x050c, 0x37d4 873,568 USDT + 36.48 ETH
0x7b93fa16c04cdcf91949d4f5f893f740992ae57e 0x57ea, 0x52ac 332.02 ETH
0x3462d2523cded523ad47c14111aa1dcbe7773675 0xc66d, 0xc0ff 120.55 ETH
0xd0be9c4c84068a9964c3781f540f703c300db268 0x0c3b, 0x1670 275.38 ETH

資金フローの概要:

MetaSleuthでさらに確認: https://metasleuth.io/result/eth/0x14c1597cc833783ed8ac08ecc9b704b0a398201d?source=c8cd3609-0402-45eb-bb9e-2f710bd66554

Sign up for the latest updates