Cobo セキュリティチーム:牛市 DeFi インタラクションガイド
著者:Cobo セキュリティチーム
2019 年の DeFi サマーの開始以来、Ethereum を筆頭に、ますます多くの創造的な分散型金融プロトコル(DeFi プロトコル)が登場し、オンチェーン資産の利用可能性が大幅に豊かになりました。これにより、ブロックチェーンユーザーはオンチェーン資産をより良く活用し、より多様な金融活動を行い、そのために豊かな利益を生み出すことができるようになりました。しかし、DeFi プロトコルの数が増えるにつれて、安全性の課題も伴ってきました。2023 年だけで、ブロックチェーン攻撃による資産損失は 26.1 億ドルに達したという不完全な統計があります。したがって、DeFi プロトコルに参加する際には、期待される利益を評価するだけでなく、プロトコルの安全性の評価も無視できません。そうしなければ、ユーザーに大きな損失をもたらすことになります。
一般的に、現在のプロトコルの安全性評価の主流な定義はコードの安全性評価であり、この定義の次元は比較的単一です。ここでの問題は、評価自体がプロトコルの静的なプロセスにおける安全性のみを考慮していることであり、DeFi の相互作用プロセスでは、安全性はしばしば動的であり、アカウント管理、プロトコル相互作用前の準備、相互作用後の資産管理、データ監視、極端な状況下での資産損失後の自救など、複数の段階を含むことです。
DeFi の初心者として、利益を得る一方で資金の安全を最大限に確保するにはどうすればよいでしょうか?Cobo セキュリティチームは、DeFi 相互作用における一般的な安全リスクとそれに対する防止策を整理しました。これが皆さんの牛市における DeFi の安全な相互作用に役立つことを願っています。
DeFi 相互作用における一般的な安全リスクと防止策
一、アカウントの秘密鍵漏洩
アカウントの秘密鍵漏洩は、現在の初心者ユーザーが最も簡単に引っかかる問題の一つです。現在市場には多くの種類のウォレットがあり、初心者ユーザーはウォレットの安全性を自分で判断する能力が不足しているため、多くの初心者ユーザーは安全でないウォレットをダウンロードし、それを使用して秘密鍵を生成することで、秘密鍵が悪意のある攻撃者に送信され、漏洩してしまいます。多くの経験豊富なユーザーは、ある日自分のメインアカウントからすべての資産が移動されたことに気づき、分析してもすべての行動が正常であることを発見します。このようなケースでは、大半が初期にそのアカウントが安全でないウォレットを使用して秘密鍵を生成したために、秘密鍵がすでに漏洩していることが原因です。
また、ブロックチェーンのエアドロップによる富の効果のため、多くの初心者ユーザーは、いわゆるエアドロップサイトを盲目的にクリックします。これらのエアドロップサイトは、自分たちを非常に真面目なプロジェクトのウェブページとして装飾し、ユーザーに大量の未受領トークンが存在すると告げます。利益に駆られた多くの初心者ユーザーは、ウェブページの誘導に従って自分のアカウントの秘密鍵を入力し、秘密鍵が漏洩することになります。
秘密鍵漏洩を防ぐために、ユーザーは以下の点に注意して防止策を講じる必要があります:
知名度の高いブロックチェーンウォレットを使用し、対応する公式サイトからウォレットをダウンロードすることをお勧めします。条件が許すユーザーはハードウェアウォレットの使用を推奨します。
自分の秘密鍵をネットワーク環境で平文で公開しないこと、また、任意のウェブページに秘密鍵を入力しないこと。
二、署名フィッシングリスク
署名フィッシングリスクは、秘密鍵漏洩と同様に、初心者ユーザーの重災区です。ユーザーに秘密鍵を入力させるのではなく、この種のフィッシング攻撃は、ユーザーに取引を開始させたり署名を求めたりすることで、ユーザーの関連資産の権限を取得します。これは隠蔽性が高く、分析が難しく、気づきにくいという特徴があります。
通常、攻撃者はユーザーをフィッシングウェブページに誘導し、エアドロップを受け取ったりログインを確認したりする名目でユーザーに署名を求めます。この時、ユーザーのブラウザウォレットは署名を完了する必要があると警告します。
フィッシング取引のタイプは多様です:
直接送金タイプ。 直接 ETH を送金するか、ERC20 transfer を呼び出してウォレット資産を攻撃者のアドレスに移動します。
Approve タイプ。 ERC20 Approve メソッドを呼び出して攻撃者のウォレットに権限を付与します。ユーザーが署名する際には資産は移動しませんが、攻撃者のウォレットは transferFrom を呼び出してユーザーの資産を移動できます。
EIP712 メッセージ署名。 例えば ERC20 Permit メソッド、Permit2 権限、NFT 掲示署名など。この種の署名は通常、ウォレットに Json データまたは整形されたツリー状データとして表示されます。ユーザーが署名する際には取引が発生せず、ガス消費もありません。しかし、署名結果はフィッシングサイトに記録され、攻撃者はその署名結果を使用して被害者の ERC20 または NFT 資産を移動できます。
原始 hash 署名。 署名データは 16 進数の hash データであり、署名データ自体から具体的な署名内容を推測することはできません。hash の背後には上記の 1-3 種類のデータが存在する可能性があります。署名は資産損失を引き起こす可能性があります。しかし、現在の主流ウォレットは通常、この種の署名方法を禁止するか、明確なリスク警告を行います。
最近のいくつかのケースでは、特定のフィッシングサイトがユーザーに連続して複数の署名を要求し、最初の数回は無害な正常な署名であることがわかりました。その後、悪意のある署名内容が混ざります。ユーザーの操作の慣性を利用して、ユーザーに署名操作を完了させるのです。
フィッシングによる資金損失を防ぐための核心は、盲目的な署名を拒否することです。各署名を真剣に確認し、不確かな内容の取引には署名を拒否します。具体的には、署名プロセス中に以下の点に注意できます:
相互作用するウェブサイトが DeFi プロジェクトの公式サイトであることを確認し、完全なドメイン名をチェックします。
コントラクト呼び出しのメソッドを確認し、transfer や approve メソッドを重点的にチェックします。
取引に伴う ETH の送金を確認します。特定のフィッシングサイトは、安全に見えるメソッド(例えば Claim)を構築しようとしますが、実際には呼び出し時に ETH の送金を伴い、ETH などのチェーンのネイティブトークンの損失を引き起こします。
原始 hash 内容には署名しないこと。
三、送金アドレスの毒付け
送金アドレスの毒付けは、最近の新しい攻撃方法であり、その攻撃手法は、ユーザーが送金(ERC20、ネイティブトークンなど)を開始する際に、その取引の受取アドレスに似たアドレスを使用して、ユーザーに同額の取引を送信するか、同額だが対応するトークンが偽トークンの取引を行うことです。
例:
アリスは毎月ボブに 1 ETH を固定的に送金して給与を支払います。チャーリーはこの取引を監視し、ボブに似たアドレス(アドレスの最初の 8 桁と最後の 8 桁が同じ)を使用してアリスに 0.001 ETH を送信します。この操作の後、アリスが次にボブに送金する際に、チャーリーのアドレスを取引の受取アドレスとして使用する可能性があります。このような状況が発生する理由は、ブロックチェーンアドレスの長さが長く、無秩序であり、ユーザーが記憶しにくいため、多くの場合、ユーザーは便利さを求めて前回の取引記録からアドレスをコピーするからです。チャーリーとボブのアドレスが非常に似ているため、アリスは区別が難しく、最終的に資産損失を引き起こします。
送金アドレスの毒付けに引っかからないようにするために、ユーザーは以下の手段を講じることができます:
毎回取引の送金アドレスを確認し、完全な内容を確認すること。前後の数バイトだけを比較しないこと。
よく使用するアドレスをアドレスホワイトリスト(アドレス帳)に設定し、別名を設定して、できるだけアドレス帳内のアドレスのみを使用して送金すること。
チェーン上のチャネル(ブロックチェーンブラウザ、ウォレット取引記録など)からコピーしたアドレスを送金対象として使用しないこと。
四、トークンの過度な権限付与
トークンの権限付与は、DeFi 相互作用の第一歩です。DeFi 操作を行う際、取引データはユーザーが構築するのではなく、プロジェクト側のウェブページを通じて構築されます。通常の場合、ユーザーが複数回の相互作用を行う際に再度権限を付与する必要がないように、プロジェクト側のウェブページは通常、ユーザーに署名させるために無限の権限を付与する取引を構築します。その目的は、ユーザーのガスを節約することですが、これが後の資金安全にリスクをもたらすことになります。後にプロジェクトコードに問題が発生した場合、未承認のインターフェースや任意の呼び出しの脆弱性があると、ユーザーの契約に対する無限の権限が攻撃者に利用され、ユーザーの資産が移動されることになります。このような攻撃シナリオは、クロスチェーンブリッジや DEX プロトコルでよく見られます。
後のプロジェクトがアップグレード中にリスクのあるコードを導入したり、プロジェクトコード自体に未発見の脆弱性が存在したりするのを防ぐために、ユーザーは最小権限の原則を採用し、できるだけ今回の取引で使用される額のみを権限付与し、後のプロジェクトリスクによる資産損失を防ぐべきです。
五、安全でない DeFi 操作
相互作用前の準備に加えて、相互作用中にも多くの見落としがちなリスクがあります。これらのリスクは通常、ユーザーがプロジェクト自体を理解していないことから生じます。具体的な例としては:
チェーン上の交換プロトコルを通じてトークンを交換する際に、スリッページの設定が大きすぎるか、スワップのためにスクリプトを作成する際に最低受取数量を設定していない(書きやすさのために 0 に設定)ため、取引が MEV ロボットの「サンドイッチ」攻撃を受ける。
チェーン上の貸借プロトコルを通じて借入操作を行う際に、ポジションの健康度を適時管理せず、大きな変動相場でポジションが清算される。
特定のプロジェクトと相互作用する際に、プロジェクト側の証明書を適切に保管せず、Uniswap V3 の NFT 証明書を普通の NFT として OpenSea で販売する。
これらのリスクを防ぐために、ユーザーはプロジェクトとの相互作用を行う際に、必ず対応するプロジェクトの調査を行い、プロジェクトのメカニズムや関連特性を明確にし、資産損失を防ぐ必要があります。
DeFi 安全取引の新しいパラダイム -- Cobo Argus
上記では、ブロックチェーンでの DeFi 活動における一般的な相互作用リスクについて紹介しました。ユーザーが不注意でその一つに引っかかると、何年もの努力が水の泡になる可能性があります。少しの不注意で取り返しのつかないことになるかもしれません。それでは、安全で効果的、かつ管理が容易なリスク管理ソリューションは存在するのでしょうか?新しい選択肢は Cobo Argus です。
Cobo Argus は、Cobo チームによって開発され、Gnosis Safe に基づいて構築されたオンチェーンのリスク管理製品です。主な機能は、異なる ACL 戦略を構築することで、ユーザーの取引を解析し、リスク管理ルールに合致しない取引を遮断することで、ユーザーの資金の安全を確保することです。
Cobo Argus は DeFi 環境における安全リスクにどのように対処するのか?
1. 基盤となるマルチシグウォレット、上層のシングルシグ権限:秘密鍵漏洩の単一リスクを回避し、フィッシングリスクを緩和しつつ、操作効率を確保
Cobo Argus は、Safe {Wallet} に基づいて構築されたマルチシグウォレット製品であり、その基盤と核心はマルチシグ契約ウォレットです。したがって、Cobo Argus は自然に Safe {Wallet} のマルチシグウォレットの安全性を継承しています。
資金を単一の秘密鍵管理から複数の秘密鍵による共同管理に変えることで、単一の秘密鍵漏洩による資産の喪失/ロックリスクを排除できます。マルチシグウォレット自体は、取引の実行をトリガーするために複数の署名を必要とし、単一のアドレスの秘密鍵が漏洩しても全体の資金の安全には影響しません。また、失われたまたはリスクのあるシングルシグアドレスを置き換えるためにマルチシグ取引を開始することができ、マルチシグウォレットの安全性を保証します。
さらに、シングルシグアドレスからマルチシグアドレスに切り替えた後、取引の署名時には各ユーザーが取引に署名する必要があり、取引内容のクロス監査が促進され、フィッシングの可能性が大幅に低下します。
マルチシグは複数人の審査を必要とするため、操作効率に一定の影響があります。Cobo Argus は、ユーザーが柔軟な権限ルールを設定できるようにし、リスクの低い高頻度の操作(例えば、ファーミング中の定期的な利益の請求操作)を特定の EOA アドレスに権限付与することを許可します。このアドレスはマルチシグウォレットの代わりに操作を開始し、作業効率を向上させます。同時に、このアドレスの権限は厳しく制限されているため、ウォレット全体の安全性には明らかな影響を与えません。
2. カスタムロボット:24 時間自動リスク監視と応答
Cobo Argus 監視ロボットを設定することで、監視する条件とトリガー条件に基づいて実行する操作をカスタマイズできます。
借入プロジェクトのレバレッジ管理を例にとると、ユーザーは Argus ロボットを設定して自分のヘルスファクターを監視し、ポジションが清算に近づくと、ロボットが担保を追加したり、返済を行ったりしてレバレッジを下げる操作を行うことができます。
3. カスタム ACL 戦略
カスタム監視ロボットの設定に加えて、一定の開発能力を持つユーザーは、カスタム ACL(アクセス制御リスト)契約を開発することで、より柔軟な権限管理を実現できます。これは Cobo Argus の核心機能の一つです。以下にいくつかの例を挙げて、この機能の魅力を感じてみましょう:
アドレス毒付け攻撃に対して、ACL 契約を作成することで、ユーザーは ACL 契約内に常用のアドレスをホワイトリストとして指定できます。取引中、ACL 契約は取引の受取アドレスを解析し(ERC20 / ネイティブトークン)、ユーザーが設定したホワイトリストアドレスと照合します。受取アドレスが対応するアドレス内にない場合、その取引は成功しません。
過度な権限付与の問題に対して、ユーザーは ACL 戦略契約を作成して、Approve 取引の権限額を解析し、トークンの Approve 権限額がユーザーの設定値を超えないように制限できます。また、カスタムロボットを設定して、関連トークンの権限を定期的にクリアすることもできます。
安全でない DeFi 操作に対して、スリッページチェックのないスワップ取引を防ぐために、Argus ACL 戦略契約を作成し、交換取引で受け入れ可能な最低スリッページを設定できます。設定が完了すると、ACL 戦略契約は設定されたスリッページに基づいて異なるスワップ取引を解析し、交換スリッページが満たされない場合、その取引を遮断できます。
まとめ
DeFi 相互作用には多くの防ぎにくいリスクが存在します。本文で述べた内容は多くの一般的なシナリオを含んでいますが、すべてのリスクポイントを完全にカバーすることはできません。ユーザーは各取引を真剣に処理する必要があります。
Cobo Argus は、ユーザーに信頼できるかつ設定が容易な手段を提供し、一般的な安全リスクを防ぐことができます。ACL を通じて柔軟かつ安全な権限管理を実現し、安全性を確保しつつ操作効率を向上させます。カスタムロボットは、手動操作を減らし、リアルタイム監視の能力を持ち、24 時間ユーザーの資金安全を保障します。
DeFi は確かにユーザーにかなりの利益をもたらすことができますが、資金の安全が資産の安定した成長の核心です。Cobo Argus はすべての DeFi ファーマーを守り、牛市でより多くの価値を創造する手助けをします。