CoinPostで今最も読まれています

Web3ウォレットMetamask(メタマスク) 利用上の注意点を解説

画像はShutterstockのライセンス許諾により使用

目次
  1. dAppsの権限(Permission)
    1-1. ウォレットの接続(Connect)
    1-2. コントラクトの承認(Approve)
    1-3. コントラクトの署名(Sign)
    1-4. 承認(Aprove)のリスクと対策
    1-5. 署名(Sign)のリスクと対策
  2. コントラクト対話時のチェックリスト
    2-1. 接続を切断する方法
    2-2. 承認を取り消し(Revoke)する方法
    2-3. 署名のパラメータ調整方法
  3. 代表的な詐欺の手口

①dAppsの権限(Permission)

dApps(分散型アプリケーション)を利用するために、「Metamask(メタマスク)」を初めとする暗号資産ウォレットを接続する必要があります。

分散型取引所UniSwapやNFT(非代替性トークン)マーケットプレイスOpenSeaなどを開くと、メタマスクなどのポップアップが表示され、何らかの「権限(Permission)」を要求された経験をした方は多いでしょう。

出典:Consensys

こうした権限の付与は、dAppにユーザーが保有するトークンへのアクセスを可能にするために必須なプロセスです。dApp上のアクションはトークンの入金・送信に関連しており、ウォレット使用の許可を得なければ何も実行しません。

一方で、悪意のあるコントラクトやdAppに不用意に権限を与えたばかりに、資産の不正流出につながるハッキング事例も多発しています。

この記事では、dAppsの利用時に必要になる「権限(Permission)」について解説。及び、メタマスクのセキュリティ対策についてご紹介します。

1-1. ウォレットの接続(Connect)

dAppを使用する際、最初にウォレットと「接続(Connect)」することになります。これは、 DeFi(分散型金融)、ブロックチェーンゲーム、NFT(非代替性トークン)マーケットプレイスも同様です。

出典:ConsenSys

接続(Connect)の権限を得たdAppは、ユーザーアドレス(つまり保持している資産内容)を見ることができるようになります。しかし、まだトークンにアクセスして移動することはできません。

dAppsに接続する必要があるのは1回だけであり、過去に接続したサイトは「接続済みサイト(Connected Sites)」で一覧表示されます。接続したサイトの切断方法については、後ほどご紹介します。

1-2. コントラクトの「承認(Approve)」とは

DeFi、ブロックチェーンゲーム、NFT購入を含むdAppsを利用する場合、スマートコントラクトとやり取りするには、トークンへのアクセス権限を承認する必要があります。

「Approve(承認)」トランザクションはその一つで、UniswapやCompoundのようなDeFi(分散型金融)アプリケーションの利用時に、以下のようなポップアップを見た人は多いでしょう。

出典:Consensys

出典:Consensys

ユーザーは、トークンへのアクセスを「承認(Approve)」するトランザクションを発行した後、スワップや流動性提供などのトランザクションを発行できるようになります。

つまり、DEX(分散型取引所)で新たにトークンを交換したい時、最低2回のトランザクションを要すので、それだけガス代がかかることになります。(なお、イーサリアム:ETH自体の操作にこの承認は必要ありません。)

1-3. コントラクトの「署名(Sign)」とは?

すべてのトークンが、承認トランザクションを要求するわけではありません。このメカニズムは、 EIP-3009を実装するトークンには不要であり、その代表例がステーブルコイン「USCCoin(USDC)」です。

出典:@Korpi87

EIP-3009では、承認(Approval)トランザクションの代わりに、「許可(Pernmit)トランザクション」を使用します。これは、承認と送信を1つのトランザクションにまとめるので、承認のガスコストはかからず、トークンの送信時にのみガスを支払います。

「署名(Sign)」は、前述の承認トランザクションをウォレット内の「メッセージ」データ内の署名に置き換えることで、ユーザーエクスペリエンスを向上します。

承認と同様に、署名(Sign)はユーザーのウォレットからトークンをアンロックするために使用されており、トレードやデポジットに使用されています。

1-4. 承認(Aprove)のリスクと対策

トークンの承認(Aprove)は、詐欺の一般的な攻撃経路となっています。悪意のあるdAppsにトークンの無制限のアクセス許可を与えてしまうと、ユーザーの資産を自由に移動することが出来てしまいます。

出典:Metamask

これを防ぐ一つの方法は、MetaMaskで表示される承認画面の「Edit Permission」から、上限を調節することです。下図の場合、Uniswapは「stETH」への無制限のアクセスを要求しています。実績の少ないDEXを利用する際などには「Custom Spend Limit」フィールドを使ってこのアクセス権に制限を設けましょう。

