暗号資産ユーザーのためのブラウザ拡張機能の衛生管理

·6 分で読める·SSP Editorial Team 著
ウォレット、鍵、盾、チップのアイコンが描かれた、ブラウザ拡張機能の衛生管理に関するSSPセキュリティのカバー

ブラウザ拡張機能ウォレットは便利です。ワンクリックですぐに使え、トランザクションをその場で署名し、注入されたプロバイダーやWalletConnectを通じてdappに接続します。その便利さには代償があります。拡張機能とは、あなたが訪れるページを閲覧し変更する権限を持って、ブラウザ内で動作するコードであり、攻撃者はそれを知っています。セルフカストディを行うなら、ブラウザは脅威モデルの一部であり、拡張機能の衛生管理は、身につけられる習慣の中で最も低コストかつ最も効果の高いものの一つです。

このガイドでは、なぜ拡張機能が魅力的な標的になるのか、攻撃対象領域を縮小するわずかなルール、LavaMoatが何をするのか、そしてなぜSSPの拡張機能がそれを用いて作られているのか、さらにSSPの2-of-2 multisigが完全に侵害された拡張機能すらどのように食い止めるのかを取り上げます。このカテゴリーが初めてですか?まずはブラウザ拡張機能ウォレットの解説から読んで、それから戻ってきてください。

なぜブラウザ拡張機能が格好の標的なのか

拡張機能は広範な権限を持って動作します。一般的なウォレット拡張機能は、読み込んだページの内容を読み取って変更し、入力した内容を監視し、クリップボードにアクセスできます。これらの機能は、ウォレットがプロバイダーを注入し署名プロンプトを表示するためにまさに必要とするものであり、同時に攻撃者がまさに欲しがるものでもあります。

悪意ある、あるいは侵害された拡張機能が、あなたのシードフレーズに一切触れることなく何ができるかを考えてみてください。

  • コピーしたアドレスをすり替える。 受取アドレスをコピーすると、拡張機能はクリップボードを書き換え、貼り付けるアドレスが攻撃者のものになります。このクリップボード乗っ取りの手口は古く、確実で、目に見えません。
  • dappにスクリプトを注入する。 表示されるページを改変し、期待した値を表示したまま、トランザクションの金額や送信先を変更できます。
  • 画面上の内容を読み取る。 残高、アドレス、その他ページ上のあらゆるものが読み取り可能です。フィッシングページと組み合わせれば、その情報が誘い文句をはるかに説得力のあるものにします。暗号資産ユーザーを狙うフィッシング攻撃を参照してください。

経済的な構図は冷酷です。人気の拡張機能一つで一度に数百万人のユーザーに届くため、単一の発行元を侵害することは莫大な労力に値します。最も危険なのは、誤ってインストールする偽物ではなく、すでに信頼している正規の拡張機能がアップデート後に敵対的になることです。

衛生管理のルール

ブラウザを完璧に安全にすることはできませんが、標的として割に合わないものにすることはできます。原則は最小権限です。拡張機能を減らし、権限を狭め、暗号資産用のブラウザとそれ以外をきれいに分離することです。

インストールするものを最小限にする

すべての拡張機能は攻撃対象領域であり、あなたが書いたわけではないサプライチェーン上の依存物です。我慢できる範囲でできるだけ少なくインストールし、長い実績のある著名なプロジェクトを選び、使わなくなったものは削除しましょう。ウォレットとハードウェアウォレット用のブリッジがあれば十分であり、資金を扱うブラウザに十数個の生産性向上アドオンを同居させるのは十分ではありません。

専用のブラウザプロファイルを使う

別のブラウザプロファイル、あるいは別のブラウザを作り、暗号資産専用としてウォレット拡張機能だけをインストールしましょう。クーポン検索ツール、スクリーンショットツール、得体の知れない「AI」サイドバーは、普段使いのプロファイルに置いておけば、トランザクションに署名している間にページを読み取ることはできません。このたった一つの変更が、ほとんど労力をかけずに日常的なリスクの大半を取り除きます。

権限とアップデートを確認する

拡張機能をインストールまたはアップデートするときは、権限プロンプトをクリックで読み飛ばさず、きちんと読みましょう。「すべてのウェブサイトであなたのすべてのデータを読み取り、変更する」はウォレットにとっては正常ですが、電卓にとっては警戒すべきものです。自動アップデートは紛れもないサプライチェーンリスクです。月曜日に精査したビルドは木曜日に配信されるビルドとは別物であり、侵害されたメンテナーや依存物が悪意あるコードをあなたのブラウザに直接送り込むこともあります。すべてのアップデートを手作業で確認することはできないので、自身の依存物が悪化しうることを前提としたセキュリティモデルを持つ拡張機能を選びましょう。それこそがLavaMoatが提供するものです。より広いパターンについては、サプライチェーン攻撃と決定論的ビルドを読んでください。

