VPN location claims don't match real traffic exits

2025/12/14 4:46

VPN location claims don't match real traffic exits

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

IPinfo の大規模テスト(20 つの人気 VPN サービス)で、広範な問題が判明しました。ほとんどのプロバイダーは実際にサポートしている国よりも多くの出口国をリストアップし、ユーザーにトラフィックが表示される場所について誤解を与えていました。この調査では、137 か国可能性にわたる 150,000 以上の出口 IP アドレスを検証し、ProbeNet の 1,200 以上のグローバルポイントからのアクティブラウンドトリップタイム測定を用いて各 VPN の実際の出口国を決定しました。結果は、20 サービス中 17 件が広告されている国と異なる国からトラフィックをルーティングしていたこと、また複数プロバイダーで報告された 38 の「仮想のみ」ロケーションは実際には出口を生成しなかったことを示しています。Mullvad、IVPN、Windscribe のみが主張したすべての場所と一致しました。バハマでは 5 つの VPN がバハマ出入口をリストアップしていたものの、すべて米国へルーティングされました;ソマリアでは 2 つのプロバイダーが同じ主張をしたにもかかわらず、実際にはフランスまたは英国から出口しました。736 の IP を対象に ProbeNet が測定した国と従来データセットとの不一致は 83 % に上り、平均誤差は約 3,100 km、8,000 km 超の不一致が 12 % でした。著者らは「100+ 国」主張は検証されない限りマーケティングとみなすべきであり、VPN は実際のルーティング経路を開示し、地理的到達範囲の証拠を提供するよう促しています。これにより将来の評価は自己申告データではなくアクティブ測定に依存できるようになります。

本文

VPN エグジット国精度レポート – 20 大手 VPN の実測結果


主な発見

  • 20社中17社が、宣伝している国と異なる国からトラフィックをルーティングしていた。
  • 残り3社(Mullvad・IVPN・Windscribe)だけが、掲載済み全てのロケーションに一致した。
  • 「仮想のみ」の国は 38 カ所で実際の出口として観測されなかった。
  • 約8,000件で、広く使われる IP データセットがサーバーを数千キロ離れた場所に誤認していた。

プロバイダー別国一致マトリクス

プロバイダー宣伝国数% 仮想 / 測定不可
IPVanish10861 %
CyberGhost10057 %
ExpressVPN10557 %
NordVPN12653 %
Private Internet Access9152 %
ProtonVPN11051 %
FastVPN11249 %
X‑VPN8943 %
Surfshark10041 %
BelkaVPN6341 %
ZoogVPN7634 %
VyprVPN6327 %
FastestVPN4726 %
TrustZone3918 %
PrivateVPN6213 %
TunnelBear479 %
VeePN846 %
IVPN410 %
Mullvad500 %
Windscribe700 %

数字は各プロバイダーの「仮想」または測定不可ロケーション比率を示しています。


「仮想ロケーション」とは

  1. UI ラベル – 例:“Bahamas.”
  2. IP レジストリデータ – 自己申告の国タグ。
  3. ネットワーク測定 – RTT とルーティングで実際の出口国を判定(多くは別国)。
  • 例:バハマ → 米国(マイアミからのサブミリ秒 RTT)。
  • 仮想ロケーションは、ホスティング先が安全・低コスト地域にある一方で、外部には外国旗を提示するケースが多い。

ケーススタディ 2 件

プロバイダー宣伝測定出口国近隣プローブへの RTT
NordVPNBahamas (🇧🇸)United States 🇺🇸0.27 ms(マイアミ)
ExpressVPNBahamas (🇧🇸)United States 🇺🇸0.15 ms(マイアミ)
Private Internet AccessBahamas (🇧🇸)United States 🇺🇸0.42 ms(ニューヨーク)
FastVPNBahamas (🇬‑?)United States 🇺🇸0.42 ms(マイアミ)
IPVanishBahamas (🇧🇿)United States 🇺🇸0.37 ms(マイアミ)
NordVPNSomalia (🇸🇴)France 🇫🇷0.33 ms(ニース)
ProtonVPNSomalia (🇸�‑??)United Kingdom 🇬🇧0.37 ms(ロンドン)

