セキュリティ研究者によると、悪質なブラウザ拡張機能の数は過去1年間で大幅に増加しているが、多くのセキュリティ製品はそれらに対する適切な保護を提供できず、また、そうするように設計されていないものもあるという。
攻撃者は既にこのような拡張機能を使用して、Web サイトに不正な広告を挿入したり、検索クエリを乗っ取ったりしてクリック詐欺を実行していますが、調査により、このタイプのマルウェアはさらに多くの被害を引き起こす可能性があることがわかりました。
昨年、ハンガリーの専門サービス会社デロイトのITセキュリティコンサルタントであるゾルタン・バラズ氏は、攻撃者がリモートで制御し、認証資格情報を盗み、アカウントを乗っ取り、ローカルで表示されたWebページを変更し、コンピュータのWebカメラでスクリーンショットを撮り、2要素認証システムを回避し、さらには被害者のコンピュータに悪質なファイルをダウンロードして実行できる、概念実証の悪質な拡張機能を作成した。
そして先週、欧州ネットワーク情報セキュリティ機関(ENISA)は中間報告書で、「ソーシャルネットワークのアカウント乗っ取りを狙った悪質なブラウザ拡張機能の増加が報告されている」と警告した。

バラズ氏は今年初め、様々なセキュリティ製品が悪意のあるブラウザ拡張機能からユーザーをどのように保護しているかを調査し、8月にアムステルダム近郊で開催されたセキュリティカンファレンスOHM2013でその調査結果を発表しました。同氏は、ブラウザセキュリティ拡張機能、サンドボックスソフトウェア、インターネットセキュリティスイート、キーロガー対策アプリケーション、そして一部の銀行が推奨する金融詐欺防止プログラムに対してテストを実施しました。
これらの製品の多くは、悪質な拡張機能をまったく検出してブロックしないか、またはその保護を非常に簡単に回避できることがわかった。
テストした製品のすべてが悪質な拡張機能から保護すると主張しているわけではないが、一部のユーザーはそう信じている可能性があるため、Balazs 氏はテストしたと述べた。
例えば、Mozilla FirefoxのNoScriptセキュリティ拡張機能は、プラグインコンテンツがユーザーの許可なく実行されるのをブロックするだけでなく、クロスサイトスクリプティングやクリックジャッキングといった一部のWebベースの攻撃もブロックするように設計されています。しかし、悪意のあるブラウザ拡張機能やローカルマルウェアからの保護は提供されていないとBalazs氏は述べています。
Firefoxの別の拡張機能であるBrowserProtectは、「ホームページ、検索プロバイダー、拡張機能、アドオン、BHO、その他のハイジャック」からブラウザを保護すると主張している。しかし、研究者によると、この拡張機能は悪意のある拡張機能からの保護も行っていないという。
ブラウザのセキュリティ拡張機能は実際には悪意のある拡張機能から保護しようとしているわけではなく、設計上、悪意のある拡張機能と同じ権限で実行されるため、保護することはできないとバラズ氏は述べた。
バラズ氏は、名前を明かさなかったものの、大手ウイルス対策ベンダー5社のインターネットセキュリティスイートもテストした。悪質なブラウザ拡張機能に対する保護レベルは、全く保護されていないものから良好なものまで様々だった。

