xWINプロトコルに対するフラッシュローンの悪用についてのまとめ
ブロック番号
8589726: 2021年6月25日 9:07:25 AM https://bscscan.com/tx/0xba0fa8c150b2408eec9bbbbfe63f9ca63e99f3ff53ac46ee08d691883ac05c1d
8589740: 2021年6月25日 9:08:07 AM https://bscscan.com/tx/0xda1016b24b8982ea27671e3502691c0ca17231e1dbc0dfd00df41f0646217643
xWINプロトコルでxWINトークンの報酬を得るための4つの方法
1. xWIN紹介システム:紹介されたユーザーがトレーディング、インデックス、イールドボールトのいずれかに1BNBを預けた際に、紹介者が0.20XWINを受け取ることができます。
2. xWIN報酬システム:ユーザーがトレーディング、インデックス、イールドボールトのいずれかに1BNBを預けた際に、ユーザーが1回エントリーするごとに0.10XWINを受け取ることができます。
3. xWINボールトのオーナー/マネジャーに対する報酬システム。ユーザーが提供するボールトに1回エントリーするごとに1BNBにつき0.05xWINトークンがオーナー/マネジャーに支払われます。
4. xWINボールトのファーミングやステーキングをすることで、xWINトークンが得られます。
ハッカーによるステップ
プロトコルのセットアップ設定
1. ハッカーが登録したアドレス「0x2Df8DD8880010A28b1539d9aEfF9bcEec39E2040」が紹介者として活動をしていました。
2. ハッカーはフラッシュローンのハッキングロジックを携えてスマートコントラクトを作成しました。アドレスは「0x67d3737c410f4d206012cad5cb41b2e155061945」
フラッシュローンの手口
1. ハッカーは76,000BNB(2,200万ドル相当)のフラッシュローンを準備しておりました。
2. ハッカーは古いボールトであるPCLP-XWINのLPボールトを購読していました。
(PCLP-XWINのLPボールトは古いバージョンのボールトで、ユーザーはボールトを購読することで簡単にパンケーキスワップのLPファーミングに参加することができます。以下、古いボールトをPCS LP V1と表記)
a. ユーザーがBNBを使ってLPボールトを購読する。
b. BNBの50%がxWINトークンに変換される。
c. PCS LP V1に流動性を持たせ、その領収書としてLPトークンを獲得する。XWIN-BNBのPCS LP V1は流動性が低いため、数量に関わらずLPトークンの組成が可能となる。
d. 古いバージョンのPCLP-XWINボールトは、ボールトの所有権を証明するために、ユーザーに古いバージョンのPCLP-XWINトークンを鋳造します。
e. xWINプロトコルは、紹介した権利が得られたとして、xWINトークンの報酬を紹介先のアドレスに記録をした。
3. ハッカーは、xWINプロトコルのRedeem関数を呼び出すことで、これを換金した。Redeem関数は
a. PCLP-XWINトークンを受け付けた。
b. ボールトは、LPトークンの解除を行い、LPトークンをBNBとxWINトークンに戻す。
c. ボールトは、すべてのxWINトークンをBNBに戻し、ユーザーに送り返した。
4. 前述の 1 と 2 の動作により,xWIN プロトコルは 76,000 BNB のサブスクリプションを認識したため,紹介先のアドレスに対して 76,000 x 0.20 = 15,200 xWIN トークンの資格があると認識しマーキングをした。
5. ハッカーは1、2、3の手順を20回ほど繰り返し、合計304,000 xWINトークンを獲得した。
6. ハッカーは 304,000 xWIN トークンを PCS LP V2プール(現行バージョンのボールト)に送り、903 BNB分に交換した。
7. ハッカーは,2回目の攻撃を,1から6まで同じロジックで繰り返し、104 BNB分に交換した
現在の潜在的な悪用の可能性
xWINプロトコルは、上記概要2で述べたような報酬システムを持っています。ハッカーのスマートコントラクトアドレス0x67d3737c410f4d206012cad5cb41b2e155061945が特定されたxWINは、それまでに申し込んだ合計金額に基づいて、さらに45000xWINを受け取る権利を保有しています。
ただし、これは1つのブロック番号だけでは取得できないため、xWINトークンは引き出されません。
即効性のあるソリューション
xWINチームは
1. 紹介料制度の廃止
2. 報酬制度の廃止
3. マネージャー報酬制度の廃止
紹介者のアドレスに以前から蓄積されていた報酬や紹介料は、引き続きxWINプラットフォームのUIから引き出すことができます。
アクションプラン
xWINチームは、第三者のITセキュリティ会社に依頼して、この箇所のプログラムコードを確認しました。上記の緊急措置に加えて、xWINチームはPCS V1プールにリンクしていた廃止されたボールトに引き続きアクセスし、xWINプロトコルとの接続が解除されていることを確認しました。