スマートフォンのセンサーデータでユーザー追跡が可能に

ユーザーデバイスの特徴を「フィンガープリンティング」(フィンガープリント化)することによって、Web サイトやアプリにアクセスするユーザーを広告主が追跡できる新たな方法が、セキュリティ研究者によって発見され続けています。

電話番号や IMEI 番号、Wi-Fi や Bluetooth の Mac アドレスなど、利用されるデータへのアクセスは権限に基づいてコントロールされています。

しかし、iOS デバイスと Android デバイスに搭載されている数多くのハードウェアを使用すれば、理論上同じ目的を達成することができます。

ケンブリッジ大学の研究チームは SensorID: Sensor Calibration Fingerprinting for Smartphones(「SensorID: スマートフォンにおけるセンサーキャリブレーションフィンガープリンティング」)と題した論文で、最新技術であるセンサーキャリブレーションフィンガープリンティングについての研究成果を発表しています。

センサーなど大した問題ではないように思えるかもしれません。しかし、スマートフォンには加速度計、磁力計、ジャイロスコープ、GPS、カメラ、マイク、環境光センサー、気圧計、近接センサーなどが詰め込まれていることを思い出してください。

機械学習アルゴリズムを使用して、これらのセンサーをデバイスの特定に利用する方法をこれまで多くの研究者が探ってきましたが、成果を挙げられていませんでした。しかし遂に、ケンブリッジ大学の研究チームが、M シリーズモーションコプロセッサを搭載した iOS デバイスに有効な PoC(概念実証)を開発しました。

攻撃者にとってセンサーが魅力的な標的になるのには十分な理由がある、と研究チームは述べています。

(引用文日本語訳)これらのセンサーには特別な許可がなくてもアクセスできます。また、センサーデータには、デバイスにインストールされたネイティブアプリからも、また iOS/Android デバイスで Web サイトにアクセスしたタイミングで JavaScript からもアクセスが可能です。

つまり、従来のフィンガープリンティングとは違い、誰かに止められることも権限を確認されることもなければ、何が起きているのかを気付かれることもありません。

広告主にとって、これは理想的なデバイスフィンガープリンティングです。

キャリブレーションフィンガープリンティング攻撃

MEMS(Micro-Electro-Mechanical Systems: 微小電気機械システム)センサーは、わずかですが不正確であり、識別に使用される可能性があります。

(引用文日本語訳)組み込みセンサーの製造時に差異が自然に発生していた場合、出力はそのセンサー固有のものになります。したがって、デバイスの指紋の作成に悪用される可能性があります。

ハイエンドデバイス(すべての Apple デバイスと Google の Pixel 2 および 3 スマートフォン)の場合、メーカーは各デバイスにキャリブレーションプロセスを適用して、これを補正しようとします。

つまり、キャリブレーションプロセスでどの程度の補正が行われたかを把握できれば、デバイスの識別につながる差異を推測できることになります。

ただし、朗報もあります。研究チームがこの発見を昨年 8 月に Apple に報告したところ、Apple はこの問題(CVE-2019-8541)を 2019 年 3 月に iOS 12.2 のアップデートで修正しました。

Apple は、「Safari のアナログ/デジタルコンバータの出力にランダムノイズを追加し、モーションセンサーへのデフォルトアクセスを削除する」という研究チームの提案を採用しました。

コスト上の理由で複雑なキャリブレーションプロセスが省略されがちな Android デバイスよりも、Apple iOS デバイスのほうが遥かにキャリブレーションフィンガープリンティングの影響を受けやすい、というのは皮肉な話です。

ただし、キャリブレーションを使用するハイエンドの Android デバイスは依然として影響を受ける可能性があります。Google は 2018 年 12 月にこの問題の報告を受けましたが、Apple とは異なり、まだ修正していません。

デバイスを追跡したい広告主や Web サイトにとって、標的になるデバイスはまだまだたくさんあります。

簡単な方法でセンサーデータを利用できるのであれば、わざわざ複雑な手順を踏もうとする人はいません。