貿易
貿易
攻撃者は攻撃を実行するために 3 つのトランザクションを実行しました。
https://bscscan.com//tx/0xe13ec0941580d3c286b46fa6566f20195bdd52b3d65fc7ff4a953a8fc774c6c4
https://bscscan.com//tx/0xe5c89e9ac217e4e16c2399f3597f7b5fbb73b45c1d3360788ee51ea2561def3a
https://bscscan.com//tx/0x8693a95f8481ba02ceaabed8e95b4e1eb8ac589c69c027c96b12ac5295714c3f
アタッカー
攻撃者のアドレスは[0xa1e31b29f94296fc85fac8739511360f279b1976]
攻撃契約
攻撃契約は [0x1d448e9661c5abfc732ea81330c6439b0aa449b5] この契約は、攻撃前日の 2023 年 6 月 30 日に攻撃者によって展開されました。このコントラクトには、さまざまなパラメーターを指定して V 3 Migrator コントラクトを呼び出す単純なロジックが含まれています。
攻撃された契約
攻撃された契約は [0x839b0afd0a0528ea184448e890cbaaffd99c1dbf攻撃ステップ
攻撃ステップ
攻撃者は、V 3 Migrator コントラクトの欠陥を悪用し、移行機能のパラメータを改ざんできるようにしました。攻撃手順は次のとおりです。
被害者は、Biswap V 3 Migrator コントラクトに対する LP トークンを承認しました。
攻撃者は被害者の V 2 LP トークンを焼き付け、偽のトークンで V 3 の流動性を追加しました。このステップでは、V 2 LP のトークン 0 とトークン 1 はまだ V 3 Migrator コントラクト内にあります。
攻撃者は偽の V 2 LP トークンをバーンし、V 2 LP のトークン 0 とトークン 1 で V 3 流動性を追加し、V 3 流動性の追加に使用されなかった余剰のトークン 0 とトークン 1 は攻撃者に返送されました。同時に、このステップにおける V3 の流動性も攻撃者のものになります。
根本的な原因
攻撃の根本原因は、Biswap V2 から Biswap V3 に移行する際に、Biswap の V3 Migrator 契約に検証パラメータがなかったことです。具体的には、契約には次のような重要な問題があります。
コントラクトでは、トークン 0 およびトークン 1 のパラメーターが V 2 LP トークン内の実際のトークンと一致するかどうかは検証されません。
この問題により、攻撃者は移行機能に偽のトークンと金額を渡し、V 3 Migrator コントラクトへの LP トークンを承認したユーザーから本物のトークンを盗むことが可能になりました。
Key Code
破損した資産
攻撃者 [0xa1e31b29f94296fc85fac8739511360f279b1976] は最大 140,000 ドルの資産を違法に入手
資本の流れ
攻撃者はBNBドルと引き換えに流動性を引き出す
最終的に、攻撃者はマネーロンダリングのために 603 BNB を Tornadocash に送金しました。
PoC
https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/Biswap_exp.sol
安全上のアドバイス
結論はhttps://bscscan.com/tokenapprovalchecker
結論は
Biswap への攻撃はその典型であり、BSC の DEX の脆弱性を利用した偽トークン攻撃により、ユーザーやプロジェクト関係者から資金が搾取されました。この攻撃はまた、ユーザーの資金を扱うコントラクトのパラメーターと残高を検証することの重要性を強調しており、ユーザーはサードパーティのコントラクトにトークンを認可する際にも注意し、使用する前にコントラクトのソースコードと監査レポートを確認する必要がある。この攻撃に対応して、Biswap は次の 2 つの対処戦略もすぐに採用しました。
攻撃者が LP トークンにアクセスできないように、V 3 Migrator 契約に対する認証をできるだけ早く取り消すようユーザーに要求します。
V3 への移行を促進し、LP トークンの移行の利点をユーザーに通知する自身のツイートを削除します。
この攻撃が時間内に阻止されなかった場合、攻撃者は偽のトークンを使用してすべての流動性を Biswap V2 から Biswap V3 に移行できるため、Biswap のすべての移行契約は数千万ドルの損失を被ることになります。これは Biswap とその取引に有害です。ユーザーにとっては壊滅的な打撃であり、BSC での DEX の開発にとっては深刻な後退となるでしょう。
