拡張機能はサイトからパスワードを盗める 注意すべきポイント
ウィスコンシン大学マディソン校による最近の研究で、Chrome用ブラウザ拡張機能の約12.5%が、機密性の高い個人情報へのアクセスを可能にする許可をユーザーから得ていることが発見されました。
この研究は主にパスワードに焦点を当てており、研究者は、評判の良いウェブサイトでもソースコード内にパスワードが平文で保存されてしまっていることが多いとしている。
これらの保護されていないパスワードは、悪意のあるブラウザ拡張機能にとって容易な標的になりうると、研究者たちは主張している。
研究者らは、調査したウェブサイト(無名のポータルサイトではなく、GoogleやCloudfareなど)の15%において、パスワードが「HTMLソースコード内にプレーンテキストで存在している」ことを発見した。
研究者らの見解では、ウェブサイト開発者のこのような無頓着な態度と、拡張機能開発者に対する比較的緩いChrome制約とが相まって、攻撃者が脆弱性を悪用できる扉を大きく開いてしまっている。
調査中、彼らは「パスワードフィールドに直接アクセスしている」拡張機能を190個特定した。
その中には、AdBlockPlusやHoneyといった人気の拡張機能も含まれており、両方ともダウンロード数1,000万以上のものである。
研究者たちはこう言う:
「マニフェストファイル(拡張機能の機能や使用するファイルに関する重要な情報を提供するJSON形式のファイル)を分析した結果、12.5%(1.73万個)の拡張機能が、すべてのウェブページで機密情報を抽出するために必要な権限を持っていることがわかりました。」
Google Chrome用拡張機能の新しい仕様であるManifest V3は、拡張機能の機能に制約を課しているが、研究者たちは、これらの措置がセキュリティに対するリスクを実質的に軽減していないことを発見した。
研究者たちは次
「Manifest V3はユーザーのプライバシーとセキュリティの向上を意図しているにもかかわらず、コンテンツスクリプトの動作は変更されていない。このため、拡張機能とウェブページの間にセキュリティ上の境界がなく、拡張機能がDOMツリーにロードされ、ウェブページに無制限にアクセスできるようになり、ユーザーにセキュリティ上のリスクをもたらす。」
とのように述べている。
不吉に聞こえますよね?
では、整理してみましょう。
アクセス権限は必要で、あとは信頼の問題です
広告ブロックブラウザ拡張機能が(他の多くの拡張機能と同様に)恐ろしく聞こえるアクセス権限を要求するのは事実かもしれないが、それは本質的に悪意があったり、あなたのデータを盗もうと躍起になっているからではありません。
仕組み上、権限がないとその機能を果たせない、ということが理由です。
つまり、ユーザーとしては、特定のブラウザ拡張機能の開発者・提供元を信頼するか、という問題になります。
拡張機能がユーザーデータにアクセスできる範囲について警鐘が鳴らされているのは、今回が初めてではありません。
この問題はChromeに限ったことではなく、Firefoxなど他のブラウザの拡張機能も同じ機能と権限を持っています。
パスワードマネージャーや生産性向上ツールなど、ウェブページのコンテンツを変更する必要がある拡張機能はすべて、ウェブページ上の情報への広範なアクセスを必要とします。
その技術的な理由は、これらの拡張機能がJavaScriptというプログラミング言語を使い、目的を果たすためにウェブページ上のHTML要素を読み込んで変換することを可能にしているからです。
例えば、パスワード管理ツールはJavaScriptを使ってパスワードやユーザー名を入力フィールドに挿入し、生産性向上ツールはJavaScriptを使って注意散漫をブロックしたり、時間を追跡したり、ウェブページを保存したりします。
では、広告ブロッカーは何をするのだろうか?
広告ブロッカーはJavaScriptを使ってウェブページをスキャンし、ブロックリストに一致する広告スクリプトやその他の要素を探し、ブロックします。
また、ブロックされた広告によって残されることがある空白や壊れた要素などの「広告の残骸」を取り除くこともできます。このプロセスは"コスメティック処理"と呼ばれます。
AdGuard ブラウザ拡張機能が必要とする権限
Chrome ウェブストアのAdGuard拡張機能の概要欄では、特定のアクセス権限が必要な理由について説明して透明性を保つようにしています。
広告をブロックし、ウェブページがきれいに整頓されたように見せるために、すべてのウェブサイトのすべてのデータを読み取り、変更する権限(Chromeでは「ホスト権限」)と、タブにアクセスする権限(「タブ権限」)が必要であることを説明しています。
また、広告をブロックするスクリプトレットを注入する瞬間、つまりページが広告を読み込む前をキャッチするために、webNavigation権限も必要です。
まとめると、AdGuard拡張機能だけでなく、他の多くの拡張機能も、動作するために押し付けがましく聞こえるアクセス権限が必要な場合があります。
最終的に、開発者とその権限を必要とする正当性を信頼して許可するかどうかはユーザー次第です。
今回の内容で心配すべきか?
そう、大局的には心配する必要がある。
ウェブページ上のデータにアクセスできるエクステンションをインストールするときは、注意深くあるべきです。インストールしようとする拡張機能が悪意のあるもので、ウェブサイトのHTMLソースコードに平文で保存されているパスワードや銀行口座情報を盗み出す可能性は、たとえわずかであってもあります。アドオンだけでなく、他のサービスやデバイスにも当てはまることだ。例えば、WiFi対応の掃除機やセンサー付きの最新の車などである。本題に入れば、アドオンに広告ブロックなどの魔法を使わせる場合、セキュリティやプライバシーに対するより高いレベルのリスクを受け入れなければならないということだ。このようなトレードオフが公平だと思うかどうかにかかわらず、それは避けられないことなのだ。
2018年、Mozillaはブログ記事全体を拡張機能のパーミッションに割いた。その中には*「恐ろしく響くもの」*も含まれており、広告ブロックのような拡張機能が正当な理由でパーミッションを必要とする理由を説明する一方で、それらをインストールすることのリスクも強調している。
しかし、Firefox のメーカーは、悪意のある開発者があなたの拡張機能があることをすると主張しながら、実際には別のことをするようなケースは、可能性はあるものの、まだ 「まれ」であると指摘しています。
Source: Mozilla
あなたは、"rare"でさえ頻繁すぎることがあると主張するかもしれません。そして、私たちは心から同意します - この問題を軽視することは誰のためにもなりません。数年前、私たちは正規のもののコードをパクり、ブラウザの動作をいかようにも変えることができる悪質な広告ブロック拡張機能をいくつか暴露しました。当時私たちは、20,000,000人以上の人々がこれらの偽広告ブロックの影響を受ける可能性があると推定した。そこで今、気になるのは、どうすれば拡張機能にあなたのブラウジング活動のすべてを見せることができるようになるのか、ということだ。
【私たちの目から見て安全と言えるブラウザ拡張機能のチェックリスト】
-
拡張機能の作者が明記され、物理的な住所があり、理想的には長年この業界にいること。
-
プライバシーポリシーがあり、明確で、ユーザーフレンドリーである。
-
許可する理由が明記されており、拡張機能の目的に合致している。
-
拡張機能がオープンソースである:すべてのコミットのリストを見ることができ、常に利用可能である(例えば、Chrome用のAdGuard広告ブロック拡張機能は無料かつ公開です)。
-
開発者がオンラインプレゼンスを維持し、ユーザーが簡単にコンタクトでき(ソーシャルメディア、ウェブサイト、または専用のサポートデスクを介して)、タイムリーな応答を提供する。
-
拡張機能には肯定的な評価と好意的なレビューがある。ボットによってレビューが操作されたり、拡張機能が機能するという事実を高く評価し、それ以上深く調べない、好奇心旺盛でないカジュアルなユーザーによってレビューが残されたりする可能性があるため、これらは安全であるという鉄壁の保証にはなりませんが、それはまた別の話です。