出典:Metamask

このように、メタマスクではトークン数量のアクセス承認を管理できるので、dAppsに必要以上にアクセスを許可したり、新しいプラットフォームを試すために不要なリスクを負う必要はありません。

1-5. 署名(Sign)のリスクと対策

トランザクションを一つカットできる「署名」は便利ですが、資産が盗まれるリスクは承認と同様にあることを覚えておく必要があります。

承認トランザクションをウォレット内の「メッセージ」データへの署名に置き換えているとはいえ、怪しいdAppに無制限のアクセスを許可していれば不正流出のリスクに晒されます。

8月には「署名(Sign)」が原因となって、DeFiトレーダー「Joe (仮名)」のウォレットから約7,000万円(50万ドル)相当のUSDC(USDCoin:米ドル連動型ステーブルコイン)が流出する事例が報告されました。

約7,000万円(50万ドル)相当のUSDCが奪われたJoe (仮名)の場合は、事件の10分前に悪意のあるコントラクトに署名(Sign)した事が、行動履歴から明らかになっています。

出典:@Korpi87

ユーザーの署名があれば、攻撃者はPermit関数を用いてターゲットのトークンを送信できてしまいます。これを悪用して、闇市場ではメタマスクを介して簡単なメッセージに署名するだけでウォレットから資産を盗む「NFT Drainerツール」なるものが販売されているそうです。

時々、署名リクエスト画面で「この署名がアカウントと資産の乗っ取りをもたらす可能性がある」とMetamaskによる警告メッセージが表示されることもありますが、万全ではありません。そのため、ユーザーは承認と同様に、新しいdAppに必要以上にアクセスを許可することを避ける方が懸命です。

⑦コントラクト対話時のチェックリスト

dAppsからの「許可リクエスト」は、特定の数量に限定されたものから、完全に無制限のものまで様々です。無制限アクセス自体に問題がある訳ではありません。

大手DEXなどの信頼できるプラットフォームの多くが利便性を高めるためにこの機能を使用しています。問題は、トークンを盗む目的で無制限アクセスを要求するdAppsがあることです。

dAppsにトークンへのアクセス権限を許可する前に、以下のようなチェックリストでリスクを評価しましょう。

  • そのプロジェクトの評判は?
  • いつから稼働しているか?
  • Discord、Telegram、Twitterに正当なコミュニティチャネルがあるか?
  • 開発者/オーナーに透明性があり、公に連絡が取れる状態になっているか?
  • 第三者によるスマートコントラクト監査を受けているか?
  • ブロックエクスプローラーでコントラクトアドレスを確認する。

許可リクエストに表示された「Granted to」項目から、承認を求めているコントラクトアドレスをコピーし、ブロックエクスプローラーでその正当性を検証することができます。Etherscanなどのエクスプローラでは、ユーザー向けの報告窓口があり、不正なコントラクトに警告フラグを立てられます。

2-1. 接続(Connect)を切断する方法

メタマスクには、ウォレットがこれまでに「接続(Connect)」してきたサイトを一覧表示する機能があり、それらを切断することもできます。

出典:Metamask

出典:Metamask

出典:Metamask

出典:Metamask

接続を切断しても、そのdAppで行ったトークンの承認は取り消されません。つまり、dAppを切断しても、トークンにアクセスされて移動される可能性があります。承認の取り消しの詳細については以下の項目を参照してください。

2-2. 承認(Approve)を取り消し(Revoke)する方法

Etherscan、BscScan、Polygonscanなどのブロックエクスプローラーにある「承認チェッカー」で、これまでに承認(Approve)してきたdAppsを一覧表示し、それらを取り消し(Revoke)することもできます。

出典:Metamask

また、次のようなウェブサイトでも同様の作業が可能です。

トークンの承認はオンチェーントランザクションで行われるため、承認の取り消しもまたオンチェーンで実行され、ガスコストが発生する点に留意する必要があります。

2-3. 署名(Sign)のパラメータ調整方法

EIP-3009を初め、トークンによって署名(Sign)をサポートしているものとそうでないものがあります。この判別はブロックエクスプローラーの各トークンの「Contract」タブで確認できます。下図は1inchトークンの「Contract」タブであり、7番に「Permit」ファンクションが確認できます。

出典:1inch

1inchの場合

署名(Sign)の採用例として、DEXアグリゲーター「1inch」の利用手順と、パラメータの調節方法をご紹介します。

