著者: INSIGHTFUL; Compiled by Deep Tide TechFlow
免責事項
このガイドはいかなる内容も保証するものではなく、「暗号化やサイバーセキュリティの専門家」の観点から書かれたものではありませんが、複数の情報源と個人的な経験に基づく継続的な学習の結果です。
例えば、私自身、この分野に入ったばかりの頃、逃すことへの恐怖(FOMO)や欲(偽のライブストリーミング詐欺や偽のMEVボット詐欺)によって詐欺に遭ったことがあるので、時間をかけて慎重に学び、設定し、セキュリティを理解しました。
すべてを失ったり、多くの資産を失ったりしたために、セキュリティについて学ぶことを余儀なくされるような人にはならないでください。
ハッキングか、それともユーザーのミスか?
トークンの承認
トークンの承認とは、実際には、スマートコントラクトがウォレット内の特定の種類または数のトークンにアクセスして移動することを許可する権限です。
例えば:
背景情報として、基本的にETHを除くEtherネットワーク上のすべてのものはERC-20トークンです。
ERC-20トークンの特徴の1つは、他のスマートコントラクトに承認権を与える能力です。
トークンの交換やブリッジングといったDeFiの中核となるやり取りを行いたい場合、これらの承認はある時点で必要になります。
NFTはそれぞれERC-721とERC-1155トークンで、承認メカニズムはERC-20に似ていますが、NFT市場に適用されます。
MetaMask(MM)の最初のトークン承認画面では、いくつかの情報が提供されます。
あなたが承認を与えているトークン
あなたがやりとりしているウェブサイト
あなたがやりとりしているスマートコントラクト
トークン権限の数を編集できる詳細のドロップダウンメニューに、承認機能という追加情報があります。
すべてのERC-20トークンは、ERC-20標準に概説されているように、特定の機能と属性を持たなければなりません。
その一つが、承認された数量に基づいてトークンを移動させるスマートコントラクトの機能です。
これらの承認の危険性は、悪意のあるスマートコントラクトにトークンへのアクセスを許可すると、資産が盗まれたり枯渇したりする可能性があるということです。
無制限承認とカスタム制限承認(ERC-20トークン)
多くのDeFiアプリは、デフォルトでERC-20トークンの無制限承認を促します。
これは、ユーザーエクスペリエンスを向上させるために行われています。
なぜこれが重要なのか?
トークンの承認を無制限に許可すると、資金が危険にさらされる可能性があります。
トークンの承認を特定の数に手動で設定すると、dAppが新しい大きな承認に署名せずに移動できるトークンの最大数を制限できます。
これにより、スマートコントラクトが悪用された場合のリスクを減らすことができます。dAppに無制限の承認を与え、そのdAppが脆弱になった場合、その資産を保有し、その承認を与えたウォレットから、承認されたすべてのトークンを失う可能性があります。
例えば、ETHのERC-20トークンラッパーであるMultichain WETHは、このような脆弱性に見舞われました。
この一般的に使用されているブリッジは、以前の無制限のトークン許可を悪用するために攻撃され、ユーザー資金の盗難につながりました。
デフォルトの無制限承認を手動承認に変更する方法を示す例です(Zerion Walletを使用)。
NFT承認
NFTの「setApprovalForAll」
これは一般的ですが、潜在的に危険な承認です。通常、NFTを販売したい場合、信頼できるNFTマーケットプレイスに許可されます。
これにより、マーケットプレイスのスマートコントラクトがあなたのNFTを移動させることができるため、あなたがNFTを買い手に売却すると、マーケットプレイスのスマートコントラクトは自動的にNFTを買い手に移動させることができます。
この承認により、特定のコレクションまたは契約アドレス内のすべてのNFTトークンへのアクセスが許可されます。
これは、悪意のあるウェブサイトや契約によってNFTを盗むために使用される可能性もあります。
「setApprovalForAll」を悪用する悪意ある行為者の例
FOMOフリーキャスティングの場合、古典的な「ウォレットアカウントの縮小」は次のようになります。
ユーザーは、合法だと思っている悪意のあるサイトを訪問します。
サイトにウォレットを接続すると、サイトはウォレットの中身しか見ることができません。
しかし、悪意のあるサイトはウォレットをスキャンして最も価値の高いNFTを探し、そのNFTのコントラクトアドレスに対してMetaMask(MM)から「すべての承認を設定」するようユーザーに促します。
ユーザーはNFTを鋳造していると思っていますが、実際には悪意のあるコントラクトにそれらのトークンを移動する許可を与えているのです。
その後、詐欺師はトークンを盗み、アイテムが盗難としてマークされる前にOpenSeaまたはBlur入札に清算します。
署名と承認
承認には取引処理が含まれるため、ガス料金が必要です。
一方、署名はガスを必要とせず、一般的にdAppにログインしてそのウォレットを管理していることを証明するために使用されます。
署名は一般的に低リスクの操作ですが、それでもOpenSeaのような信頼できるサイトで以前に付与された承認を利用するために使用することができます。
ERC-20トークンについては、最近イーサで許可機能が導入されたため、ガスなしで署名で承認を変更することもできます。
1inchのような分散型取引所(DEX)を使えば、このことがわかります。
トークンの承認ポイント
承認を行う際は注意し、どのトークンを承認しているのか、どのスマートコントラクトに対して承認しているのかを確認しましょう(イーサスキャンが利用できます)。
承認リスクを抑える:
複数のウォレットを使う(承認はウォレット固有)。--保管場所や価値の高いウォレットには承認サインをしない。
理想的には、ERC-20トークンに無制限の承認を与えることを減らすか、完全に避けることです。
etherscanまたはrevoke.cashで定期的に承認をチェックし、取り消します。
イーサスキャンまたはrevoke.cashで定期的に承認を確認し、取り消す。h3 style="text-align: left;">ハードウェア/コールドウォレット
ホットウォレットは、コンピュータや携帯電話を通じてインターネットに接続し、キーとウォレットの認証情報をオンラインまたはブラウザにローカルに保存します。
コールドウォレットはハードウェアデバイスで、キーは完全にオフラインで物理的にあなたの近くに保存されます。
Ledgerのコストが約120ドルであることを考えると、暗号資産を1,000ドル以上持っているのであれば、Ledgerを購入してセットアップしたほうがよいでしょう。 LedgerウォレットをMetaMask(MM)に接続することで、他のホットウォレットと同じセキュリティを享受しながら、一定のセキュリティレベルを維持することができます。LedgerウォレットをMetaMask (MM)に接続すれば、ある程度のセキュリティを保ちながら、他のホットウォレットと同じ機能を楽しむことができます。
LedgerとTrezorが最も人気のある選択肢です。私がLedgerを気に入っているのは、ブラウザウォレットとの互換性が最も高いからです(RabbyやMMに似ています)。
台帳を購入する際のベストプラクティス
EbayやAmazonではなく、必ずメーカーの公式サイトから購入しましょう。
EbayやAmazonでは購入しないでください。
商品が密封されたパッケージで届くことを確認してください。
Ledgerを初めてセットアップすると、ニーモニックが生成されます。
ニーモニックは物理的な紙に書くか、将来的には鉄板に書いて、ニーモニックのフレーズが耐火・防水であることを確認してください。
ニーモニック・フレーズを写真に撮ったり、キーボード(携帯電話を含む)でタイプしたりしないでください。
暗号化された資産はハードウェアウォレットに保存されるのではなく、ニーモニックフレーズから生成されたウォレットに保存されます。
ニーモニックフレーズ(12~24語)がすべてであり、何としても保護し、セキュアにしなければなりません。
そのニーモニックフレーズの下で生成されたすべてのウォレットを完全にコントロールし、アクセスすることができます。
ニーモニック語句はデバイスを特定するものではなく、(必要であれば)バックアップとして別のハードウェアウォレットに「インポート」することができます。
ニーモニックが紛失または破損し、元のハードウェアウォレットも紛失、破損、またはロックされた場合、すべての資産へのアクセスを永久に失うことになります。
ニーモニックを保管する方法は複数あります。例えば、複数のパーツに分ける、パーツ間の物理的な距離を長くする、目立たない場所(冷蔵庫の底のスープ缶、敷地の下など)に保管するなどです。
最低でも2~3枚は用意し、そのうちの1枚は水や火から守るためにスチール製にする。
「秘密鍵」はニモニックフレーズに似ていますが、特定のウォレットに固有のものです。これは通常、ホットウォレットを新しいメタマスク(MM)アカウントにインポートしたり、取引ボットのような自動化ツールで使用されます。
25番目の単語 - Ledger
オリジナルの24単語のニーモニックフレーズに加え、Ledgerはオプションで追加のセキュリティ機能を提供しています。
パスワードフレーズは、リカバリーフレーズに100文字までのお好きな25番目の単語を追加するプレミアム機能です。
パスフレーズを使用すると、24語のリカバリフレーズだけではアクセスできない、まったく別のアドレスセットが生成されます。
セキュリティのレイヤーを追加するだけでなく、暗号化されたフレーズは、脅迫されたときにもっともらしい否認を提供します。
パスワード・フレーズを使用する場合は、必ず安全に保存するか、大文字と小文字を区別して正確に覚えてください。
これが「5ドルスパナ攻撃」という物理的脅威のシナリオに対する唯一にして究極の防御策です。
なぜハードウェアウォレットをセットアップするためにこのような手間をかけるのでしょうか?
ホットウォレットは、インターネットに接続された場所に秘密鍵を保管します。
インターネット上でこれらのクレデンシャルを危険にさらすために、なりすましたり、誤魔化したり、操作したりするのは非常に簡単です。
コールドウォレットを持つということは、詐欺師がこれらのウォレットとその内部資産にアクセスするために、あなたのLedgerやニーモニックを物理的に見つけて取得する必要があるということです。
一度トークンが侵害されると、悪意のあるウェブサイトや契約とやりとりしていないものであっても、すべてのホットウォレットとその中の資産が危険にさらされます。
過去に人々が「ハッキング」された一般的な方法
過去にホットウォレットを通じて人々が「ハッキング」された(ヘルパーフレーズが漏洩した)一般的な方法は以下の通りです:
求人のPDFやベータ版ゲーム、Googleフォームを使ったマクロの実行、正規のウェブサイトやサービスの模倣など、騙されてマルウェアをダウンロードさせられる。
悪意のある契約とのやりとり:模倣サイトでのFOMOキャスティング、未知のエアドロップや受け取ったNFT契約とのやりとり。
カスタマーサポートまたは関連プログラム/フォームにキーやニーモニックを挿入または送信すること。