「存在しないはずのログ」を流出させた 7 つの VPN プロバイダー

プライバシーが高まり、追跡も回避できるという理由で、VPN が流行しています。

「VPN」という言葉はもはやひとつの単語として確立されており、多くの企業がインターネットやテレビ、果ては印刷媒体にまで進出して、顧客獲得を争う市場となっています。

ほとんどの VPN アプリは無料でダウンロードできますが、実際に使用したりプレミアムサービスを利用したりするためには、有料登録が必要な場合が一般的です。

このアプリは、ユーザーのデバイスと VPN 企業のサーバー間でネットワークのトラフィックをすべて暗号化し、サーバーからデータをインターネット上に流すときに復号化します。この処理は別の国で行われることもあります。これによりユーザーのデータパケットの送信元が秘匿されるため、追跡が困難になります。

しかし、プライバシーや匿名性が保たれるという印象を受けるのは、VPN (Virtual Private Network: 仮想プライベートネットワーク) という呼称の中に「プライベート」が含まれているからにすぎません。

実際には「プライベート」と言っても、ユーザーが匿名になったり他者になりすましたりできるわけではありません。

VPN には確かに「プライベート」という単語が含まれてはいますが、これは私設回線やリース回線上で送受信され、企業内の LAN (ローカルエリアネットワーク) の一部として管理されていたトラフィックを公共のネットワーク上で送受信する、という意味でしかありません。

一度でも自社の VPN を使用したことがあればお気づきかと思いますが (特にこのコロナ禍においては多くの方が使用したことがあるでしょう)、企業 VPN では接続の前にパスワードや 2 要素認証トークンなどを使用して、ユーザーを確認します。

VPN では、データを暗号化することでネットワークパケットを見られないようにしています。これにより、公共のネットワークを行き来するトラフィックは監視を避けられます。しかし、社内ネットワークという仮想の城壁の中では、トラフィックは匿名ではなくなります。

つまり、ルーターを通過する時点では VPN パケットは暗号化されているため中身を見ることはできませんが、VPN そのものは、ユーザーが誰であるか、またやりとりの内容も把握しています。

もちろんこれはよいことです。なぜならその企業ネットワークでは、不特定多数のユーザーではなく、アクセスを許された、責任を問うことができる人物だけがネットワークを共有していることになるからです。

ログの保存について

前述したように、消費者向け VPN は、ユーザーの実際の居場所から遠く離れたところの公共のインターネットでトラフィックを復号化するように設定できます。そのためユーザーの物理的な居場所が隠蔽できるだけでなく (これによってプライバシーは強化されます)、居住国も偽装できます。

ほとんどの人にとって、それが個人向け VPN サービスの第一義の価値です。居住国の ISP によって適用される検閲を回避でき、また海外のテレビ番組や映画の視聴、地域制限のあるコンテンツなどへのアクセスを禁止する、いわゆる配信国制限 (ジオブロック) を回避することができます。

しかし同時にそれは、VPN プロバイダーが実質ユーザーにとっての ISP になるということであり、その VPN プロバイダーに多大な信頼を寄せるということを意味します。したがって、プロバイダーが事業展開している国の監視に関する法律にどの程度準拠しているのか (またはしていないのか) を把握しておく必要があります。

VPN の多くは「ログは一切保存しない」と謳い、法執行機関に渡すことのできる情報は保持していないことになっています。

しかし他方、多くの国では、さまざまな機関が (管轄区域によって令状の必要性は違うものの) サービスプロバイダーに対して、特定個人のログの保存を要求できるだけではなく、その事実を黙秘することを要求できます。つまり、プロバイダーはユーザーのログを記録する必要がありながら、そのことについてユーザーには警告できず、問い合わせられても回答できません。

このような特殊な法律上の事情から、数年前には「令状のカナリア」と呼ばれる手法が流行しました (炭鉱で気絶し鳴き声が止むことで、有毒ガスの発生を知らせていたカナリアに由来しています)。企業は、現時点ではいかなる種類の黙秘命令も受けていない、とする告知を常時 Web ページ上に掲載したり文書に記載したりします。すると実際に黙秘を命令された場合、法的要求によって「命令を受けていない」という文面を削除する必要があるため、逆説的に「命令を受けている」ことを暗に示せるという仕組みです。この場合、少なくとも法律の文面通りの指示には従っていることになります。しかしこの手法は非常に煩雑であったため、今ではあまり使用されていません。

