投稿者: シシケ
背景
SlowMist セキュリティ チームの情報によると、2024 年 4 月 24 日、BSC チェーン上の YIEDL プロジェクトが攻撃され、攻撃者は約 30 万米ドルの利益を得ました。 SlowMist セキュリティ チームは攻撃インシデントを分析し、その結果を次のように共有しました。
https://twitter.com/SlowMist_Team/status/1782962346039898473
関連情報
攻撃者のアドレス:
0x322696471792440499b1979e0a440491e870667a
攻撃された契約アドレス:
0x4edda16ab4f4cc46b160abc42763ba63885862a4
部分的な攻撃トランザクション:
0x49ca5e188c538b4f2efb45552f13309cc0dd1f3592eee54decfc9da54620c2ec
0x3629ad588ac120163792e92b6c43bd4bdc5bf35cac66eb7f3a0267df93abc849
0x0a89b8670c40b4067b9522a5933c3bf8c44c968103aa642b04c65d49ad9e6457
0x5e468cba495e5f6165418fb9d87d824309c54261055425f33f588dd3b3abbcea
0x8710034dadecfc8c26f651c612f613fffdece6e2f9957b9ec8ab843218168c1d
0x9da398ed274c8cfa774b36003fa8c930d3430d0fc5889b5008830fd6463f68a9
0x2e3d4332f66a334e0170187011ed673dc222f95bf4443b618e08f8052437ef7a
0x5a15fdc57c35f2305aaa0bb95b109ad412b17406d737d137190fe5867393339d
0x8ef3765665cd849cdf9132ab37caf6aa0f891e1f7d9f418f86a6ab6ea38b6f5b
0xa9fa04b033afbed2218679aea92e9429a5f7839d0b4c65358ebf9ba20efcd021
0xa9fa04b033afbed2218679aea92e9429a5f7839d0b4c65358ebf9ba20efcd021
コアを攻撃する
このインシデントの攻撃の核心は、コントラクトを使用して償還関数呼び出しを処理する際に、ユーザーが入力した外部パラメータを完全に検証できなかったことです。このパラメータは資産交換を制御する重要なデータであり、通常は特定の取引指示またはルーティング情報が含まれます。攻撃者は、この外部パラメータを悪意を持って構築することで、不正な資産転送を実現します。
トランザクション分析
攻撃者は、償還関数を複数回呼び出して、数量 0 の資産の償還を申請します。償還数量が 0 の場合、通常は実際の資金フローがトリガーされないため、この動作自体は無害であるように見えます。
ただし、redeem 関数に従うと、この関数は契約で許可されている資産のリストを走査し、現在の資産がユーザーが受け取りたい資産ではない場合、受信した dataList パラメーターに従って解析し、外部的に解析することがわかります。 1inch Router の対応する関数を呼び出してアセット交換操作を実行します。
ここで渡される dataList はチェックおよび検証されていないため、攻撃者は悪意のある値を構築して 1 インチ ルーター コントラクトの unoswapTo 関数を実行し、任意の制御可能なトークン交換操作を実行する可能性があります。
その結果、Yedl BULL コントラクトの WBNB-ADA トークンが攻撃者のアドレスで BNB に交換されました。
このようにして、攻撃者は、実際に償還株式を所有することなく、dataList パラメータによって制御されるトークン交換操作をトリガーし、自分の資産を消費することなく契約資金を複数回動員し、利益を得て市場から離れることができます。
要約する
このようにして、攻撃者は、実際に償還株を所有することなく、dataList パラメータによって制御されるトークン交換操作をトリガーし、自分の資産を消費することなく契約資金を複数回動員し、利益を得て市場から離れることができます。
要約する
この攻撃の核心は、関数がユーザーが入力した dataList パラメーターを完全に検証できないことで、攻撃者が悪意のある外部データを構築し、1 インチを使用してコントラクト内のトークンを盗むことができるようになります。 SlowMist セキュリティ チームは、プロジェクト パーティが開発時に厳密なパラメータ検証メカニズムを実装すること、特に契約内の資金運用に関しては、すべての外部呼び出しが期待される動作仕様に準拠していることを確認し、システムの徹底的なセキュリティ監査を実施することを推奨しています。同様の事件が二度と起こらないようにするための契約のロジック。
全てのコメント