公開日:2023/02/27 最終更新日:2023/02/27

JVNTA#96606604
ウェブブラウザの権限機構におけるセキュリティ上の問題について

概要

早稲田大学および NTT 社会情報研究所の研究チームにより、モバイル OS とデスクトップ OS を含む 5 種の OS と、それぞれの OS で動作する合計 22 の主要なブラウザ実装を対象とした、権限機構に関する体系的な分析が行われ、権限機構の実装や挙動に統一性がない、プライバシーリスクにつながる欠陥がある、といった複数の実装上の問題が存在することが指摘されています。これらの問題は、ブラウザのユーザに誤った判断を引き起こさせ、セキュリティ上の脅威を生じさせる可能性を含みます。本記事に記載されている内容は、研究チームにより NDSS 2023 で公表されました

影響を受けるシステム

ウェブブラウザアプリケーション

詳細情報

ブラウザにおける権限機構について


ウェブブラウザにおける権限機構は、ユーザの同意に基づいて、カメラやGPSといったユーザのデバイスに搭載されたハードウェアリソースへのウェブサービスによるアクセスを制御する機構であり、多くの主要なブラウザで導入されています。例えば、オンライン会議サービスではカメラやマイク、検索エンジンでは位置情報が用いられることで、動的で高度なウェブサービスが提供されています。
ウェブサイトはユーザに特定機能の権限要求を行い、取得した権限を用いてカメラなどのデバイス機能を利用します。たとえば、カメラ、マイク、GPSなどのデバイスを利用するウェブサイトは、ユーザに対して、該当するデバイスにアクセスする権限を要求します。権限要求が行われるとブラウザは図1に示すような権限要求ダイアログを表示します。ユーザは、ダイアログにおいて権限の許可/拒否を設定することで、ウェブサイトによるデバイスの利用を制御することが可能となります。
 
権限要求ダイアログ
図1. 権限要求ダイアログ

ウェブサイトによる権限要求から、ユーザが要求を許可するまでの一連のプロセスは以下のとおりです。
  1. ウェブサイトがカメラやマイクを利用する MediaDevices API や位置情報を利用する Geolocation API などの Web APIを用いて、デバイスへのアクセス権限をブラウザに要求する
  2. ブラウザは、ユーザに対し権限要求ダイアログ(図1)を画面に表示する
  3. ユーザは、権限の許可あるいは拒否を選択するか、ダイアログを閉じることで要求を無視する
  4. ウェブブラウザは、権限状態が granted であれば、ウェブサイトに対し、要求した権限に対応するデバイスへのアクセスを許可する
 
権限機構の仕組み
図2. 権限機構の仕組み

一般に、ウェブブラウザは図3に示すようにウェブサイトのオリジンに基づいてサイト同士を区別し、オリジンごとに独立した権限の管理を行い、オリジンごとに権限状態を記憶します。つまり、あるオリジンに対する2回目以降の権限要求時には、ブラウザは過去にユーザがそのオリジンで設定した権限状態に基づいて、自動的に権限の許可、拒否を判断します。
 
権限機構のオリジンごとの管理
図3. 権限機構のオリジンごとの管理

権限状態は prompt、 granted、denied、の3つに分類されます。prompt は、ユーザによる権限の選択が行われていない状態です。権限状態のデフォルト値は promptです。granted/denied はそれぞれ、ユーザが権限を許可/拒否した状態を指し示します。あるオリジンがアクセスを要求したデバイスに対する権限状態が granted であるときにのみ、そのオリジンにおけるデバイスへのアクセスが許可されます。
 

ブラウザの権限機構における問題点


研究チームにより挙げられた問題点は以下のとおりです。これらの問題が個別にあるいは複数組み合わさることにより、種々の脅威が生じる可能性が指摘されています。
 

問題点1. 一部のOSとブラウザの組み合わせにおいて、ユーザによる権限の設定が正しく反映されない

 
ユーザによる権限設定の反映
図4. ユーザによる権限設定の反映

ユーザが権限要求ダイアログに対して許可あるいは拒否を選択したとき、一部のOSとブラウザの組み合わせにおいて、ユーザの権限の設定が正しく反映されないことがあります。
 

問題点2. 権限設定が永続化される条件がブラウザやOSの組み合わせにより異なる

 
権限設定の永続化
図5. 権限設定の永続化

多くのブラウザにおいて、ノーマルブラウジングモードではブラウザ終了後にユーザにより設定された権限が永続化されますが、その条件はブラウザとOSの組み合わせにより様々であり、統一性がありません。また、一部のブラウザでは、Geolocation権限について、プライベートブラウジングモードにおいても、ユーザによって権限設定が2回行われると権限が永続化され消去されません。
 

