バニティアドレスのリスクとそっくりアドレス
バニティアドレスのリスクを解説。カスタムアドレスやそっくりな暗号資産アドレスの作られ方、詐欺師による悪用、脆弱な生成ツールの欠陥、安全を守る方法を紹介します。
バニティアドレス、つまり名前や同じ文字の連続など選んだパターンを含むウォレットアドレスには、主に2つのリスクがあります。1つは、秘密鍵が脆弱なツールや信頼できないツールで生成された場合、他人がそれを再現して資金を盗めるおそれがあること。もう1つは、詐欺師が同じ技術を使ってそっくりなアドレスを作り、あなたをだまして暗号資産を送らせることです。どちらのリスクも、アドレスがどのように生成されるか、そしてあなたがどう確認するかに行き着きます。
多くの人は、アドレスの先頭と末尾の数文字にざっと目を通すだけです。攻撃者はそれを知っていて、その習慣を前提に詐欺を組み立てます。仕組みを理解すれば、どちらの損失も避けやすくなります。
バニティアドレスの作られ方
暗号資産のアドレスは公開鍵から導き出され、公開鍵は秘密鍵から生まれます。アドレスを直接選ぶことはできません。できるのは、ランダムに鍵を生成し、その結果のアドレスがパターンに一致するかを確認することだけです。
- 1ランダムな秘密鍵を生成する。
- 2公開鍵とアドレスを導き出す。
- 3アドレスが選んだ文字で始まるか、終わるかを確認する。
- 4一致しなければ繰り返す。多くの場合、数十億回に及びます。
一致させたい文字が1つ増えるごとに作業量は何倍にも増えます。そのため短いパターンはすぐに見つかりますが、長いパターンには膨大な計算能力が必要です。最終的なアドレスの安全性は、ステップ1に完全に依存します。秘密鍵は強力な乱数から生成されなければなりません。詳しくはアプリストアで偽の暗号資産アプリを見抜く方法で取り上げています。
リスク1:脆弱なバニティ生成ツール
生成ツールが処理を速くするために乱数の扱いで手を抜いていると、「ランダムな」鍵が、はるかに小さな候補の集合から生まれている可能性があります。その手抜きを理解している攻撃者は、小さな集合を探索して秘密鍵を復元できます。
これは理論上の話ではありません。2022年、人気のあるEthereumバニティアドレスツールProfanityの脆弱性が公表され、その鍵が総当たりで解読できることが示されました。その後、このツールで作られたアドレスから資金が抜き取られ、その中にはバニティアドレスとの関連が指摘された、トレーディング企業Wintermuteからの広く報じられた盗難も含まれます。教訓は、バニティアドレスの安全性はそれを生成したコード次第だということです。
生成ツールにまつわるその他のリスク:
- オンライン生成ツール:サーバー上で鍵を作るため、運営者がコピーを保持できる。
- 誤った実装の「分割鍵」サービス:提供者があなたの鍵を再構成できてしまう。
- メンテナンスされていないツール:既知のバグが誰にも修正されないまま残っている。
リスク2:そっくりアドレスとアドレスポイズニング
詐欺師はバニティ式の生成を別の目的に使います。あなたのアドレスの見えている部分をまねることです。
アドレスポイズニング攻撃の仕組みは次のとおりです。
- 1攻撃者はブロックチェーンを監視し、活発なウォレットと、それらが頻繁に送金するアドレスを探します。
- 2そのアドレスの1つと先頭と末尾の数文字が一致するそっくりアドレスを生成します。
- 3そっくりアドレスから、ゼロ価値または少額のトランザクション、あるいは偽のトークン送金をあなたに送り、トランザクション履歴に表示させます。
- 4後日、あなたは支払いのために履歴からアドレスをコピーし、誤ってそっくりアドレスを選んでしまいます。
- 5資金は攻撃者に届き、ブロックチェーン上の送金は取り消せません。
この詐欺のバリエーションは、アドレスポイズニング攻撃の詳しいガイドで解説しています。
複合的な例(仮想)
これは作り話の例です。「Leo」さんが、取引所の入金アドレスに定期的にステーブルコインを送っているとします。そのアドレスは「0x7a3f」で始まり「c91e」で終わります。ある日、同じく「0x7a3f」で始まり「c91e」で終わるものの、中間の文字が異なるアドレスから、ゼロトークンの送金がウォレット履歴に現れます。1週間後、Leoさんは履歴を開き、一致しているように見える最新のアドレスをコピーし、先頭と末尾の4文字を確認して多額の送金をします。資金は詐欺師に渡ります。
危険信号チェックリスト
- 履歴にある、不明なアドレスからのゼロ価値送金やダスト送金。
- 自分が使うアドレスに似たアドレスから「送られた」見覚えのないトークン。
- 両端は一致するが中間が異なるアドレス。
- カスタムアドレスを「代わりに」生成すると申し出るウェブサイトや人物。
- クローズドソース、メンテナンスされていない、または強引に宣伝されているバニティツール。
- テスト送金の時間を与えず、急いで送るよう迫る圧力。
身を守る方法
| 状況 | 安全な習慣 |
|---|---|
| いつもの受取人に送る | アドレスを確認したうえでウォレットのアドレス帳に一度保存し、そこから送金する |
| アドレスをコピーする | 受取人の確認済みの請求かアドレス帳からコピーし、トランザクション履歴からは決してコピーしない |
| アドレスを確認する | アドレス全体を照合するか、少なくとも先頭・中間・末尾の多くの文字を照合する |
| 高額の送金 | まず少額のテスト送金を行い、着金を確認する |
| ハードウェアウォレットを使う | 承認前にデバイスの画面でアドレス全体を確認する |
| バニティアドレスが欲しい | 十分にレビューされたオープンソースのソフトウェアを自分のオフラインデバイスで使うか、あきらめる |
送金前にウォレットアドレスを確認する方法のガイドでは、手順をステップごとに紹介しています。ゼロ価値の送金を非表示にしたり警告したりするウォレットもあるので、利用できる場合はそのフィルターを有効にしましょう。
被害に遭った場合の対処法
- そっくりアドレスに資金を送ってしまった場合: 一般的に取り消すことはできません。トランザクションハッシュを記録し、そのアドレスをウォレットの提供元と関係する取引所に報告し、当サイトの詐欺報告ページからも報告してください。資金が取引所に届いていれば、取引所が対応できる場合があります。
- バニティアドレスを脆弱なツールで作っていた場合: 標準的で十分にレビューされたソフトウェアで作成した新しいウォレットへただちに資金を移し、古いアドレスのトークン承認を取り消してください。
- 鍵が漏えいした疑いがある場合: ウォレットが侵害されたときにすぐやるべきことに従ってください。
手数料と引き換えに資金を取り戻すと持ちかけてくる人には注意してください。それはよくある二次詐欺です。
まとめ
バニティアドレスは見た目だけのものですが、その裏にあるリスクは現実のものです。脆弱な生成ツールは秘密鍵を露出させかねず、同じパターン一致の手法によって、詐欺師はあなたのアドレスに似たアドレスを作れます。鍵は信頼できるソフトウェアでのみ生成し、アドレスは確認済みの情報源からコピーし、文字列全体を確認し、高額の場合はテスト送金を行いましょう。
よくある質問
暗号資産のバニティアドレスとは何ですか?
バニティアドレスとは、単語や同じ文字の連続など、選んだパターンを含むウォレットアドレスのことで、通常は先頭か末尾にそのパターンが入ります。パターンに一致するアドレスが得られるまで、膨大な数の鍵ペアを生成して作られます。ほかのアドレスと同じように機能しますが、どのように生成されたかがセキュリティ上きわめて重要です。
バニティアドレスは安全に使えますか?
十分にレビューされたソフトウェアを使い、自分のデバイス上で強力な乱数によって秘密鍵を生成したのであれば、安全に使えます。オンラインの生成ツール、鍵のコピーを保持しうる第三者、乱数生成器が脆弱なツールを使った場合は危険になります。そうしたアドレスにある資金は、いつ盗まれてもおかしくありません。
そっくりアドレス詐欺はどのような手口ですか?
詐欺師は、あなたが使っているアドレスと先頭と末尾の数文字が同じアドレスを生成し、少額またはゼロ価値のトランザクションを送りつけて、そのそっくりアドレスをあなたの履歴に表示させます。後で信頼できる情報源ではなく履歴からアドレスをコピーすると、詐欺師に資金を送ってしまうおそれがあります。
そっくりアドレスに暗号資産を送ってしまわないためにはどうすればよいですか?
アドレスはトランザクション履歴からではなく、保存済みのアドレス帳や受取人の確認済みの請求など、信頼できる情報源からコピーしてください。先頭と末尾だけでなくアドレス全体を照合し、高額の送金では少額のテスト送金を行いましょう。ハードウェアウォレットなら、別の画面でアドレス全体を確認できます。
