5月31日、hacktivis.meが「Cloudflare Turnstile requiring fingerprintable WebGL」と題した記事を公開した。
CloudflareのTurnstile(人間認証サービス)がWebGLフィンガープリンティングを必須化し、WebKitGTKベースのブラウザで認証が通らない問題が発生している。これは、Webセキュリティとプライバシー保護の間で生じる新たな対立を象徴する事例として注目される。
Turnstileは、Cloudflareが提供するCAPTCHAの代替となる人間認証サービスで、ユーザーの行動パターンを分析してボットと人間を区別する。従来のCAPTCHAのような煩わしい画像認証を不要にする仕組みとして、多くのWebサイトで採用が進んでいる。
WebKitベースブラウザが認証を通過できない状況
約1週間前から、WebKitGTKベースのブラウザでTurnstileが無限ループに陥る現象が確認されている。これにより、GNOME Web(Epiphany)やLuaKitなど、Linuxデスクトップでよく使われるブラウザでCloudflareを使用するサイトへのアクセスが困難になっている。
原因は、CloudflareがWebGLを通じてデバイスのフィンガープリンティング(端末識別)を要求するようになったためだ。WebGLフィンガープリンティングは、グラフィックスカードのドライバーやレンダラー情報、Canvas描画の差異などを組み合わせてデバイスを一意に識別する手法で、プライバシー保護の観点から問題視されている技術である。
Turnstileテストページでは「WebGL renderer info is spoofed」(WebGLレンダラー情報が偽装されている)と表示され、認証が完了しない状態となる。
Cloudflareの説明とWebKitの対応方針
Cloudflareは以下のような説明を提供している:
Turnstileはあなたが人間であることを確認するためにブラウザフィンガープリンティングを使用します。フィンガープリンティングをブロックまたはランダム化するプライバシーツールは、あなたのブラウザをアイデンティティを隠そうとするボットのように見せます。
一方、WebKitではフィンガープリンティング対策が長年にわたって強化されてきた。WebKitのプライバシー方針では、ユーザーの同意なしにフィンガープリンティングに使用される情報の取得を制限している。著者は「Appleでさえブロックするほど侵襲的なトラッキング手法」と指摘し、WebKitではこの種の保護を簡単に無効化できないとしている。
興味深いことに、SafariだけはCloudflare側で例外扱いされているとみられ、同じWebKitエンジンでも問題は発生していない。これは、User-Agentベースでの判定が行われている可能性を示唆している。
Firefoxの不完全なフィンガープリンティング対策
調査により、Mozillaのプライバシー保護にも課題があることが判明した。Bugzilla#1916271によると、「GeckoはサニタイズされたGPU特性を漏洩している。一方でWebKitとBlinkはすべてのユーザーに対してハードコードされた文字列を返す」という。
Firefoxではデフォルト設定でTurnstileテストページが通過してしまい、「強化プライバシー保護」を「厳密」に設定しても、**privacy.resistfingerprintingが自動的に有効化されない**問題がある。手動で有効化した場合でも完全にはブロックされず、著者はプライバシー重視のFirefoxユーザーも将来的に影響を受ける可能性があると懸念している。
ブラウザ多様性への影響
この問題の背景には、近年のフィンガープリンティング技術の高度化がある。EFFのPanopticlick研究でも明らかなように、わずかな端末情報の組み合わせでユーザーの大部分を一意識別可能になっている。これを受けて、主要ブラウザベンダーはそれぞれ異なるアプローチでプライバシー保護を強化してきた。
しかし、今回のケースでは正当なプライバシー保護機能を持つブラウザが事実上排除されてしまっている。特に注目すべきは、WebプラットフォームでCDN事業者が果たす役割の大きさだ。W3Techs調査によると、Cloudflareは上位100万サイトの約20%で利用されており、その認証システムがアクセス可能性を左右する状況は、ブラウザ選択の自由やプライバシー権に深刻な影響を与える。
セキュリティとプライバシーの価値観対立
この事例はW3Cのプライバシー原則や、TAG(Technical Architecture Group)のプライバシー・セキュリティ・アクセシビリティの設計原則が掲げる理念との対立も浮き彫りにしている。
Cloudflareはボット対策の必要性を主張し、実際にWebの安全性確保において重要な役割を果たしている。一方で、ブラウザベンダー間でのプライバシー保護に対するアプローチの違いが、ユーザーのWebアクセス体験を分断する結果となっている。
今後、この種の対立がWeb標準化プロセスや、プラットフォーム事業者の責任範囲についての議論にも影響を与える可能性がある。
詳細はCloudflare Turnstile requiring fingerprintable WebGLを参照していただきたい。