次に、攻撃者は流動性移転関数を呼び出しました。この時、新しいプールにはほとんど原生トークンがなく、古いプールにはほとんど Old Cell トークンがありません。移転プロセスは以下のステップを含みます:
古い流動性を削除し、対応する数量のトークンをユーザーに返還します。
新しいプールの比率に従って新しい流動性を追加する
旧プールに Old Cell トークンがほとんど存在しないため、流動性を除去する際に得られるネイティブトークンの数が増加し、Old Cell トークンの数が減少します。これにより、ユーザーは少量のネイティブトークンと New Cell トークンを追加するだけで流動性を獲得でき、余分なネイティブトークンと Old Cell トークンはユーザーに返還されます。
最後に、攻撃者は新しいプールの流動性を撤去し、移動して戻された Old Cell トークンをネイティブトークンに交換します。この時、古いプールには大量の Old Cell トークンがあるが、ネイティブトークンはありません。攻撃者は Old Cell トークンを再びネイティブトークンに交換し、利益を確定させます。攻撃者はその後、移動操作を繰り返し、さらなる利益を拡大します。
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,000ドルの利益を得た
Cellframe Networkに対するフラッシュローン攻撃の分析
2023年6月1日10時7分55秒(UTC+8)、Cellframe Networkはあるスマートチェーン上で流動性移行プロセス中のトークン数量計算問題によりハッキングを受けました。報告によると、ハッカーはこの攻撃から76,112ドルの利益を得たとのことです。
攻撃プロセス分析
攻撃者はまずフラッシュローンを利用して、1000個のあるスマートチェーンのネイティブトークンと50万個のNew Cellトークンを獲得しました。その後、攻撃者はすべてのNew Cellトークンをネイティブトークンに交換し、取引プール内のネイティブトークンの数量をほぼゼロにしました。最後に、攻撃者は900個のネイティブトークンをOld Cellトークンに交換しました。
注目すべきは、攻撃者が攻撃を開始する前に、Old Cell とネイティブトークンの流動性を追加し、Old lp トークンを取得したことです。
次に、攻撃者は流動性移転関数を呼び出しました。この時、新しいプールにはほとんど原生トークンがなく、古いプールにはほとんど Old Cell トークンがありません。移転プロセスは以下のステップを含みます:
旧プールに Old Cell トークンがほとんど存在しないため、流動性を除去する際に得られるネイティブトークンの数が増加し、Old Cell トークンの数が減少します。これにより、ユーザーは少量のネイティブトークンと New Cell トークンを追加するだけで流動性を獲得でき、余分なネイティブトークンと Old Cell トークンはユーザーに返還されます。
最後に、攻撃者は新しいプールの流動性を撤去し、移動して戻された Old Cell トークンをネイティブトークンに交換します。この時、古いプールには大量の Old Cell トークンがあるが、ネイティブトークンはありません。攻撃者は Old Cell トークンを再びネイティブトークンに交換し、利益を確定させます。攻撃者はその後、移動操作を繰り返し、さらなる利益を拡大します。
! [Web3セキュリティ|.] プール比率のフラッシュローン操作によるセルフレームネットワーク攻撃事件の解析](https://img-cdn.gateio.im/webp-social/moments-6c9507885f4ac7353632bd9445fac0bd.webp)
! [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)
攻撃の根本原因
今回の攻撃の根本的な原因は、流動性の移行過程における計算問題にあります。流動性を移行する際、プロジェクト側は取引ペアの2つの通貨の数量を直接計算に使用していますが、この方法は攻撃者に操作されやすいです。
! [Web3セキュリティ|.] フラッシュローン操作プール比率に対するセルフレームネットワーク攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-d2404f8ad69c17b96bf7b87a315a029a.webp)
セキュリティの提案
流動性を移転する際には、新旧プールにおける2種類のトークンの数量の変化と現在のトークン価格を総合的に考慮すべきであり、単純にトークンの数量を計算するだけではありません。
コードを本番環境に投入する前に、潜在的な脆弱性を発見し修正するために、包括的なセキュリティ監査を行う必要があります。
この事件は再び、複雑な金融操作を設計し実施する際に、安全性と堅実性に特に注意を払う必要があることを思い出させます。潜在的な攻撃や脆弱性が利用されるのを防ぐために。
! [Web3セキュリティ|.] プール比率のフラッシュローン操作の影響を受けたセルフレームネットワーク攻撃の分析](https://img-cdn.gateio.im/webp-social/moments-3734f1a6b3a2793edf1eac051b0d90dd.webp)