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.
Cellframe Networkがフラッシュローン攻撃を受け、流動性移転の脆弱性により76,112ドルの損失を被りました。
Cellframe Networkに対するフラッシュローン攻撃の分析
2023年6月1日10時7分55秒(UTC+8)、Cellframe Networkはあるスマートチェーン上で流動性移転プロセス中のトークン数計算の問題によりハッキングを受けました。この攻撃によりハッカーは76,112ドルの利益を上げました。
! [Web3セキュリティ|.] プール比率のフラッシュローン操作によるセルフレームネットワーク攻撃事件の解析](https://img-cdn.gateio.im/webp-social/moments-6c9507885f4ac7353632bd9445fac0bd.webp)
攻撃の詳細
ハッカーはフラッシュローン機能を利用して大量の資金とトークンを獲得し、流動性プール内のトークン比率を操作することで攻撃を実施します。攻撃プロセスは主に以下のステップを含みます:
資金を取得する:フラッシュローンを通じて、あるチェーンのネイティブトークン1000個とNew Cellトークン50万個を取得する。
流動性プールの操作:すべてのNew Cellトークンをネイティブトークンに交換し、プール内のネイティブトークンの数をほぼゼロにします。その後、900のネイティブトークンをOld Cellトークンに交換します。
流動性の追加:攻撃の前に、ハッカーはOld Cellとネイティブトークンの流動性プールに流動性を追加し、Old lpを取得します。
流動性移転をトリガーする:流動性移転関数を呼び出します。この時、新しいプールにはほとんどネイティブトークンがなく、古いプールにはほとんどOld Cellトークンがありません。
計算の脆弱性を利用する:古いプールのOld Cellトークンの数が非常に少ないため、流動性を除去する際に得られるネイティブトークンの数が増加し、Old Cellトークンの数が減少します。これにより、ユーザーは少量のネイティブトークンとNew Cellトークンを追加するだけで流動性を得ることができ、余分なトークンはユーザーに返還されます。
攻撃の完了:ハッカーは新しいプールの流動性を削除し、返されたOld Cellトークンをネイティブトークンに交換します。その後、古いプールに大量のOld Cellトークンが存在するがネイティブトークンが不足している状況を利用して、Old Cellトークンを再度ネイティブトークンに交換し、利益を得ることができます。
! [Web3セキュリティ|.] プール比率の操作によるフラッシュローンに対するセルフレームネットワーク攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-5a5c4537315796a60ae82412408601a1.webp)
! [Web3セキュリティ|.] プール比率のフラッシュローン操作によるCellframeネットワークへの攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-12b37a73f151641fe15ccb0b2103e26b.webp)
! [Web3セキュリティ|.] プール比率のフラッシュローン操作に対するセルフレームネットワーク攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-d95e38131d2cd07cf66d7cda1a719b1a.webp)
! [Web3セキュリティ|.] フラッシュローン操作プール比率に対するセルフレームネットワーク攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-d2404f8ad69c17b96bf7b87a315a029a.webp)
脆弱性の原因と防止策の提案
今回の攻撃の根本的な原因は、流動性移転プロセスにおける計算の問題です。攻撃者はプール内のトークンの比率を操作し、移転関数の計算の脆弱性を利用しました。
類似の攻撃を防ぐために、以下の対策を講じることをお勧めします:
包括的に考慮する:流動性を移行する際には、新旧プールにおける2種類のトークンの数量の変化および現在のトークン価格を十分に考慮する必要があります。
簡単な計算を避けること:取引ペアの2つの通貨の数量だけに依存して直接計算するべきではなく、これは攻撃者に操作されやすい。
セキュリティ監査:コードを公開する前に、潜在的な脆弱性を発見し修正するために、必ず徹底的かつ厳格なセキュリティ監査を実施してください。
この事件は、複雑な金融操作を設計および実施する際の安全性と堅牢性の重要性を再度強調しています。プロジェクトチームは常に警戒を怠らず、安全対策を継続的に最適化する必要があります。
! [Web3セキュリティ|.] プール比率のフラッシュローン操作の影響を受けたセルフレームネットワーク攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-3734f1a6b3a2793edf1eac051b0d90dd.webp)