概要

セキュリティ企業Socketの研究者Kush Pandya氏らは、Chromeウェブストア上の40以上の開発者アカウントから、Proton VPN、NordVPN、Surfshark、ExpressVPN、AdGuard VPN、CyberGhost、CloudflareのDNSリゾルバ「1.1.1.1」など66の著名VPN・プライバシーブランドを装った偽拡張機能737個を発見した。累計インストール数は約75,486件に上り、主にロシア語圏で検閲回避を目的にVPNを利用しようとするユーザーが標的となっていた。274個の拡張機能が実在ブランドになりすましていたほか、残りも同様の手口で偽のVPNサービスを装っていたという。

技術的な詳細

これらの拡張機能は、ブラウザの通信セッション全体をポート1082で待ち受ける攻撃者管理下のSOCKS5プロキシ経由でルーティングする仕組みを持っていた。調査対象のバルク検体522個のうち520個が同一のSOCKS5インフラを利用しており、これにより攻撃者は中間者(MITM)の立場からアクセス先ドメイン、送信元IPアドレス、TLSのSNI値、そして平文HTTP通信のリクエスト本文までも観測可能な状態にあった。さらに一部の104個の拡張機能はCloudflareやGoogleが提供するDNS over HTTPS(DoH)を利用し、実際のプロキシ運営者のドメインを隠蔽する手法も確認された。拡張機能は日本、シンガポール、カナダ、オーストラリア、トルコなど各国に存在するとうたう架空のプレミアムサーバーを宣伝し、実際には存在しない有料プランや偽の接続アニメーションを表示するなど、利用者を欺く作り込みがなされていた。

発覚の経緯と実態

コード内には、拡張機能の内部管理用と見られるロシア語の従業員向けマニュアルが含まれていたほか、Chromeウェブストアへの申請時に「データは一切送信しない」という虚偽の申告が行われ、承認後にコードを書き換えるという手口も使われていた。40の公開者アカウントが共通の解析(アナリティクス)用アカウントを共有していたことから、これらは個別の便乗ではなく組織的なキャンペーンであったとみられる。ロシアの納税者番号やWindowsのファイルパスにロシア語のディレクトリ名が含まれていたことなどから、ロシアを拠点とする攻撃者による犯行である可能性が高いとされ、最終的には有料のロシア系VPNサービスへの誘導を狙ったものと推測されている。

Googleの対応と今後の課題

Socketの報告を受け、Googleはこれまでに221個の拡張機能をChromeウェブストアから削除したが、報道時点でなお516個が公開されたままとなっていた。ブラウザ拡張機能はストア審査時と実際の配布後でコードが異なるケースがあり、審査をすり抜けた後に不正な機能を追加する「承認後の書き換え」は依然として有効な回避策となっている。VPNやプライバシー保護をうたう拡張機能はユーザーの全通信を扱う特性上、悪用された際の被害が大きく、インストール前の開発者情報やレビューの精査、公式サイトからの直接ダウンロードなど、利用者側の警戒が引き続き求められる。