This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Poolzが算術オーバーフロー攻撃を受け、多くのチェーンで66.5万ドルの損失が発生
Poolzが算術オーバーフロー攻撃に遭遇し、約66.5万ドルの損失
最近、複数のブロックチェーンネットワーク上のPoolzプロジェクトがハッキングされ、大量のトークンが盗まれ、総価値は約66.5万ドルに達しました。この攻撃は主にEthereum、BNB Chain、Polygonなどのチェーン上で発生しました。
攻撃者はPoolzのスマートコントラクトにおける算術オーバーフローの脆弱性を利用しました。具体的には、問題はCreateMassPools関数内のgetArraySum関数にあります。この関数は、_StartAmount配列を遍歴して累積しますが、オーバーフローに対して適切な処理を行っていません。攻撃者は非常に大きな数値を含む配列を巧妙に構築し、累積結果がuint256の範囲を超え、最終的な戻り値が1になりました。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
攻撃プロセスは以下の通りです:
攻撃者は最初にあるDEXでいくつかのMNZトークンを交換しました。
その後、CreateMassPools関数を呼び出し、巧妙に設計されたパラメータを渡します。実際には1つのトークンしか転送しませんが、_StartAmountには巨大な数値が記録されています。
最後にwithdraw関数を使って資金を引き出し、攻撃を完了させます。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
この事件は、MEE、ESNC、DON、ASW、KMON、POOLZなどのさまざまなトークンに関与しています。その中で、最も大きな損失を被ったのはASWトークンで、20億枚以上です。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
このような問題が再発しないように、開発者には新しいバージョンのSolidityコンパイラーの使用を推奨します。これはオーバーフロー検査機能を内蔵しています。古いバージョンのSolidityを使用しているプロジェクトでは、整数オーバーフローの問題を処理するためにOpenZeppelinのSafeMathライブラリを導入することを検討できます。
今回の攻撃は、DeFiプロジェクトにおけるスマートコントラクトの安全性の重要性を再確認させるものでした。一見単純な算術操作であっても、適切に処理されなければ深刻なセキュリティホールを引き起こす可能性があります。プロジェクトチームは、コード監査をより重視し、ユーザー資産を保護するために必要なセキュリティ対策を講じるべきです。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!