web-dev-qa-db-ja.com

HTML5ジオローカリゼーションはどのように私のVPNをバイパスできますか?

約2か月前、私はVPNを常に使用することを決めました(起動時に起動されます)。プライバシーが最初の理由です。しかし、最近私は、HTML5ジオローカリゼーションがFirefoxでポップアップ表示されたときに現在地を共有することに同意した場合、私のVPN IPアドレスが私を別の国で見つけたときに、ローカリゼーションをかなり正確に(約3 km離れて)取得できることに気付きました。

私はwifiなしの固定コンピューターを使用しているので、彼らは私のローカリゼーションをどのように知ることができますか?

45
drov

これを http://html5demos.com/geo のVPNで確認しました

私はドイツ経由でVPNしていますが、それでもロンドンの近くの場所が表示されます。

https://www.mozilla.org/en-US/firefox/geolocation/ を読むと、次のように表示されます。

同意すると、Firefoxは近くのワイヤレスアクセスポイントとコンピューターのIPアドレスに関する情報を収集します次に、Firefoxはこの情報をデフォルトの位置情報サービスプロバイダーであるGoogle Location Servicesに送信します、あなたの場所の推定値を取得します。

@Ariaが述べたように、Google Location ServicesはWiFi APのコレクションを使用して、現在地を正確に示します。私は、彼らがGoogleストリートビュープロジェクトを介してAP SSIDのグローバルリストと、Androidデバイスを持っていると想定しています。

編集:

参考までに、Googleに送信されているキャプチャされたリクエストを以下に示します。近くのAPの完全なリスト。プロキシを起動して自分自身を確認することもできます。

enter image description here

また、Wi-Fiのないコンピューターを使用しているという事実は、近くのAPがコンピューター内に保存されていないことを意味するわけではありませんどこか(キャッシュ、レジストリ、Google/Firefoxプロファイルにログインなど)

45
Iraklis

VPNはIPアドレスをマスクします。ただし、HTML5ジオロケーションAPIはIPアドレスに基づいていません。これはJavascript APIであり、入手可能な情報(システムロケール設定、近くのwifiネットワーク、GPSセンサー、ネットワークインターフェースのIPアドレスなど)に基づいて、Webブラウザーがどこにあると思うかを直接尋ねることができます。それらをipconfig/ifconfigなどで)。

プライバシーを保護したい場合は、Webサイトに位置情報を提供する前に許可を求めるか、またはgeolocation APIを完全に無効にするようにWebブラウザーを構成します。その方法は、Webブラウザーによって異なります。

20
Philipp

HTML5ジオロケーションを使用しない場合は、無効にしてみてください。 Firefoxでは、geo.enabled to false in about:config

バグがあり、再び 例1 および 例2 が発生します。