ニュース

Safari 15、Web行動履歴の漏洩につながる脆弱性。特にiPhone/iPadに大きな影響

 FingerprintJSは、ユーザーの行動履歴やユーザー識別などにつながりうる「Safari 15」の脆弱性について報告している。

 報告された脆弱性は、Safari 15などで使われるWebKitに実装された「IndexedDB」APIが「Same-origin policy」に違反した状態になっているというもの。これにより、標的のユーザーが悪意のあるWebサイトを開いた場合に、それ以外のタブやウィンドウを含め、どのWebサイトにアクセスしたかなどの情報を知ることができてしまう。

 影響を受けるのはmacOSのSafari 15、およびiOS 15/iPadOS 15で動作するすべてのWebブラウザ。前者はSafariのみだが、後者でSafari以外が含まれるのは、iOS/iPadOS上のすべてのWebブラウザにおいてWebKitエンジンを使用するよう、Appleが定めているため。

 現時点での対策としては、macOSではSafari以外のWebブラウザに切り替えることで回避できる。一方で、iOS/iPadOSについてはすべてのWebブラウザが影響を受けるため、ユーザー側でとれる対策がほぼないという。なお、利便性は大きく損なわれるが、デフォルトでJavaScriptをすべてブロックし、信頼できるサイトのみ許可するといった手法でも対策が可能だとしている。

 また、プライベートウィンドウでの利用についても、漏洩の範囲が狭まるものの、影響を受けるという。同社では、2021年11月28日に本脆弱性についてAppleへ報告したが、現在も不具合は存在したままとなっている。

How IndexedDB in Safari 15 leaks your browsing activity (in real time)

 IndexedDBは、Webブラウザが大量のデータを保持するためのAPI。主要なWebブラウザがサポートしており、広く使われている。このAPIはほかのWebブラウザ技術と同様に、Same-origin policyと呼ばれるポリシーに従って運用することで、セキュリティを確保する。しかしSafari 15では、このポリシーが守られておらず、異なるorigin間でデータベース名が漏洩する状態となっていた。

 一般的にデータベース名はWebサイト固有の場合が多く、ユーザーによる特定の操作を必要とせず、IndexedDB APIにバックグラウンドで継続的に問い合わせを行なうタブやウィンドウであれば、ユーザーのアクセスをリアルタイムで知ることが可能だという。

 加えて、データベース名にはユーザー固有の識別子を使用している場合もあるため、これにより認証ユーザーを正確に識別できてしまう恐れもある。Googleの各種サービスなどで複数アカウントにログインしている場合には、それらを1人のユーザーに結び付けるといったことも可能だとしている。