当然ながら、VPN によっては、このような法律条項がない国で登録しているので、このようなことは起こりえない (つまり間接的に、ユーザーにも影響はない) と約束しているプロバイダーもあります。

しかし、いずれの VPN も、システムを使用しているユーザーの居場所や身元を多少なりとも把握しており、場合によってはサービスを安定して動作させる目的に限って、メモリ内のログ (専門用語で「エフェメラルデータ」) を、一部またはすべてのセッションにおいて保存している可能性もあります。

したがって、オンラインのユーザーのトラフィックを処理する目的でプロバイダー側が把握しているトラフィック情報は、故意にせよ過失にせよ恒久的に保存されることはない、とユーザー側が考えるのは当然です。

過去の事例からもわかる通り、エフェメラルデータ (ディスクにも書き込まれず、他のサーバーに転送されることもない、不必要になった時点で消去されるべきデータ) は残存すべきでないときにも残存してしまう場合があります。

たとえば最近では、Google も Facebook も、ログインの過程で入力したパスワード (RAM にのみ保存され、検証後は直ちに暗号化されるべきデータ) が誤って平文で送信され、システム内のログファイルに保存されていたケースがあったことを認めています。

Facebook は、2019 年に何億件ものパスワードがディスクに保存されていたことを発見し、それを探し出して消去することになりました。Google も誤ってパスワードを保存していたことを認めており、その数については公表されていませんが、保存していたデータは 14 年前の 2005 年にまで遡ることがわかっています。

言い換えれば、いかに真剣にそれを回避しようとしても、たとえ資金が潤沢で、大規模なサイバーセキュリティチームを持つインターネット企業の 2 大巨頭であったとしても、ログに残されるべきではないデータをログに残すのは容易だということです。

今回のインシデントの概要

先週 VPNMentor (注: VPNMentor は推奨する VPN 企業へのリンクやクーポンによってアフィリエイト収入を得ています) が公開したレポートは、同社の研究者が、香港で運営されている 7 つの VPN において、おびただしい量のユーザーログを発見したと伝えています。

(VPNMentor は、UFO VPN、FAST VPN、Free VPN、Super VPN、Flash VPN、Secure VPN、Rabbit VPN の 7 つのサービスが影響を受けているとしています。)

さらなる調査で、これら 7 つの VPN は、すべて 1 つのプロバイダーから分化したブランドであることが明らかになっています。ソフトウェアや IT サービスにおいてはこのように、異なるライセンスでありながら、コアとなるコードやバックエンドシステムが同一である (もしくは非常によく似ている) ことが少なくありません。

もうお察しでしょうが、このデータは、そもそも一般アクセスが可能であるべきではなく、適切に設定されていなかったクラウドのデータベース (今回は ElasticSearch) 経由で漏洩したものです。

VPNMentor は、約 2,000 万人のユーザーに関する約 10 億件のデータベースエントリー (1 ユーザーあたり平均 50 件のエントリー) が漏洩したと伝えています。漏洩したデータには、以下のデータフィールドが含まれていました。

(引用文日本語訳) アクティビティログ、個人情報 (氏名、メールアドレス、住所)、平文のパスワード、ビットコイン決済情報、サポートメッセージ、パーソナルデバイス情報、技術スペック、アカウント情報、Paypal API への直接リンク

つまり上記の VPN プロバイダーは、平文パスワードなどの保持するべきではないデータを収集していただけでなく、それらを間違って公開したということです。

さらに VPNMentor のレポートには、「[リストに掲載した] これらの VPN の公式 Web サイトによれば、いずれの VPN も軍用レベルのセキュリティ機能とゼロログポリシーを通じて、ユーザーの情報セキュリティを強化している」と書かれています。

しかし、実際には「ゼロログ (ログを保存しない)」ポリシーには従っていないようです。

対策

多くの人がテレワークをしている今、注目すべきは「テレワークに VPN は必要か?」という点です。

このトピックについては、英国と米国が都市封鎖に入った 2020 年 4 月に、週刊の Naked Security Live で解説しています (以下の動画をご覧ください)。

クリックしても動画が再生されない場合は、YouTube でご覧ください

[設定](歯車のアイコン) で字幕をオンにできます。