攻撃ステップ
以下では、CertiK セキュリティ チームが、コントラクト アドレスと攻撃操作の側面から詳細な解釈と分析を提供します。
攻撃ステップ
①攻撃者は悪意のあるトークン コントラクト (攻撃コントラクトとしても使用) を展開し、トークンと BUSD の PancakeSwap トランザクション ペアを作成しました。
攻撃者: https://bscscan.com/address/0x0f3c0c6277ba049b6c3f4f3e71d677b923298b35
悪意のあるトークンコントラクト: https://bscscan.com/address/0xb7a740d67c78bbb81741ea588db99fbb1c22dfb7
PancakeSwap 取引ペア: https://bscscan.com/address/0xca9596e8936aa8e902ad7ac4bb1d76fbc95e88bb
②攻撃者はRabbit's Bank契約からフラッシュローンを作成し、StrategyLiquidateの実行メソッドをトリガーします。
実行メソッドは、入力データを LP トークン アドレスにデコードし、さらに悪意のあるトークン コントラクト アドレスを取得します。
攻撃者は、悪意のあるトークン コントラクト内の攻撃コードを使用して予備攻撃を開始します: https://bscscan.com/address/0xbeeb9d4ca070d34c014230bafdfb2ad44a110142
StrategyLiquiddate契約: https://bscscan.com/address/0x5085c49828b0b8e69bae99d96a8e0fcf0a033369
③悪意のあるトークンコントラクトは、FlurryRebaseUpkeepコントラクトのperformUpkeepメソッドを呼び出し、Vaultコントラクトの関連金額を再計算し、関連するRhoトークンの乗数を更新します。
ここでの乗数は、Rho トークンの残高計算に使用されます。 Vault 契約の関連金額が再表示され、それに関連する Rho トークンの乗数が更新されます。ここでの乗数は、Rho トークンの残高計算に使用されます。この更新は、Vault 契約に関連付けられた利益戦略契約の残高に基づいています。
更新はフラッシュ ローンのプロセス中にトリガーされますが、この時点ではフラッシュ ローンはまだ終了しておらず、融資金額もまだ返されていないため、銀行契約の現在の残高は通常の値よりも大幅に少なくなっています。この銀行契約も特定の戦略の一部であり、これにより特定の戦略の残高が通常の値よりも小さくなり、さらに乗数が通常の値よりも小さくなります。
FlurryRebaseUpkeep 契約: https://bscscan.com/address/0x10f2c0d32803c03fc5d792ad3c19e17cd72ad68b
Vault 契約の 1 つ: https://bscscan.com/address/0xec7fa7a14887c9cac12f9a16256c50c15dada5c4
④ 攻撃者はフラッシュローンの金額を返済して最初の攻撃を完了し、利益を得るためにさらなる攻撃の準備を整えました。
⑤ 次のトランザクションでは、攻撃者は前のトランザクションで取得した低い倍率のトークンをデポジットし、その倍率をより高い (通常の) 値に更新し、高い倍率のトークンを引き出します。たとえば、最初の攻撃トランザクションの 1 つでは、乗数が 4.1598e35 に更新されました。
さらなる攻撃のトランザクションで乗数が 4.2530e35 に更新されました。
攻撃例: https://bscscan.com/tx/0x923ea05dbe63217e5d680b90a4e72d5552ade9e4c3889694888a2c0c1174d830
https://bscscan.com/tx/0x646890dd8569f6a5728e637e0a5704b9ce8b5251e0c486df3c8d52005bec52df
⑥乗数はRhoトークンのバランスを決定する要素の1つであるため、
攻撃者の Rho トークン残高はトランザクションで増加したため、Vault からより多くのトークンを引き出すことができました。
文章
最後に書きます
このインシデントは主に外部依存関係によって引き起こされました。
また、CertiK 公式 Web サイト https://www.certik.com/ には、コミュニティ警告機能が追加されました。公式 Web サイトでは、脆弱性、ハッカー攻撃、および Rug Pull に関するさまざまなコミュニティ警告情報を常に参照できます。
このインシデントの早期警告は、CertiK 公式 Twitter [https://twitter.com/CertiKCommunity] で初めて放送されました。
また、CertiK 公式 Web サイト https://www.certik.com/ には、コミュニティ警告機能が追加されました。公式 Web サイトでは、脆弱性、ハッカー攻撃、および Rug Pull に関するさまざまなコミュニティ警告情報を常に参照できます。
最近の攻撃の発生率が高いため、暗号化プロジェクトの関係者とユーザーはより警戒し、タイムリーに契約コードを改善および監査する必要があります。さらに、技術チームは、発生したセキュリティインシデントにタイムリーに注意を払い、自分のプロジェクトに同様の問題が存在するかどうかを確認する必要があります。


