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万ドルの損失
最近、Ethereum、Binance、Polygonネットワーク上のPoolzプロジェクトがハッキングされ、大きな損失を被りました。オンチェーンデータによると、攻撃は2023年3月15日に発生し、複数のトークンが関与し、総価値は約66.5万ドルです。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
攻撃者はPoolz契約の算術オーバーフローの脆弱性を利用してこの攻撃を実施しました。主な問題はCreateMassPools関数にあり、この関数はユーザーが流動性プールをバッチで作成し、初期流動性を提供できるようにします。攻撃者は精巧に構築された入力パラメータを使用してgetArraySum関数にオーバーフローを引き起こし、1つのトークンを転送するだけでシステムに巨大な数値が記録されました。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
攻撃プロセスは次のとおりです:
攻撃者はまず、分散型取引所でいくつかのMNZトークンを交換しました。
次にCreateMassPools関数を呼び出し、その中のgetArraySum関数の脆弱性を利用します。この関数は、ユーザーが入力した_StartAmount配列を加算する際に、オーバーフローのために1を返しますが、実際に記録されている値はそれよりもはるかに大きな数字です。
最後に、攻撃者はwithdraw関数を呼び出して資金を引き出し、攻撃プロセス全体を完了しました。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!
この事件は再びスマートコントラクトにおける算術オーバーフロー問題の深刻さを浮き彫りにしました。同様の問題を防ぐために、開発者はコンパイル時に自動的にオーバーフロー検査を行う最新バージョンのSolidityコンパイラの使用を検討すべきです。古いバージョンのSolidityを使用しているプロジェクトでは、整数オーバーフロー問題を解決するためにサードパーティのセキュリティライブラリを採用することができます。
この攻撃は、膨大な計算が関与するスマートコントラクトを扱う際には、すべての可能な境界条件が適切に処理されていることを確認するために、特に注意が必要であることを私たちに思い出させます。また、定期的なセキュリティ監査やバグバウンティプログラムも、プロジェクトの安全を保障するための効果的な手段です。
! Poolzは算術オーバーフローの問題で攻撃を受け、約665,000ドルを失いました!