# 一般的なDeFiセキュリティの脆弱性と注意事項最近、あるセキュリティ専門家がコミュニティメンバーに分散型金融の安全性に関する見解を共有しました。彼は過去1年余りのWeb3業界で発生した重大なセキュリティ事件を振り返り、これらの事件の原因と回避方法を探求し、一般的なスマートコントラクトのセキュリティ脆弱性と予防策をまとめ、プロジェクトチームとユーザーに対していくつかの安全に関するアドバイスを提供しました。一般的な分散型金融の脆弱性のタイプには、フラッシュローン、価格操作、関数権限の問題、任意の外部呼び出し、フォールバック関数の問題、ビジネスロジックの脆弱性、秘密鍵の漏洩、再入攻撃などが含まれます。以下では、フラッシュローン、価格操作、再入攻撃の3つのタイプを重点的に紹介します。! [Cobo DeFiセキュリティセクション(パートII):D eFiの一般的なセキュリティの脆弱性と防止](https://img-cdn.gateio.im/social/moments-cf2aa755426b31e8f21cbb05cc1fe39a)## フラッシュローンフラッシュローンは分散型金融の一つの革新ですが、ハッカーによっても頻繁に利用されます。攻撃者はフラッシュローンを通じて大量の資金を借り出し、価格を操作したりビジネスロジックを攻撃したりすることができます。開発者は、契約の機能が巨額の資金によって異常を引き起こすか、または不当な報酬を得るために利用されるかを考慮する必要があります。過去2年間、フラッシュローンの問題が頻発しています。一見、高収益に見える分散型金融プロジェクトは、実際には論理的な欠陥が存在するかもしれません。例えば、あるプロジェクトは固定された時間に保有量に基づいて報酬を配布するため、攻撃者はフラッシュローンで大量のトークンを購入し、大部分の報酬を獲得しました。また、トークンを使って価格を計算するプロジェクトも、フラッシュローンによって価格が影響を受ける可能性があります。## 価格操作価格操作問題はフラッシュローンと密接に関連しており、主に2種類があります:1. 価格を計算する際に第三者データを使用するが、使用方法が正しくないか、チェックが欠如しているため、価格が悪意を持って操作される。2. 一部のアドレスのトークン数量を計算変数として使用し、これらのアドレスのトークン残高は一時的に増減可能です。## リエントランシー攻撃外部コントラクトを呼び出す主なリスクは、それらが制御フローを奪い、データに予期しない変更を加える可能性があることです。例えば、出金関数では、ユーザーの残高が関数の最後で0に設定される場合、繰り返し呼び出すとまだ出金が成功します。リエントランシーの問題を解決するには、次の点に注意する必要があります。1. 単一の関数の再入問題を防ぐだけではない2. Checks-Effects-Interactionsパターンのコーディングに従います3. 検証済みの再入防止モディファイアを使用する再入攻撃の典型的なケースはOmni Protocolの事件です。この事件はまた、ハッカー間の競争を明らかにしました:元の攻撃者の取引が他のハッカーに先を越され、最終的に脆弱性を発見した者が最も利益を得る結果となりました。## セキュリティの提案### プロジェクト側の安全に関する提案1. 最良のセキュリティプラクティスに従って契約を開発する2. 契約のアップグレードと一時停止機能を実現する3. タイムロック機構を採用する4. セキュリティ投資を増やし、完璧なセキュリティシステムを構築する5. すべての従業員の安全意識を高める6. 内部の悪行を防ぎ、効率を向上させると同時にリスク管理を強化する7. 第三者サービスの導入には注意し、"デフォルトでは上下流が安全でない"という原則に従うこと### ユーザー/LP がスマートコントラクトの安全性を判断する方法1. コントラクトがオープンソースであるかどうかを確認する2. Ownerが分散型のマルチシグを採用しているか確認する3. 契約の既存の取引を確認する4. 契約が代理契約であるか、アップグレード可能であるか、タイムロックがあるかを確認する5. コントラクトが複数の機関による監査を受けているかを確認し、オーナーの権限が過度でないか評価する6. オラクルの選択と使用状況に注意してくださいWeb3環境では、ユーザーは警戒を怠らず、多く考え、多く質問して潜在的なリスクを回避する必要があります。どんな高収益プロジェクトに対しても、参加する前にその安全性を慎重に評価すべきです。
分散型金融のセキュリティ脆弱性解析:フラッシュローン、価格操作と再入攻撃の防止ガイド
一般的なDeFiセキュリティの脆弱性と注意事項
最近、あるセキュリティ専門家がコミュニティメンバーに分散型金融の安全性に関する見解を共有しました。彼は過去1年余りのWeb3業界で発生した重大なセキュリティ事件を振り返り、これらの事件の原因と回避方法を探求し、一般的なスマートコントラクトのセキュリティ脆弱性と予防策をまとめ、プロジェクトチームとユーザーに対していくつかの安全に関するアドバイスを提供しました。
一般的な分散型金融の脆弱性のタイプには、フラッシュローン、価格操作、関数権限の問題、任意の外部呼び出し、フォールバック関数の問題、ビジネスロジックの脆弱性、秘密鍵の漏洩、再入攻撃などが含まれます。以下では、フラッシュローン、価格操作、再入攻撃の3つのタイプを重点的に紹介します。
! Cobo DeFiセキュリティセクション(パートII):D eFiの一般的なセキュリティの脆弱性と防止
フラッシュローン
フラッシュローンは分散型金融の一つの革新ですが、ハッカーによっても頻繁に利用されます。攻撃者はフラッシュローンを通じて大量の資金を借り出し、価格を操作したりビジネスロジックを攻撃したりすることができます。開発者は、契約の機能が巨額の資金によって異常を引き起こすか、または不当な報酬を得るために利用されるかを考慮する必要があります。
過去2年間、フラッシュローンの問題が頻発しています。一見、高収益に見える分散型金融プロジェクトは、実際には論理的な欠陥が存在するかもしれません。例えば、あるプロジェクトは固定された時間に保有量に基づいて報酬を配布するため、攻撃者はフラッシュローンで大量のトークンを購入し、大部分の報酬を獲得しました。また、トークンを使って価格を計算するプロジェクトも、フラッシュローンによって価格が影響を受ける可能性があります。
価格操作
価格操作問題はフラッシュローンと密接に関連しており、主に2種類があります:
価格を計算する際に第三者データを使用するが、使用方法が正しくないか、チェックが欠如しているため、価格が悪意を持って操作される。
一部のアドレスのトークン数量を計算変数として使用し、これらのアドレスのトークン残高は一時的に増減可能です。
リエントランシー攻撃
外部コントラクトを呼び出す主なリスクは、それらが制御フローを奪い、データに予期しない変更を加える可能性があることです。例えば、出金関数では、ユーザーの残高が関数の最後で0に設定される場合、繰り返し呼び出すとまだ出金が成功します。
リエントランシーの問題を解決するには、次の点に注意する必要があります。
再入攻撃の典型的なケースはOmni Protocolの事件です。この事件はまた、ハッカー間の競争を明らかにしました:元の攻撃者の取引が他のハッカーに先を越され、最終的に脆弱性を発見した者が最も利益を得る結果となりました。
セキュリティの提案
プロジェクト側の安全に関する提案
ユーザー/LP がスマートコントラクトの安全性を判断する方法
Web3環境では、ユーザーは警戒を怠らず、多く考え、多く質問して潜在的なリスクを回避する必要があります。どんな高収益プロジェクトに対しても、参加する前にその安全性を慎重に評価すべきです。