問題点3. 権限設定がブラウジングモード(ノーマルブラウジング/プライベートブラウジング)間で共有される条件がブラウザやOSのの組み合わせにより異なる

 
権限設定のブラウジングモード間での共有
図6. 権限設定のブラウジングモード間での共有

複数のOSとブラウザの組み合わせにおいて、ユーザの権限設定がブラウジングモード(ノーマルブラウジングモード/プライベートブラウジングモード)間で共有されています。多くのブラウザでは、ノーマルブラウジングモードで設定された拒否の権限設定がプライベートブラウジングモードに反映されます。また、一部のブラウザでは、プライベートブラウジングモードで設定した権限設定がノーマルブラウジングモードにも反映されます。
 

問題点4. 権限設定が適切に削除されない

 
権限設定の削除
図7. 権限設定の削除

ユーザがブラウザの設定メニューから保存されている履歴やCookieなどのデータを削除した際、多くのブラウザにおいて、プライベートブラウジングモードで設定された権限が削除されることなく保持されてしまいます。また、ノーマルブラウジングモードで設定された権限も、多くの場合少なくとも1つ以上が保持されます。
 

問題点5. 権限要求が無視された場合、権限状態が拒否(denied)とみなされる

 
権限要求の無視
図8. 権限要求の無視

多くのブラウザにおいて、権限要求がユーザにより複数回無視されると、自動的に権限状態が拒否(denied)に設定されます。
 

問題点6. バックグラウンドで動作するタブからの権限要求を表示させる際の挙動がブラウザにより異なる

 
バックグラウンドタブからの権限要求
図9. バックグラウンドタブからの権限要求

多くのブラウザでは、バックグラウンドのタブから権限要求が出された場合、ユーザに対して権限要求ダイアログを表示しません。一方で、一部のブラウザでは、権限要求ダイアログがフォアグラウンドで表示されているウェブページ上にオーバーレイする形で表示されます。

想定される影響

権限機構のブラウザ間の不一致は、ウェブブラウザのユーザに混乱や誤った判断を引き起こす恐れがあります。また、権限機構と、プライベートブラウジングモードなどのユーザのプライバシーを保護する上で重要な機能との間の不整合は、本来保護されるべき情報の漏洩に繋がります。

上記の問題点1. から6. が単独あるいは複数組み合わさることにより生じうる具体的な脅威を以下に挙げます。
 

権限状態を用いたトラッキング


権限機構の実装を悪用することで、ユーザのブラウザに保存される権限状態から、ユーザを判別/トラッキングすることが可能になります。攻撃者はまず、用意したウェブサイトへのユーザの初回アクセス時に、ユーザ毎に異なるIDを生成します。ここで、複数のオリジンからの権限要求とページのリロードを繰り返し行うことにより、複数のオリジンにおける権限状態をユーザIDに紐付けます。ユーザの2回目以降のアクセス時には、先ほどユーザIDと権限状態を紐付けた複数のウェブサイトにユーザを遷移させ、権限状態を参照することにより、ユーザIDを復元し、ウェブサイトにアクセスしたユーザの識別を行うことが可能になります。

この攻撃は、問題点5.により、権限要求が繰り返し無視されるとブラウザの権限状態が自動的に拒否(denied)に設定されること、また問題点2.および3.により、多くのブラウザにおいて権限設定の永続性が高くなることにより実現可能となります。

この攻撃は研究チームによりPermission-based User Tracking Attackと呼称され、公表された論文において、攻撃にかかる時間や対象となるブラウザなどの攻撃実現性が評価されています。
 
権限状態を用いたトラッキング
図10. 権限状態を用いたトラッキング
 

権限要求ダイアログの誤認


権限機構の実装を悪用することで、ウェブサイトによる権限要求時に、ユーザに権限要求元サイト(オリジン)の誤認を起こさせることが可能になります。

問題点6.により、バックグラウンドタブで表示されているウェブサイトによる権限要求が行われたときに、権限要求ダイアログがフォアグラウンドタブで表示されているウェブサイト上にオーバーレイされて表示されてしまうことがあります。ユーザは権限要求元ドメインを権限の許可/許可の判断に用いるため、権限要求ダイアログが表示されたときに、閲覧しているウェブサイトを権限要求元のウェブサイトであると誤認させてしまう可能性があります。

この問題を用いた攻撃は研究チームによりPermission-based Phishing Attackと呼称され、公表された論文において、ユーザスタディに基づく攻撃の実現性の評価が行われています。
 
権限要求ダイアログの誤認
図11. 権限要求ダイアログの誤認
 

