ソフトウェア

ウェブサイトを訪れたユーザーの閲覧履歴を不正に取得する方法とは?


インターネットを利用していると、一度訪問したページのリンクが別の色で表示されることがあります。これはスタイルシート言語であるCSS擬似クラス:visited」を活用したもので、一目で自身が訪問したページやリンクを判断することができます。しかし、一部のユーザーは:visited擬似クラスを悪用してユーザーのウェブサイト閲覧履歴を入手しているとのこと。セキュリティ研究者のヴァルン・ビニワレ氏が:visited擬似クラスを使った閲覧履歴の取得方法について解説しています。

Retrieving your browsing history through a CAPTCHA
https://varun.ch/history

ウェブサイトを閲覧する際には、リンクされたさまざまなページにアクセスします。その際、訪れたことがあるサイトは紫で、訪れたことがないサイトは青で表示されることがあります。これにはCSSの擬似クラスである:visitedが使用されています。一度訪問したページが強調表示されることで、ユーザーはアクセスするページを取捨選択して快適にブラウジングすることが可能です。

しかし一部のユーザーは、サイトを訪れたユーザーの閲覧履歴を取得することで、マーケティングや宣伝に役立てたいと考えているとのこと。そこで、ウェブページに背景画像を設定するCSSのプロパティ「background-image」を使って訪れたユーザーの閲覧履歴を該当のサーバーへと送信したり、「Window.getComputedStyle()」を使ってリンクの色を変更したりしているそうです。


また、:visitedを活用して該当のサイトを訪れたことがあるユーザーだけが見えるリンクを作ったり、逆に非表示にしたりすることで、ユーザーがどのようなサイトを訪れているのかを収集することが可能になります。

MozillaやGoogleなど、ブラウザベンダーもこの問題について把握しており、Mozillaは「訪問済みのウェブサイトでも時に未訪問として表示されてしまう場合がまれにあります」と述べています。また、Mozillaでは訪問済みリンクに適応できるスタイルを制限することで、不正な閲覧履歴の取得からユーザーを保護しています。

また、Microsoft EdgeやOperaなどのブラウザがベースとする、オープンソースのウェブブラウザ向けコードベース「Chromium」では、閲覧履歴の確認に必要なキーを3分割することで、閲覧履歴の漏えいからユーザーを守る取り組みを検討中です。

しかし、閲覧履歴を不正に取得する方法は無数にあると考えられており、履歴を取得したい攻撃者とユーザーを保護したいブラウザベンダーとの間でのイタチごっこが繰り広げられています。


ビニワレ氏は「閲覧履歴を取得しようとするのではなく、ユーザーをだまして代わりに閲覧履歴を提供してもらうのはどうだろう」と述べ、reCAPTCHAに似せた概念実証を紹介しています。

以下のページにアクセスすると、ボットではなく人間かどうかを確認するためのreCAPTCHA認証のような画面が表示されます。

Retrieving your browsing history through a CAPTCHA
https://varun.ch/history


「続けるには黒いセルをすべて選択してください」の指示に従い、「DONE(完了)」をクリック。


すると、ビニワレ氏が作成したリストの中からユーザーがアクセスしたことがあるページと、アクセス履歴がないページの一覧が表示されます


ビニワレ氏は「自分の人間性を証明するために指示に従うよう言われますが、実際には特定のウェブサイトを訪問したかどうかを教えてくれるだけのコンテンツです」と述べ「今回のデモは無害でしたが、一部の悪意を持ったウェブサイトは同様の手法で、ユーザーの政治的見解を調査したり、ユーザーの居住地域を調査したりする可能性があります」と指摘しています。

この記事のタイトルとURLをコピーする

・関連記事
Firefoxのプライベートブラウジングは一体どのような仕組みになっているのか? - GIGAZINE

Google Playストアで「データの安全性」セクションの表示が開始 - GIGAZINE

Firefoxが超強力なプライバシー保護機能を全世界のユーザーに提供 - GIGAZINE

Chromeのシークレットブラウジングは「まったくシークレットじゃない」とGoogle社内でも信頼されていなかった - GIGAZINE

ウェブサイトのユーザーを識別する「フィンガープリント」は考えられている以上にタチが悪いかもしれない - GIGAZINE

閲覧履歴を元に興味・関心をブラウザが推測して広告主と共有する機能など、プライバシーサンドボックスに含まれるAPIを段階的に有効化していくとGoogleが発表 - GIGAZINE

in ソフトウェア, Posted by log1r_ut

You can read the machine translated English article here.