当ハッカーがあなたの「習慣」を狙うとき、アドレス詐称リスクを根本から低減する方法
- 核心ポイント:アドレス詐称攻撃は技術的な脆弱性を悪用するのではなく、ユーザーがアドレスをコピーする際の操作習慣を利用します。偽装アドレスとごく少額のトランザクションで取引記録を汚染し、ユーザーに誤った資産送金を誘導します。この攻撃はFusakaアップグレード後のガス代低下により急増しており、ウォレットはセキュリティ対策を「事後警告」から「操作時点での事前防止」へと前倒しする必要があります。
- 重要な要素:
- 攻撃メカニズム:攻撃者はユーザーがよく使用するアドレスと非常に類似した偽装アドレスを生成し、0金額またはごく少額の取引を通じてそれをユーザーの履歴に紛れ込ませ、将来の送金時にユーザーが誤ってコピーするよう誘導します。
- 攻撃規模:Blockaidの統計によると、2026年1月のオンチェーンでの詐称試行回数は340万回に達し、2025年11月(62.8万回)から5.5倍増加しました。これはFusakaアップグレードによりガス代が大幅に低下したためです。
- 脆弱性の根本原因:ユーザーが42桁のアドレスを一桁ずつ確認することは困難であり、悪意のある取引が通常の取引ノイズに紛れ込みます。従来のセキュリティ警告は「送金確認」の後半段階で表示されることが多く、アドレスをコピーするリスクのある時点ではありません。
- 主要な防御手段:imToken 2.19.0は3層の防御を提供します。高リスク取引を非表示にして取引記録の汚染を低減、アドレスコピー時に事前警告を表示、重要な経路でリスクアドレスを継続的にマークします。
- 技術的な鍵:動的認識型リスク制御能力を採用し、類似性証拠、コスト形態証拠、行動時系列証拠を総合した多要素判断を行います。静的なブラックリストや事後警告に依存しません。
Web3の世界では、多くの人がセキュリティと聞いてまず思い浮かべるのは、秘密鍵、ニーモニックフレーズ、そして承認権限を適切に保護することです。
これらはもちろん重要ですが、実際の利用過程には、秘密鍵の漏洩やスマートコントラクトの脆弱性に依存せず、ごくありふれた操作の中で発生する別の種類のリスクも存在します:アドレス(ウォレットアドレス)のコピーです。
アドレスポイズニング(Address Poisoning)は、まさにこの点を悪用した攻撃です。システムの脆弱性を突いて利益を得るのではなく、偽装、妨害、誘導を通じて、ユーザーが通常の送金プロセスの中で、誤ったアドレスに資産を送金してしまうように仕向けます。
この種の攻撃が厄介なのは、その技術的な難易度の高さではなく、ユーザーが日常の操作で持つ視覚的な習慣や、特定の操作手順への依存(パス依存)を正確に突いてくる点にあります。
アドレスポイズニングとは?
いわゆるアドレスポイズニングとは、攻撃者がユーザーのよく使うアドレスと視覚的に非常に似通った偽装アドレスを生成し、0またはごく少額のトランザクションを使って、このアドレスをユーザーのトランザクション履歴に紛れ込ませる攻撃です。
ユーザーが次に送金する際、履歴からアドレスを「ついコピー」してしまい、全文字を一つ一つ確認せずに済ませてしまうと、攻撃者が用意した偽装アドレスに誤って資産を送金してしまう可能性があります。
この種の攻撃は決して珍しいものではありません。過去2年間で、オンチェーン上ではアドレスポイズニングが実際の損害を引き起こした複数の事例が報告されており、「少額でテスト送金した後に本送金する」といった習慣だけではリスクを回避するのに必ずしも十分ではないことが示されています。
さらに深刻なことに、Fusaka アップグレードによってガス代が大幅に低下した結果、間接的にアドレスポイズニング攻撃の限界費用が顕著に下がりました。Blockaid の統計によると、2026年1月のオンチェーンでのポイズニング試行回数は340万回に達し、前年11月(62.8万回)と比較して5.5倍に増加しており、その頻度は爆発的に増加しています。
なぜアドレスポイズニングに引っかかりやすいのか?
原理的には、アドレスポイズニングは複雑ではありません。しかし、それを防ぐのを難しくしているのは、ユーザーの操作におけるいくつかの本質的な弱点を突いてくるからです。
1. アドレス自体が人間による確認に適していない
オンチェーンアドレスは通常、42文字で構成されています。大多数のユーザーにとって、アドレス全体を一字一句確認する操作は、現実的で安定した、持続可能な方法ではありません。多くの場合、ユーザーは最初の数文字と最後の数文字だけを見て、「そのアドレスらしい」と判断し、次のステップに進みます。攻撃者はまさにこの習慣に基づいて偽装アドレスを設計します。
2. 悪意のあるトランザクションが正常なトランザクションのノイズに紛れる
アドレスポイズニングのトランザクションは、多くの場合、ごく少額または0円で行われ、形式上は通常のオンチェーン送金と本質的な違いはありません。これが実際の取引明細に混ざると、ユーザーは目視だけで長い履歴の中から、どのトランザクションが正常なもので、どれが意図的に仕掛けられた妨害なのかを素早く見分けることは困難です。
3. 従来の注意喚起は、しばしば遅すぎるタイミングで行われる
多くのセキュリティ警告は「送金の確認」の前に行われます。しかし、アドレスポイズニングにおいて、本当に重要なリスクのポイントは、通常、もっと早い段階、つまりユーザーが履歴からアドレスをコピーしようと決断した瞬間にあります。
もしリスクの識別と警告が最終段階にしかなければ、その前の誤った操作パスはすでに形成されていることになります。
アドレスポイズニングに対して、ウォレットに求められるのは「警告」だけではない
この種のリスクの特異な点は、ユーザーがもう一度よく確認し、もう少し注意深くなるだけで完全に解決できるものではないということです。
ウォレットは、ユーザーとオンチェーンとのインタラクションの入り口として、より多くの事前判断と能動的な防御の役割を担うべきであり、リスクを可能な限り早期のタッチポイントで阻止し、すべてのプレッシャーをユーザー自身に負わせるべきではありません。
imToken 2.19.0では、アドレスポイズニング関連のリスクに対して、セキュリティリスク管理機能をさらにアップグレードしました。基本的な考え方は、単一の警告を追加することではなく、ユーザーの実際の操作プロセスにおいて、識別、フィルタリング、警告、事前検証をより適切な位置に前倒しで配置することです。
アドレスポイズニングに対する三層の防御
1. 高リスクトランザクションを非表示にし、取引明細の汚染を減らす
悪意のあるアドレスが少額または0円のトランザクションで取引明細を汚染するケースに対応するため、新バージョンではデフォルトで「リスクトランザクションを非表示」機能が有効になっています。
システムが高リスクのポイズニングトランザクションを識別すると、まずトランザクション履歴や関連通知からこれをフィルタリングし、そうした妨害情報がユーザーの目に触れる機会を最小限に抑えます。
この目的は、インターフェースをすっきりさせることだけでなく、より重要なのは、ユーザーが誤って履歴からリスクのあるアドレスをコピーしてしまう確率を根本的に低減することです。
2. 警告をコピー操作のタイミングに前倒しする
アドレスポイズニングの最も重要な突破口は、送金ボタンそのものではなく、アドレスをコピーするこのステップです。
そのため、ユーザーがトランザクション詳細ページでコピー操作を実行する際に、システムはより明確なインタラクティブな警告を追加し、ユーザーがアドレスの最初と最後の数文字だけに頼るのではなく、より完全な照合を行うように導きます。
送金直前にのみ警告を行うのに比べて、この方法は実際のリスクが発生するポイントにより近く、「ついコピーしてしまう」という習慣的な行動パスを断ち切るのにも役立ちます。
3. 重要なプロセスにおいてリスクを継続的にマークする
トランザクション履歴リストやコピー操作の場面に加えて、システムはトランザクション詳細、送金前の検証など、重要なタッチポイントでも、疑わしいリスクアドレスに対して明確な表示とそれに対応する警告を行います。
これは単にユーザーを煩わせるためではなく、ユーザーが実際に次の操作を実行する前に、よりタイムリーで一貫性のあるリスクフィードバックを提供することを目的としています。
技術解説:なぜアドレスポイズニングには「動的感知」が可能なリスク管理体制が必要なのか
アドレスポイズニングは、オンチェーンプロトコルの脆弱性を利用するのではなく、ユーザーの操作習慣と視覚的な慣性を利用します。攻撃者は実際のアドレスと非常によく似た偽装アドレスを作成し、少額または0円のトランザクションを利用してそれを履歴に混入させ、ユーザーが後続の操作で誤ってコピーや送金をするように誘導します。
これが対策を難しくしている重要な理由の一つは、オンチェーンでの実行結果から見ると、この種のトランザクションはしばしば「正常」であることです。明らかなプロトコルの異常も、従来の意味での攻撃シグネチャもないため、静的なブラックリストや事後的な警告だけに頼っても、現実のリスクを十分にカバーできないことが多いのです。
imToken のこの種のリスクへの対応は、単にアドレスに永続的な「良い」または「悪い」ラベルを貼ることではありません。ユーザーがトランザクション履歴をリフレッシュする、詳細を確認する、アドレスをコピーする、送金を開始するといった重要なタッチポイントで、リアルタイムのオンチェーンデータと現在のインタラクションコンテキストを組み合わせ、疑わしいトランザクションを動的に識別し、クライアントにフィルタリング、マーキング、強い警告、事前検証などのアクションを実行させます。
リスク識別は「似ているかどうか」だけではない
ポイズニング識別の鍵は、単なる文字列の類似性だけではありません。複雑なノイズ環境の中で、どのように複数の証拠を組み合わせて判断するかが重要です。現在の識別ロジックは、主に以下の種類のシグナルを総合的に考慮します。
類似性の証拠
攻撃が成立するためには、まず偽装アドレスが視覚的に「十分に似ている」必要があります。システムは、アドレス偽装の構造的特徴を定量化し、このような高類似性のリスクを識別するために使用します。
コスト形態の証拠
アドレスポイズニングは低コストで拡散するために、特定の金額分布やトランザクション形態を示すことがよくあります。金額シグナル自体は決定的な証拠ではありませんが、他の証拠と組み合わせて使用することで、単一要素による誤判定を減らすことができます。
行動時間系列の証拠
一部のポイズニングトランザクションは、ユーザーの実際の送金行動の直後に続けて発生し、ユーザーが操作を完了した直後の慣性を利用して、偽装アドレスを素早くトランザクション履歴に滑り込ませようとします。システムは、特定の時間枠とコンテキスト条件の下で、このような行動を総合的に判断します。
なぜ統一的なリスク判定が必要なのか?
単一のシグナルだけでは、信頼性の高いリスク判断を下すには不十分なことがよくあります。そのため、システムは複数の種類の証拠を総合的に評価し、統一されたリスク結果を出力し、それをさまざまなタッチポイントでの処理戦略にマッピングします。
このような設計は、主に3つのメリットをもたらします:
- 誤報ノイズの低減:弱いシグナルだけで高レベルの処理がトリガーされることはありません。
- 一貫した体験の保証:同じトランザクションに対して、異なるページでも一貫したリスク判断が提供されます。
- 振り返りと改善のサポート:ヒットするたびに判断根拠を遡ることができ、継続的な改善が可能です。
非カストディアルウォレットにとって、この種のリスク管理機能は特に課題となります。
なぜなら、アドレスポイズニングはユーザーの行動パスを利用するものであり、明らかなオンチェーンの異常ではありません。攻撃手法はチェーン、資産、タイミング、偽装方法に応じて常に変化します。中央集権的な管理ポイントがないという前提では、防御効果は識別の質、プロダクトのタッチポイント設計、そして戦略の反復能力の間の協調により大きく依存します。
そのため、imToken はこのような能力を、持続的に進化可能なセキュリティエンジニアリングシステムとして構築し、戦略の更新、バージョン管理、効果の観測と振り返りをサポートし、防御能力が攻撃手法の変化に継続的に対応できるようにしています。
防御能力をアップグレードする方法
すでに imToken をご利用の場合は、速やかにバージョン 2.19.0 へのアップグレードをお勧めします。
アドレスポイズニング関連のリスクに対して、新バージョンではデフォルトで対応する防御機能が有効になっており、追加の設定なしで、より早期のリスク識別と警告体験を得ることができます。
最後に
アドレスポイズニングは、Web3 のセキュリティは「最も危険な」瞬間にのみ発生するのではなく、最も日常的で、最も慣れ親しんだ操作の中に潜んでいる可能性があることを私たちに教えてくれます。
リスクが人間の習慣を利用し始める時、セキュリティ能力も「結果の警告」から「プロセスにおける防御」へとさらに進化する必要があります。ウォレットにとって重要なのは、単にトランザクションを実行することだけでなく、重要なポイントでユーザーの誤った判断や誤操作のリスクを減らすことです。
これこそが、imToken がセキュリティリスク管理機能を継続的にアップグレードする理由です。ユーザーが自己管理を維持しながら、よりタイムリーで、より実用的なセキュリティ保護を得られるようにするためです。


