PowerScan
JA

アンチディテクトブラウザとは? わかりやすく解説

アンチディテクトブラウザ · 読了目安 8 分 · PowerOps 著

写真: Unsplash

アンチディテクトブラウザは、アカウントごとに専用のストレージ、専用のデバイスID、専用のネットワーク経路を与えます。実際に何ができて何ができないのかを説明します。

通常のウェブブラウザは、「使う人は一人」という前提で設計されています。この前提は多くの人が思うよりはるかに深く組み込まれており、1つのブラウザで複数のアカウントを扱うとうまくいかない理由もそこにあります。

アンチディテクトブラウザは、その前提を取り除きます。アンチフィンガープリントブラウザやマルチアカウントブラウザと呼ばれることもあります。1つのブラウザが複数の人物を装うのではなく、アカウントごとに完全に独立した環境を与えます。

通常のブラウザがアカウント間で共有するもの

1つのブラウザで2つのアカウントを開くと、たとえ2つのウィンドウでも、タブから想像する以上に多くのものを共有します。

プライベートウィンドウは最初の2つには効果がありますが、後の2つには何もしません。また、閉じるとストレージが消えるため、ログインの手間が毎回無駄になります。

アンチディテクトブラウザにおけるプロファイルとは

プロファイルはブックマークフォルダでも、保存したログインでもありません。ブラウザ環境そのものです。1つのアカウントのブラウザ状態をすべて保持するディスク上のディレクトリと、その状態が使うIDおよびネットワーク経路を合わせたものです。

PowerOpsのプロファイルは4つの要素を持ち、それぞれが他のプロファイルから独立しています。

要素保持するもの
ブラウザディレクトリCookie、Local Storage、IndexedDB、キャッシュ、履歴、拡張機能の状態を、専用のフォルダに保持
デバイスIDサイトに報告される画面、プラットフォーム、ロケール、タイムゾーン、フォント、グラフィックスの値
ネットワーク経路このプロファイルが接続するプロキシ。ライブラリから割り当てられ、使用前に検証される
ブラウザビルドプロファイルの作成時に使われたブラウザの正確なバージョン。明日も同じ状態で開けるよう記録される

隠すことよりも一貫性が重要な理由

よくある間違いは、フィンガープリントを隠す対象として扱うことです。むしろ一貫性を保つ対象として扱うほうが有益です。

サイトは数十の値を読み取ります。個々の値は目立ちません。しかし組み合わせると一つの形になり、注意を引くのは珍しい形ではなく矛盾した形です。たとえば、Windowsプラットフォームを名乗りながらmacOSにしかないフォントを報告するブラウザや、ある国のタイムゾーンと別の国のアドレスの組み合わせです。食い違う値は、単独のどの値よりも強いシグナルになります。

アンチディテクトブラウザにできないこと

この分野の記事の多くは率直ではないため、ここではっきり書いておく価値があります。

できることは具体的で、確認可能です。独立したストレージ、整合性があり安定したデバイスID、プロファイルごとのネットワーク経路、そしてアカウントを開くたびに同じ環境であることです。

実際に必要なのは誰か

互いに見えてはならない複数の環境をまたいで、一人または一つのチームが作業するあらゆる場面です。クライアントの作業を分けて管理する代理店。固定されたブラウザ、ロケール、画面サイズでバグを再現するQAエンジニア。マーケットプレイス、サプライヤー、ストアフロントの管理画面を分けるEC担当チーム。何かからログアウトして別のものにログインすることが日常の人すべてです。

1つのサービスで1つのアカウントしか持たないなら、通常のブラウザで十分です。2つになった時点から、共有のCookieの保管場所が時間のコストを生み始めます。

すべての記事 · スキャンを実行