WATS Wallet logoWATS Wallet
技術6 分で読めます

アドレスポイズニング攻撃:仕組みと身の守り方

アドレスポイズニングは、そっくりなアドレスをあなたの取引履歴に植え付け、あなたがそれをコピーする日を待つ詐欺です。そっくりアドレスがどう生成されるのか、短縮表示がなぜそれを見えなくするのか、なぜハードウェアでは止められないのか、そしてあなたを免疫にする習慣を解説します。

アドレスポイズニングとは、攻撃者があなたが実際に使っているアドレスと先頭・末尾の文字が一致するそっくりアドレスを生成し、ダスト送金やゼロ値送金であなたの取引履歴に植え付けて、いつか本物の代わりにそれをコピーしてくれることに賭ける詐欺です。植え付けられた送金それ自体は何も奪いません。承認を作らず、鍵に触れず、攻撃者にウォレットの制御を与えることもありません——攻撃の全体が、将来のコピー&ペーストのミスへの賭けなのです。したがって防御は行動の問題になります。アドレスを取引履歴から取得しないこと、短縮表示の両端だけでなくアドレスの中間を検証すること、そして高額送金の前に少額のテスト送金を行うこと。承認済みの送金を取り消せるウォレットは存在しないため、鍵を持つのはユーザーでありWATSが鍵を持つことは決してないWATSのような完全にノンカストディアルなウォレットでは、署名前のその確認こそが文字どおり最後の防衛線になります。

コピー&ペーストを悪用する詐欺

暗号資産詐欺の大半は、あなたの鍵か署名を攻撃します。アドレスポイズニングが攻撃するのはもっと柔らかいもの——あなたの習慣です。攻撃者はあなたのウォレットに一切触れず、何かに署名するよう求めることもありません。ただ、そっくりなアドレスがあなたの取引履歴に現れるよう仕組み——本物の代わりにそれをコピーしてしまう日を待つのです。不注意な貼り付けが一度あれば、自分のアドレスやいつもの相手に送るはずだった送金が、取り返しのつかない形で攻撃者に渡ります。

ポイズニングは実際どう行われるか

攻撃は生成から始まります。暗号資産のアドレスは十分に長いため、攻撃者はあなたの、あるいは取引相手のアドレスの先頭と末尾の数文字——まさにウォレットUIが表示する文字——に一致するバニティアドレスを安価に量産できます。次が種まきです。そっくりアドレスからあなたのアドレス宛てに、数セント分の小さな「ダスト」送金が届くこともあります。EVMチェーンでより多いのはゼロ値のトークン送金です。ERC-20の規格は金額ゼロの送金を許容しているため、攻撃者は許可枠(allowance)を一切持たないままあなたのアドレスを参照するtransferFromを呼び出し、完全に有効なTransferイベントを発生させられます——エクスプローラーやウォレットのアクティビティ一覧は、それをあなたと偽アドレスのあいだの普通の取引として表示します。被害者一人あたりのコストがさらに安いのが、誰も保有したことのないトークンについて捏造したTransferイベントをまとめて発行する使い捨てのトークンコントラクトです。どの手口でも攻撃者の負担はわずかなガス代だけで、結果は同じ——説得力のある囮が、いまやあなたの履歴に忍耐強く居座ります。

なぜ効くのか:短縮表示と履歴への信頼

2つのUIの慣習が罠を有効にします。第一に、ウォレットもエクスプローラーもほぼ例外なくアドレスを0x1a2b…9f8eのように短縮表示するため、その見えている文字に合わせて作られたそっくりアドレスは一目では見分けがつきません。ここではアドレスのチェックサムも助けになりません——ポイズニングされたアドレスは、単に別人のものであるだけの、チェックサムまで正しい有効なアドレスであり、ソフトウェアが弾くべき不正な入力はどこにも存在しないからです。第二に、人は自分の取引履歴を信頼できるアドレス帳のように扱います。「先週送ったアドレス」は、また使っても安全に感じられるのです。ポイズニングはまさにその信頼を武器化します。偽エントリに異常な点は何もなく、正当な取引の隣に、同一の書式で、しばしば実在する相手の短縮形を鏡写しにして並んでいます。

ポイズニングにできること・できないこと

はっきり言っておきましょう。ポイズニングのトランザクションそれ自体は、何も奪いません。ダストを受け取っても鍵は漏れません。ゼロ値送金は何の承認も与えません。攻撃者があなたのウォレットに対する力を得ることもありません。攻撃の全体が、あなたの将来のミスへの賭けなのです。これは朗報です——防御は完全に行動の問題であり、鍵の漏えいと違って後始末すべきものが何もないということですから。ダストは無視してください(見知らぬ「プレゼント」トークンに触れるのは、別系統の詐欺です)。囮は永遠に無害なままです。

ハードウェアや認証では止められない理由

