1 ポイント 投稿者 GN⁺ 2024-03-11 | 1件のコメント | WhatsAppで共有

オーディオによる識別

  • オーディオ識別手法は、ブラウザのオーディオAPIを使ってオーディオ信号を生成し、生成されたオーディオ信号サンプルをすべて加算して単一の数値に変換する方式。
  • この数値はフィンガープリント(識別子)として使われ、Cookieを削除したりシークレットモードに切り替えたりしても変化しない安定性を持つ。
  • ただし識別子はそれほど強い一意性を持たないため、多くのユーザーが同じ識別子を持つ可能性がある。

Safari 17がオーディオフィンガープリンティングを妨害する方法

  • Safari 17は高度なフィンガープリンティング保護機能を導入し、プライベートブラウズモードではデフォルトで有効、通常モードでは無効になっている。
  • この保護機能は、各オーディオサンプルにランダムなノイズを追加してフィンガープリントの精度を下げる。
  • その結果、オーディオフィンガープリントは計算するたびに変化し、識別には使えなくなる。

Safari 17の高度なフィンガープリンティング保護を回避する方法

  • Safariが追加するノイズを除去するためにフィンガープリンティングアルゴリズムを改良する3つの段階: ノイズ分散の低減、ブラウザ識別番号の間隔拡大、残ったノイズを除去するためのフィンガープリントの丸め。
  • ノイズ低減のために複数のオーディオフィンガープリントを組み合わせ、ブラウザ間のオーディオサンプル差を広げるために基本信号を変更する。
  • 結果を安定化させるため、重要な数字を維持しつつオーディオサンプルを丸める。

性能

  • 新しいフィンガープリンティングアルゴリズムは既存アルゴリズムに比べて性能が約1.5〜2倍低下するが、それでも低性能なデバイスでも計算時間は短い。
  • ページの応答性を維持するため、OfflineAudioRenderスレッドで一部の処理を行う。

プライバシー重視ブラウザでの動作

  • TorやBraveのようなプライバシー重視ブラウザも、オーディオフィンガープリンティングを制限しようとしている。
  • TorではWeb Audio APIが完全に無効化されており、オーディオフィンガープリンティングは不可能。
  • BraveはSafari 17と似たアプローチを使い、オーディオ信号にノイズを追加する。

FingerprintJSでの利用

  • 新しいオーディオフィンガープリンティングアルゴリズムが、FingerprintJSで既存アルゴリズムを置き換える。
  • オーディオフィンガープリンティングは、ブラウザフィンガープリントを生成するために使われる多くのシグナルの1つであり、各シグナルの安定性と一意性を個別に分析して、フィンガープリント精度への影響を判断する。

GN⁺の見解

  • Safari 17のオーディオフィンガープリンティング妨害機能は、ユーザーのプライバシー保護を強化しようとするAppleの取り組みを示している。これはユーザーにより大きなプライバシーを提供できる可能性がある。
  • しかしFingerprintJSのようなサービスは、こうした保護機能を回避してなお識別を可能にしており、プライバシー保護とセキュリティの継続的な緊張関係を浮き彫りにしている。
  • この技術がサイバーセキュリティでどのように活用できるかについて、さらなる議論が必要である。たとえば、不正行為の防止やユーザーアカウント保護に利用できる。
  • 類似の機能を提供する他のオープンソースプロジェクトとしてPrivacy BadgerやuBlock Originがあり、これらはユーザー追跡のブロックに役立つ可能性がある。
  • 技術導入にあたっては、ユーザーのプライバシーとWebサイトのセキュリティ要件の間でバランスを取ることが重要である。この技術の利点はユーザー識別精度の向上だが、プライバシー侵害のリスクも考慮する必要がある。

1件のコメント

 
GN⁺ 2024-03-11
Hacker Newsの意見
  • GPUフィンガープリンティング手法

    • GPUフィンガープリンティング手法である「DrawnApart」は、WebGLを使用してGPUの実行ユニット数と速度を測定し、頂点レンダリング完了時間、ストール関数の処理などを測定する技術。
    • 出典
  • オーディオフィンガープリンティングの可能性

    • オーディオフィンガープリンティングが可能な理由について説明を求める声。
  • データ流出防止のためのノイズ付加の非効率性

    • サイドチャネル攻撃への最近の関心を踏まえると、データ流出を防ぐためにノイズを追加しても、より多くのサンプルを取得してノイズを除去できるため効果がない。
    • Safariがこれを追加した理由への疑問。
  • Web Audio API仕様とオシレーターのアンチエイリアシング処理

    • Web Audio API仕様におけるオシレーターのアンチエイリアシング処理方法の選択が、フィンガープリンティング回避成功の核心に見える。
    • ブラウザやハードウェアによって異なるアンチエイリアシング手法を選択でき、その結果、ブラウザ間または同一ブラウザ内でも非決定的な結果が発生しうる。
    • アンチエイリアシングをブラウザ任せにする選択への理解不足を表明。
    • 出典
  • ブラウザ内のAudio API実装への批判

    • ブラウザにノードグラフ型のオーディオAPIを含めるのは不合理だという意見。
    • Audio Workletだけであるべきだという主張。
  • サンプリングノイズ付加方式の改善提案

    • Safariが各サンプルにランダムノイズを追加する代わりに、一定時間ごとに変化するキーに基づくノイズを追加できるという提案。
    • この方法なら1つのセッション内ではノイズは一定だが、1時間後には追跡に使えなくなる。
  • JavaScript無効化を好むユーザーの意見

    • JavaScriptを無効化してWebを閲覧することを好むユーザーの意見。
  • Audio APIプロトタイプ変更によるフィンガープリンティング妨害

    • Audio APIのプロトタイプを変更して、望む結果を返すようにする方法の提案。
    • 望む偽装フィンガープリントを得る難しさも認めている。
  • オーディオ処理フィンガープリンティングの基盤

    • オーディオ処理フィンガープリンティングがハードウェア/ドライバー/OSの差異に基づくのか、それとも単にブラウザソフトウェアの差異に基づくのかという質問。
    • 類似の手法として、<canvas>を使ってグラフィックデバイス間の違いを露出させる方法があったことにも言及。