ウェブサイトがJavaScriptとCookieなしで個人を追跡する方法が一発で理解できる「No-JavaScript fingerprinting」
「フィンガープリント」とは、JavaScriptやCookieなしでウェブサイトのユーザーを識別するための固有識別子で、ユーザーの属性・行動・興味・関心といった詳細な情報をもとにマッチする広告を表示するターゲティング広告に用いられます。そんなフィンガープリントが、JavaScriptやCookieを使わずにどうやってユーザーを特定しているのかがよくわかるサイト「No-JavaScript fingerprinting」が公開されています。
No-JavaScript fingerprinting
https://noscriptfingerprint.com/
今回はGoogle ChromeからNo-JavaScript fingerprintingにアクセスしてみます。アクセスする前に、JavaScriptを使用しないようにあらかじめブラウザから設定しておきます。Chromeの右上にあるケバブアイコンをクリックし、「設定」をクリックします。
https://i.gzn.jp/img/2022/02/07/no-javascript-fingerprinting/snap2107_m.png
上部の検索欄に「JavaScript」と入力し、表示された結果から「サイトの設定」をクリック。
https://i.gzn.jp/img/2022/02/07/no-javascript-fingerprinting/snap2108_m.png
「JavaScript」を選択。
https://i.gzn.jp/img/2022/02/07/no-javascript-fingerprinting/snap2109_m.png
「サイトにJavaScriptの使用を許可しない」を選択します。これでJavaScriptの自動使用機能がオフになりました。
https://i.gzn.jp/img/2022/02/07/no-javascript-fingerprinting/snap2110_m.png
この状態で、No-JavaScript fingerprintingにアクセスします。数秒の読込みのあと、画面中央に「Show」と書かれたボタンが表示されるので、コレをクリックします。
すると、フィンガープリントとなる文字列が表示されました。このフィンガープリントがどういった要素で特定されているのかをチェックするためには、文字列下にある「Show more details」をクリックします。
すると、「Signals」の欄にさまざまな情報が表示されます。
フィンガープリントに使われている情報はさまざまで、ウィンドウサイズやフォントなど、ブラウザの設定からユーザーが簡単に特定されていることが一目でわかりました。このフィンガープリントはシークレットウィンドウでも有効だそうです。
なお、No-JavaScript fingerprintingのソースコートはGitHubで公開されています。
GitHub - fingerprintjs/blog-nojs-fingerprint-demo: A demo for the no-JavaScript fingerprinting article
https://github.com/fingerprintjs/blog-nojs-fingerprint-demo/
https://gigazine.net/news/20220207-no-javascript-fingerprinting/
2022年02月07日 13時35分