ここが最も誤解されやすいところです。鍵を守るあらゆる層——ハードウェアデバイス、パスキー、かざして認証するカード——が答えているのは、ただ一つの問いです。このトランザクションを承認しているのは正しい本人か? アドレスポイズニングは、その点を一切争いません。署名は本物で、承認は意図的で、鍵も無傷です。間違っているのは送金先だけなのです。WATSのNFCメタルカードは、この違いをきれいに示しています。カードは秘密鍵をまったく保存せず、WATSアプリ内にある鍵に対してかざして認証するためのもので、コールドストレージの金庫というより物理セキュリティキーに近い存在です。だからこそ、他人があなたの資金を動かそうとするのに対しては強力な防御になりますが、あなた自身が履歴の間違った行からコピーしたアドレスに送金してしまうことに対しては、まったく防御になりません。送金先の確認は、承認する前に、画面上で、あなた自身が行うほかありません——読んでいないものにブラインド署名する癖こそ、真っ先に捨てるべき習慣である理由がここにあります。

あなたを免疫にする習慣

4つの習慣が扉を閉ざします。アドレスを取引履歴からコピーしない——送金先自身のインターフェース、公式ページ、保存済みの連絡先から取得しましょう。両端より多くを検証する:そっくりアドレスはインターフェースが表示する両端にぴたりと合うよう量産されるので、署名前にアドレスの中間部分も確認します。繰り返し送る相手には保存済み連絡先や人間が読める形式のネームサービスを使い、日常の送金にコピーが一切介在しないようにします。そして高額や初めての送金では、少額のテスト送金を行い、着金を確認してから残りを送ります。これらをウォレットセキュリティのベストプラクティスにある幅広い衛生習慣と組み合わせてください——そして署名の瞬間こそ常に最後の防衛線であるという、ウォレットをdAppに安全に接続するのを支配するのと同じ原則を忘れずに。

WATSのようなウォレットの位置づけ

承認済みの送金を取り消せるウォレットは存在しません。だから実務的な問いは、あなたのウォレットが決定をあなたの手に残しているか、そして人を急がせる摩擦を取り除いているか、です。WATSは完全にノンカストディアルで、Ethereum、Arbitrum、Optimism、Base、Polygon、BNB Chain、Solana、TONを通じて、鍵を持つのはユーザーであり、WATSが鍵を持つことは決してありません。摩擦の面では、WATSはネットワーク手数料を各チェーンのネイティブガストークンではなくATSというひとつのトークンで課金します——EVMではERC-4337のアカウント抽象化を、そしてひとつのATS残高がオムニチェーンで機能するようLayerZero OFTを用いています。これは割引ではありません。変わるのはどのトークンで支払うかであって、トランザクションの費用そのものではありません。変わるのは行動のほうです。そのチェーンのガストークンを持っていないという理由で省略されがちだった少額のテスト送金が、いつでも実行できるものになります。手数料として集められたATSは、供給量を1億から3,000万へ減らすバーンに回され、WATSはERC-4337とOFTによる単一トークン手数料をこのバーンと組み合わせた最初で唯一のウォレットです。仕組みはATS手数料ページにまとめています。この記事を読んで具体的な一歩を踏み出すなら、これにしてください。アドレスを履歴から取得するのをやめること。そして次にWATSで新しいアドレスに送金するときは、まず少額のテスト送金を行い、両端だけでなくアドレスの中間まで確認してから、残りを承認することです。

よくある質問

アドレスポイズニング攻撃とは何ですか?

攻撃者があなたの使うアドレスの見えている先頭・末尾の文字に一致するそっくりアドレスを生成し、ダストまたはゼロ値送金であなたの取引履歴に植え付ける詐欺です。攻撃自体は何も奪いません——あなたが後日、履歴から偽アドレスをコピーして送金するのを待つのです。防御は行動の問題です。アドレスを履歴から取得せず、短縮表示の両端より先まで検証してください。

見知らぬアドレスからダストや奇妙なトークンを受け取りました——侵害されたのでしょうか?

いいえ。受信した送金が鍵を盗んだり、承認を作ったり、ウォレットを操作したりすることはできません——公開アドレスには誰でも何でも送れるのです。リスクが生じるのは、後日誤って攻撃者のアドレスをコピーした場合、または見知らぬトークンのコントラクトと対話した場合(別の詐欺パターンです——単に触らないでください)だけです。ダストを無視すれば、資金は以前とまったく同じだけ安全です。

ハードウェアデバイスやNFCカードはアドレスポイズニングから守ってくれますか?

いいえ。そしてWATSはその理由をはっきり述べています。WATSのNFCメタルカードは秘密鍵を保存しません。WATSアプリ内にある鍵に対してかざして認証するもので、コールドストレージの金庫というより物理セキュリティキーに近い存在です。認証が証明するのは誰がトランザクションを承認しているかであって、資金がどこへ向かうかではありません——そしてアドレスポイズニングでは、承認は本物で、間違っているのは送金先です。この攻撃を打ち破れるのは、承認前に送金先アドレスを読むことだけです。

送金前にアドレスをどう検証すべきですか?

両端より多くを確認してください。そっくりアドレスはインターフェースが表示する先頭と末尾の文字に合わせて特別に生成されるため、中間部分も比較します。さらに良いのは、日常の支払いでは保存済み連絡先を使って手動の比較そのものをなくすこと。高額や初めての送金では少額のテスト送金を行い、着金を確認してから残りを送りましょう。WATSではネットワーク手数料が各チェーンのネイティブガストークンではなくATSで課金されるため、そのテスト送金は、別途ガス資産を用意しなくても対応するどのチェーンでも実行できます。