iPhoneなどSafariに閲覧履歴の流出不具合。プロフィール写真と閲覧履歴の特定も可能に
Appleのウェブブラウザ「Safari 15」において、閲覧履歴やGoogleアカウントの情報が流出する問題が指摘されました。
FingerprintJSのレポートに対して、Appleはすぐに修正に取りかかり、現在は解決済みと報告しているとのこと。現時点で修正版はリリースされていないため問題は今も継続中です。
iOS 15|iPadOS 15|macOSで不具合が発生
FingerprintJSの報告によると、Safari 15に導入されたIndexedDB APIに問題があるとのこと。不具合の対象はSafari 15が動作するiOS 15|iPadOS 15|macOS。iOS 14およびiPadOS 15以下のバージョンは対象外です。
IndexedDB APIは、クライアント側(ブラウザ側)に大量のアプリケーション情報をデータベースで保存するための仕組み。それほど導入が困難ではないことから多くのウェブサイトで利用されているため、今回の問題は広範囲に影響が及びます。
IndexedDB APIには、保存されたデータが他のサイトにアクセスされないように同一生成元ポリシーが設けられています。例えば、Gmailなどを開いて別のタブで悪意のあるウェブサイトを開いた場合、このポリシーによって悪意のあるウェブサイトがメールなどのデータにアクセスすることを防いでいますが、FingerprintJSによれば、Safari 15ではIndexedDB APIがポリシーに反する形で実装されているとのこと。
このポリシー違反によって、悪意のあるウェブサイトにアクセスすると、他のタブやウィンドウが特定されてどのウェブサイトにアクセスしたかが流出する可能性があります。
また、ユーザーIDを含む可能性のあるデータベース名にアクセスできることから、アカウント情報が流出する可能性も指摘されています。
例えば、YouTubeやGoogleカレンダーなどGoogleアカウントを必要とするサービスでは、データベースにユーザーIDを使用しており、このユーザーIDとGoogle APIを使用してGoogleアカウントのプロフィール写真等にアクセスできると説明しています。さらに、複数のアカウントを紐づけることができるため、裏アカと表アカを紐づけることも可能なようです。
実際にFingerprintJSが公開しているデモページにSafariからアクセスしたところ、Twitter.comにアクセスしたことやGoogleアカウントのユーザーID、プロフィール写真が表示されました。つまり、この顔の人がこのサイトを見ていることがあっさりと特定されたということ。プロフィール写真は公開情報ですが、閲覧しているサイトによっては顔写真とセットで公開されると困ることになるかもしれません。
この問題はプライベートブラウジングモードを利用することで影響を小さくできるもののすべてを解消することはできません。
また、iPhoneおよびiPadで利用できるブラウザはすべてSafariと同じWebKitベースのため、Chromeなど別のブラウザを使っても回避できず、Safariを使わないという手段で防ぐことはできません。
すべてのJavaScriptをブロックしたり、信頼できるサイトでのみJavaScriptを許可することで回避できますが、現代のウェブにおいてJavaScriptを制限する方法は現実的ではないため、根本的な解決はAppleによるOSまたはブラウザアップデートだけです。
冒頭で書いたとおりすでにAppleは修正を行っていて、アップデートのリリースを待つだけの状態なので、近いうちにiOS 15.2.2/iPadOS 15.2.2などで修正アップデートが配信される可能性があります。
コメントを残す