以下の図は、取引したいトークンのペアを設定する場面で、Permit方式をサポートする「You Pay」トークンのアクセス許可を付与する場面です。1inchスマートコントラクトに初めて許可を与える場合、UI上に「permit and swap」オプションが表示されるので、これをクリックします。

出典:1inch

出典:1inch

署名後、1inchに「You Pay」トークンへのアクセス許可が30分間有効になります。ユーザーはこの時間内にスワップを実行できます。

出典:1inch

この許可のパラメータを調整するには、スワップ画面の「設定アイコン」をクリックし、次に「Sign Permit」オプションをクリックします。

次の画面では、3つの許可証のオプションが表示されています。「Ask each time」を選択することで、スワップの度に1inchがアクセスできる数量を設定できます。不必要に多額アクセス許可を提出することなく、1inchを利用できるのです。

出典:1inch

③代表的な詐欺の手口

「承認(Approve)」や「署名(Sign)」を踏まえて、詐欺のリスクを防ぐために一般ユーザーができる最も簡単な方法は、悪意のあるコントラクトに接続しないこと。そのためには、不正なサイトの利用を避けるための知識を備えることが重要です。代表的なフィッシング詐欺とDNS詐欺について、ご紹介します。

3-1. フィッシング詐欺

SNSのアカウントIDを偽装した投稿や、なりすましメール内のリンクでユーザーを偽のサイトに誘導し、コントラクトの署名を引き出すフィッシング詐欺の手口が報告されています。

例えば、有力な投資案件や高額給与のオファーをEメールで送付して関心を誘ったり、人気通貨のエアドロップに参加できるとしてリンクをクリックさせて、悪意のあるコントラクトが立ち上がるといった事例が該当します。

関連:ApeCoinエアドロップなど偽装、有名Twitterアカウントを乗っ取るフィッシング詐欺が発生い

フィッシング詐欺自体は個人情報を詐取する目的で、横行してきたサイバー犯罪の手口です。偽リンクから利用者を騙し、偽のホームページに誘導して、認証情報やクレジットカード番号、口座情報(ユーザID、パスワード等)を奪います。

ブロックチェーンユーザーがフィッシング詐欺を防ぐため、見知らぬサイトで不用意にコントラクトに署名しないこと、Eネールの送信元アドレス全体を確認すること、不審なメールが届いた際に別のSNSチャネルで公式が関連するアナウンスを行っているかどうか確認することなどが推奨されています。

3-2. DNS詐欺

dAppsのフロントエンドを操作して、ユーザーから資産を奪う盗難被害も増加しています。フロントエンド攻撃は、ウェブサイトがハッキングの対象となるものです。

代表例は、偽のDNSレスポンスをキャッシュさせることで、ユーザーのアクセスを攻撃者が用意したサーバーに誘導する、「DNSキャッシュポイズニング」という手法です。

22年8月には、ステーブルコインを含む同価値資産の取引サービスに特化する「Curve Finance」のフロントエンドサイト「Curve Fi」で、DNSハッキングにより7,500万円相当のETHが不正流出しました(その後バイナンスらが資金の大半を回収しています)。

犯人はドメイン名とIPアドレスを紐づけるDNS(ドメイン・ネーム・システム)を改ざんし、ユーザーを偽サイトへ誘導し、悪意のあるコントラクトを承認させました。

3-3. リカバリーフレーズを要求する事例

ディスコードなどのSNSなどでなりすましのIDを作成し、運営サイドの公式サポートを装って問題を解決するためにリカバリーフレーズや秘密鍵を引き渡すよう求める事例が発生しています。

攻撃者にリカバリーフレーズや秘密鍵を渡してしまえば、ウォレット上の資産をねこそぎ奪われる可能性があります。リカバリーフレーズや秘密鍵は絶対に口外しないことは、Metamask使用上の最低限の基本知識です。

フィッシング詐欺もDNS詐欺も、基本的には攻撃のプロセスです。その時点で資産の流出に直結する訳ではありません。最終的には訪問先のウェブサイトで、リカバリーフレーズを提出したり、不審なコントラクトに接続しないよう気を付けることで資産保護につながります。

関連:「MetaMask(メタマスク)」とは|月間2000万人超が利用の仮想通貨ウォレット

