不正な資金フローのケーススタディ - Li.Fi攻撃

LiFi攻撃のケーススタディでは、盗まれた資金を追跡し、攻撃の影響と資金の流れを可視化するために、オンチェーンマネートラッキングと調査ツールとしてMetaSleuthが使用されています。

不正な資金フローのケーススタディ - Li.Fi攻撃

イベントの背景

2024年7月16日、有名なクロスチェーンブリッジであり分散型取引所のアグリゲーターであるLi.Fiが大規模なセキュリティ攻撃を受けました。ハッカーはLi.Fi Diamond Contractを悪用し、そのユーザーの約1160万ドル相当の暗号通貨資産(複数の安定コインを含む。)が盗まれた。攻撃された契約に対して無制限の承認操作を行ったユーザーのアドレスは、ハッカーによってほぼ完全に流出した。

この攻撃で悪用される脆弱性は GasZipFacet 契約の depositToGasZipERC20() [関数] (https://etherscan.io/address/0xf28a352377663ca134bd27b582b1a9a4dad7e534#) に存在します。コード)に存在する。この関数は攻撃のわずか5日前にLi.Fiチームによってデプロイされた。関数 depositToGasZipERC20 はユーザー制御のパラメータ _swapData を受け取り、このパラメータは後に関数 LibSwap.swap() の呼び出しに渡された。不運なことに、関数 LibSwap.swap() には、任意の関数呼び出しを実行できる呼び出しプロシージャが含まれており、この呼び出しプロシージャの呼び出し先と呼び出しパラメータは、攻撃者の制御下にある _swapData によって完全に制御される。ハッカーはこの「任意の呼び出しの脆弱性」を利用して不正な送金を開始し、Li.Fi Diamond Contractに対して無制限の承認操作を行ったユーザーのアドレスからすべての資金を流出させることに成功した。

Metasleuth を使用した資金フローの分析

2024年7月16日、攻撃者は約100件のトランザクションを開始し、攻撃されたコントラクトの「攻撃されたコントラクトの恣意的な呼び出し」(https://etherscan.io/tokentxns?a=0x8b3cb6bf982798fba233bca56749e22eec42dcf3&p=4)をトリガーした。攻撃されたコントラクトの「脆弱性」を利用し、被害者の口座アドレスに蓄積された約1160万ドルの安定コイン(USDC、USDT、DAIなど)を30分以内に送金した。ハッカーはUniswap、Metamask SwapなどのDEXを使用した。スワップ取引の例は以下の通り: 0xdf9b, 0x11d, 0xb4a4.

以下は、Metamask を利用した攻撃者主導のスワップ・トランザクション 0x8e27である。Swap Spender](https://etherscan.io/address/0x74de5d4fcbf63e00296fd95d33236b9794016631).攻撃者は不正に入手した333,258USDTを97.16ETHに変換しています。 Metasleuthを使用すると、すべてのトークンスワッププールとアグリゲーションエージェントを含むトランザクション内のお金の流れをはっきりと見ることができます。

攻撃から2時間以内に、盗まれたすべての資産は、攻撃トランザクション0x8b3cの最初の攻撃アドレスの送信に使用された攻撃者が管理するダウンストリームアドレスに転送されました。0x8b3cb6bf982798fba233bca56749e22eec42dcf3)には盗まれたトークンはもはや含まれていません。0x8b3c](https://etherscan.io/address/0x8b3cb6bf982798fba233bca56749e22eec42dcf3)に直接接続されているアドレス(つまり、最初の攻撃アドレスから1ホップ離れているアドレス)は32個あり、そのうち15個は盗まれた資金のうち0.1ETHしか受け取っていません。を受け取った。2024年10月23日まで、これらのアドレスからは少量のETHが送金されずに残っていた。残りの17のアドレスは、残りの盗まれた資金の大半のロンダリングを処理した。

下図は、被害者アドレスの一部から攻撃者が管理するダウンストリームアドレスへの資金の流れを示しています:

![https://blocksec-static-resources.s3.us-east-1.amazonaws.com/assets/frontend/blocksec-strapi-online/LIFI_2_0ae33c68ab.png

不正な資産を最初の攻撃アドレス0x8b3cから1ホップ離れたアドレスに移動させた後、ハッカーはこれらのアドレスから盗んだ資金をロンダリングし、一括して送金し始めた。マネーロンダリングの送金プロセスはほぼ3カ月間続き、最終的に不正資金のほぼすべて(99%以上)がTornado Cashに送金され、残りの少額の闇資金は取引所eX8b3cに送金された。は取引所eXchに送金され、直接現金化された。合計で、ハッカーはトルネード・キャッシュとやりとりするために114の取引を開始した。不正資金をトルネードキャッシュに送金した取引の例: 0x07de0xfe82, 0x6a47, 0x8ea6; eXch に不正資金を送金するトランザクションの例: 0xaa89, 0x7e65, 0x8572, 0x625c, 0x2dd2, 0xda71.

次の図は、レイヤ 2 のマネー・ロンダリング・アドレス(最初の攻撃アドレスから 2 ホップ)からレイヤ 4 のマネー・ロンダリング・アドレス(最初の攻撃アドレスから 4 ホップ)への資金の移動経路の一部を示している:

最初の大規模な送金は、攻撃から1週間以内、7月16日から7月22日の間に発生した。攻撃者は0x6a6dのアドレスからトルネードキャッシュに約50万ドル相当の不正な資産を送金した。攻撃者の不正な資金移動は次のようなパターンを示した。攻撃者の不正な資金移動は明確なパターンを示していた。攻撃アドレスから遠く離れた下流のアドレス(リスクの高いアドレス)に資金を移動させ、資金の一部を徐々にトルネードキャッシュに入金していったのである。攻撃者は不正な資金の流れを隠すために極めて深いマネーロンダリング経路を使用した。8月から10月にかけて、残りの不正資金は同じ特徴を持つバッチでトルネード・キャッシュに徐々に送金された。

送金バッチの一例として、ハッカーはアドレス0x8e85(アドレス0x8b3cからの距離)を移動させた。アドレス/0x8b3cb6bf982798fba233bca56749e22eec42dcf3)からワンホップ離れている)で闇金がトルネード・キャッシュに送金された場合、上記のような特徴が見られる:

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

