Discordのブラウザ・フィンガープリントを理解する
ブラウザ・フィンガープリント・ディスコード認証は、altアカウントや繰り返しBANを回避する人を検出するための最も効果的なツールの1つです。メンバーがウェブベースのOAuth2フローで認証すると、そのブラウザは驚くほど多くの識別情報を明らかにします。
この記事では、その具体的な方法について説明する。不和オルト検出ブラウザ・フィンガープリントの仕組み、収集される信号、それらがどのように組み合わさって一意の識別子が作られるのか、そしてプライバシーと倫理的配慮について。
ブラウザ・フィンガープリントとは?
ブラウザフィンガープリントは、それが公開する技術的属性の組み合わせに基づいて特定のブラウザ(ひいては特定のデバイスとユーザー)を識別する技術です。クリア可能なクッキーやVPNで変更可能なIPアドレスとは異なり、ブラウザフィンガープリントはデバイス全体を変更せずに変更することが困難なハードウェアおよびソフトウェアの特性から導き出されます。
それは人間の指紋のようなものだと考えてほしい。単一の隆起や渦は唯一無二のものではないが、それらすべての組み合わせが、他の誰とも共有される可能性が極めて低い識別子を作り出すのだ。
Discord認証におけるフィンガープリンティングの仕組み
会員が認証リンクをクリックし、ブラウザに認証ページをロードすると、ページ上のJavaScriptコードが一連のシグナルを収集します。これらのシグナルは1つのフィンガープリント値にハッシュ化されます。2つの異なるDiscordアカウントが同じフィンガープリントを生成した場合、それらは可能性の高いアルトとしてフラグが立てられます。
主な信号は以下の通り。
キャンバス・フィンガープリント
HTML5 Canvas APIにより、ウェブページはグラフィックを描画できます。ページが特定の画像(特定のフォント、色、およびレンダリング命令を持つテキスト文字列)をレンダリングする場合、デバイスの違いにより、出力はデバイス間でわずかに異なります:
- GPUハードウェアとドライバ
- オペレーティング・システムのフォント・レンダリング・エンジン
- アンチエイリアスの実装
- サブピクセル・レンダリングの設定
レンダリングされた画像はデータURLに変換され、ハッシュ化される。同じGPU、ドライバ、OS設定を持つ2台のコンピュータは、同じハッシュを生成します。異なるハードウェアは異なるハッシュを生成します。キャンバスのフィンガープリンティングだけで、数千のデバイス設定を区別することができます。
WebGLフィンガープリンティング
WebGLは、グラフィックス・ハードウェアに関する詳細な情報を公開する:
- レンダラ文字列- GPUモデルとドライバー(例:「ANGLE(Apple、Apple M2、OpenGL 4.1)」)。
- ベンダーの文字列- GPUベンダー
- 対応エクステンション- ブラウザがサポートするWebGL拡張機能のリスト
- シェーダー精度フォーマット- GPUが浮動小数点演算を処理する方法に関する技術的詳細
WebGLレンダラー文字列だけで、非常に識別性が高い。サポートされている拡張機能や精度フォーマットと組み合わせることで、強力なデバイスレベルのフィンガープリントが作成されます。
オーディオ・コンテクスト・フィンガープリンティング
Web Audio API はハードウェアとソフトウェアスタックによって異なるオーディオ信号を処理します。AudioContext を作成し、シンプルなオシレータトーンを生成し、出力を分析することで、このページはフィンガープリントを導き出すことができます:
- オーディオハードウェアが信号を処理する方法
- オペレーティングシステムのオーディオサブシステムの動作
- ブラウザのオーディオ処理実装
音声フィンガープリンティングは、なりすましが最も難しいシグナルの一つであるため、特に効果的です。GPU(WebGL)、フォント(キャンバス)、スクリーン解像度を変更することは可能です。オーディオ処理特性を偽るには、禁止回避者がほとんど持っていない深い技術的知識が必要です。
画面と表示のプロパティ
- 画面解像度- ディスプレイのネイティブ解像度(例:2560x1440)
- 利用可能な画面サイズ- タスクバー/ドックを除いた解像度
- 色の深さ- ピクセルあたりのビット数(通常は24または30)
- デバイスピクセル比- 物理ピクセルとCSSピクセルの比率(標準ディスプレイでは1、Retina/HiDPIでは2)
- タッチサポート- タッチスクリーンの有無と、タッチポイント数
これらの信号は単独では弱いが(多くの人が1920x1080のモニターを持っている)、他の属性と組み合わされることで全体的な独自性に寄与する。
タイムゾーンとロケール
- タイムゾーンオフセット- ユーザーのシステムクロックのUTCオフセット。
- タイムゾーン名- IANAタイムゾーン識別子("America/New_York "など)。
- ブラウザ言語- 優先言語設定
- 日付フォーマットのロケール- ブラウザが日付や数字をどのようにフォーマットするか
繰り返しになるが、これらは単独では弱いが、組み合わせれば相乗効果を発揮する。
インストールされているフォント
ブラウザが様々なフォントでテキストをどのようにレンダリングするかを測定することで、ページがシステムにインストールされているフォントを判別することができます。特に、ユーザーがデザイン作業やゲーム、言語サポートのためにカスタムフォントをインストールしている場合はなおさらです。
フォントの列挙は、何千ものユニークなフォントセットを区別することができます。Adobe Creative Suite、コーディングフォントの特定のセット、および日本語サポートをインストールしているユーザーは、統計的にまれなフォントセットを持っています。
その他の信号
フィンガープリントに寄与するその他の属性には以下のものがある:
- ユーザーエージェント文字列- ブラウザ名、バージョン、OS
- インストールされているブラウザのプラグイン- 最近のブラウザはプラグインの列挙を減らしているが
- 追跡禁止設定- 皮肉なことに、DNTを有効にすることで、DNTを有効にするユーザーが少なくなるため、個人を特定しやすくなります。
- ハードウェア同時実行- 論理CPUコア数
- デバイスメモリー- RAMのおおよその容量(ブラウザが公開している場合)
- プラットフォームの文字列- オペレーティング・システムの識別子
信号がどのように組み合わさって指紋になるのか
ユーザーを特定できるほどユニークな信号はひとつもない。1920x1080の画面解像度は数百万人が共有している。しかし、その組み合わせは
- 解像度1920x1080
- 24ビット色深度
- ピクセル比2倍
- Apple M2 GPU(WebGL経由)
- macOS Sequoia(ユーザーエージェント経由)
- アメリカ/シカゴのタイムゾーン
- インストールされている47の特定フォント
- 特定のキャンバスレンダリングハッシュ
- 特定のオーディオ処理ハッシュ
- 8論理CPUコア
- 16 GBのデバイス・メモリー
...複数の人によって共有される可能性は極めて低い。電子フロンティア財団のPanopticlickプロジェクト(現在はCover Your Tracks)の調査によると、以下のことが判明した。83.ブラウザの6%がユニークなフィンガープリントを持っていたそしてその数は、より多くの信号が収集されるにつれて増えていく。
レストアハブのフィンガープリントの使用方法
メンバーがRestore Hubを通して認証すると、ブラウザフィンガープリントが計算され、Discordアカウント情報と一緒に保存されます。その後、システムは
- 試合のチェック- 指紋が認証済みの既存メンバーと一致した場合、新規アカウントはオルトの可能性があるとしてフラグが立てられます。
- サーバー間のチェック- フィンガープリントが他のリストアハブサーバーで禁止されたメンバーと一致する場合、リスクレベルは増加します。
- サーバーのポリシーを適用する- サーバー所有者の設定により、フラグを立てられたアカウントはブロックされるか、手動レビューキューに送られるか、モデレーターへの警告とともに許可される。
設定可能な厳しさ
サーバー所有者はフィンガープリントの動作を制御することができます:
- オフ- 指紋採取は行わない
- 緩やか- フィンガープリントは収集されるが、完全に一致した場合のみフラグが立てられる(同一人物、同一デバイス、同一ブラウザ)。
- 中程度- 部分一致が考慮される(同じデバイス、異なるブラウザ)
- 厳しい- キーシグナルが重なるとフラグが立つ
ほとんどのサーバーは、過剰な誤検知を発生させることなく、大半のaltアカウントをキャッチする中程度の設定を使用している。
プライバシーへの配慮
ブラウザフィンガープリントは、プライバシーに関する正当な懸念を引き起こします。ここでは、Restore Hubがどのようにそれらに対処するかについて説明します。
透明性
会員は、認証プロセスにおいて、高度なアカウント検出のためにブラウザのフィンガープリントが使用されることを知らされます。認証ページには、どのようなデータが収集されるのか、なぜ収集されるのかについての明確な開示が含まれています。
データの最小化
Restore Hubは生の指紋データを保存しません。個々のシグナル(スクリーン解像度、フォントなど)は単一のフィンガープリント値にハッシュされます。生の信号はハッシュ化された後に破棄されます。つまり、保存されたデータを使用してユーザーのデバイスに関する詳細情報を再構築することはできません。
目的制限
指紋データは、以下の目的にのみ使用される。discordのaltアカウント検出.この情報を販売したり、第三者と共有したり、広告に使用したり、サーバーのセキュリティ以外の目的で使用したりすることはありません。
削除権
メンバーはリストアハブのプライバシーツールを通して指紋データの削除を要求することができます。削除された指紋データは永久に削除され、復元することはできません。
コンプライアンス
リストアハブによって実装されるフィンガープリンティングは、GDPRおよび同様のプライバシー規制に準拠するように設計されています。データは正当なセキュリティ上の利益(禁止事項の回避の防止)に資するものであり、ユーザーには情報が提供され、(検証しないことを選択することで)オプトアウトすることができます。
ブラウザ・フィンガープリントの限界
フィンガープリンティングは強力だが、絶対的なものではない。その限界を理解することで、現実的な期待を抱くことができます。
さまざまなデバイス
ユーザーが全く異なるデバイス(コンピュータの代わりに携帯電話、または友人のラップトップ)からaltアカウントを検証する場合、フィンガープリントは異なるものになります。フィンガープリントは異なる物理的デバイス間でアカウントをリンクすることはできません。
ブラウザのプライバシー機能
フィンガープリントに積極的に抵抗するブラウザもあります:
- Torブラウザフィンガープリント信号をランダム化し、すべてのセッションを異なるものにする
- ブレイブブラウザプライバシー機能に指紋のランダム化を含む
- ファイアフォックス厳密な追跡保護強化モードでのフィンガープリント保護がある
これらの対策は、それらのブラウザのユーザーに対するフィンガープリンティングの有効性を低下させる。
仮想マシン
異なる OS とブラウザ設定を持つ仮想マシンから検証するユーザーは、異なるフィンガープリントを作成します。これは洗練されたBAN回避者の間では一般的なテクニックである。
ブラウザ・プロファイル
ブラウザによっては複数のプロファイルを許可しており、それぞれが異なる設定になっています。コアとなるハードウェア信号(GPU、オーディオ)はプロファイル間で変わりませんが、ソフトウェアレベルの信号(フォント、拡張機能)は異なる場合があります。
なぜまだ通用するのか
このような制限があるにもかかわらず、フィンガープリンティングは大多数のaltアカウントを捕捉します。典型的なBAN回避者は新しいDiscordアカウントを作成し、同じコンピュータの同じブラウザで検証リンクを開き、通過することを期待する。彼らはそうしない。
Tor、VM、または専用のアンチフィンガープリントツールを使用する少数の人は、禁止回避の試みのごく一部です。そして、そのような人たちであっても、他の検出方法(IP相関、行動分析、アカウント年齢)が追加の防御層を提供します。
要点
- ブラウザ・フィンガープリントは、複数のハードウェアおよびソフトウェア信号を組み合わせて、固有のデバイス識別子を作成します。
- キャンバス、WebGL、オーディオコンテキストフィンガープリントは、最も強力な個々のシグナルである。
- フィンガープリントは、複数のDiscordアカウントと同一人物を高い信頼性で結びつけることができる。
- 復元ハブは責任を持ってフィンガープリントを使用:透明性のある情報開示、データの最小化、設定可能な厳格さ
- フィンガープリンティングは完璧ではなく、さまざまなデバイス、プライバシー・ブラウザ、VMがそれを回避する可能性があるが、altアカウントの大半を捕らえることができる。
altアカウントやBAN回避者からサーバーを守る準備はできていますか?restorehub.netで無料で始めるそして、検証フローの一部としてブラウザのフィンガープリントを有効にしてください。