注目・速報 相場分析 動画解説 新着一覧
09/26 火曜日
17:16
L2「Base」、取引数急増の背景とその重要性とは?
コインベース支援のL2「Base」がトランザクション数で競合のArbitrumとOptimismを上回った。新興のソーシャルファイ「Friend.Tech」の影響と、各プラットフォーム及びイーサリアム保有者にもたらす利点を探る。
15:17
テザー社、シンガポールにおけるUSDTの規約変更に関する噂を否定
テザー社のパオロ・アルドイノ氏は、シンガポールにおけるUSDTサービス停止に関する噂を否定した。利用規約は数年前に変更されたものだとしている。
13:21
Arbitrum、83億円相当のARBをDAOの財源へ
仮想通貨イーサリアムのL2アービトラムは、ARBのエアドロップ未申請分83億円相当をArbitrum DAOの財源に割り当てたことを発表。数量は6,944万ARBで、初期発行量の0.69%相当である。
13:14
JCBAがIEO制度改革案を公開、企業の資金調達推進へ
一般社団法人日本暗号資産ビジネス協会(JCBA)は、IEO制度の健全化を目指す自主規制改革の初期案を公開した。価格の安定性向上と制度の運用方法の改善を目指し、関係者のロックアップ制度の確立、流動性の確保、公募価格の算定方法の多様化、及び安定操作の整備が挙げられている。
12:54
米SEC、破綻したセルシウスの資産分配についてコインベースの役割に異議
米証券取引委員会は、破綻した仮想通貨融資企業セルシウスの資産分配について、コインベースが果たす役割に反対する文書を提出した。
10:06
Friend.techコード活用のソラナ「Friendzy」急拡大
「Friendzy」は、ソーシャルファイ分野で注目を集める分散型アプリ「friend.tech」の類似技術を利用しており、ソラナエコシステム内で活況を呈している。週間取引量は1.36億円に達し、市場を牽引するfriend.techの半分近くに迫る勢いだ。
08:30
HTX(旧Huobi)、ETH12億円相当が不正流出
仮想通貨取引所HTX(旧Huobi)のアドバイザーであるジャスティン・サン氏は、HTXからイーサリアム12億円相当が不正流出したと発表。ユーザーの資産は安全であると説明している。
09/25 月曜日
21:35
5000BTC以上ビットコイン買い増し、米マイクロストラテジー
米マイクロストラテジーは新たに1.47億ドルのコストで5,445 BTCの仮想通貨ビットコインを取得した。
20:14
三菱UFJ信託銀行、バイナンスジャパンと協業で新たなステーブルコイン検討へ
三菱UFJ信託銀行は、バイナンスジャパンとステーブルコイン発行・管理基盤「Progmat」の協業により、円建てやドル建てを対象とした新たなステーブルコインの共同検討を開始することがわかった。
14:16
テラクラシックコミュニティ、 ステーブルコインUSTCの発行停止を決定
仮想通貨テラ・クラシック(LUNC)のコミュニティは、ステーブルコインUSTCの全ての新規発行及び再発行の停止を決定した。コミュニティ投票では、59%が賛成票を投じ、発行停止が可決された。
13:36
コインベース、世界最多のビットコイン準備金「推定94.7万BTC」保有か|Arkham分析
ブロックチェーン分析企業Arkhamは、大手仮想通貨取引所コインベースがサトシ・ナカモトの推定保有量に匹敵する94.7万BTC(3.7兆円相当)のビットコイン準備金を保有しているという分析を発表した。
11:52
軟調推移のビットコイン、イーサリアムのガス代平均は過去最低水準に
暗号資産(仮想通貨)市場では、ビットコイン(BTC)価格が続落する中、イーサリアムのガス代平均は過去最低水準となった。ETHの通貨供給量はデフレからインフレに転じている。
10:50
韓国大手仮想通貨取引所Upbit、偽アプトス(APT)の入金処理めぐり大騒動に
韓国の大手取引所Upbitで、仮想通貨アプトス(APT)のフェイクトークンが正規トークンとして入金認識され、不特定多数のアカウントに配布される事件が発生した。
09/24 日曜日
14:00
「ビットコインは最も寿命が長いブロックチェーン」VCが語る
第2回のGM Radio: Beyond The Priceは21日に公開。ゲストは仮想通貨ビットコインに特化したVCのファウンディングパートナーNico Lechuga氏である。
11:30
BTC上値トライに失敗、目先は下げ渋る展開見込む|bitbankアナリスト寄稿
国内大手取引所bitbankのアナリストが、一時400万円台に乗せるも上値トライに失敗し、ほぼ横ばいで推移している今週のビットコインチャートを図解。今後の展望を読み解く。ビットコイン・オンチェーンデータも掲載。

通貨データ

グローバル情報
一覧
プロジェクト
アナウンス
上場/ペア
重要指標
一覧
新着指標
一覧