AppleのiCloud Private Relayを回避できる3つのWebKitの仕組みが発見されました。実際のところ、これらの仕組みはPsyloのプロキシやiOS版Torのプロキシ設定など、ブラウザレベルのプロキシ設定全般を回避できてしまいます。
Private Relayは、iOS版SafariのVPNのような仕組みで、訪問先のウェブサイトから訪問者のIPアドレスや位置情報が見えないようにすることを目的としています。
しかし、研究者たちが説明する3つの手法はいずれもWebKitの通常のページ読み込み経路の外側で発生するため、AppleのiCloud Private Relayはそれらを一切検知できません。その結果、こうしたケースではIPアドレスやDNS(Domain Name System)の経路を隠すことができなくなってしまいます。
問題となる3つの機能は以下の通りです。
- DNSプリフェッチ
最近のブラウザは表示速度を上げるため、ページ上のリンクをクリックする前にそのIPアドレスを事前に調べる「DNSプリフェッチ」という機能を備えています。WebKitでは、このDNS照会が設定済みのプロキシやリレーを迂回し、システムの通常のDNSスタックを直接通ってしまうことがあります。これにより、利用しているDNSサーバーが明らかになり、間接的に実際の所在地も判明してしまいます。たとえページ本体の読み込みがPrivate Relay経由であっても、プリフェッチによるDNSクエリはネットワークに関するメタデータを漏らしてしまう可能性があります。 - WebAuthnとパスキー
WebAuthn(パスキーの基盤となる標準規格)は、認証情報が正しいサイトで使われているかを検証するため、そのウェブサイトのドメインから小さなファイルを取得する必要がある場合があります。研究者たちは、Appleのプラットフォームではこの取得処理がWebKitの通常のページ読み込み経路の外側で実行されることを発見しました。つまり、Safariのプロキシやprivate Relayを経由しないということです。その結果、パスキーを使用するサイトはデバイスに直接アクセスさせることができ、ブラウジングの他の部分がリレーの背後に隠されているはずであっても、実際のIPアドレスが露呈してしまいます。 - WebTransportおよび関連技術
WebTransportは、ウェブサイトがサーバーとの間で低遅延な双方向接続を開くための、比較的新しいAPIです。研究者たちが検証したシナリオでは、こうしたWebTransport接続もプロキシを経由するWebKitのコード経路の外側で開始されており、サイトがデバイスから直接トラフィックを受け取る別の経路が生まれていました。このトラフィックについても、ユーザーが想定しているリレーやプロキシのIPアドレスではなく、デバイスの実際のIPアドレスが伝わってしまいます。
ユーザー体験の観点から問題なのは、この3つの仕組みがいずれも通常のブラウザの動作に見えてしまい、悪意あるサイト側が特別な小細工をする必要がない点です。
影響を受ける対象
Private Relayを利用している場合のiOSおよびmacOS版Safariが影響を受けます。これは、Private RelayがSafariのトラフィックにのみ適用されるWebKitレベルのプロキシとして実装されているためです。さらに、IPアドレスを隠すためにWebKitのプロキシ設定に依存しているiOS/macOS向けのブラウザやアプリ(Psylo、Onion Browser/iOS版Tor、その他のプロキシブラウザなど)もすべて同じWebKitの挙動の影響を受けるため、対象に含まれます。
そして、それだけにとどまらない可能性があります。iOSの歴史のほとんどの期間において、ウェブを閲覧するアプリはすべてAppleのWebKitフレームワークとJavaScriptエンジンを使用する必要がありました。つまり、iPhone上のChrome、Firefox、Edge、Braveといった各種ブラウザは、実質的にはSafariが使用しているのと同じWebKitエンジンを異なる外殻で包んだものにすぎませんでした。EUのデジタル市場法(DMA)や日本のスマートフォン新法など、各種の規制圧力を受けて、Appleは非WebKit系エンジンを利用できる仕組みを導入しましたが、その運用範囲は限定的なものにとどまっています。
Malwarebytesの iOSソフトウェア担当シニアマネージャーであるRoman Dvoinev氏は次のようにコメントしています。
「基本的に、このAPIはしばらく前から『開放』されてはいますが、実際に非WebKitブラウザを出荷したブラウザベンダーはまだ存在しません。主要各社は依然として試作段階にあります。Appleがブラウザをiosに出荷するために課しているハードルは非常に高いのです」
Malwarebytes VPNは、デバイスのネットワークトラフィック全体をシステムレベルでトンネリングしているため、この問題の影響を受けません。
研究者たちはこの問題をAppleに報告済みであり、秋までには修正パッチが提供される見込みだとしています。