DeFiセキュリティインベントリ:一般的な脆弱性の種類と防止ガイド

robot
概要作成中

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

最近、安全専門家が分散型金融の安全性に関する見解を共有し、過去1年間にWeb3業界で発生した重大なセキュリティ事件を振り返り、これらの事件が発生した理由と回避方法を探り、一般的なスマートコントラクトのセキュリティ脆弱性と予防策をまとめ、プロジェクト側とユーザーにいくつかの安全に関するアドバイスを提供しました。

一般的な分散型金融の脆弱性には、フラッシュローン、価格操作、関数権限の問題、任意の外部呼び出し、フォールバック関数の問題、ビジネスロジックの脆弱性、プライベートキーの漏洩、再入攻撃などがあります。以下では、フラッシュローン、価格操作、再入攻撃の3つのタイプに重点を置いて説明します。

フラッシュローン

フラッシュローンは分散型金融の一つの革新ですが、ハッカーによって攻撃に利用されることもあります。攻撃者はフラッシュローンを通じて大量の資金を借り出し、価格を操作したり、ビジネスロジックを攻撃したりします。開発者は、契約の機能が巨額の資金によって異常になるか、または不当な報酬を得るために利用される可能性を考慮する必要があります。

多くの分散型金融プロジェクトは高い利益を提供しているように見えますが、実際にはプロジェクトチームのレベルはまちまちです。一部のプロジェクトではコードが購入された可能性があり、コード自体に脆弱性がなくても、論理的に問題が存在する可能性があります。例えば、一部のプロジェクトは固定された時間に保有量に基づいて報酬を支給しますが、攻撃者がフラッシュローンを利用して大量のトークンを購入し、大部分の報酬を取得することがあります。

価格操作

価格操作の問題はフラッシュローンと密接に関連しており、主に価格計算時のパラメータがユーザーによって制御されるためです。一般的な問題のタイプは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; }

ユーザーの残高は関数の最後までゼロにならないため、繰り返し呼び出すことができ、残高を何度も引き出すことができます。

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

  1. 単一の関数の再入を防ぐだけではない
  2. Checks-Effects-Interactionsパターンに従う 3.実績のあるアンチリエントランシーモディファイアを使用する

再入攻撃の手法は多様であり、複数の関数やコントラクトが関与する可能性があるため、解決するのが比較的複雑です。車輪の再発明ではなく、十分に検証されたベストプラクティスを使用することが最善です。

プロジェクト側の安全に関する提案

  1. 最良のセキュリティプラクティスに従って契約を開発する
  2. コントラクトのアップグレードと一時停止機能を実現する
  3. タイムロックメカニズムを採用する
  4. セキュリティへの投資を増やし、完璧なセキュリティシステムを構築する
  5. 全ての従業員のセキュリティ意識を高める
  6. 内部の悪行を防止し、効率を向上させると同時にリスク管理を強化する
  7. 第三者コンポーネントを慎重に導入し、安全検証を行うこと。

ユーザーはどのようにスマートコントラクトの安全性を判断するか

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

総じて、分散型金融の分野では、安全性の問題が特に重要です。プロジェクト側は安全への投資を重視し、ユーザーも警戒を高めて慎重に参加する必要があります。共同の努力があってこそ、より安全で信頼できる分散型金融のエコシステムを構築できるのです。

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

原文表示
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • 報酬
  • 5
  • 共有
コメント
0/400
BoredRiceBallvip
· 2時間前
別聞き流せ もうラグプルしたのが一つ
原文表示返信0
SchrodingerProfitvip
· 23時間前
切 いま割られていない初心者はいますか?
原文表示返信0
ContractSurrendervip
· 23時間前
また初心者をカモにする大ガイド!
原文表示返信0
SnapshotDayLaborervip
· 23時間前
慎重に防ぐ必要があります。幸い、私は速く走れる。
原文表示返信0
CoconutWaterBoyvip
· 07-12 06:37
要するに、これは知能税ですね!
原文表示返信0
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)