
序文
序文
今朝、bZx が 2 回目の攻撃に遭遇した疑いがあります。違いは、今回の標的は ETH/sUSD 取引ペアであることですが、疑問に思う人もいるかもしれません。sUSD は対米ドルのステーブルコインではないでしょうか?これは攻撃できるのでしょうか?いったいどのような攻撃方法なのでしょうか?このような疑問があるため、今回の事件を考慮して、SlowMist セキュリティ チームは 2 つの攻撃プロセスを検討する予定です。
最初の攻撃では、攻撃者は Flash ローンと Compound でのローンを組み合わせて bZx を攻撃しました。その攻撃は主に次のステップに分かれていました。
dYdXから10,000 ETHを借りました
Compoundから5500 ETHで112 BTCを借りて売却の準備をしました
bZxに行って1300ETHをレバレッジ5倍でショートして51.345576BTCを交換しましたが、ここで交換したBTCはKyber Network経由で取得しましたが、最終的にKyber NetworkはUniswapを呼び出して価格を取得しました。 , 実際に交換された51BTCはUniSwapにおけるBTC/ETHの価格を引き上げ、交換価格は1/109となりましたが、実際には市場の価格はそれほど引き上げられません
Compound から借りた 112 BTC を UniSwap で販売します。第 3 ステップの bZx の 5 倍のレバレッジがすでに価格を押し上げているため、この時点で ETH を売却すると利益が得られるはずであり、その後 6871 ETH を売却しました。
dYdXでローンを返す
2 番目の攻撃は前の攻撃とは少し異なりますが、核心はオラクル マシンの価格を制御し、オラクル マシンの価格を操作して利益を上げることです。
最初のレベルのタイトル
詳細な分析
この攻撃のトランザクション ハッシュは次のとおりです。
0x762881b07feb63c436dee38edd4ff1f7a74c33091e534af56c9f7d49b5ecac15
etherscan の分析を通じて、このトランザクションで大量のトークン転送が発生したことがわかります。
副題
1. 競技前の準備
副題
2. サーブ
bZx からの借入を完了した後、攻撃者は Kyber を通じて sUSD の購入を開始しました。初めて、彼は 540 ETH を使用して 92,419.7 sUSD を購入しました。この操作により、即座に WETH/sUSD の価格が低下し、sUSD の価格が上昇しました。この取引の交換率は約1:170で、Kyberは最終的にUniSwapを通じて交換されるため、この時点ではUniswapのWETH/sUSDが低い水準にあり、逆にsUSD/WETHが上昇します。
最初の 540 ETH の交換が完了した後、攻撃者は再度 Kyber で 18 回の小額交換を行い、毎回 20 ETH を使用して sUSD を交換しました。etherscan からは、各取引所から返される sUSD の量が常に減少していることがわかります。
これは、sUSD/WETHの価格がさらに引き上げられ、UniswapのsUSD/WETHの価格が悪化したことを示しており、この時点で価格は約1:157のピークに達していました。
副題
3. ホールインワン
sUSD/WETHの昇格完了後、攻撃者はこの時点でその後のWETHの交換に備えて大量のsUSDを収集する必要がある。この目的を達成するために、攻撃者は Synthetix から sUSD の購入を開始し、sUSD を購入するために 6000 ETH を Synthetix に送信することで、Synthetix の sUSD は直接売却され、Synthetix 契約により 2482 ETH が攻撃者に返されます。
副題
4. ローンを返す
最初のレベルのタイトル
試合後のレビュー
副題
所得
7500 =>bZx フラッシュ ローン
+
2482 =>シンセティックスが戻ってくる
+
6792 =>副題
=
16774 ETH
支出
540 + (20*18) =>sUSD/WETHの価格を引き上げる
+
6000 =>ショート sUSD
+
7500 =>bZx フラッシュ ローンを返却する
=
14400 ETH
最初のレベルのタイトル
守備のアドバイス
2 つの攻撃の主な理由は、Uniswap の急激な価格変動が最終的に資産の損失につながったことであり、これは通常の市場行動であるはずですが、攻撃者は市場の悪意のある操作を通じて、さまざまな方法で価格を引き下げ、損失を引き起こす可能性があります。プロジェクトパーティーへ。この種の市場操作による利益追求攻撃に対して、SlowMist セキュリティ チームは次の提案を行っています。
プロジェクト当事者がオラクルマシンを使用して外部価格を取得する場合、保険メカニズムを確立する必要があり、トークンを交換するたびに、現在の取引ペアの交換価格を保存し、前回保存した交換価格と比較する必要があります。 、トランザクションは時間内に一時停止される必要があります。市場が悪意を持って操作されて損失が生じるのを防ぎます。