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