甘い当たり?舞台裏にいるのは誰ですか?フラッシュローンによる攻撃を受けているBSCチェーン上のXSURGEの分析
攻撃が発生する仕組み イベント概要
#1 イベント概要
攻撃が発生する仕組み イベント概要
本日、DeFiプロジェクトのXSURGEがフラッシュローン攻撃に遭遇しましたが、XSURGEが攻撃される前に、SurgeBNBの脆弱性に関する公式声明が発表されました。
XSURGEは、SurgeBNB契約における潜在的なセキュリティ脆弱性が現地時間8月16日に発見されたと発表した。 SurgeBNB コントラクトは不変で放棄されるため、トークンに遡ってパッチを適用することはできません。 XSURGE はこの脆弱性の性質に関する具体的な詳細を明らかにしていませんが、この脆弱性はいつでも攻撃者によって引き起こされる可能性があるため、ユーザーはできるだけ早く SurgereBnb から移行することを強くお勧めします。

声明発表後、XSURGE が攻撃を受けたと発表したのでは遅すぎ、この甘い一撃により、プロジェクトは警戒することが難しくなりました。当局者らによると、攻撃者らはバックドアエクスプロイトを通じてSurgeBNBから500万ドルを盗んだ。 SurgeUSD または SurgeETH は BNB を出金しないため、今後の攻撃の対象となることはありません。

#2 イベント固有の分析
#2 イベント固有の分析
攻撃者が成功する方法 イベント概要
攻撃契約
0x59c686272e6f11dC8701A162F938fb085D940ad3

攻撃契約
取引する
例として、0x8c93d6e5d6b3ec7478b4195123a696dbc82a3441be090e048fe4b33a242ef09d
round 0
まずはフラッシュローンで10,000BNBを融資します。
Round 1
BNB をすべて使用して SURGE を購入すると、現在の価格では 1,896,594,328,449,690 SURGE を購入できます。

SURGEを取得
Round 2
取得したSURGEをsell関数を呼び出して売却し、9346BNBを売却しました。
Round 3
これは、sell 関数が転送後にデータを変更し、転送コードに再入可能性の脆弱性があるためです。攻撃コントラクトが BNB を受け取ると、SURGE コントラクトの状態が変化する前に (行 595)、攻撃コントラクトはリエントランシーの脆弱性を通じて SURGE を再度購入することができます。
攻撃コントラクトは毎回 BNB 残高をすべて使用して SURGE を購入するため、コントラクトの bnbAmount は変更されず、SURGE トークンの総量 _totalSupply は更新されません (売却前の金額のままです)。そのため、SURGE の価格はが減少し、攻撃者はさらに SURGE を取得します。

Round 4
Round2とRound3を3回繰り返し、攻撃者はリエントリーにより大量のSURGEを貯め、そのSURGEを全て売却して利益を得る。
症例レビューで注意すべき点は何ですか

#3 イベントの振り返り
症例レビューで注意すべき点は何ですか
この攻撃に対して、成都聯南技術チームは次の修正案を提示しました: 1. 再突入攻撃を防ぐために、転送操作は状態が変化した後に実行する必要があります; 2. 転送または転送には送信を使用し、call.value は使用しません。
このようなセキュリティインシデントでは、通常、攻撃者は「空っぽの白いオオカミ」であり、まずフラッシュローンを利用して多額の資金を調達し、その他の契約により、資産価格データの改ざんや歪曲に気づいた後、裁定取引が実行され、そしてついに「校長」が戻ってくる。
🌀注意🌀
今回の事件では、攻撃者はコントラクトのリエントランシーの脆弱性を悪用して13111BNB以上の利益を上げており、成都聯南市は、SurgeBNBの脆弱性に関する公式声明を受けて、適時に対応策を講じるなど、リスク管理に留意するよう注意を呼び掛けている。


