仮想プライベートネットワークに接続するとき、オンラインでの活動は非公開かつ安全だと思うのが普通だろう。だが、現実はそう単純ではない。
複数の調査によると、700万人以上のユーザーを抱える人気VPNアプリ20種類超が、重複する所有グループを通じてひそかにつながっており、データを露出させかねない脆弱性を共有している。さらに、人気VPNトップ10の半数が、セキュリティに関する約束を台無しにしかねない傍受攻撃に対して脆弱だ。
より広範なサイバーセキュリティの状況からは、VPNサービスがどのように設計、運用、販売されているかに、体系的な欠陥があることが分かる。
誰も語ろうとしない、VPN所有関係の隠れたネットワーク
サイバーセキュリティ業界が注目したのは、The Citizen Labの研究者が一見すると独立しているVPNアプリを、わずか3つのプロバイダー系統にたどり着いたときだ。しかも、無名のプレーヤーというわけではない。互いに無関係に見えるブランドの背後に、数億回のダウンロードがありながら、重要なインフラを共有しているのである。
ファミリーAにはTurbo VPN、VPN Proxy Master、Snap VPNなどの主要アプリが含まれる。アプリストアでは別々に見えるにもかかわらず、コード、ライブラリー、アセットはほぼ同一だ。フォレンジック調査により、設定ファイルには同一のAES-192-ECB暗号化が使われ、「server_offline.ser」という名前のファイルには、同じハードコードされたShadowsocksパスワードが保存されていることが分かった。
ファミリーBはXY VPN、3X VPN、Melon VPNを運営しており、一見異なるサービスでありながら、同じVPNアドレスとインフラ、対応するネイティブライブラリーlibcore.so、そして14個のハードコードされたパスワードを使用している。ファミリーCは、通常DNSに使われるポート53上で偽装した共有独自プロトコルを通じて、Fast Potato VPNとX-VPNを支配している。
これは単に、選択肢があるように見せかけているという話ではない。複数のサービスが同じ暗号鍵とインフラを再利用すると、1回の侵害で数百万人のユーザーに被害を及ぼせる。研究者は、あるアプリから抽出したShadowsocksの認証情報で別のプロバイダーのサーバーに接続し、この相互汚染を実証した。
所有関係を覆い隠す仕組みが、事態をさらに悪化させている。企業登記の記録からは、シンガポールで事業を運営していると主張するアプリが、実際には中国にまでさかのぼることが明らかになり、公開されている主張と矛盾していた。一部のアプリはさらに、中国企業Qihoo 360と結び付いていた。同社は中国人民解放軍との関係を理由に、米国政府から制裁を受けている。
攻撃者はいかに「安全な」VPN通信を傍受できるのか
最も危険なバグは、ユーザーからは見えないサーバー側に存在する。
Port Shadow攻撃は、多くのVPNサーバーがパケットの経路制御に利用する接続追跡フレームワークの弱点を悪用する。タイミングを合わせれば、攻撃者は通信をリダイレクトし、ポートをスキャンし、トンネル暗号化を剥がし、ルーターを所有していなくても盗聴できる。
要点はこうだ。サーバーの接続追跡システムは、デバイスとインターネットの間でパケットがどのように流れるかを管理している。設定が不適切だと、意図された暗号化レイヤーが機能する前に、攻撃者が経路制御を改ざんできる小さな隙が生じる。
こうした欠陥はサーバーソフトウェアに存在するため、クライアント側に防御手段はない。保護の成否は、VPN事業者が適切な設定を使うかどうかにかかっている。そこには、クライアント接続に使うIPと、サーバーから外部へ出ていく通信に使うIPを分離することも含まれる。
3つすべてのVPNファミリーが、ブラインド・オンパス攻撃に対して脆弱だった。これは、トンネル暗号化が施されていても、同じネットワーク上の攻撃者がアクティブな接続を推測できる攻撃だ。こうした問題は、Androidの接続追跡と相性の悪いlibredsocks.soのようなライブラリーの設定ミスに起因する。一部のアプリが再利用したShadowSocksのログイン認証情報もあり、別のアプリは、2020年に非推奨となり、確認攻撃や鍵回復攻撃を受けやすいRC4-MD5暗号スイートに依存していた。
問題はスマートフォンに限られない。最近の調査では、VPNクライアント126件のうち64.6%が、トンネルの外部にトラフィックを漏らすルーティングテーブル改ざん攻撃に対して脆弱であることが分かった。テストしたプロバイダーの中に、すべてのプラットフォームで安全だったものは1社もなかった。弱点は、ローカルアクセスやサーバー通信のためにVPNクライアントが作成するルーティング例外にある。
見過ごされているデータ漏えい危機
標的を絞った傍受だけが問題ではない。体系的なデータ漏えいが市場全体で起きている。包括的な調査では、有料Android VPNアプリの53%がユーザーデータを漏えいさせており、分析対象となった30種類のVPNのうち16種類が、より強固なセキュリティをうたって料金を取っているにもかかわらず、何らかの漏えいを起こしていることが判明した。
とりわけ目立った失敗は、SNI暗号化の欠如で、テストしたVPNの半数に見られた。Server Name Indicationの漏えいにより、VPNが完全に接続する前に、ユーザーがアクセスしようとしているWebサイトが明らかになる。これは、コンテンツが暗号化されたままでもユーザーの行動パターンを把握する監視システムにとって、格好の材料となる。
特定のネットワーク条件下では7つのVPNアプリでDNS漏えいが発生し、23%は外部から閲覧パターンを監視可能にするサードパーティーのDNSサーバーを使っていた。DNSリクエストがトンネルの外に流出すると、時刻やトラフィック量と照合できる、活動の検索可能な記録が形成される。
さらに悪いことに、FastestVPNでは、位置情報APIへの暗号化されていないリクエストのヘッダーにユーザーのメールアドレスが露出していた。
共有インフラは被害を増幅させる。複数のプロバイダーがサードパーティーのパブリックDNSに依存しており、そのデータセットでは29社に上った。また、トンネル障害時のトラフィック漏えいは26社のVPNプロバイダーに影響していた。最も深刻な漏えいが起きるのは、障害や切り替えの最中だ。まさに、保護が機能していると期待するタイミングである。
デジタルプライバシーにとっての意味
証拠が示しているのは、回避可能だったミスが連鎖しているということだ。APKに埋め込まれたハードコードされたShadowsocksパスワードによって、攻撃者は対称鍵を抽出し、大規模に通信を復号できる。手口は知られている。アプリを逆コンパイルし、暗号化された設定ファイルを取り出し、ハードコードされたAES鍵でShadowsocksの認証情報を復号して、そのままサーバーインフラに入り込むのだ。
弱い暗号が残り続けていると、事態はさらに悪化する。複数のアプリが依然として使用しているRC4-MD5は、適切なIV保護がないままShadowsocksに使われており、周知の暗号攻撃に対して通信を無防備にしている。これに共有認証情報が組み合わさると、1つの侵害された鍵で複数ブランドの通信を解除できてしまう。
わずかながら、良い知らせもある。最も一般的なVPNであるNordVPN、ExpressVPN、SurfsharkはPort Shadow攻撃に対して脆弱ではない。これは、専任のセキュリティチームを持つ成熟したプロバイダーなら、サーバーを堅牢化できることを示している。マルチホップ構成を使うVPNプロバイダーも、通常、この特定の経路制御改ざんからは保護される。
商用の選択肢以外を検討するなら、研究者はTorや自前でホスティングするVPNなどの代替手段を提案している。自前でホスティングすればプロバイダーを介さずに済むが、サーバーに出入りする通信が自分のトラフィックだけになるため、トラフィック相関分析が可能になる。
VPN戦略を見直す時だ
この調査は、VPN市場に基本的な情報格差があることを明らかにしている。
アプリストアには、運営者を検証したり、セキュリティを監査したりする能力が限られている。レビューがエンドツーエンドの設定ではなく、マルウェアに焦点を当てているためだ。その結果、実際の保護レベルを判断するために必要な技術情報がないまま、重大な選択を迫られる市場になっている。
印象やマーケティングをうのみにしてはいけない。VPNプロバイダーに、クライアント接続用のIPとサーバーから外部へ出ていく通信のIPを分離しているかどうかを含め、Port Shadowなどの攻撃への対策を確認しよう。クライアントソフトウェア、サーバーインフラ、ネットワーク設定を調査する、独立した定期監査の証拠を求めるべきだ。
所有関係が透明なサービスを探そう。他のサービスとインフラ、暗号鍵、管理システムを共有しているプロバイダーは避けること。現在の暗号化標準、文書化された鍵のローテーション、サーバーの堅牢化を確認しよう。ルーティングテーブルの管理、DNS名前解決、トンネル障害時の処理方法についても、詳細な説明を求めたい。
サイバーセキュリティ業界は構造的な対策を求めており、研究者はVPNアプリにセキュリティ監査済みバッジを、開発者に身元確認済みバッジを義務付けるよう提案している。それが実現するまでは、実績のあるセキュリティ対策、文書化された運用、そして事業と所有関係に関する真の透明性を備えたプロバイダーを選ぶことが、最善の防御となる。
結論として、VPNは本当のプライバシーを実現できる。ただし、正しく実装され、誠実に運用されている場合に限る。この状況では、ユーザーは傍観者ではなく、疑いの目を持つ必要がある。プライバシーを守るためなら、追加の質問をする価値はある。

