更新:オープンソースの Chromium プラットフォーム向けに開発中のブラウザ機能が、データ漏洩によるプライバシーの懸念を引き起こしている。しかし、このプロジェクトに携わる Google のエンジニアたちは、潜在的なメリットがリスクを上回ると主張している。
Ctrl+Fコマンドで表示されるページ内検索ポップアップに入力されたテキストが漏洩する可能性があるという問題は、8年以上前から懸念されていました。2012年と2017年にそれぞれ別個に発生した、しかし関連性のあるChromiumのバグがこの問題を浮き彫りにしています。Googleのエンジニアは、この問題が動作に支障をきたす可能性があるため、「修正なし」とマークしたようです。
今月初め、Google のソフトウェア エンジニアである Joey Arhar 氏は、beforematch
ページ スタイル コントロールによって非表示になっている Web サイトのテキストを、ブラウザー コード (JavaScript ファイルなど) でスクロールや検索に利用できるようにする API、イベントを開発する計画を発表しました。
例えば、ウェブページの一部が折りたたまれてテキストが表示されていない場合、ページ内検索リクエストは期待どおりに動作しません。同様に、最近実装された「テキストフラグメントへのスクロール」APIを使用した、非表示のテキストや要素フラグメントナビゲーション(#anchorリンク)を指すウェブリンクも動作しません。
しかし、このbeforematch
イベントを使用すると、Web 開発者は、beforematch
ページでのユーザー操作を処理する前に、イベントをリッスンして隠しテキストを表示し、検索可能にするコードを作成できます。
「最終的な効果は、ユーザーがページ内検索やリンクナビゲーションを使用して、折りたたまれたセクション内のコンテンツを見つけることができるようになることです。これは現時点では不可能なことです」とドキュメントでは説明されている。
ドキュメントにも概説されているプライバシーへの影響は、このbeforematch
イベントにより、Web ページ上でソフトウェアを実行できる人々、具体的には Web パブリッシャー、およびおそらくはクロスオリジン アクセスがあるかどうかに応じてその広告技術パートナーが利用できる情報量が拡大することです。
GoogleはChrome 83でプライバシー重視のDNS over HTTPSサポートを展開…企業ITに便利なキルスイッチ付き
続きを読む
「特に、ページはページ内検索、フラグメントナビゲーション、テキストスクロールナビゲーションを使用して見つかったテキストセクションを知ることができます」とドキュメントには記載されており、開発者はページのどのセクションがイベントを受け取ったかに基づいて、ユーザーがテキストスクロールナビゲーション経由で、またはページ内検索検索ボックスに入力した場所にナビゲートした情報も収集できると付け加えています。
プライバシーリスクは、beforematch
キーロギング(ウェブページのユーザーが検索ダイアログに入力した内容を正確に記録する)によるものではありません。むしろ、ページ上でコードを実行できるユーザーが、イベントを受信したページのセクションに基づいて、検索されたテキストについて何らかの推測を行えるという点にあります。
たとえば、「労働者の権利」についての検索でユーザーが労働組合のセクションに移動した場合、beforematch
特定の検索キーワードが表示されなくても、そのセクションがイベントに応答しているため、トピックを推測できます。
「この情報をページに公開するリスクは低いと考えています」と説明者は述べている。
独立系研究者兼コンサルタントのルカス・オレニク氏は、週末にTwitterでAPIについて懸念を表明し、この技術によってユーザーのプロフィール作成や興味関心の把握が容易になると指摘した。オレニク氏はThe Registerへのダイレクトメッセージで、「ブラウザのユーザーインターフェースとウェブコンテンツの境界線が曖昧になることは、長期的には潜在的なリスクとなる」と述べた。
Twitter での議論で、Microsoft Edge チームのプログラム マネージャー Eric Lawrence 氏は、Intersection Observer などの他のブラウザー API や、ページ上のスクロール位置を読み取るさまざまな方法も同様にプライバシー侵害に悪用される可能性があると指摘しました。
言い換えれば、ここでのプライバシー問題(ユーザーは、ローカルに読み込まれたウェブページでの検索が、ネットワーク経由で送信された検索クエリのように読み取られる可能性を想定できない)は、Chromium beforematch
API にとどまりません。他の API にも存在します。懸念はbeforematch
軽微に思えるかもしれませんが、イベントハイジャックやウィンドウスクロールの悪用によって、単なる推論ではなく情報の傍受を可能にする、より深刻な攻撃が依然として可能となっています。
これは単なる学術的な議論ではありません。ページ内検索ボックスをまるでブラウザのネイティブ機能であるかのように表示するウェブサイトのコードは、今日のウェブサイトでよく見られます。これは必ずしも悪質なものではありません。しかし、悪用される可能性は高いでしょう。少なくとも、この方法はユーザーの期待に反しています。
カリフォルニア州バークレーの国際コンピュータサイエンス研究所(ICSI)のユーザブルセキュリティおよびプライバシー担当ディレクターで、プライバシー分析企業AppCensus.ioのCTOでもあるセルジュ・エゲルマン氏は、 The Registerへの電子メールの中で、ブラウザの内蔵機能に頼るのではなく、ページ内検索を処理するために独自の検索ボックス(Ctrl + Fで表示)を実装した広告テクノロジー企業AppsFlyer.comに最近出会ったと述べています。
「検索ボックスが本来の位置より数ピクセル低く表示されていることに気づきました」とエゲルマン氏は説明した。「また、たまたまインスペクタ(開発者コンソールにあるツールで、マウスオーバーしたウェブページの要素のソースコードを表示できるもの)を開いていたところ、検索ボックスがブラウザの一部ではなく、ウェブサイトのコードによってレンダリングされていることに気付きました。」
「彼らは、ドキュメントに特定のトピックが欠落していないか確認するためにこれを利用しているのだろうと推測していました」と彼は付け加えた。「しかし、プライバシーやセキュリティの侵害につながる可能性も非常に高いのです。」
The RegisterはAppsFlyerに対し、同社のウェブサイトがブラウザのネイティブページ内検索ポップアップではなく独自の検索ボックスを実装している理由を説明できる人はいるかと尋ねたが、回答は得られていない。
エゲルマン氏によると、ICSIの研究室に所属するポスドク研究員のアフマド・バシール氏が、別のプロジェクトのために人気ウェブサイトのJavaScriptコードを収集しているという。バシール氏には、収集したコードの中にページ内検索によるインターセプションの他の例がないか探すよう依頼したが、データはまだ返ってきていないという。
「ブラウザのセキュリティポリシーが現在このような事態を防いでいないことに本当に驚きました」と彼は語った。®
追加更新
本記事の掲載後に発表された声明の中で、AppsFlyerの広報担当者は次のように述べています。「お客様が必要とする情報の一部は、ネイティブ検索(アコーディオン、タブ、その他のHTML構造内に存在するため)ではアクセスできないため、記事内に独自の検索機能を実装しました。AppsFlyerは検索データを収集または共有しません。ユーザーエクスペリエンス向上のため、最新の検索はブラウザ内にローカルに保存されます。」