Back to Blog

インバースファイナンスのセキュリティインシデントに関する考察:価格操作攻撃

Code Auditing
2022年6月16日
3 min read

導入

2022年6月16日、Inverse Financeが攻撃を受け、100万ドル以上の損失が発生しました。攻撃トランザクションはhttps://versatile.blocksecteam.com/tx/eth/0x958236266991bc3fe3b77feaacea120f172c0708ad01c7a715b255f218f9313cです。根本原因は、Inverse Financeが利用していた価格オラクルが操作されたことです。

攻撃分析

攻撃者はまずフラッシュローンでAaveから27,000 WBTCを借入しました。その後、そのうち225 WBTCをCurveに預け入れ、5,375 crv3cryptoをミントしました。攻撃者はこの5,375 crv3cryptoをyvCurve-3Cryptoに預け入れ、4,906 Yearn cTokenを取得しました。これはInverse Financeで担保として使用されます。

残りの26,775 WBTCは、担保の価格操作に使用されました。攻撃者は26,775 WBTCをスワップし、75,403,376 USDTを得ました。このスワップにより、オラクルの価格は979から2,831に上昇しました。

borrowAllowed関数からわかるように、預け入れた担保で指定された量のトークンを借りることができるかどうかをチェックします。

具体的には、getHypotheticalAccountLiquidityInternal関数が、借り入れ行動が安全かどうかをチェックするために使用されます。担保の価格はgetUnderlyingPriceで取得されます。

getUnderlyingPrice関数はlatestAnswer関数を呼び出して結果を取得します。前述の通り、26,775 WBTCはUSDTのスワップに使用され、担保価格が上昇しました。

この場合、攻撃者は預け入れた担保価値を大幅に超える大量の(10,133,949)DOLAを借り入れることができました。

最後に、攻撃者は75,403,376 USDTを2,662,649 WBTCにスワップし、借り入れた10,133,949 DOLAを9,881,355 3Crvにスワップし、さらに流動性プールから取り出して10,099,976 USDTを得ました。

その後、10,099,976 USDTのうち10,000,000 USDTを再びWBTCにスワップし、フラッシュローンを返済するために使用しました。これで攻撃は完了しました。攻撃者はこの攻撃で99,976 USDTと53.2 WBTCを稼ぎました。

まとめ

これは伝統的な価格操作攻撃です。このような攻撃が現在でも発生するとは驚きです。この事件は、DeFiプロトコルがセキュリティシステムを強化するための警鐘となります。

BlockSecについて

BlockSecは、2021年に世界的に著名なセキュリティ専門家グループによって設立された、先駆的なブロックチェーンセキュリティ企業です。同社は、Web3の世界のセキュリティとユーザビリティを向上させ、その大規模な普及を促進することに尽力しています。この目的のため、BlockSecはスマートコントラクトとEVMチェーンのセキュリティ監査サービス、セキュリティ開発と脅威のプロアクティブなブロックのためのPhalconプラットフォーム、資金追跡と調査のためのMetaSleuthプラットフォーム、そしてWeb3ビルダーが仮想通貨の世界を効率的にサーフィンするためのMetaDock拡張機能を提供しています。

現在までに、同社はMetaMask、Uniswap Foundation、Compound、Forta、PancakeSwapなど300以上の著名なクライアントにサービスを提供し、Matrix Partners、Vitalbridge Capital、Fenbushi Capitalなどの著名な投資家から2回の資金調達で数千万米ドルを受け取っています。

公式ウェブサイト:https://blocksec.com/

公式Twitterアカウント:https://twitter.com/BlockSecTeam

Sign up for the latest updates
安全な保管を超えて、第2部:ウォレットの暗号技術を安全に実装する
Security Insights

安全な保管を超えて、第2部:ウォレットの暗号技術を安全に実装する

攻撃者は、保護された秘密鍵のコピーを読み取らずに、その秘密鍵を復元できるのでしょうか。『Beyond Secure Storage』の第2部では、乱数の品質不足、エントロピーの損失、署名用ノンスの不備によって鍵の予測や復元が可能になった6件の事例を検証します。そこから鍵生成と署名に関する実装要件を導き出し、決済機関がコードレビューと導入済みシステムのテストを通じて、それらをどう評価できるかを説明します。

安全な保管を超えて、第1部:安全な決済・署名ワークフローの設計
Security Insights

安全な保管を超えて、第1部:安全な決済・署名ワークフローの設計

攻撃者が秘密鍵を盗まずに、認可されていない操作が有効な署名を得ることは、なぜ可能なのでしょうか。「安全な保管の先へ」第1回では、Bitget、Bybit、Binanceなどの事例を通じて、支払い要求、トランザクションの構築、署名、実行、決済の各段階における認可の不備を検討します。そのうえで、認可されていない操作を防ぎ、損失を抑えるための設計原則を導き出し、レビュー、監査、ペネトレーションテスト、演習によって、それらの防御策をどう検証できるかを説明します。

NEAR Intentsの悪用:返金処理の欠陥とセキュリティ上の教訓
Security Insights

NEAR Intentsの悪用:返金処理の欠陥とセキュリティ上の教訓

NEAR Intentsへの攻撃では、過大な払い戻しイベントを利用し、預け入れた資産が返還された後も内部残高を維持しました。本分析では、レシートの処理の流れと、合計3,865,021 USDTに上るBNB Chainでの7件の出金を再構成します。また、これらの資金流出とプロジェクトが報告した全額回収を区別し、NEARスマートコントラクトの開発と監査におけるセキュリティ上の考慮事項を示します。

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit
インバースファイナンスのセキュリティインシデントに関する考察:価格操作攻撃