FirefoxとTorのIndexedDB指紋問題、HNが危険視した理由

なぜHNで深刻に受け止められたのか

この話題がHNで強く刺さったのは、private browsingやTor Browserの利用者が最も期待している境界を壊していたからだ。クロール時点でスレッドは 906ポイント、279コメント。反応の軸は「またブラウザの不具合か」ではない。Cookieや明示的な共有ストレージがなくても、ブラウザ実装の細部だけでセッションがリンク可能になるなら、プライバシー保護の前提そのものが崩れるという見方だった。特にTor Browserの New Identity でさえ、プロセスが生きている限り十分に切り離せない可能性があるという点が重く見られた。

技術的に何が漏れていたのか

Fingerprint.comの説明では、問題は indexedDB.databases() が返す結果の 順序 にあった。Firefox系ブラウザはprivate contextでデータベース名をUUIDベースの識別子に変換し、それをグローバルなハッシュ構造に保持する。その後、メタデータ一覧を返す際に結果を中立的に並べ替えず、内部構造の順番をそのまま露出していた。結果として、返却順序がブラウザプロセス単位の安定した識別子のように機能した。研究側は、固定名を 16個 用意するだけで理論上およそ 44ビット の識別空間になると説明している。重要なのは値そのものではなく、別サイト同士が同じ実行中ブラウザから同じ順序を観測できることだ。

修正内容とコミュニティの受け止め

レポートによれば、Mozillaはこれを Firefox 150 と ESR 140.10.0 で修正した。考え方は単純で、内部ストレージ順序から生じるエントロピーを外に出さないよう、返却結果をcanonical sortすればよい。HNでは、この“修正が単純”という点も逆に印象を強めた。つまり、かなり小さな実装判断がプライバシー境界を破ることを示していたからだ。上位コメントの一つは、研究ノートが仕組みと修正方針を無駄なく説明している点を高く評価していた。別のコメントは重要な補足もした。Tor上でのfingerprintingは即deanonymizationと同義ではない。だが、それでも十分に重大だ。Tor Browserの価値はセッション間のlinkabilityを減らすことにあるからだ。

なぜ重要なのか

実務上の教訓は保守的だ。パッチ前の環境では、private windowを閉じるだけでは不十分な可能性があり、Tor Browserもセッション終了時には 完全終了 したほうが安全ということになる。だがもっと大きな示唆は別にある。プライバシー漏えいは、必ずしも識別情報そのものの取得から起きるわけではない。名前も値も権限も見せず、安定した返却順序 だけで追跡チャネルになりうる。HNがこの件を高シグナルと見たのは、その点を非常に分かりやすく示したからだ。

出典: Fingerprint.com research note · Hacker News議論