「ソマリア」エンドポイントは西ヨーロッパにあり、東アフリカではない。


レガシー IP データセット vs. ProbeNet

  • 不一致分布
距離事例数比率
> 1,000 km83 %
> 2,000 km63 %
> 5,000 km28 %
> 8,000 km12 %
  • 中央値の誤差:約3,100 km。
  • ProbeNet の証拠:測定国で最短 RTT が 0.27 ms、90 % のロケーションが < 1 ms。

なぜ重要なのか

問題影響
開示不足「仮想バハマ(米国ベース)」と明示しないと、実際の位置が曖昧になる。
不一致規模数件なら許容だが、数十や半数以上が誤っていると信頼性が低下。
影響篙**: **(注:表記ミス)

VPN ユーザー向け実務指針

  1. **「100 以上の国」=広告宣伝であることを認識する。
    2  ・仮想ロケーションがあるか否か確認し、実際にホストされている場所を把握。
  2. IP 事前検証:先行者―リソースやデータベースのサポート…(詳細)

### IP‑info → クライア VPN‐?
【質問】

We’re … ……

We need keep length but tables etc. Let's finish translation accurately.We must translate whole article, maintain table formatting and length roughly similar. Provide Japanese version with same structure. Ensure tables unchanged except content translated. We'll produce final answer.VPN エグジット国精度レポート – 20 大手 VPN の実測結果


主な発見

  • 20社中17社が、宣伝している国と異なる国からトラフィックをルーティングしていた。
  • 残り3社(Mullvad・IVPN・Windscribe)だけが、掲載済み全てのロケーションに一致した。
  • 「仮想のみ」の国は 38 カ所で実際の出口として観測されなかった。
  • 約8,000件で、広く使われる IP データセットがサーバーを数千キロ離れた場所に誤認していた。

プロバイダー別国一致マトリクス

プロバイダー宣伝国数% 仮想 / 測定不可
IPVanish10861 %
CyberGhost10057 %
ExpressVPN10557 %
NordVPN12653 %
Private Internet Access9152 %
ProtonVPN11051 %
FastVPN11249 %
X‑VPN8943 %
Surfshark10041 %
BelkaVPN6341 %
ZoogVPN7634 %
VyprVPN6327 %
FastestVPN4726 %
TrustZone3918 %
PrivateVPN6213 %
TunnelBear479 %
VeePN846 %
IVPN410 %
Mullvad500 %
Windscribe700 %

数字は各プロバイダーの「仮想」または測定不可ロケーション比率を示しています。


「仮想ロケーション」とは

  1. UI ラベル – 例:“Bahamas.”
  2. IP レジストリデータ – 自己申告の国タグ。
  3. ネットワーク測定 – RTT とルーティングで実際の出口国を判定(多くは別国)。
  • 例:バハマ → 米国(マイアミからのサブミリ秒 RTT)。
  • 仮想ロケーションは、ホスティング先が安全・低コスト地域にある一方で、外部には外国旗を提示するケースが多い。

ケーススタディ 2 件

プロバイダー宣伝測定出口国近隣プローブへの RTT
NordVPNBahamas (🇧🇸)United States 🇺🇸0.27 ms(マイアミ)
ExpressVPNBahamas (🇧🇸)United States 🇺🇸0.15 ms(マイアミ)
Private Internet AccessBahamas (🇧🇸)United States 🇺🇸0.42 ms(ニューヨーク)
FastVPNBahamas (🇬‑?)United States 🇺🇸0.42 ms(マイアミ)
IPVanishBahamas (🇧🇿)United States 🇺🇸0.37 ms(マイアミ)
NordVPNSomalia (🇸🇴)France 🇫🇷0.33 ms(ニース)
ProtonVPNSomalia (🇸�‑??)United Kingdom 🇬🇧0.37 ms(ロンドン)