テストされた製品の 1 つは研究者の悪意のある Firefox 拡張機能を検出して削除しましたが、研究者は拡張機能のコード内の特定の場所に 1 つのスペース文字を追加することで検出シグネチャを回避することができました。
別のベンダーの製品には、「セーフブラウザ」機能が搭載されており、拡張機能がインストールされていないクリーンなFirefoxプロファイルを作成していました。しかし、一度プロファイルを作成すると、同じプロファイルを使い続けるため、ユーザーの通常のブラウザプロファイルにインストールされた悪意のある拡張機能が「セーフブラウザ」プロファイルに自身をコピーする可能性があるとバラズ氏は述べています。
バラズ氏によると、ある別のベンダーは、フォーラムで自社製品がFirefoxのキーロガー拡張機能Xenotix KeylogXを検知またはブロックできるかどうかを尋ねられた際、「ブラウザのアドオンはブラウザが通過するのと同じサンドボックスの影響を受ける」ため、その必要はないと回答したという。同氏によると、そのベンダーは、疑わしい拡張機能はユーザー自身で削除するよう推奨したという。
Balazs 氏にとって、この回答は一部のベンダーがこの種の脅威について十分に理解していないことを浮き彫りにしている。Firefox にはサンドボックスがないため、ユーザーが気付かないうちにマルウェアが悪意のあるブラウザ拡張機能を密かにインストールする可能性があるからだ。
AvastのSafeZoneやBitdefenderのSafepayなど、他の「セーフブラウザ」実装は、悪意のある拡張機能のインストールをブロックしました。これらの機能は、Google Chromeを支えるオープンソースプロジェクトであるChromiumをベースにしたカスタムブラウザをサンドボックスのような安全な環境内で使用し、ユーザーが安全にオンラインバンキングやオンラインショッピングを行えるように設計されています。
Balazs 氏は、Avast SafeZone や Bitdefender Safepay ブラウザに悪意のある拡張機能を直接インストールする方法は見つけられなかったものの、ユーザーが HTTPS ウェブサイトにアクセスし、接続が暗号化されている場合でも、攻撃者がトラフィックをスパイできる脆弱性を発見したと主張している。

