チームファイナンスがハッキングされる分析|ハッカーは「真実を隠す」ために独自のトークンを構築し、1,450万ドルを引き出すことに成功

Okey Cloud チェーンのセキュリティチームの監視によると、2022 年 10 月 27 日、ETH チェーンの Team Finance プロジェクトがハッカーによって攻撃され、攻撃の契約上の抜け穴に加えて、事故の原因は次のとおりでした。 Uniswap V3 の移行契約が厳密に実施されなかったことも、損失の主な原因の 1 つです。

編集|リトルオー

分析|Chain Guardianチーム

10月27日、2020年に設立されたTeam Financeは公式Twitterで、Uniswap v2からv3への移行中に同プロトコルで管理されている資金がハッキングされ、1450万ドルの損失が発生したと発表した。

インシデントの直後、Okey Cloud チェーン ガード チームは、200 TB を超えるオンチェーン データ リザーブを利用してデータを迅速に追跡し、ハッカーのアドレスを分析し、チェーン上の損失状況がさらに悪化するのを避けるために、公式チャネルを通じてチーム ファイナンスの分析結果を速やかにフィードバックしました。拡張されました。

 

画像出典:ツイッター

Team Finance のセキュリティ インシデントのレビュー

攻撃は、2022 年 10 月 27 日の 07:22:35 に最初に発生したと報告されています。ハッカーは攻撃コントラクトを作成して攻撃トークンを作成し、その後、lockToken を呼び出す攻撃コントラクトを実行し、08:29 にコントラクトを実行しました。 :23. 攻撃トランザクションを開始します。 

画像ソース: OKLink マッピング

Chain Guard セキュリティ チームの分析によると、攻撃を受けているプロジェクト パーティの Uniswap V2 プールには、CAW (1,150 万ドル)、TSUKA (170 万ドル)、KNDX (70 万ドル)、および FEG (190 万ドル) が含まれています。

ブロックチェーンチェーン上のデータの追跡可能性と改ざん不可能な特性に基づいて、チェーンガードチームはチェーン上の追跡結果をチャートの形式で表示し、ハッカーの資金の流れ図を通じて、ユーザーはハッカーのダイナミクスを明確に理解できます。彼らが資金を盗んだ後。

 画像ソース: OKLink マッピング

Team Financeのハッキング手法レビュー

トランザクション全体の流れを攻撃する 

#ステップ1:

攻撃者は、Team Finance のプロキシ契約を通じて攻撃パラメーターを入力します。

資金を盗もうとする人物: 移行する必要がある通貨ペア FEG-WETH

取得された通貨ペアは、ハッカーによって作成された無価値の token0: 0x2d4abfdcd1385951df4317f9f3463fb11b9a31df と、価値のある token1: WETH です。

二人の矛盾が契約攻撃の根本原因だ!

このステップでは、ハッカーはまず lockToken を使用して攻撃トークンをロックし、lockedToken 変数にロックの詳細情報が記録されます。ロックの詳細情報は、キー フィールドがdrawAddressであり、その後の移行の許可判定を満たすことができます。

 #ステップ2:

上記の LP と入力パラメーターのトークンが一致しず、noLiquidity パラメーターが true であるため、Uniswap V3 で token0 と WETH の流動性プールが作成されます。

#ステップ3:

Uniswap V3 は、v3Migrator.merge メソッドを呼び出して、FEG-WETH 流動性ペアを移行します。

このステップでは、Uniswap V3 Migrator コントラクトは、Team Finance から渡されたパラメータを受け取った後に Uniswap V2 LP を移行し、LP を書き込み、基礎となる資産 $FEG と $WETH を取得します。変換パラメータによると、1% だけがV3 プール、残りの 99% は送信側コントラクトに返され、Team Finance はトークン (601 ETH) を攻撃側コントラクトに返します。

ステップ3ステップ分解

ハッカーは、Team Finance のコントラクトを呼び出して LP 移行を実行し、手順 1 で準備したdrawAddress を使用して msgSender と照合し、権限チェックに合格します。

Team Finance の移行ロジックはトランザクション ID と移行パラメーターの関係をチェックしないため、ハッカーが上記の検証に合格した後、実際の移行はハッカーによって入力されたパラメーターになります。

このパラメーターで指定された移行は、ハッカーのロックアップ トークンとは関係のない FEG-WETH トランザクション ペアであり、移行量は Team Finance が保持するすべての LP (FEG-WETH) ですが、パラメーターでは移行 1 のみが指定されています%。

#ステップ4:

さらに、同じ方法が他の 3 つの流動性プールへの攻撃にも使用されました。

チームファイナンスイベントの概要

本稿執筆時点で、ハッカーは関与した4つのトークンとETHおよびUSDCを関連プロジェクト関係者に返却しており、総額約1,340万ドルとなっている。

この攻撃では、脆弱性の本質的な原因は、入力パラメータの検証ロジックに問題があることですハッカーは、価値のないトークンをロックすることで、移行インターフェイスを呼び出す許可を取得しました。Uniswap V3 の移行をさらに呼び出すパラメータはハッカーによって完全に入力され、その結果、コントラクトから他の LP アセットが移行されます。Uniswap V3 の移行プロセスと組み合わせると、すべての LP アセットが最初に書き込まれ、次に入力パーセンテージに従って移行されます。残りの資産は返されるため、ハッカーは資産の 1% を移行するだけで残りの 99% を盗むことができます。

全体として、チェーンのセキュリティには小さな問題はありません。Okey Cloud チェーンは、重要な機能のパラメータ検証を慎重にチェックする必要があることを再度思い出させます。プロジェクトがオンラインになった後のセキュリティ リスクを最大限に回避するために、プロジェクトがオンラインになる前に総合的な監査スクリーニングを実施するために、Chain Guard と同様の専門のセキュリティ監査チームを選択することをお勧めします

おすすめ

転載: blog.csdn.net/weixin_42056967/article/details/127658774