「ソマリア」エンドポイントは西ヨーロッパにあり、東アフリカではない。


レガシー IP データセット vs. ProbeNet

  • 不一致分布
距離事例数比率
> 1,000 km83 %
> 2,000 km63 %
> 5,000 km28 %
> 8,000 km12 %
  • 中央値の誤差:約3,100 km。
  • ProbeNet の証拠:測定国で最短 RTT が 0.27 ms、90 % のロケーションが < 1 ms。

なぜ重要なのか

問題影響
開示不足「仮想バハマ(米国ベース)」と明示しないと、実際の位置が曖昧になる。
不一致規模数件なら許容だが、数十や半数以上が誤っていると信頼性が低下。
影響範囲ジャーナリスト・NGO・コンプライアンスチームなどが誤った国データに基づき意思決定する恐れ。

VPN ユーザー向け実務指針

  1. **「100 以上の国」=広告宣伝であることを認識する。
  2. 仮想ロケーションがあるか否か確認し、実際にホストされている場所を把握。
  3. IP 事前検証:先行者―リソースやデータベースのサポート…(詳細)

IP‑info の測定手法

ステップ内容
1️⃣ プロバイダー主張を収集ウェブサイト・UI・設定ファイル → 6 M 超のプロバイダー・ロケーションエントリ。
2️⃣ 実際の出口を測定ProbeNet + IPinfo → 出口 IP、測定国、最寄りプローブと RTT。
3️⃣ 比較宣言(期待値) vs. 測定値;不一致はハイライト。

厳格に「明確な主張」と「直接 ProbeNet 測定」が一致しない場合のみをミスマッチとしてカウント。


IP‑info のアプローチ

  • ProbeNet – 1,200 以上のグローバル PoP、RTT を実行。
  • 証拠ベースのジオロケーション – ライブ測定と他信号を組み合わせる。
  • 目的 – レジストリ情報だけでなく、実際のインターネット構成を反映した IP データを提供すること。

同じ日のほかのニュース

一覧に戻る →

2025/12/14 7:58

Linux Sandboxes and Fil-C

## Japanese Translation: メモリ安全性とサンドボックスはプログラムの異なる部分を保護するため、両方が強力なセキュリティに必要です。純粋な Java プログラムはメモリ安全であってもファイルシステムの syscalls を通じて任意のファイルを書き込むことができるし、逆にすべての能力を取り消したアセンブリプログラムでもメモリバグがある場合がありますが、カーネルが特権 syscalls を殺すためサンドボックスから逃げられません。サンドボックスは意図的に許容範囲を広く設計しているため、攻撃者は残されたメモリ安全性のバグを利用してブローカー・プロセスへ到達することができるので、両方の防御を組み合わせるとより強固な保護が得られます。 本書では、C/C++ 用に設計され、システムコールまで安全性を保証し、init や udevd などの低レベルコンポーネントで使用できるメモリ安全ランタイム「Fil‑C」への OpenSSH の seccomp ベース Linux サンドボックス移植方法について説明します。OpenSSH は既に chroot を採用し、`sshd` ユーザー/グループとして特権なしで実行し、`setrlimit` を使用し、非許可 syscalls を `SECCOMP_RET_KILL_PROCESS` で殺す seccomp‑BPF フィルタを適用しています。Fil‑C はその runtime 内で自動的にこれらの syscalls を許可することで簡素化します。背景スレッドは存続させつつスレッド生成を防ぐため、Fil‑C は API `void zlock_runtime_threads(void)` を追加し、必要なスレッドを事前確保してシャットダウンを無効にします。 OpenSSH の seccomp フィルタは強化されています。失敗時の挙動が `SECCOMP_RET_KILL` から `SECCOMP_RET_KILL_PROCESS` に変更され、mmap 許可リストに新たに `MAP_NORESERVE` フラグが追加され、`sched_yield` が許可されています。サンドボックスは二つの `prctl` コール(`PR_SET_NO_NEW_PRIVS` と `PR_SET_SECCOMP`)で構築され、エラー検出も行われます。Fil‑C のランタイムは `filc_runtime_threads_handshake` で全スレッドとハンドシェイクし、各スレッドが no_new_privs ビットと seccomp フィルタを持つことを保証します。複数のユーザー スレッドが検出された場合、安全エラーが発生します。 メモリ安全性とサンドボックスを組み合わせることで、OpenSSH はより厳格な隔離を実現し、メモリバグによる権限昇格リスクを低減します。このアプローチは他のセキュリティクリティカルプロジェクトにも採用を促す可能性があります。

