# Poolzが算術オーバーフロー攻撃に遭遇し、損失は66.5万ドルに達する3月15日未明、Poolzはイーサリアム、バイナンススマートチェーン、Polygonネットワークで攻撃を受け、様々なトークンが盗まれ、総額約66.5万ドルに達しました。攻撃者はスマートコントラクト内の算術オーバーフローの脆弱性を利用し、大量のトークンを成功裏に取得しました。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-974bc1b1f017458e935bb53bf55cef3e)攻撃者はCreateMassPools関数を呼び出して、流動性プールを一括で作成します。この関数には重要な脆弱性が存在し、攻撃者は巧妙に構築されたパラメータを使用して通常の流動性チェックを回避することができます。具体的には、攻撃者はgetArraySum関数内の整数オーバーフローの問題を利用しました。攻撃の過程で、ハッカーはまずある分散型取引所で少量のMNZトークンを交換しました。その後、彼らは脆弱性のあるCreateMassPools関数を呼び出しました。この関数は流動性プールを一括で作成し、初期流動性を提供するために使用されるべきものでしたが、getArraySum関数の欠陥により、攻撃者は実際の転入量をはるかに超える虚偽の流動性を注入することができました。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-7726863222e36bd3db4e3408503ba81c)getArraySum関数は、_StartAmount配列に渡された値を累積する際に、オーバーフローの問題により最終的な返り値が1になってしまいます。しかし、CreatePool関数は依然として元の_StartAmount値を使用して記録します。これにより、攻撃者は1つのトークンを転送するだけで、システム内に大量の虚偽流動性を記録できるようになります。このステップを完了すると、攻撃者はwithdraw関数を呼び出してトークンを引き出し、攻撃プロセス全体を完了しました。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-207e83ef73f5ece4adee71f4f42674f3)この事件は、スマートコントラクトにおける算術操作の安全性の重要性を再度浮き彫りにしました。同様の問題を防ぐために、開発者はコンパイル段階で自動的にオーバーフロー検査を行う新しいバージョンのSolidityコンパイラーの使用を検討すべきです。古いバージョンのSolidityを使用しているプロジェクトには、整数オーバーフロー問題を処理するためにOpenZeppelinのSafeMathライブラリを統合することをお勧めします。この攻撃事件は、ブロックチェーンエコシステムにおいて、一見微小なコードの脆弱性でさえ深刻な経済的損失を引き起こす可能性があることを私たちに思い出させます。したがって、徹底したコード監査と継続的なセキュリティ更新は、ユーザー資産を保護するために極めて重要です。! [Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました! ](https://img-cdn.gateio.im/social/moments-915eae1e1853f3d04d16dbac2b8c504a)
Poolzは算術オーバーフロー攻撃を受け、66.5万ドルの損失を被りました。
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ドルを失いました!