# 一般的なDeFiセキュリティの脆弱性と注意事項最近、あるセキュリティ専門家がコミュニティメンバーに向けて分散型金融のセキュリティ講座を共有しました。この専門家は、過去1年以上にわたるWeb3業界で発生した重大なセキュリティ事件を振り返り、これらの事件が発生した理由や回避方法を探り、一般的なスマートコントラクトのセキュリティ脆弱性と予防策をまとめ、プロジェクト側と一般ユーザーにいくつかのセキュリティアドバイスを提供しました。一般的な分散型金融の脆弱性のタイプには、フラッシュローン、価格操作、関数権限の問題、任意の外部呼び出し、フォールバック関数の問題、ビジネスロジックの脆弱性、秘密鍵の漏洩、再入攻撃が含まれます。この記事では、フラッシュローン、価格操作、および再入攻撃の3つのタイプに重点を置いて説明します。! [Cobo DeFiセキュリティセクション(パートII):D eFiの一般的なセキュリティの脆弱性と防止](https://img-cdn.gateio.im/social/moments-cf2aa755426b31e8f21cbb05cc1fe39a)## フラッシュローンフラッシュローンは分散型金融の一種の革新ですが、ハッカーによってもよく利用されています。攻撃者はフラッシュローンを通じて大量の資金を借り出し、価格を操作したりビジネスロジックを攻撃したりします。開発者は、契約の機能が巨額の資金によって異常を引き起こすか、または一回の取引で複数の関数と相互作用して不正な利益を得るために利用されるかを考慮する必要があります。多くの分散型金融プロジェクトは高いリターンに見えるが、実際にはプロジェクトチームのレベルはまちまちである。いくつかのプロジェクトのコードは購入されたものであり、コード自体に脆弱性がなくても、ロジック上で問題が存在する可能性がある。例えば、一部のプロジェクトは固定された時間に保有者が持っているトークンの数に応じて報酬を配布するが、攻撃者がフラッシュローンを利用して大量のトークンを購入し、報酬が配布される際にほとんどのリターンを得ることがある。## 価格操作価格操作の問題は、フラッシュローンと密接に関連しており、主に価格計算時のいくつかのパラメータがユーザーによって制御可能であるためです。一般的な問題のタイプは2つあります:1. 価格計算の際に第三者データを使用するが、使用方法が不適切であるか、確認が欠如しているため、価格が悪意のある操作を受ける。2. 特定のアドレスのトークン数量を計算変数として使用し、これらのアドレスのトークン残高が一時的に増減する可能性があります。## リエントランシー攻撃再入攻撃は、外部契約を呼び出す際に直面する可能性のある主要な危険の一つです。攻撃者は制御フローを掌握し、データに対して関数呼び出しで予期しない変更を加えることができます。例えば、引き出し関数では、ユーザーの残高が関数の最後で0に設定される場合、攻撃者はその間に関数を繰り返し呼び出すことで、残高を何度も引き出すことができます。再入攻撃に対して、以下の点に注意する必要があります:1. 単一の関数の再入問題を防ぐだけではない2. Checks-Effects-Interactions パターンに従ってコーディングを行う3. 時間が検証されたリ入防止モディファイアを使用する安全問題を解決する際には、再発明を避け、十分に検証されたベストプラクティスをできるだけ使用するべきです。## プロジェクト側の安全に関する提案1. 最良のセキュリティプラクティスに従って契約を開発する2. コントラクトのアップグレードと一時停止機能を実現する3. タイムロックメカニズムを採用する4. セキュリティへの投資を増やし、完全なセキュリティシステムを構築する5. すべての従業員の安全意識を高める6. 内部の悪用を防ぎ、効率を向上させつつリスク管理を強化する7. 第三者コンポーネントの導入には注意し、安全性を確保する## ユーザーはどのようにスマートコントラクトが安全か判断するか1. コントラクトがオープンソースかどうかを確認する2. Ownerが分散型のマルチシグ機構を採用しているかどうかを確認する3. 契約の既存の取引を確認する4. コントラクトが代理コントラクトであるか、アップグレード可能か、タイムロックがあるかを確認する5. 契約が複数の機関による監査を受けたかどうか、また Owner の権限が過大でないかを確認する6. オラクルの使用状況に注意してください以上の措置を通じて、プロジェクトチームとユーザーは、ある程度 DeFi プロジェクトの安全性を高め、攻撃を受けるリスクを低減できます。
DeFiセキュリティガイド:一般的な脆弱性の種類と防止戦略
一般的なDeFiセキュリティの脆弱性と注意事項
最近、あるセキュリティ専門家がコミュニティメンバーに向けて分散型金融のセキュリティ講座を共有しました。この専門家は、過去1年以上にわたるWeb3業界で発生した重大なセキュリティ事件を振り返り、これらの事件が発生した理由や回避方法を探り、一般的なスマートコントラクトのセキュリティ脆弱性と予防策をまとめ、プロジェクト側と一般ユーザーにいくつかのセキュリティアドバイスを提供しました。
一般的な分散型金融の脆弱性のタイプには、フラッシュローン、価格操作、関数権限の問題、任意の外部呼び出し、フォールバック関数の問題、ビジネスロジックの脆弱性、秘密鍵の漏洩、再入攻撃が含まれます。この記事では、フラッシュローン、価格操作、および再入攻撃の3つのタイプに重点を置いて説明します。
! Cobo DeFiセキュリティセクション(パートII):D eFiの一般的なセキュリティの脆弱性と防止
フラッシュローン
フラッシュローンは分散型金融の一種の革新ですが、ハッカーによってもよく利用されています。攻撃者はフラッシュローンを通じて大量の資金を借り出し、価格を操作したりビジネスロジックを攻撃したりします。開発者は、契約の機能が巨額の資金によって異常を引き起こすか、または一回の取引で複数の関数と相互作用して不正な利益を得るために利用されるかを考慮する必要があります。
多くの分散型金融プロジェクトは高いリターンに見えるが、実際にはプロジェクトチームのレベルはまちまちである。いくつかのプロジェクトのコードは購入されたものであり、コード自体に脆弱性がなくても、ロジック上で問題が存在する可能性がある。例えば、一部のプロジェクトは固定された時間に保有者が持っているトークンの数に応じて報酬を配布するが、攻撃者がフラッシュローンを利用して大量のトークンを購入し、報酬が配布される際にほとんどのリターンを得ることがある。
価格操作
価格操作の問題は、フラッシュローンと密接に関連しており、主に価格計算時のいくつかのパラメータがユーザーによって制御可能であるためです。一般的な問題のタイプは2つあります:
リエントランシー攻撃
再入攻撃は、外部契約を呼び出す際に直面する可能性のある主要な危険の一つです。攻撃者は制御フローを掌握し、データに対して関数呼び出しで予期しない変更を加えることができます。例えば、引き出し関数では、ユーザーの残高が関数の最後で0に設定される場合、攻撃者はその間に関数を繰り返し呼び出すことで、残高を何度も引き出すことができます。
再入攻撃に対して、以下の点に注意する必要があります:
安全問題を解決する際には、再発明を避け、十分に検証されたベストプラクティスをできるだけ使用するべきです。
プロジェクト側の安全に関する提案
ユーザーはどのようにスマートコントラクトが安全か判断するか
以上の措置を通じて、プロジェクトチームとユーザーは、ある程度 DeFi プロジェクトの安全性を高め、攻撃を受けるリスクを低減できます。