CertiK: Yearn.finance 新しいプロジェクト Eminence 攻撃の脆弱性分析
CertiK
2020-09-30 05:46
本文约1942字,阅读全文需要约8分钟
CertiK セキュリティ調査チームは、 Yearn.finance の新しいプロジェクトである Eminence.finance で異常なトランザクションを発見し、このインシデントに対する攻撃の脆弱性分析を実施しました。

副題

技術的な詳細の分析

次の分析:

https://etherscan.io/tx/0x3503253131644dd9f52802d071de74e456570374d586ddd640159cf6fb9b8ad8例として、トランザクション フローチャートは次のとおりです。

この取引では、攻撃者はまず Uniswap の Flash Loan サービスを通じて 1,500 万 DAI を借り、その後すべての EMN トークンを購入し、合計約 1,383,650,487 EMN トークンを購入しました。

EMN の半分、合計約 691,825,243 EMN トークンは、OP0 ステップを通じて eAAVE トークンを購入するために使用され、合計約 572,431 の eAAVE トークンが取得されました。

現在までに、攻撃者は合計 1,383,650,487-691,825,243 = 691,825,244 EMN トークンと 572,431 eAAVE トークンを保有しています。

次に、攻撃者のスクリプトは、OP0、OP1、OP2、OP3、OP4 を含む 5 つの内部トランザクション (Internal Transactions) を実行し続け、これら 5 つの内部トランザクションの影響は次のとおりです。

文章

ただし、以下の図の _burn 関数の定義では、EMN トークンの数のみが焼き付けられ、対応する DAI の数は変化していないことがわかります。これにより、EMNとDAIの比率がEMNの数の減少によりDAIの相対価格が低下するため、同量のEMNを使用してDAIを購入すると、より多くのDAIを取得できるという問題が発生します。

したがって、OP0 が完了すると、DAI の数に対する EMN の数の割合が減少します。攻撃者は残りの一般EMNをOP1を通じてDAIに変換しますが、このときDAIの相対価格が低いため、DAIの購入量が通常より多くなります。

OP1 の完了後、攻撃者は OP2 および OP3 を介して保持されていた eAAVE を EMN に変換し、さらに DAI に変換します。最後に、OP4 の前に、攻撃者が保有する DAI の量は Uniswap から借りた量よりも多くなります。

これまでのところ、攻撃者は脆弱性を利用して利益を得ています。

攻撃者は同じトランザクションでこの脆弱性を 3 回悪用しました。 OP4 に到達するたびに、利益後の合計 DAI が再び攻撃の実行に使用されます。 3 回すべてを完了した後、攻撃者は Uniswap ローンを返済し、取引利益を次のアドレスに送信しました。

0x223034edbe95823c1160c16f26e3000315171ca9

攻撃者は合計 3 つのトランザクションを実行し、トランザクション アドレスは次のとおりです。

初め:

0x3503253131644dd9f52802d071de74e456570374d586ddd640159cf6fb9b8ad8

2回目:

0x045b60411af18114f1986957a41296ba2a97ccff75a9b38af818800ea9da0b2a

副題

0x4f0f495dbcb58b452f268b9149a418524e43b13b55e780673c10b3b755340317

分析の概要

このインシデントは、ロジック設計と実際のスマート コントラクト コード実装の間の不一致によって引き起こされるセキュリティ侵害の典型的なケースです。そして、プロジェクトがオンラインになる前に、まだセキュリティ監査に合格していません。このタイプの脆弱性については、従来のテスト方法やテスト ツールではこの種類のロジックの脆弱性を検出できません。

したがって、CertiK は次のことを提案します。

現在の DeFi プロジェクトのブームは衰えることなく続いており、ホットスポットやチャンスをつかむために、多くのプロジェクトが厳格なテストや監査を行わずにオンライン化を急いでいます。これらのプロジェクトでは、一般的なテスト方法やツールではほとんどの脆弱性を見つけることができません。厳密な数学的モデルの証明を行う専門の監査専門家を探すことによってのみ、この脆弱性を発見することができます。

セキュリティ監査は現在、高品質の DeFi プロジェクトの標準となっています。プロジェクトが監査を受けていない場合、ユーザーにとっては投資行動に特に慎重になる必要があり、プロジェクト当事者にとっては、監査を依頼する専門的で信頼できる監査会社を見つける必要があります。プロジェクトが監査されている場合は、監査会社の背景と監査報告書の指標を理解するよう努める必要があります。これには以下が含まれますが、これらに限定されません。

  • セキュリティ監査の範囲、方法、結論

  • 契約に抜け穴やセキュリティリスクはありますか?もしそうなら、これらの問題の深刻さとその考えられる影響を理解する必要があります

  • コントラクトの全体的なコード品質

  • 監査法人の専門性と独立性

CertiK
作者文库