偽のウォレット拡張機能を見抜く

ストアは偽物であふれています。正しい名前、コピーされたロゴ、捏造されたレビュー、そして聞いたこともない発行元です。偽のウォレット拡張機能の唯一の仕事は、あなたのシードフレーズを盗むか、トランザクションをすり替えることです。インストールする前に、発行元がプロジェクトの公式サイトと一致するか確認し、インストール数と履歴を確認し、ストア検索からではなくプロジェクト自身からのダウンロードリンクをたどりましょう。Chrome Web Store のプログラム ポリシーはなりすましを禁止していますが、取り締まりは公開に追いついていません。ストアは保証ではなく出発点として扱いましょう。そして、拡張機能のポップアップにシードフレーズを決して入力しないでください。

LavaMoatが何をするのか(そしてなぜSSPが使うのか)

現代のウェブアプリは数百ものサードパーティパッケージから組み立てられており、そのいずれもが侵害されうるものです。LavaMoatは、まさにそれに対してJavaScriptを堅牢化するオープンソースのツールセットです。各サードパーティ依存物をそれぞれ制限された環境にサンドボックス化し、各パッケージが何にアクセスできるかという明示的なポリシーを強制します。汚染された単一のパッケージは、もはやアプリを横断してあなたの鍵を読み取ったり、トランザクションを改ざんしたり、データを流出させたりすることができなくなり、そのポリシーが許す狭い範囲に閉じ込められます。

これが重要なのは、サプライチェーン攻撃が目立つプロジェクト本体ではなく依存物を狙うからです。SSPのブラウザ拡張機能はLavaMoatで作られているため、たとえ推移的な依存物が上流で侵害されたとしても、被害範囲はウォレットの鍵を渡してしまうのではなく封じ込められます。それは、あなた自身では監査できない唯一のリスク、つまり他人が書いたコードに適用された多層防御です。なぜこの種の攻撃が独自の対策手順に値するのかについては、OWASPがそのガイダンスでサプライチェーンと注入のリスクをowasp.orgで体系化しています。

SSPの2-of-2が悪意ある拡張機能を食い止める場面

ここが正直で、核心を担う論点です。最悪の事態がそれでも起きて、あなたのブラウザ拡張機能が完全に侵害されたと仮定しましょう。それでもなお、できるのは仕事の半分だけです。

SSPは2-of-2 multisigです。すべてのトランザクションには二つの独立した署名が必要であり、一つはブラウザ拡張機能から、もう一つはあなたのスマートフォン上のSSP Key、つまり独自の画面を持つ別個のデバイスからのものです。侵害された拡張機能は悪意あるトランザクションを構築できますが、二つ目の署名を生成することはできません。リクエストがスマートフォンに届くと、拡張機能が制御できない画面上で本当の送信先と金額が見え、それを拒否できます。攻撃者の手元には、決してブロードキャストされないトランザクションへの一つの署名が残るだけです。

それは現実的で構造的な歯止めであり、宣伝文句ではありません。そしてまさにそれが、二つの独立した承認画面が一つに勝る理由です。とはいえ、これは汚れたブラウザを使ってよいという許可証ではありません。二つ目の鍵は署名の瞬間を守るものであり、あなたが手作業で確認してしまうクリップボードのすり替えを止めるわけではなく、他の場所での悪い習慣を帳消しにするわけでもありません。それを唯一の防衛線ではなく、最後の防衛線として扱いましょう。multisigにすら限界がある場面を知るには、multisigの障害モードとSSPによる緩和策鍵の一つが侵害されたらどうなるかを読んでください。

手早くできる拡張機能の棚卸し

これを今日5分で実行し、その後は四半期に一度行いましょう。

  1. ブラウザの拡張機能ページを開き、インストールされているすべてを一覧にします。
  2. 過去1か月使っていない拡張機能をすべて削除します。
  3. 残ったそれぞれについて、発行元がプロジェクトの公式サイトと一致することを確認します。
  4. それぞれが保持する権限を確認し、その用途に対して過剰な権限を持つものはアンインストールします。
  5. ウォレットがまだ専用の暗号資産専用プロファイルに入っていない場合は、そこに移します。
  6. ウォレット拡張機能が公式ソースから提供されていること、そして可能であればLavaMoatで堅牢化されていることを確認します。

さらに先へ

ブラウザの衛生管理は一つの層にすぎません。フィッシングへの意識、健全なシードフレーズの保管、そしてウォレットの鍵がどのように分割されているかの明確な理解と組み合わせましょう。強固な習慣にSSPの2-of-2アーキテクチャが加われば、一つの悪意ある拡張機能は破滅ではなく不便で済みます。とはいえ、その習慣はやはりあなた自身のものでなければなりません。

この記事をシェアする

関連記事