#Web3SecurityGuide
プロトレーダーおよび長期保有者向けWeb3セキュリティガイド:最良の例と詳細な解説
ウォレット層は第一の防衛線
多額の資金にはハードウェアウォレットを使い、日常の少額利用にはホットウォレットを使い、明確なラベルを付けて分離して保管する
マルチデバイス構成を使用し、保管庫用のクリーンなノートPCと、DeFiおよび取引用の日常用ノートPCを1台ずつ用意する
デバイスを強力なPINでロックし、隠し保管庫用にパスフレーズを追加し、必要のないときはブラインド署名を無効にする
出金先の許可リストを使用し、新しいアドレスを追加した後は24時間出金をロックする
シード層はあらゆるリスクの根源
シードフレーズは金属プレートに記録してオフラインで保管し、クラウド、スマートフォンのメモ、ブラウザ、メールには決して保存しない
必要であればシードを2つに分割して別々の安全な場所に保管し、ドライランで一度リカバリーをテストする
シードをサイト、アプリ、フォームに入力してはならず、シードが表示された画面を決して共有しない
分散バックアップが必要な大規模保管庫にはShamir分割を使用する
シードが流出した最良の例は、シードをスマートフォンのメモに保存し、スマートフォンがマルウェアに感染して数分で資金を抜き取られたユーザーである
もう一つの例は、シードを写真に撮り、その写真がクラウドに自動同期され、クラウドがフィッシング被害に遭って保管庫が空にされたユーザーである
フィッシング層は最大のリスク
偽サイト、偽エアドロップ、偽サポートからのDMが主な攻撃ベクトルである
常にURLを確認し、公式ドメインをブックマークし、DM、メール、広告バナーのリンクは決してクリックしない
Web3専用のブラウザプロファイルを使用し、ポップアップと広告スパムをブロックし、自動接続を無効にする
公式ドキュメントでコントラクトアドレスを確認し、エクスプローラーで照合し、トークン保有者数とコントラクトの経過期間を確認する
最良の例は、本物のトークンローンチのように見える偽の請求サイトで、承認を要求した後にウォレットの資金を抜き取るものである
2つ目の例は、リモートアクセスを要求し、その後ブラウザの保管庫ファイルを盗む偽サポートである
3つ目の例は、ウォレット拡張機能の偽アップデートが悪意のあるコードを注入し、クリップボード乗っ取りによって送金先アドレスを差し替えるものである
承認層は気づきにくい資金流出のリスク
多くのdappはトークン使用のために無制限の承認を要求し、その承認は取り消すまで有効なままである
限定的な承認を使用し、上限を低く設定し、未使用の承認をrevokeツールで毎週取り消す
承認先が正しいコントラクトであり、EOAではなく、トランザクション数の少ない新規デプロイでもないことを確認する
ガス代なしでトークン移動を許可するpermitやmeta txへの署名を避け、読めないランダムなtyped dataには署名しない
最良の例は、ファーミングのためにUSDTを無制限で承認し、ファームが悪用され、攻撃者が残った承認を使ってすべてのUSDTを抜き取ったユーザーである
2つ目の例は、無料NFTのためにpermitへ署名したところ、そのpermitによって攻撃者のコントラクトにUSDCの全額使用権限を与えてしまったユーザーである
スマートコントラクト層には注意が必要
監査済みだから安全とは限らないが、監査がない場合は高リスクである
TVL、運用期間、開発チームの実績、バグ報奨金、マルチシグの所有者、タイムロック、プロキシアップグレードの有無を確認する
高利回り、低流動性、匿名チーム、単一の所有者キーを特徴とする新しいフォークを避ける
シミュレーションツールを使って署名前にトランザクションの結果を予測し、残高の変化と承認の変更を確認する
最良の例は、コードをコピーしただけに見えて隠しミント機能を追加したフォークで、開発者がトークンをミントして売り抜けるものである
2つ目の例は、低流動性の価格フィードを使う保管庫が操作され、フラッシュローンによって資金を抜き取られるものである
ブリッジおよびクロスチェーン層は追加のリスクを伴う
ブリッジは大規模な資金プールを保有しているためハッキングの主要標的となり、複雑なオフチェーンリレイヤーを備えている
最初に少額のテストトランザクションを実行し、ファイナリティを待ち、送付先チェーンで着金を確認し、チェーンIDとアドレス形式を確認する
監査回数が少なく、TVLが低く、バリデーターセットが単一の新しいブリッジを避ける
最良の例は、偽の証明を利用されて悪用され、攻撃者が裏付けのないラップドトークンを発行し、それを本物の資金と交換したブリッジである
2つ目の例は、同じアドレスが別のチェーンにも存在するため、誤ったチェーンIDへ資金を送って失ったユーザーである
日常の資金運用におけるOpSec層
取引用、ソーシャル用、メール用に別々のデバイスを使用する
固有のメールアドレスと強力なパスワードを使用し、2FAはSMSではなくアプリ経由にし、高額資産を扱うアカウントにはハードウェアキーを使用する
APIキーをローテーションし、IPと出金先リストを制限し、使用しない場合は先物取引とマージン取引を無効にする
使用後はログアウトし、キャッシュを消去し、アイドル時はウォレットをロックする
最良の例は、ソーシャルアカウントと取引所で同じパスワードを再利用し、ソーシャルアカウントが侵害され、APIキー経由で取引所の資金を抜き取られたトレーダーである
2つ目の例は、クラックされた取引ボットをインストールし、ボットに秘密鍵ファイルを盗まれたトレーダーである
リカバリープラン
緊急連絡先を確保し、少額のガス資金を入れたバックアップウォレットを準備しておく
資金流出が発生した場合は、フロントランボットを避けるため、クリーンなデバイスからプライベートRPCを使って残った資金を速やかにクリーンなウォレットへ移し、承認を取り消す
トランザクションハッシュ、アドレス、トークンの移動経路を記録し、チームに報告し、ブロックエクスプローラーのラベルを確認する
フォレンジック調査に備えて、ウォレット、トランザクション、連絡先のオフライン記録を保管する
プロトレーダーが署名前に確認すべきチェックリスト
1つ目、これは公式ドメインと公式コントラクトか
2つ目、この署名は何を実行し、残高にどのような変化があり、承認にどのような変更があるか
3つ目、上限はいくらで、低い上限または1回限りの使用に設定できるか
4つ目、リスクとリターンはどの程度で、コントラクトに問題があった場合に損失を負担できるか
5つ目、最初に少額でテストしたか
Web3セキュリティは一度きりの設定ではなく習慣である
日々の小さな衛生管理、ハードウェア、限定的な承認、検証、低い信頼、迅速な承認取り消しを組み合わせることで資金を守り、明晰な判断で取引できるようになる
プロトレーダーおよび長期保有者向けWeb3セキュリティガイド:最良の例と詳細な解説
ウォレット層は第一の防衛線
多額の資金にはハードウェアウォレットを使い、日常の少額利用にはホットウォレットを使い、明確なラベルを付けて分離して保管する
マルチデバイス構成を使用し、保管庫用のクリーンなノートPCと、DeFiおよび取引用の日常用ノートPCを1台ずつ用意する
デバイスを強力なPINでロックし、隠し保管庫用にパスフレーズを追加し、必要のないときはブラインド署名を無効にする
出金先の許可リストを使用し、新しいアドレスを追加した後は24時間出金をロックする
シード層はあらゆるリスクの根源
シードフレーズは金属プレートに記録してオフラインで保管し、クラウド、スマートフォンのメモ、ブラウザ、メールには決して保存しない
必要であればシードを2つに分割して別々の安全な場所に保管し、ドライランで一度リカバリーをテストする
シードをサイト、アプリ、フォームに入力してはならず、シードが表示された画面を決して共有しない
分散バックアップが必要な大規模保管庫にはShamir分割を使用する
シードが流出した最良の例は、シードをスマートフォンのメモに保存し、スマートフォンがマルウェアに感染して数分で資金を抜き取られたユーザーである
もう一つの例は、シードを写真に撮り、その写真がクラウドに自動同期され、クラウドがフィッシング被害に遭って保管庫が空にされたユーザーである
フィッシング層は最大のリスク
偽サイト、偽エアドロップ、偽サポートからのDMが主な攻撃ベクトルである
常にURLを確認し、公式ドメインをブックマークし、DM、メール、広告バナーのリンクは決してクリックしない
Web3専用のブラウザプロファイルを使用し、ポップアップと広告スパムをブロックし、自動接続を無効にする
公式ドキュメントでコントラクトアドレスを確認し、エクスプローラーで照合し、トークン保有者数とコントラクトの経過期間を確認する
最良の例は、本物のトークンローンチのように見える偽の請求サイトで、承認を要求した後にウォレットの資金を抜き取るものである
2つ目の例は、リモートアクセスを要求し、その後ブラウザの保管庫ファイルを盗む偽サポートである
3つ目の例は、ウォレット拡張機能の偽アップデートが悪意のあるコードを注入し、クリップボード乗っ取りによって送金先アドレスを差し替えるものである
承認層は気づきにくい資金流出のリスク
多くのdappはトークン使用のために無制限の承認を要求し、その承認は取り消すまで有効なままである
限定的な承認を使用し、上限を低く設定し、未使用の承認をrevokeツールで毎週取り消す
承認先が正しいコントラクトであり、EOAではなく、トランザクション数の少ない新規デプロイでもないことを確認する
ガス代なしでトークン移動を許可するpermitやmeta txへの署名を避け、読めないランダムなtyped dataには署名しない
最良の例は、ファーミングのためにUSDTを無制限で承認し、ファームが悪用され、攻撃者が残った承認を使ってすべてのUSDTを抜き取ったユーザーである
2つ目の例は、無料NFTのためにpermitへ署名したところ、そのpermitによって攻撃者のコントラクトにUSDCの全額使用権限を与えてしまったユーザーである
スマートコントラクト層には注意が必要
監査済みだから安全とは限らないが、監査がない場合は高リスクである
TVL、運用期間、開発チームの実績、バグ報奨金、マルチシグの所有者、タイムロック、プロキシアップグレードの有無を確認する
高利回り、低流動性、匿名チーム、単一の所有者キーを特徴とする新しいフォークを避ける
シミュレーションツールを使って署名前にトランザクションの結果を予測し、残高の変化と承認の変更を確認する
最良の例は、コードをコピーしただけに見えて隠しミント機能を追加したフォークで、開発者がトークンをミントして売り抜けるものである
2つ目の例は、低流動性の価格フィードを使う保管庫が操作され、フラッシュローンによって資金を抜き取られるものである
ブリッジおよびクロスチェーン層は追加のリスクを伴う
ブリッジは大規模な資金プールを保有しているためハッキングの主要標的となり、複雑なオフチェーンリレイヤーを備えている
最初に少額のテストトランザクションを実行し、ファイナリティを待ち、送付先チェーンで着金を確認し、チェーンIDとアドレス形式を確認する
監査回数が少なく、TVLが低く、バリデーターセットが単一の新しいブリッジを避ける
最良の例は、偽の証明を利用されて悪用され、攻撃者が裏付けのないラップドトークンを発行し、それを本物の資金と交換したブリッジである
2つ目の例は、同じアドレスが別のチェーンにも存在するため、誤ったチェーンIDへ資金を送って失ったユーザーである
日常の資金運用におけるOpSec層
取引用、ソーシャル用、メール用に別々のデバイスを使用する
固有のメールアドレスと強力なパスワードを使用し、2FAはSMSではなくアプリ経由にし、高額資産を扱うアカウントにはハードウェアキーを使用する
APIキーをローテーションし、IPと出金先リストを制限し、使用しない場合は先物取引とマージン取引を無効にする
使用後はログアウトし、キャッシュを消去し、アイドル時はウォレットをロックする
最良の例は、ソーシャルアカウントと取引所で同じパスワードを再利用し、ソーシャルアカウントが侵害され、APIキー経由で取引所の資金を抜き取られたトレーダーである
2つ目の例は、クラックされた取引ボットをインストールし、ボットに秘密鍵ファイルを盗まれたトレーダーである
リカバリープラン
緊急連絡先を確保し、少額のガス資金を入れたバックアップウォレットを準備しておく
資金流出が発生した場合は、フロントランボットを避けるため、クリーンなデバイスからプライベートRPCを使って残った資金を速やかにクリーンなウォレットへ移し、承認を取り消す
トランザクションハッシュ、アドレス、トークンの移動経路を記録し、チームに報告し、ブロックエクスプローラーのラベルを確認する
フォレンジック調査に備えて、ウォレット、トランザクション、連絡先のオフライン記録を保管する
プロトレーダーが署名前に確認すべきチェックリスト
1つ目、これは公式ドメインと公式コントラクトか
2つ目、この署名は何を実行し、残高にどのような変化があり、承認にどのような変更があるか
3つ目、上限はいくらで、低い上限または1回限りの使用に設定できるか
4つ目、リスクとリターンはどの程度で、コントラクトに問題があった場合に損失を負担できるか
5つ目、最初に少額でテストしたか
Web3セキュリティは一度きりの設定ではなく習慣である
日々の小さな衛生管理、ハードウェア、限定的な承認、検証、低い信頼、迅速な承認取り消しを組み合わせることで資金を守り、明晰な判断で取引できるようになる
















