Poolzは算術オーバーフロー攻撃を受け、66.5万ドルの損失を被りました。

robot
概要作成中

Poolzが算術オーバーフロー攻撃に遭遇し、損失は66.5万ドルに達する

3月15日未明、Poolzはイーサリアム、バイナンススマートチェーン、Polygonネットワークで攻撃を受け、様々なトークンが盗まれ、総額約66.5万ドルに達しました。攻撃者はスマートコントラクト内の算術オーバーフローの脆弱性を利用し、大量のトークンを成功裏に取得しました。

! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!

攻撃者はCreateMassPools関数を呼び出して、流動性プールを一括で作成します。この関数には重要な脆弱性が存在し、攻撃者は巧妙に構築されたパラメータを使用して通常の流動性チェックを回避することができます。具体的には、攻撃者はgetArraySum関数内の整数オーバーフローの問題を利用しました。

攻撃の過程で、ハッカーはまずある分散型取引所で少量のMNZトークンを交換しました。その後、彼らは脆弱性のあるCreateMassPools関数を呼び出しました。この関数は流動性プールを一括で作成し、初期流動性を提供するために使用されるべきものでしたが、getArraySum関数の欠陥により、攻撃者は実際の転入量をはるかに超える虚偽の流動性を注入することができました。

! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!

getArraySum関数は、_StartAmount配列に渡された値を累積する際に、オーバーフローの問題により最終的な返り値が1になってしまいます。しかし、CreatePool関数は依然として元の_StartAmount値を使用して記録します。これにより、攻撃者は1つのトークンを転送するだけで、システム内に大量の虚偽流動性を記録できるようになります。

このステップを完了すると、攻撃者はwithdraw関数を呼び出してトークンを引き出し、攻撃プロセス全体を完了しました。

! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!

この事件は、スマートコントラクトにおける算術操作の安全性の重要性を再度浮き彫りにしました。同様の問題を防ぐために、開発者はコンパイル段階で自動的にオーバーフロー検査を行う新しいバージョンのSolidityコンパイラーの使用を検討すべきです。古いバージョンのSolidityを使用しているプロジェクトには、整数オーバーフロー問題を処理するためにOpenZeppelinのSafeMathライブラリを統合することをお勧めします。

この攻撃事件は、ブロックチェーンエコシステムにおいて、一見微小なコードの脆弱性でさえ深刻な経済的損失を引き起こす可能性があることを私たちに思い出させます。したがって、徹底したコード監査と継続的なセキュリティ更新は、ユーザー資産を保護するために極めて重要です。

! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 6
  • 共有
コメント
0/400
OnchainGossipervip
· 13時間前
またオーバーフローですか?冷や冷やするね
原文表示返信0
SandwichTradervip
· 07-16 17:28
また一つの勤勉な家庭が富を創造する
原文表示返信0
CryptoNomicsvip
· 07-16 06:41
*ため息* もう一つの整数オーバーフロー... アマチュアは決して確率的境界を学ばない
原文表示返信0
GweiWatchervip
· 07-14 06:30
また別の契約の脆弱性が見つかりました
原文表示返信0
SignatureCollectorvip
· 07-14 06:18
66wはこんなに簡単になくなった??
原文表示返信0
Whale_Whisperervip
· 07-14 06:04
またスマートコントラクトのバグが見つかりました
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)