公式対策と現在の進捗状況

攻撃から2日後、LI.FIは公式にインシデントレポートを発表し、同じ攻撃を受けた可能性のあるチェーン上のすべての契約モジュールを無効にすることに成功し、ユーザーアドレスへのさらなる不正アクセスをすべて防ぐことができたと主張した。LI.FIは補償計画を開始し、影響を受けたユーザーに全額補償した。盗まれた資産の回収に関しては、法執行機関および業界内のセキュリティ・チームを含む関連する第三者と協力し、盗まれた資金を追跡し、回収を試みていくことを表明している。2024年10月22日現在、不正資金のほぼすべてがトルネードキャッシュに送金されているが、Li.FIはまだトレーサビリティ報告書を発行していない。

マネーロンダリングに関連する住所と取引の一部

| 住所|取引|違法な資金の流れ | :----------------------------------------: | :----------------------------------------------------------: | :----------------------: | | 0x8e85eace2fa757c1d97c5ebfb8b0622e5f23c5a1 | 0xe2370xe2379835bfd6985949e741562d23e1e3fae892546d7a7d68c3812e1319f26415), 0x0d23 | 206.49 ETH | | 0xcb7c34348) | 0xcb7c341dc6172b642dcf4a14015be70a27e5b31e | 0x050c, 0x37d4 | 873,568 USDT + 36.48 ETH |. | 0x7b93fa16c04cdcf91949d4f5f893f740992ae57e | 0x57ea0x57eaa1a8acf151230f19c38a1c8470d93baf7341e45ddcb20cf7d586332cf992), 0x52ac | 332.02 ETH | | 0x3462d252c2a235698f4a6238005d90d1364be6b62aa0f1595406bc07ab20260) | 0x3462d2523cded523ad47c14111aa1dcbe7773675 | 0xc66d, 0xc0ff | 120.55 ETH |. | 0xd0be9c4c84068a9964c3781f540f703c300db268 | 0x0c3b, 0x1670 | 275.38 ETH||為替レート

Using Metasleuthを使用して、詳細な送金フロー図を作成する:

Metasleuthで不正な資金の流れ全体を詳細に調べる: https://metasleuth.io/result/eth/0x14c1597cc833783ed8ac08ecc9b704b0a398201d?source=c8cd3609-0402-45eb-bb9e-2f710bd66554

Sign up for the latest updates