VPNリークと偽装チェック
リークとは、VPNが構築するトンネルを逃れるあなたに関するあらゆる測定値のことです。古い経路を進み続ける値、またはウェブページがトンネルを完全に迂回してブラウザに直接尋ねられる値です。偽装チェックはその対になるテストです。サイトは収集できるすべての測定値——アドレス、時計、言語、ハードウェア、リゾルバ——を取り、それらを互いに比較し、秘密ではなく矛盾を探します。偽装が失敗するのは、1つの値が間違って見えるからではほとんどありません。合うはずの2つの値が合わないから失敗します。両方の半分をブラウザ・フィンガープリント・テストで自分で実行し、設定を1つ変える前にページが取得できる測定値の全一覧についてはウェブサイトがあなたについて知っていることをお読みください。
VPNが変えるのは正確に1つだけ
VPNは1つの機械的な仕事をし、それをうまくこなします。あなたのトラフィックを出口サーバーへの暗号化トンネルに包み、あなたが訪れるサイトはあなたではなくそのサーバーを見ます。あなたの公開IPアドレスが変わります。そのアドレスに付随する都市と国も一緒に変わります。そのアドレスを所有するネットワーク——通常は家庭用ブロードバンド回線ではなくホスティング会社やVPNプロバイダー——も変わります。あなたの唯一の問いが「このサイトは私がどのアドレスから来ていると思っているか?」だったなら、動作するVPNはそれに完全に答え、この記事の何もそれに矛盾しません。
それ以外のすべては、正確にあった場所に残ります。あなたのデバイスは動きません。画面サイズ、グラフィックスチップ、インストール済みフォント、バッテリーの挙動、オーディオスタック、そしてブラウザ・フィンガープリントに組み合わさる何十もの小さなハードウェアとソフトウェアの測定値は、トンネルが開く前と後で同一です。あなたの時計は動かず、システムのタイムゾーンはあなたが実際にいる場所を報告し続けます。ブラウザとOSの言語は動きません。Cookie、ログイン済みアカウント、閲覧履歴は動きません。トンネルはパケットの経路を変えます。その先端にある機械を模様替えはしません。
この分裂こそが、ほとんどの「VPN検出」が誤った名前である理由です。一般的なケースでは、誰もVPNプロトコルやトンネルや暗号化接続を検出していません。検出されたのは不一致です。IPはある国を主張し、時計は別の国を主張し、アドレスはデータセンターに属するのにフィンガープリントは家庭用ノートパソコンを描写し、言語リストは決して旅しない旅行者を描写します。サイトは、動いた層と動かなかった層の間の隔たりをスコア化します。つまりリークを理解することは、実はトンネルについてのことではなく、トンネルが置き去りにしたすべてのものを監査することです。
WebRTC:トンネルの周りを歩くアドレス
WebRTCは、ページ内音声、ビデオ、ピアツーピアデータの背後にあるブラウザ技術です。2つのブラウザを直接接続するには、まずそれぞれにどう到達できるかを発見しなければならず、その発見プロセスがICEと呼ばれます。平たく言えば、あなたのブラウザは候補——自分自身の可能なアドレス——を集め、相手側に提示します。一部は自分に尋ねて学び、他はSTUNサーバーに簡単な質問をして学びます。「あなたの場所から見て、私はどのアドレスからかけていますか?」答えは異なる候補タイプとして返ってきて、それらの違いがリークの物語のすべてです。
ホスト候補は、あなたの機械が直接保持するアドレスです。歴史的には、ルーターが与えた192.168のようなローカルネットワークアドレスです。サーバー反射候補は、STUNサーバーが観測した公開アドレス——外界が見るアドレス——です。WebRTCが新しい頃、ページは両方を自由に収集でき、2つの古典的なリークが生まれました。LANアドレスはサイトにとって無用であるにもかかわらず逃れ、さらに悪いことに、ブラウザがVPNトンネルの外側または脇でSTUNサーバーに尋ねると、反射候補が偽装の背後にある本当の公開アドレスを明かしました。VPNはウェブトラフィックについては完璧に動作しているのに、サイドチャネルが隠していたものを静かに公開していました。
現代のブラウザはこれを大幅に狭めました。ChromeとFirefoxは現在一般的に、ホストアドレスをランダムなmDNS名——あなたの本当のLAN IPの代わりにローテーションする .local ホスト名——に置き換えるので、ページはルーターに結び付けられない候補を見ます。実装はブラウザとバージョンによって異なり、WebRTCをトンネル経由で正しくルーティングするものもあれば、企業向けや拡張機能で変更された設定はまた異なり、それが2つの正直なテストが一致しない理由です。乱暴な修正には注意してください。WebRTCを完全に無効化するとリークは止まりますが正当な通話も壊れます。一方、候補を「偽装」すると約束する拡張機能は、もっともらしいアドレスをもっともらしくないものに置き換えることが多く、もっともらしくない候補自体が偽装チェックがスコア化できる矛盾です。
DNS:家に残ったリゾルバ
あなたが訪れるすべての名前は、何かが接続する前にアドレスに翻訳されなければならず、その翻訳はリゾルバが行います。ブラウザやシステムがインターネットプロバイダーから割り当てられたリゾルバ——トンネルの外で直接到達——を使い続けると、すべての検索が同時に2通りの方法でリークします。クエリ自体が通常のDNSトラフィックの平文パターンでISPに送られ、その後のページがVPNを経由するにもかかわらず、あなたがどの名前を解決したかが明かされます。そして、あなたに代わってどのリゾルバが尋ねたかを観測できるサイトは、あなたがおおよそどこにいるかを知ります。なぜなら人々は圧倒的に自分の実際の場所の近くにあるリゾルバを使うからです。
その2番目のリークは聞くよりも微妙で、その標準テストはエレガントです。テストページは、あなたのブラウザに今まで存在したことのない名前——テスターが管理するドメイン配下の長いランダムなサブドメイン——を検索させます。名前が一意であるため、どこのキャッシュにも保持されておらず、あなたのリゾルバはテスターの権威サーバーに直接尋ねざるを得ません。そのサーバーはリゾルバのアドレスを見て、そのネットワークと国をページに報告できます。EDNSクライアントサブネット情報を使う変種はさらに絞り込むことができ、一部のリゾルバはあなたのアドレス範囲の一部をクエリと一緒に親切に転送します。これらすべてはトンネルを破る必要はなく、あなたの検索がページとは異なる道を取ることだけが必要です。
罠はほとんどが悪意ではなく設定です。スプリットトンネル設定は、速度やローカルアクセスのために一部のトラフィック——多くの場合DNSを含む——を意図的にVPNの外に送ります。すべてのデバイスにISPリゾルバを配布するルーターは、そのうちの1台でVPNが動作している間もそれを続けます。独自の暗号化DNS設定を持つブラウザは、システムとVPNプロバイダーのリゾルバの両方を迂回し、1つのリークを修正しながら、新しいリゾルバが出口とは異なる国にある場合に一貫性の問題を静かに生むことがあります。実務上の規則はこの記事の残りと同じです。リゾルバは出口が主張する場所に住み、トンネル経由で到達されるべきであり、どちらが真であるかを知る唯一の方法は外部からテストすることです。
矛盾:自分自身と争う偽装
ページが1秒で取得できる4つの測定値を考えてみてください。あなたのIPアドレスはあなたをアムステルダムに置きます。システムのタイムゾーンはUTC−5とアメリカ大陸の都市を報告します。ブラウザの言語リストは、オランダではほとんど話されない言語が先頭で、オランダ語はどこにもありません。そしてユーザーエージェントはWindowsデスクトップを主張するのに、グラフィックスレンダラーはモバイルチップを名指します。これらの値のどれ1つとして単独では何も証明しません——旅行者、駐在員、仮想マシン、奇妙な設定が毎日無邪気にそれぞれを生み出します。合わせると、それらは争います。偽装チェックは単に、その争いに耳を傾け重みを割り当てる機械です。
一部の矛盾はあまりにも頻繁に繰り返されるため、標準の組み合わせになりました。タイムゾーン対IPの国が最も大きく、時計はページにとって読み取るのが簡単で、ほとんどのVPNユーザーはそれを変えようと決して考えません。言語対IPの国はより柔らかく——人々は正当に第二言語で閲覧します——、それでも出口の国の言語が完全に欠けていることはカウントされます。ユーザーエージェント対プラットフォームは粗い偽装を捉えます。あるOSを主張する文字列に対し、タッチサポート、画面の形、GPUレンダラーが別のものを描写します。ホスティングASN対住宅の物語は最も静かで、しばしば最も決定的です。出口アドレスはデータセンターネットワークに属するのに、セッションの他のすべては、現実にはブロードバンドプロバイダーから来るはずの普通の家庭ユーザーを描写します。
だからこそ、サイトが実際にスコア化するのは、単一の値ではなく一貫性です。不正システム、悪用フィルター、ストリーミングカタログは、VPNが存在することを証明する必要はほとんどありません。必要なのはリスクの数値で、矛盾はそれに投入する安価で堅牢な証拠です。アドレス、時計、言語、リゾルバ、ハードウェアが同じ物語を語るセッションは、依然としてVPNセッションかもしれません——しかし、それに対してスコア化する内なる争いを提示しないので、語る物語の通りに処理されます。逆に、VPNを全く使っていないユーザーでも、純粋な乱雑さで悪くスコア化されることがあります。別の国でイメージ化された仕事用ノートパソコン、外国語のまま残されたブラウザ、別の大陸にある企業リゾルバ。チェックは一貫性を測ります。トンネルを実際に測ったことは決してありませんでした。
一貫して見えるためのチェックリスト
チェックする側があなたを読む順序で作業してください。まず出口の国を選ぶこと、意図的に、そして他のすべてをそれに従わせること——自分で選んだ場所との一貫性は、後から着飾ったランダムな出口に勝ります。システムのタイムゾーンをその国に合わせること、ブラウザの時計だけでなく、ページはシステムのゾーンを読みます。ブラウザの言語を揃えること:出口の国の言語を最初に、または少なくともリストに入れ、できる場所ではその言語で閲覧します。各ステップが層と層の間の争いを1つ取り除き、合わせるとサイトが最もよくチェックする矛盾をカバーします。
次にサイドチャネルを閉じます。WebRTCをトンネル内に保つか、ブラウザ内通話を決して使わないなら完全にオフにし——そして推測するのではなく、ブラウザが実際にどのような挙動かを再確認します。DNSがトンネル経由で、出口の物語に合うリゾルバへ解決されるようにし、あなたが提示する物語が住宅のものである場合は住宅の出口を好みます。時計の設定ではデータセンターのASNは直せないからです。変更のたびに、ブラウザ・フィンガープリント・テストを再実行し、サイトがするように読みます。1つの赤信号を探すのではなく、ページ全体が1つの物語を語っているかを問います。このようなテストが、表示する測定値を収集せずに実行できる理由については、プライバシーテストがデータを保持しない方法をご覧ください。
正直な注意書きで締めくくります。不透明を約束するチェックリストはあなたに嘘をついているからです。一貫性は矛盾を取り除きます。アイデンティティは取り除きません。あなたのブラウザ・フィンガープリント——第1節で静止したままだったハードウェア、フォント、グラフィックス、設定の組み合わせ——は、訪問やアドレスを越えてあなたのデバイスを依然として特定でき、あなたの行動、アカウント、習慣は、ネットワークの測定値がかつてしたよりも確実にあなたを特定します。一貫した偽装は、気軽な検出のコストを上げ、簡単で自動化された種類を止めます。時間をかけて行動を観察できる決意した観察者に対しては、それは決して保証ではなく、そのような保証をあなたに売るツールやプロバイダーは、より信頼すべきではなく、より信頼すべきではありません。