OUSDは「古典的なリエントラント攻撃」に遭い、770万ドルを失った、DeFiセキュリティは早急に解決する必要がある
PeckShield
2020-11-18 12:58
本文约1810字,阅读全文需要约7分钟
最近、PeckShieldは、DeFiプロトコルであるOrigin ProtocolのステーブルコインOUSDがリエントラント攻撃を受け、770万ドル相当の損失を引き起こしたことを監視しました。

最近、PeckShieldは、DeFiプロトコルであるOrigin ProtocolのステーブルコインOUSDが攻撃されたことを監視しており、攻撃者はデリバティブプラットフォームdYdXのフラッシュローンを利用してリエントランシー攻撃(リエントランシー攻撃)を実行し、ETHとDAIに770万ドル相当の損失を与えました。 。

リエントランシー攻撃は、イーサリアムのスマートコントラクトに対する最も古典的な攻撃手法の 1 つであり、DAO の盗難事件として有名なのは、攻撃者がリエントランシー攻撃を利用してイーサリアムのハードフォークを引き起こし、5,000 万ドル相当の ETH を失ったことです。

今年4月以来、DeFiプロジェクトは頻繁にリエントラント攻撃に遭遇している。 4 月 18 日、ハッカーは Uniswap と ERC777 標準の互換性欠陥を悪用してリエントリー攻撃を実行しました。4 月 19 日、Lendf.Me も同様のリエントリー攻撃を受けました。11 月 14 日、ハッカーはアクロポリスの SavingsModule コントラクトを使用しました。ユーザー ストレージ資産の処理における特定の欠陥により、17 回連続の再突入攻撃が実行され、203 万 DAI が失われました。

副題

大気圏再突入攻撃により、何もないところから 2,050 万 OUSD が生み出されたことが再現される

PeckShield は追跡と分析を通じて、まず攻撃者が dYdX フラッシュ ローンから 70,000 ETH を貸し出したことを発見しました。

その後、まず UniswapV2 で 17,500 ETH が 785 万 USDT に変換され、次に貸し出された残りの 52,500 ETH が 2099 万 DAI に変換されました。

次に、攻撃者は 4 つのパスで OUSD ステーブルコインを鋳造しました。

mint() 関数を通じて初めて OUSD を鋳造したとき、攻撃者は Origin スマート コントラクトに 750 万 USDT を入金し、750 万 OUSD を取得しました。

mintMultiple() 複数のステーブルコイン関数を通じて 2 回目に OUSD を鋳造するとき、攻撃者は 2,050 万 DAI と 0 の偽の「ステーブルコイン」を Origin スマート コントラクトにデポジットし、このステップでリエントリー攻撃を通じてコン​​トラクトを攻撃しました。攻撃者は 2,050 万 DAI と 0 個の偽の「ステーブル コイン」を VaultCore にデポジットします。この時点で、スマート コントラクトは 2050 万 DAI を受け取ります。0 個の偽の「ステーブル コイン」を受け取ろうとするとき、攻撃者は悪意のあるコントラクトを使用して をハイジャックします。スマート コントラクトは 2,050 万 OUSD の鋳造を開始し、mint() 関数が呼び出されて 2,050 万 OUSD を悪意的に発行しました。この悪意のある発行は、VaultCore コントラクトの rebase() 関数を呼び出すことによって実装されました。

ハイジャックを成功させるために、攻撃者は上記の mint() 関数が呼び出されたときにリアルマネーで 2,000 USDT をデポジットし、同時に 3 番目のコインの 2,000 OUSD を取得したことは注目に値します。次に、oUSD.mint() 関数を呼び出して、4 回目の 2,050 万 OUSD を鋳造します。

リベースとは、トークン供給の柔軟な調整プロセス、つまりトークン供給を「リセット」することを指します。 DeFi分野には、トークン価格の変動に比例して、各トークン保有ユーザーのウォレット残高やトークン総量が変動するという弾力的な供給メカニズムを持つタイプのトークンがあります。この時点で、攻撃者は、抵当に入れられた 750 万 USDT、2,050 万 DAI、2,000 USDT を含む合計 2,800 万 2,000 OUSD を取得しました。 rebase() 関数の呼び出しにより、攻撃者が取得した OUSD の総額は 3,3269,000 に増加しました。

最後に、攻撃者はまず、取得した 33,269,000 OUSD で 1,950 万 DAI、940 万 USDT、および 390 万 USDC を引き換え、次に Uniswap で 1045 万 USDT を 22,898 ETH と 390 万 USDC に変換し、8,305 ETH に対して 190 万 DAI を 47,976 ETH に交換しました。合計 79,179 ETH、70,000 ETH を dYdX フラッシュ ローンに返します。

PeckShield の統計によると、攻撃者はこの攻撃で 11,809 ETH と 2,249,821 DAI、合計 770 万ドルの利益を得ました。

この攻撃に関して、Origin Protocolは資金を回収するために積極的に対策を講じていると正式に回答した。

DeFiエコシステムの活発な発展に伴い、隠れていたセキュリティ問題が徐々に表面化しており、DeFi関連プロジェクトはユーザー資産と密接に関係しているため、セキュリティ問題の解決が急務となっています。

これに関して、PeckShieldの担当者は、「このようなリエントリー攻撃の発生は、契約がユーザーが保管したトークンのホワイトリスト検証を行っていないことが主な原因である。DeFiは『ビルディングブロック』である」と述べた。 「組み合わせ」は、複数のスマート コントラクトとアプリケーションで構成されます。その全体的なセキュリティは相互に絡み合っています。プラットフォーム側は、製品がオンラインになる前に確実なコード監査と脆弱性調査が行われていることを確認するだけでなく、それらのスマート コントラクトとアプリケーションの潜在的なシステム リスク管理の問題も考慮する必要があります。異なる製品を組み合わせると、異なるビジネス ロジックが発生します。」

PeckShield
作者文库