プライベートブラウジングモードにおける権限状態の保持に関する誤認


多くのブラウザにおいて、プライベートブラウジングモードにおいて権限状態が正しく削除されず保持されてしまう問題が存在しています。本来プライベートブラウジングモードは、利用を終了するたびに閲覧・検索履歴やCookie等の状態が破棄され、ユーザのプライバシーに関する情報が保持されないよう設計されています。プライベートブラウジングモードにおいて権限状態が破棄されないことにより、下記に挙げるようなユーザの誤認が生じ、結果として本来保護されるべきユーザのプライバシーが侵害される恐れがあります。
  • 問題点2. により、一部のブラウザにおいてプライベートブラウジングモードで設定された権限状態が永続化される。ユーザはプライベートブラウジングモードのセッションを一時的なものと認識し、設定が永続的に保持されないことを期待している
  • 問題点3. により、一部のブラウザにおいて、ノーマルブラウジングモードとプライベートブラウジングモードの間で権限状態が共有される。ユーザは、両者は独立したセッションであり異なるブラウジングモード間は設定が共有されないことを期待している
  • 問題点4. により、一部のブラウザにおいて、ブラウザに搭載されているデータ消去機能を用いてもプライベートブラウジングモードで設定された権限状態が消去されない。ユーザはブラウジングモードによらず、データ消去機能により権限設定が消去されることを期待している

これらの問題により、ユーザの意図に反してウェブサイトに権限が許可されてしまう恐れがあります。その結果、本来であれば制限される情報や機能のウェブサイトへの提供が行われ、ユーザのプライバシーが侵害されてしまう可能性があります。
 
プライベートブラウジングモードにおける権限状態の保持に関する誤認
図12. プライベートブラウジングモードにおける権限状態の保持に関する誤認

公表された論文では、ユーザスタディに基づき、ユーザの権限機構に対する認識や期待についての評価が行われています。

対策方法

ブラウザベンダが実施できる対策


ブラウザ実装において、下記の対策が提言されています。
  • ノーマルブラウジングモードとプライベートブラウジングモード間で権限状態を共有しない
  • プライベートブラウジングモード終了時に、設定された権限状態を明示的に消去する
  • バックグラウンドタブによる権限要求ダイアログをオーバーレイで表示しない

また、研究チームは公表された論文において、ウェブ標準化団体が以下のようなブラウザ実装を推進し、ブラウザベンダ間でベストプラクティスの共有を行うことで、権限機能を改善させてユーザの安全性を向上させることができると提案しています。
  • 権限設定を永続化せず、定期的に消去するオプションを作る
  • prompt 状態からの複数回のリロードによる権限の自動拒否を実施しない
  • iframe 内のページによる権限要求に対し、制限をかける
  • 権限状態をわかりやすく可視化し、ユーザが容易に設定できるようにする
 

ユーザが実施できる対策

 

ゲストモードを利用する


ブラウザのユーザは、プライベートブラウジングモードではなく、多くのブラウザで搭載されているゲストモードを利用することで脅威を低減することができます。ゲストモードは通常時のユーザのプロファイルとは異なる一時的なゲストユーザのプロファイルを用いて動作します。そのため、通常のプロファイルの設定に影響を受けないブラウジングが可能となります。また、ゲストユーザにおいて設定された権限状態は通常のプロファイルに影響を及ぼしません。
 

権限要求ダイアログを注意深く確認する


ブラウザを用いる際には、権限機構ダイアログの内容を注意深く確認することが重要です。本研究により、ユーザが閲覧しているウェブサイトと権限要求を行っているウェブサイトが必ずしも一致していない可能性が示唆されています。ユーザは権限要求ダイアログに記載されている要求元のドメインを注意深く確認し、権限要求元のウェブサイトを適切に判断する必要があります。また、権限要求ダイアログに記載されている権限種別を注意深く確認し、不必要な権限を与えないようにすることも重要となります。
 

ベンダ情報

参考情報

  1. Browser Permission Mechanisms Demystified - NDSS Symposium 2023
    Kazuki Nomoto, Takuya Watanabe, Eitaro, Shioji, Mitsuaki Akiyama and Tatsuya Mori, "Browser Permission Mechanisms Demystified," in Proceedings of the Network and Distributed System Security Symposium (NDSS) 2023.

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

本文書は製品開発者やユーザへの注意喚起を目的として、早稲田大学の野本一輝氏、NTT社会情報研究所の渡邉卓弥氏、塩治榮太朗氏、秋山満昭氏、および JPCERT/CC が共同で執筆しました。

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE
JVN iPedia