一般的なDeFiセキュリティの脆弱性と予防策の完全な分析

robot
概要作成中

一般的なDeFiセキュリティの脆弱性と注意事項

最近、あるセキュリティ専門家がネットワークシェアリング会議でWeb3業界が過去1年以上にわたり遭遇した重大なセキュリティ事件について議論し、これらの事件が発生した原因とその回避方法を分析し、一般的なスマートコントラクトのセキュリティ脆弱性と予防策をまとめ、プロジェクト側と一般ユーザーに対していくつかのセキュリティアドバイスを提供しました。

一般的な分散型金融の脆弱性タイプには、フラッシュローン、価格操作、関数権限の問題、任意の外部呼び出し、フォールバック関数の問題、ビジネスロジックの脆弱性、秘密鍵の漏洩、および再入攻撃などが含まれます。その中でも、フラッシュローン、価格操作、再入攻撃は特に典型的なものです。

フラッシュローン

フラッシュローン自体は分散型金融の一種の革新ですが、ハッカーによってもよく利用されています。攻撃者はフラッシュローンを通じて大量の資金を借り出し、価格を操作したりビジネスロジックを攻撃したりします。開発者は、契約機能が巨額の資金によって異常を引き起こす可能性があるか、または一回の取引で複数の関数と相互作用して不正な利益を得るために利用される可能性があるかを考慮する必要があります。

過去2年間、多くの分散型金融プロジェクトがフラッシュローンの問題により攻撃を受けました。いくつかのプロジェクトは、固定された時間に保有量に応じて報酬を配布していますが、攻撃者はフラッシュローンを利用して大量のトークンを購入し、報酬配布時に大部分の利益を得ました。また、トークンを用いて価格を計算するプロジェクトもフラッシュローンの影響を受けやすいです。

価格操作

価格操作の問題はフラッシュローンと密接に関連しており、主に2種類あります:

  1. 価格を計算する際に第三者のデータを使用するが、使用方法が正しくないか、確認が欠如しているため、価格が悪意を持って操作される。

  2. 特定のアドレスのトークン数量を計算変数として使用し、これらのアドレスのトークン残高は一時的に増減可能です。

リエントランシー攻撃

外部コントラクトを呼び出す主なリスクの1つは、それらが制御フローを引き継ぎ、データに予期しない変更を加える可能性があることです。典型的な再入攻撃の例は以下の通りです:

ソリディティ マッピング (address => uint) private userBalances;

関数 withdrawBalance() public { uint amountToWithdraw = userBalances[msg.sender]; 成功(bool、) = msg.sender.call.value(amountToWithdraw)("" ); require(success); userBalances[msg.sender] = 0; }

ユーザーの残高は関数の最後まで0に設定されないため、繰り返し呼び出すと残高を引き出すことが成功します。

リエントランシーの問題を解決するには、次の点に注意する必要があります。

  1. 単一の関数の再入を防ぐだけでなく
  2. Checks-Effects-Interactionsパターンに従う
  3. 検証済みの再入防止モディファイアを使用する

プロジェクトチームの安全に関する提案

  1. 契約開発においてベストセキュリティプラクティスに従う
  2. コントラクトのアップグレードおよび一時停止機能を実現する
  3. タイムロック機構を採用
  4. セキュリティへの投資を増やし、完璧なセキュリティシステムを構築する
  5. すべての従業員の安全意識を高める
  6. 内部の悪行を防止し、効率を向上させると同時にリスク管理を強化する
  7. 第三者を慎重に導入する、デフォルトでは上下流は安全ではない

ユーザーがスマートコントラクトの安全性を判断する方法

  1. コントラクトがオープンソースであることを確認する
  2. Ownerが分散型のマルチシグを採用しているか確認する
  3. 契約の既存の取引を確認する
  4. コントラクトがアップグレード可能かどうか、タイムロックがあるかどうかを確認する
  5. 複数の機関による監査を受けたか、Owner権限が過大でないかを確認する
  6. オラクルの使用状況に注意する

総じて、分散型金融の安全はシステム的な問題であり、プロジェクト側とユーザーが共に重視し、包括的な安全対策を講じる必要があります。そうすることで、リスクを効果的に低減することができます。

! Cobo DeFiセキュリティセクション(パートII):D eFiの一般的なセキュリティの脆弱性と防止

DEFI11.78%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 5
  • 共有
コメント
0/400
ForkThisDAOvip
· 07-12 07:12
コード監査は非常に重要です。
原文表示返信0
NewPumpamentalsvip
· 07-12 05:08
契約監査を厳格に策定してください
原文表示返信0
ConsensusDissentervip
· 07-10 09:19
監査も監査が必要です
原文表示返信0
RektRecoveryvip
· 07-10 09:18
マルチシグは基本です
原文表示返信0
FallingLeafvip
· 07-10 09:09
安全第一、他に選択肢はありません。
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)