2025/12/14 9:34

An Implementation of J

## Japanese Translation: ## 改訂版要約 本書は、技術仕様の構造化された目次であり、以下のように整理されています。 1. **第0章 – はじめに** 2. **第1章 – 文を解釈する** - 1.1 単語生成 - 1.2 構文解析 - 1.3 トレイン(列車) - 1.4 名前解決 3. **第2章 – 名詞** - 2.1 配列 - 2.2 型 - 2.3 メモリ管理 - 2.4 グローバル変数 4. **第3章 – 動詞** - 3.1 動詞の構造 - 3.2 ランク - 3.3 原子(スカラー)動詞 - 3.4 オブヴァース、同一性、および変種 - 3.5 エラー処理 5. **第4章 – 副詞と接続詞** 6. **第5章 – 表現** - 5.1 原子表現 - 5.2 ボックス化された表現 - 5.3 木構造表現 - 5.4 線形表現 7. **第6章 – ディスプレイ** - 6.1 数値表示 - 6.2 ボックス化表示 - 6.3 フォーマット済み表示 主要セクションの後に、付録A〜F(インキュナブルム、スペシャルコード、テストスクリプト、プログラムファイル、外国接続詞、およびシステム概要)が補足資料として提供されます。書末には参考文献・用語集・索引が付されています。 この構成(目次 → 詳細セクション → 付録 → 参照資料)は、読者に全体枠組みを最初に把握させたうえで、必要に応じて詳細へ掘り下げたり補足資料を参照したりできる明確かつ階層的な道筋を提供します。

2025/12/14 8:39

Closures as Win32 Window Procedures

## Japanese Translation: **改訂版要約:** この記事では、Win32 のウィンドウプロシージャに追加のコンテキストポインタを渡す方法を示しています。これは、WndProc が通常 4 つしか引数を取らないため、ネイティブ API には備わっていない機能です。著者は x64 アセンブラで小さなトランスペイル(trampoline)を作成し、実行時に JIT コンパイルして 5 番目の引数スロットを挿入し、呼び出し前に必要なコンテキストを格納します。これにより、各ウィンドウがグローバル変数や `GWLP_USERDATA` を使わずに独自の状態を保持できるようになります。トランスペイルは GNU アセンブラで書かれ、`.exebuf` セクション(`bwx` フラグ付き)から 2 MiB の実行可能バッファが確保されます。C ヘルパー関数 `make_wndproc(Arena *, Wndproc5, void *arg)` は 2 つのバイトオフセットプレースホルダーを修正してトランスペイルを生成します。作成後は `set_wndproc_arg(WNDPROC p, void *arg)` を使ってコンテキストを変更できます。アロケータ例では、異なる状態オブジェクト用に複数のトランスペイルを生成したり、動的に切り替えたりする方法を示しています。この手法は、トランスペイルがアンウインドテーブルを持たないため Windows Control Flow Guard 下でも安全に機能し、グローバル変数を使わずにウィンドウごとのデータを付与する低レベルの手段を示しています。