ウォレットドレイナー:悪意ある承認が暗号資産を盗む仕組み
ウォレットドレイナーは、攻撃者がウォレットを空にできる承認に署名させる手口です。ドレイナーの仕組み、危険信号、そして身を守る方法を解説します。
ウォレットドレイナーとは、攻撃者にトークンやNFTを動かす許可を与えるトランザクションやメッセージに署名させ、その許可を使ってウォレットを空にする悪意あるウェブサイトやスクリプトのことです。攻撃者は復元フレーズを一切必要としません。あなた自身の署名がすべてを実行してしまうのです。
偽のエアドロップ、偽のミント、プロジェクトのSNSアカウント乗っ取りの後に報告される被害の多くは、ドレイナーによるものです。ドレイナーは「drainer-as-a-service」とも呼ばれる既製のキットとして販売されてきたため、技術のない詐欺師でも使えてしまいます。自分が何に署名しているかを理解することが、最善の防御です。
トークン承認の仕組み(とドレイナーが好む理由)
イーサリアムやその他のEVMチェーンでは、分散型アプリが独自にあなたのトークンを動かすことはできません。まず承認を与える必要があります。これは、特定のコントラクトが特定のトークンを、設定された上限額まであなたの代わりに使うことを許可するものです。DEXやレンディングプロトコルが機能するにはこれが必要です。
問題は、多くのアプリが利便性のために無制限の承認を求めること、そして承認は取り消すまで有効なままであることです。ドレイナーは、正規のコントラクトの代わりに自分のコントラクトを承認するよう求めるだけです。署名した時点で、攻撃者はいつでも好きなときに送金を実行できます。
NFTでこれに相当するのがsetApprovalForAllで、オペレーターがコレクション内であなたが保有するすべてのNFTを動かせるようにします。マーケットプレイスは正当な目的で使いますが、ドレイナーはこれを使ってコレクションを丸ごと一度に奪います。詳しくはInstagramとTikTokの暗号資産詐欺をご覧ください。
ドレイナーが使う署名
| リクエストの種類 | 見え方 | 危険な理由 |
|---|---|---|
| トークン承認 | 「このサイトにUSDCの使用を許可する」 | 使用者にそのトークンに対する権限を与える |
| NFTの一括承認 | 「このコレクションのすべてのNFTへのアクセスを許可する」 | オペレーターがそのコレクションのNFTをすべて移転できる |
| PermitまたはPermit2署名 | 署名するメッセージで、ガス代がかからないことが多い | 攻撃者が後で提出できるオフチェーンの承認 |
| 直接送金 | 実際には資産を送り出す「Claim」ボタン | 受け取りを装った即時の盗難 |
| ブラインド署名 | 読めない16進数データ | 何を許可しているのか判断できない |
ガス代のかからない署名は特に紛らわしいものです。手数料がかからないため、無害な「ログイン」だと思い込みがちです。実際にそうしたものもありますが、支出を許可するpermitである場合もあります。詳しくはアイスフィッシングとpermit署名の記事で解説しています。
ドレイナー攻撃の典型的な流れ
- 1誘い。 偽のエアドロップ告知、公式投稿へのリプライ、乗っ取られたDiscordサーバー、スポンサー付きの検索広告、「サポート」を名乗るDMなどからリンクが届きます。
- 2本物そっくりのサイト。 実在するプロジェクトのデザインを模倣したページが、ウォレットの接続を求めます。
- 3資産のスキャン。 ドレイナーのスクリプトが残高を確認し、最も価値の高い資産から順に承認を求めます。
- 4署名。 リクエストは「claim」「verify」「mint」「sync」などと表示され、カウントダウンタイマーなどで焦らせます。
- 5一掃。 資産は多くの場合数秒で送り出され、追跡を難しくするためにすぐにスワップされたり、ブリッジで移されたりします。
経験豊富なユーザーもドレイナーにだまされる理由
ドレイナーは明らかな偽サイトに頼っているわけではありません。多くの攻撃は乗っ取られた本物のプロジェクトのアカウントから始まるため、本物のアカウントから投稿された告知は本物に見えます。また、本物のエアドロップやミントが話題になっているタイミング、つまり誰もがトランザクションへの署名を予想し、乗り遅れまいと急いでいるときに現れるものもあります。関連記事:SIMスワップ攻撃。さらに詳しく知りたい方は偽のトークン移行・スワップ詐欺もお読みください。
さらに、ウォレットの表示は、信頼できるDEXを承認する場合でもドレイナーのコントラクトを承認する場合でも似通っています。違いは細部、つまり使用者のアドレス、トークン、金額にあります。経験豊富なユーザーがだまされるのは、習慣に流され、これまで何百回もしてきたように「確認」をクリックしてしまうときです。詳しくは暗号資産を盗む悪意あるブラウザ拡張機能で解説しています。関連記事:暗号資産ユーザーのためのメールアカウントのセキュリティ。
署名前の危険信号
- 自分で調べたのではなく、DM、リプライ、広告、リンクからサイトにたどり着いた。
- 取引するつもりのなかったトークンの承認を求められている。
- 承認額が無制限、または使用者のアドレスに見覚えがない。
- 読めないメッセージへの署名を求められている、またはウォレットがブラインド署名について警告している。
- 「受け取りはあと10分で終了」「ウォレットが停止されます」など、焦らせてくる。
- ドメインが微妙に違う、登録されたばかり、または珍しいドメイン末尾を使っている。暗号資産のフィッシングサイトもご覧ください。
身を守る方法
- 1新しいミント、エアドロップ、見慣れないアプリには使い捨てウォレットを使い、必要な分だけを入れておきましょう。長期保有分は、めったにどこにも接続しない別のウォレットで保管します。設定方法は使い捨てウォレットのガイドで説明しています。
- 2すべての表示を読みましょう。 署名する前に、操作内容、トークン、金額、使用者を確認します。理解できなければ拒否しましょう。
- 3金額を指定できるウォレットなら、上限付きの承認を選びましょう。
- 4ウォレットに取引プレビューやシミュレーション機能があれば有効にしましょう。ウォレットから何が出ていくかを表示してくれます。
- 5定期的に取り消しましょう。 古い承認を見直して削除します。手順はトークン承認を取り消す方法のステップごとのガイドで紹介しています。
- 6直接アクセスしましょう。 リンクをクリックせず、知っているURLを入力するか、保存したブックマークを使いましょう。
ウォレットが空にされたと思ったら
攻撃者は残りの資産を狙って戻ってくることが多いため、すばやく行動しましょう。
- 心当たりのない承認をすべて取り消します。
- 残りの資金を、新しい復元フレーズを持つまったく新しいウォレットに移します。どこかで復元フレーズを入力した場合は特に重要です。
- トランザクションハッシュ、攻撃者のアドレス、サイトのURLを記録します。
- サイトとアドレスを、たとえば当サイトの詐欺報告フォームや、リンクを見つけたプラットフォームに報告します。
- 手数料と引き換えに資金を取り戻すと持ちかける人は無視しましょう。資金回収詐欺は最近の被害者を狙います。
ウォレットが侵害されたときにすぐやるべきことのチェックリストもあわせてご覧ください。
まとめ
ウォレットドレイナーはウォレットの暗号技術を破るのではなく、あなた自身に盗難を承認させます。あらゆる署名を管理権の移転になりうるものとして扱い、価値の高い資産は見慣れないサイトに一切接続しないウォレットで保管し、承認を定期的に整理しましょう。署名する前に30秒立ち止まることが、あなたが持つ最も効果的なセキュリティツールです。
よくある質問
ウォレットドレイナーに復元フレーズを盗まれることはありますか?
通常はありません。ほとんどのドレイナーは復元フレーズを目にすることはありません。トークンを動かす許可を与える承認や送金に署名するよう、あなたをだますのです。ただし、復元フレーズを直接求めるフィッシングページもあり、これは別の詐欺です。正規のサイトが復元フレーズを必要とすることは決してありません。
承認を取り消せば盗まれた資金は戻ってきますか?
いいえ。取り消しによって権限が削除されるため、攻撃者は承認済みトークンをそれ以上奪えなくなりますが、すでに送金されたものは戻りません。問題に気づいたらすぐに取り消し、怪しいものに署名した場合は残りの資産を新しいウォレットに移しましょう。
ハードウェアウォレットはドレイナーを防げますか?
部分的には防げます。ハードウェアウォレットは秘密鍵をオフラインで保管しますが、デバイス上で悪意あるリクエストを承認すれば、それに署名してしまいます。ハードウェアウォレットが最も役立つのは、デバイスの表示内容を読み、理解できないものはすべて拒否する場合です。
サイトを訪れてから数日後にウォレットが空にされたのはなぜですか?
おそらく以前に、有効なままの承認やpermitに署名していたのでしょう。攻撃者は待機し、たとえば残高が増えたときなど、後からその許可を使うことができます。だからこそ、古い承認を定期的に見直して取り消すことが大切です。署名済みのpermitも期限まで有効なままの場合があります。