被害者の主なブラウザがFirefoxの場合、攻撃者はまずソーシャルエンジニアリングを用いて被害者を騙し、悪意のある拡張機能をインストールさせる可能性があります。そして、その拡張機能を利用して、システム全体のインターネットプロキシ設定を変更し、Windows証明書ストアに不正なルートCA証明書をインストールするように設計されたマルウェアをダウンロード・実行します。
Chromium は、Internet Explorer とともにシステム全体のプロキシ設定と証明書ストアを使用するため、攻撃者はこれを悪用して、Avast SafeZone または Bitdefender Safepay ブラウザーからのすべてのトラフィックを自分が管理するプロキシ サーバーに渡し、システムに追加された新しいルート CA 証明書を使用して中間者傍受を実行する可能性があります。
この攻撃は、GmailやPaypalなどの一部の人気ウェブサイトの証明書に使用されている公開鍵が中間者攻撃者によって変更されたかどうかを検出することになっているChromiumの公開鍵ピンニング保護も回避するとバラズ氏は述べた。
Chromium ではユーザーがインストールしたルート CA がピンを上書きできるため、ユーザーはブラウザ内で証明書の警告を受け取ることはありません。これは、Google のソフトウェア エンジニアである Adam Langley が 2011 年 5 月のブログ投稿で説明した設計上の決定です。
Windows では、新しい CA 証明書が証明書ストアに追加されるとセキュリティ プロンプトが表示されますが、マルウェアはアクションを自動的に確認できるため、ユーザーは何もクリックする必要がありません。
ビットディフェンダーの広報担当者は水曜日、「Safepayは、オンラインバンキングやオンラインショッピングといった機密性の高い活動を保護するための追加のセキュリティレイヤーとして設計されています。強力な自己保護メカニズムを備えているものの、SafepayはAV(アンチウイルス)製品の代替品ではなく、そのように宣伝されているものでもありません」と述べた。
この製品は、安全なブラウジングセッションを開始する前に、コンピュータ上でアクティブなマルウェアを特定するためのセキュリティ評価を実行します。しかし、マルウェアが以前にシステムに侵入し、不正なルート証明書をインストールしていた場合、セッションが侵害される可能性があると広報担当者は述べています。「ただし、ユーザーがウイルス対策製品をインストールしていない場合は、このシナリオはあり得ます。」
「現在、Safepayの脆弱性を様々なシナリオ(システム関連またはサードパーティ関連)で発見し、ユーザーセッションの侵害リスクを最小限に抑えるソリューションを開発することを目指したプロジェクトを進めています」と彼は述べた。「システムにインストールされている証明書の評価は、私たちの最優先事項です。」
Avast はこの攻撃手法に関してすぐには声明を出さなかった。
銀行が顧客に推奨し、マルウェア関連の金融詐欺を防ぐために設計されたセキュリティ製品の中には、悪意のあるブラウザ拡張機能に対する保護機能が不足しているものもあった。バラズ氏は、異なるベンダーの6つのセキュリティ製品をテストしたが、ブラウザ拡張機能をブロックできたのは1つだけだった。
それ以来、この種の脅威に対する保護機能を追加した企業はいくつかあるが、それぞれ異なるアプローチを採用していると彼は述べた。すべての拡張機能をブロックするものもあれば、悪意のある拡張機能だけを検出するものもあるという。
バラズ氏はまた、サンドボックス環境内でアプリケーションを実行し、コンピュータ上の他のプログラムやデータに永続的な変更を加えることを防ぐことで、アプリケーションをオペレーティング システムから分離するように設計されたプログラムである Sandboxie もテストしました。
製品の Web サイトには、「Web ブラウザを Sandboxie の保護下で実行すると、ブラウザによってダウンロードされたすべての悪意のあるソフトウェアがサンドボックスに閉じ込められ、簡単に削除できるようになります」と記載されています。
しかし、これはSandboxie内の不正なブラウザ拡張機能がサンドボックス外のローカルストレージに書き込むのを阻止するに過ぎません。研究者によると、キー入力を記録してサンドボックス内に保存したり、コンピュータのウェブカメラで画像をキャプチャしたり、ブラウザに保存されているパスワードや認証クッキーを盗んだりすることは依然として可能とのことです。
一般的に、悪意のあるFirefox拡張機能は他の拡張機能やブラウザ自体の設定を変更できますが、ブラウザが閉じられた際に、この動作を行うように設計されたマルウェアをダウンロードして実行することで、インストール済みの拡張機能のソースファイルを間接的に変更することも可能だとバラズ氏は述べています。(ソースファイルはブラウザの実行中はロックされます。)
土曜日に開催されたHacker Halted USA 2013セキュリティカンファレンスでのプレゼンテーションで、バラズ氏はマルウェアが正規の拡張機能にバックドアを挿入する方法と、それがユーザーのセキュリティに及ぼす影響について実演しました。彼はこのデモで、FirefoxのLastPass拡張機能にバックドアを仕掛けました。
LastPassは、ブラウザ拡張機能を使用してフォームへの入力とウェブサイト認証を自動化するパスワード管理サービスです。これにより、ユーザーは使用するすべてのオンラインサービスで強力な個別のパスワードを使用しながら、暗号化されたパスワードボルトのロックを解除するマスターパスワードを1つだけ覚えておくことができます。
セキュリティ強化のため、LastPass は、マスター パスワードと、物理的な YubiKey USB 認証デバイスまたは Google Authenticator、Toopher、Duo Security などのモバイル アプリケーションによって生成されたワンタイム コードを使用した 2 要素認証をサポートしています。
LastPassはウェブサイト上で、フィッシング詐欺、オンライン詐欺、そして特にキーロガーなどのマルウェアからユーザーを保護すると主張しています。しかし、Balazs氏によると、この拡張機能は、ブラウザプロセスに侵入する金融系トロイの木馬プログラムなどのマルウェア、その他の悪意のあるブラウザ拡張機能、あるいはLastPass自身のコードのローカルな改変からユーザーを保護することはできないとのことです。
Hacker Halted での Balazs 氏のデモンストレーションでは、マルウェアが Firefox にインストールされた LastPass 拡張機能のコードを変更し、ユーザーのマスターパスワードと YubiKey 認証コードを攻撃者に送信し、攻撃者がその情報を使用してユーザーのパスワード保管庫にアクセスする様子が示されました。
同氏は、LastPass拡張機能にバックドアを仕掛ける概念実証コードをGitHubで公開し、開発にはわずか2時間しかかからなかったと述べた。
Balazs氏の最近の研究は主にFirefoxに焦点を当てています。これは、ソーシャルエンジニアリングの手法を用いてユーザーをこのブラウザに誘導し、悪意のある拡張機能をインストールさせるのが容易だからです。Firefoxとは異なり、Chromeでは公式Chromeウェブストアのリポジトリからの拡張機能のインストールのみが許可され、サードパーティのウェブサイトからの拡張機能のインストールは許可されていないため、攻撃者が悪意のある拡張機能を配布することがより困難になっています。