2015年08月11日

スマホのバッテリー消費量からあなたの行動をトラックする

機械学習は様々なデータから何かを推測する技術。気候の変動から明日の天気を予測したり、最近の株価の動きから明日の値動きを予測したり、人間ではとても処理しきれないような大量の情報を用いて予測モデルを作り出すことができます。

それ1つずつでは意味のない断片のような情報でも、大量に集めればそこから個人情報と呼べるようなものを浮かび上がらせることができたりもします。

というわけで本日のニュース。

How your phone's battery life can be used to invade your privacy
あなたの携帯のバッテリーからプライバシー情報を浮かび上がらせる方法

A little-known feature of the HTML5 specification means that websites can find out how much battery power a visitor has left on their laptop or smartphone – and now, security researchers have warned that that information can be used to track browsers online.

HTML5の新しい規格に、ウェブサイト側が訪問者のラップトップやスマートフォンのバッテリーがどの程度残っているかを検出する機能がある。セキュリティの専門家は、この情報を用いてユーザの動きをトラックできるとしている。

そんな規格があったんですね。ググってみたら確かにW3Cの規格としてBattery Status APIというのがありました。

TRまで進んでおり、Crhome, Firefox, Operaで既に実装済みだそうです。

Webアプリケーションを作る上で、バッテリーステータスに応じて挙動を変えたいことがあります。その為に、バッテリーの使用量を0.0〜1.0の間で取得できたり、現状が充電中か、最後に充電したのはいつかなども取れるようです。バッテリー残量を計測するのに特にユーザの許可を取る必要はありません。

一見、バッテリー情報を取られるくらいならプライバシーには影響はないようですが、Cookieに依存しないユーザーターゲティング広告の手法なんかの話を思い出してみると、重要な情報として使えそうな気がしてきます。

こちらは当該のセキュリティスタッフによるペーパー。

The leaking battery. A privacy analysis of the HTML5 Battery Status API
バッテリーからの漏洩。HTML5 Battery Status APIのプライバシーに関する分析

A third-party script that is present across multiple websites can link users' visits in a short time interval by exploiting the battery information provided to Web scripts. In order to do that, scripts can use the values of battery level, dischargingTime and chargingTime.

様々なWebサイトに貼られたサードパーティスクリプト(訳注:広告スクリプトとか)を短期間のうちにユーザが訪問したとする。そのスクリプトにはバッテリーレベルやdischargingTimechargingTimeを収集するコードがセットされている。

中略

This could enable the third-party script to link these concurrent visits. Moreover, in case the user leaves these sites but then, shortly afterwards, visits another site with the same third-party script, the readings would likely be utilized to help in linking the current visit with the preceding ones.

このサードパーティスクリプトは同時に複数サイトを訪問したユーザが同一であることを特定できる。また、ユーザがサイトから立ち去った後でも、それほど時間が立たずにまた同一のスクリプトが埋め込まれたサイトを訪問すれば、先ほどの訪問と紐付けるのに役立つ情報となり得る。

手広くWebサイトに広告を出しているサービス(Double Clickみたいな)が、各広告スクリプトにバッテリー情報を取得するスクリプトを埋め込んでおけば、連続して起こるリクエストについて高い精度で紐付けることは、確かに可能になります。

IPアドレスやブラウザ、OSの情報などからそこそこの確率で個人を推測する技術というのも存在していますが、バッテリー情報が加われば個人を推測できる確率は高まりそうです。

一般的なWebブラウザではサードパーティクッキーが許可されているので、こんな技を使わなくても既に行動はターゲティングされていますが、これを使うとiPhone Safariのようなデフォルトでサードパーティクッキーを許可していないブラウザや、プライベートブラウジングモードで動かしているようなブラウザでも、ターゲティングがある程度可能になってしまう恐れがあります。

posted by newsit at 07:00| web