インターネット上でユーザーを追跡する Web クッキーを粉砕するブラウザの組み込みツールは、悪意のある Web サイトによってバイパスされたり、無効にされたりする可能性があります。
今週の USENIX セキュリティ シンポジウムで発表された論文の中で、ベルギーのルーヴェン カトリック大学の 3 人の研究者が、サードパーティのリクエストを管理するブラウザベースのポリシーの施行を分析するためのフレームワークをどのように開発したかを説明しています。
ファーストパーティリクエストとは、訪問したウェブサイトに関連付けられたドメインからのリソース(テキスト、画像、動画など)に対するネットワークリクエストを指します。サードパーティリクエストとは、ブラウザのアドレスバーに表示されているウェブサイト以外のウェブサイトからのリソースに対するネットワークリクエストを指します。ウェブサイトが広告を掲載する場合、通常、広告サーバーにサードパーティリクエストを送信するコードが含まれています。
最新のブラウザは、ファーストパーティとサードパーティの両方のリクエストに応じて Cookie ファイルを配置しますが、その配置方法は、クロスサイト リクエスト フォージェリやクロスサイト スクリプト インクルードなどのセキュリティ リスクや、サードパーティ トラッキングなどのプライバシー侵害のリスクにさらされます。
これらの脅威を軽減するため、各種ブラウザは特定の動作を禁止するポリシーを実装しています。例えば、ウェブサイトを開発する開発者は、SameSite
サイトのCookieに属性を設定することで、ファーストパーティのリクエストのみにCookieが付与されるように指定できます。他にも、FirefoxやSafariが提供するトラッキング防止モードや、サードパーティCookieを制限するブラウザ拡張機能などが挙げられます。
システムのギャップ
ベルギーの研究者、ゲルトヤン・フランケン氏、トム・ファン・ゲーテム氏、そしてウーター・ヨーセン氏は、独自のテストフレームワークを用いて、7つのブラウザ、31の広告ブロック拡張機能、15のトラッキング防止拡張機能において、Cookieの悪用を防ぐために導入された防御策に欠陥があることを発見しました。彼らのテストデータは、論文に関連するウェブサイトで公開されています。
「全体的に、ブラウザの実装はサードパーティのリクエストに対するポリシーの適用に関して非常に一貫性のない動作を示し、その結果、多数のバイパスが発生していることがわかった」と研究者らは論文で述べている。
特定された問題の多くはバグに該当するため、関係者に報告されました。例えば、研究者たちは、Microsoft EdgeブラウザでサードパーティCookieをブロックするオプションが機能しないことを発見しました。
「Edge の場合、驚くべきことに、サードパーティの Cookie をブロックするオプションは効果がないことがわかった。デフォルト設定のインスタンスで送信されたすべての Cookie が、カスタム設定のインスタンスでも送信されたのだ」と論文には記されている。
この問題について Edge のバグレポートが提出されたようですが、関連付けられた URL ではページが見つからないというエラーが返されます。
Firefox の場合、研究者らは、ブラウザのトラッキング防止を回避してブラックリストに登録されたドメインへのサイト間リクエストを許可できること、および廃止された AppCache API によって開始されたリクエストをブラウザのバックグラウンド プロセスからのリクエストと簡単に区別できないため、そのようなリクエストをブロックすることが困難であることを発見しました。
Mozilla のエンジニアは Tracking Protection のバグに取り組んでおり、その API が段階的に廃止されるため、AppCache の問題を修正しないことに決定しました。
なんてこった、知事
Chrome、Safari、Opera、そしてTorブラウザにも問題が発生しました。プライバシーを重視して調整されたFirefoxのフォークであるCliqzブラウザは、img src属性の値としてdata: URLが含まれていたために動作が停止しました。研究者らは、これがブラウザエンジンを混乱させ、サードパーティCookieの削除を妨げたと示唆しています。
問題となっているコードは次のとおりです。
<img src="data:image" / svg+xml , <svg> <image xlink:href= 'https:// third-party.com / リーク '> </画像> </svg> ">
テスト対象となった広告ブロックおよびトラッキング防止拡張機能(AdBlock Plus、Disconnect、Ghostery、uBlock Originなど)でも同様の結果が見られました。いずれの拡張機能にも、約束された保護機能を回避する方法が少なくとも1つありました。
研究者らは、一部のブラウザ、特にChromeとOperaがPDFiumリーダーを使用してブラウザ内でPDFをレンダリングする方法に懸念を表明しました。この拡張機能は、PDFに埋め込まれたJavaScriptコードによってトリガーされるサードパーティのリクエストに対してCookieを設定する可能性があります。
「PDF は iframe 内に含めることができ、エンドユーザーからは見えなくなるため、また認証された POST リクエストを送信するために使用できるため、このバイパス手法は、被害者の注意を引くことなくユーザーを追跡したり、クロスサイト攻撃を実行したりするために使用できる可能性がある」と研究者らは論文で述べている。
GoogleはCookieを崩壊させ、より安全なものに作り変えたいと考えている
続きを読む
この問題が公表された時点では、PDFiumはリクエストの送信のみを行っており、レスポンスデータの受信は設定されていませんでした。しかし、研究者らはChromiumのPDF処理ソースコードに、レスポンスを返す意図を示すプレースホルダコメントを発見しました。このコメントは、クロスサイトスクリプトインジェクション攻撃やクロスサイトタイミング攻撃の脅威となる可能性があります。
3月にGoogleのエンジニアが研究者のバグ報告について議論していた当時、この問題の解決は容易ではないと思われていました。Googleのソフトウェアエンジニアであるロバート・クロニン氏は、PDFiumはブラウザに組み込まれており、セキュリティ上の理由から拡張機能は他の拡張機能を変更できないにもかかわらず、拡張機能として認められると説明しました。当時、唯一の現実的な回避策は、別のPDFレンダリングツールを使用することでした。
しかし、何度かの議論を経て、ブラウザで JavaScript をブロックするというユーザーの決定はブラウザに表示される PDF にも反映されるべきであると決定され、5 月下旬にパッチがリリースされました。
KU ルーヴェン校の 3 人は、新しい機能が追加されるたびにブラウザを継続的にテストし、プライバシーの約束が機能と一致していることを確認する必要があることを調査結果が示していると主張しています。®