彼らは、ファビコンを介してブラウザを識別できるようにする手法を明らかにしました

ブラウザインスタンスを識別するための新しい技術が明らかになった。この方法は、ウェブサイトがブックマーク、タブ、その他のブラウザインターフェース要素に表示されるアイコンを特定するために使用するファビコンの画像処理特性に基づいている。

ブラウザはファビコン画像を別のキャッシュに保存します。このキャッシュは他のキャッシュと重複せず、すべての動作モードで共通であり、標準的なキャッシュクリーナーや閲覧履歴クリーナーでは削除されません。

この機能により、シークレットモードで作業している場合でも識別子を使用でき、削除が困難になります。また、この方法による認証は、VPNや広告ブロックプラグインの使用による影響を受けません。

識別方法は、ブラウザがページのパラメータで指定されたファビコン画像を要求しなかった場合に、ファビコンの読み込みに関する情報を分析することで、サーバー側でユーザーが以前にページを開いたかどうかを判断できるという事実に基づいています。 、次にページが先に読み込まれ、画像がキャッシュから表示されます。

ブラウザでは各ページに独自のファビコンを設定できるため、ユーザーを複数の異なるページに順次リダイレクトすることで、有用な情報をエンコードすることが可能です。

チェーン内のリダイレクトが多いほど、より多くの識別子を決定できます(識別子の数は、式2 ^ Nによって決定されます。ここで、Nはリダイレクトの数です)。 たとえば、4人のユーザーが3つのリダイレクト(8〜4、16〜10、1024〜24、16〜32万、4〜XNUMX億)に対応できます。

この方法の欠点は、大きな遅延が発生することです。精度が高ければ高いほど、リダイレクトによってページが開くまでに時間がかかります。

32のリダイレクトにより、すべてのインターネットユーザーの識別子が生成されますが、約XNUMX秒の遅延が発生します。 XNUMX万の識別子の場合、遅延は約XNUMX秒です。

この方法は、書くモードと読むモードの2つのモードで作業を行うものです。

  • 書き込みモード サイトに最初にアクセスしたユーザーの識別子を生成して保存します。
  • 読書モード 以前に保存された識別子を読み取ります。

モードの選択は、サイトのメインページのファビコンファイルの要求によって異なります。画像が要求された場合、データはキャッシュされず、ユーザーが以前にサイトにアクセスしたことがないか、コンテンツがキャッシュされていると見なすことができます。 。時代遅れ。 研究者によると、HTTP Cache-Controlヘッダーを指定することで、最大XNUMX年間キャッシュ内のファビコンを実現できます。

読み取り専用モードでは、ウェブサイトが開かれると、ユーザーはファビコン付きの定義済みページに紐付けられます。HTTPサーバーは、どのファビコンがサーバーに要求されたか、どのファビコンがキャッシュからサーバーにアクセスせずに表示されたかを分析します。要求があった場合は「0」、なかった場合は「1」としてコード化されます。識別子が将来の要求のために保持されるように、ファビコン要求に対しては404エラーコードが表示されます。つまり、次回サイトが開かれたとき、ブラウザはこれらのファビコンを再度読み込もうとします。

書き込みモードでは、リダイレクトループにおいて、コード「1」のページで正しいファビコン応答が返され、ブラウザのキャッシュに保存されます(サイクルが繰り返されると、ファビコンデータはサーバーにアクセスすることなくキャッシュから返されます)。コード「0」のページでは、エラーコード404が返されます(リダイレクトサイクルが繰り返されると、ページデータが再度要求されます)。

この方法は、Chrome、Safari、Edgeでは機能しますが、Firefoxでは部分的にしか機能しません。Linux版Firefoxでは、ファビコンをスーパークッキーとして使用すると、ブラウザがファビコンをキャッシュできないようにする機能によって制限されます。

興味深いことに、認証方法の作成者は、約XNUMX年前にFirefox開発者にこの機能について通知し、キャッシュにエラーがあったことを指摘しましたが、彼らの作業については言及せず、エラーを修正するとユーザー識別の可能性につながると述べました。

出典:https://www.cs.uic.edu


Googleで優先ソースとして追加する