Chromeにインストールされているアドオンを検出するツールキットが公開されました

Chrome ブラウザにインストールされているアドオンを検出する方法を実装するツールキットが公開されました。 結果として得られるアドオンのリストは、画面解像度、WebGL 機能、インストールされているプラ​​グインとフォントのリストなどの他の間接的な指標と組み合わせて、特定のブラウザー インスタンスの受動的識別の精度を高めるために使用できます。 提案された実装では、1000 を超えるアドオンのインストールがチェックされます。 システムをテストするためにオンライン デモンストレーションが提供されます。

アドオンの定義は、アドオンによって提供され、外部リクエストに使用できるリソースの分析を通じて行われます。 通常、アドオンには画像などのさまざまな付随ファイルが含まれており、これらのファイルは web_accessible_resources プロパティによってアドオン マニフェストで定義されます。 Chrome マニフェストの最初のバージョンでは、リソースへのアクセスは制限されておらず、どのサイトでも提供されたリソースをダウンロードできました。 マニフェストの XNUMX 番目のバージョンでは、そのようなリソースへのアクセスはデフォルトでアドオン自体にのみ許可されていました。 マニフェストの XNUMX 番目のバージョンでは、どのリソースをどのアドオン、ドメイン、ページに与えることができるかを決定することができました。

Web ページは、fetch メソッド (たとえば、「fetch('chrome-extension://okb....nd5/test.png')」) を使用して拡張機能によって提供されるリソースを要求できます。これは通常、「false」を返します。アドオンがインストールされていないこと。 アドオンによるリソースの存在の検出をブロックするために、一部のアドオンはリソースへのアクセスに必要な検証トークンを生成します。 トークンを指定せずに fetch を呼び出すと、常に失敗します。

結局のところ、アドオン リソースへのアクセスの保護は、操作の実行時間を推定することで回避できることがわかります。 トークンなしでリクエストするとフェッチは常にエラーを返すという事実にもかかわらず、アドオンがある場合とない場合の操作の実行時間は異なります。アドオンが存在する場合、アドオンがある場合よりもリクエストに時間がかかります。はインストールされていません。 反応時間を評価することで、サプリメントの存在を非常に正確に判断できます。

外部からアクセス可能なリソースを含まない一部のアドオンは、追加のプロパティによって識別できます。 たとえば、MetaMask アドオンは、window.ethereum プロパティの定義を評価することで定義できます (アドオンが設定されていない場合、「typeof window.ethereum」は値「unknown」を返します)。

出所: オープンネット.ru

コメントを追加します