Slow Mist MistEye セキュリティ監視システムの早期警告によると、2024 年 3 月 14 日、Optimism チェーン上の分散型融資プロトコル MOBOX が攻撃されました。 、約75万ドルの損失を引き起こします。 SlowMist セキュリティ チームは攻撃インシデントを分析し、結果を次のように共有しました:
(https://twitter.com/SlowMist_Team / status/1768167772230713410)
攻撃者のアドレス:
0x4e2c6096985e0b2825d06c16f1c8cdc559c1d6f8
0x96f004c81d2c7b907f92c45922d38ab870a53945
攻撃された契約アドレス:
0xae7b6514af26bcb2332fea53b8dd57bc13a7838e
攻撃トランザクション:
##0x4ec3061724ca9f0b8d400866dd83b92647ad8c943a1c0ae9ae6c9bd1ef789417この攻撃の核心は 2 つあります。1 つは、攻撃者がコントラクト内のborrow() 関数の脆弱性を悪用することです。この関数は、推奨者のアドレスへの報酬の配布をトリガーします。報酬の計算は転送されたトークンの数に基づいて行われるため、攻撃者は紹介者に報酬を攻撃対象のコントラクトに再度転送することで、次の借入額を増やすことができます。 2 つ目は、borrow() 関数が呼び出されるたびに、プール内の MO トークンの一部が燃やされるため、MO トークンの価格が継続的に上昇し、最終的に攻撃者は借入を継続することで利益を得ることができます。報酬を重ね合わせる。 攻撃プロセス全体では、主に脆弱なborrow()関数をループ内で呼び出し、その後直ちに呼び出していることがわかります。 redeem() を呼び出すと償還が実行され、リファラーに割り当てられたトークンが攻撃コントラクトに転送されます。 borrow() 関数の分析を続けると、この関数が呼び出されるたびに、MO トークンの一部がプールが焼けてしまいます。 # ただし、USDT の貸し出し量は、プール内の MO トークンの価格に基づいて計算されます。継続的な増加により、攻撃者は最終的に少量の MO トークンを使用して大量の USDT トークンを貸し出すようになりました。 さらに、ローンを借りるたびに、紹介者アドレスに配当報酬が与えられます。この機能は、融資の数に基づいています。 MO トークンが渡されました。計算上。 ただし、推奨アドレスも攻撃者 (0x96f004c81d2c7b907f92c45922d38ab870a53945) によって制御されているため、攻撃者はローン操作の完了後にこの部分に報酬を与えることができます。それを元に戻して、次回の借入額と配当特典を重ね合わせます。 上記のサイクル操作の後、攻撃者は MO トークンの価格をつり上げ、最終的には非常に少数の MO トークンを使用して多額の資金を貸し付けることができました。契約金額のUSDTを指定し、アンバランスプール内のすべてのUSDTを直接交換して利益を出します。 この攻撃の核心は、攻撃者がborrow()関数を使用して、プールを燃やす 中間の部分トークンのメカニズムは、資産を継続的に借用してプール内のトークンの価格を上昇させ、参照者の報酬を取得し、その後トークンを転送して再度借用することで、継続的に報酬を追加し、価格を操作します。 SlowMist セキュリティ チームは、プロジェクト関係者に対し、同様の機能にロックアップ時間制限を追加し、融資の価格モデルを設計する際に複数の要素を考慮して、同様のインシデントが再び発生するのを避けることを推奨しています。 攻撃の核心
トランザクション分析
概要
以上がレビュー: MOBOX ハッキングされた分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。