Android端末が位置情報を収集してGoogleに送信している件

Last edited on 2012/04/22 (日) - 10:32

iPhoneが位置情報の履歴を保存している だけでなく Androidもやっていた、とかいう論調でちょっと話題になっているみたいです。(元ネタは WSJのこちらの記事 )

でもね、みんなAndroidをアクティベートするときに確認しましたよね。(参考: http://nyanchew.com/wifi-positioning-system
設定メニューの中の「位置情報とセキュリティ」>「ワイヤレスネットワークを使う」にチェックが入っているから、位置情報を送信しているんじゃないかなと思うのだけれど。確かに、一度、設定するとあとは全く尋ねてこないし、確認メッセージをよく読むと「アプリケーション起動の有無にかかわらず行われる」って書いてあるので、定期的に黙々と送っていると思われ、ま、それがユーザに断りなしに送っているということなのかしら。

目的はもちろん、WiFiや基地局の位置情報を使って測位を行うためのデータベース作りですね。Googleはストリートビューの撮影時にWiFiの情報を収集していたはずですが、同じことをユーザのAndroid端末を使って行っているのでしょう。

Android端末の位置情報は /data/data/com.google.android.location/files の下にキャッシュされるようです。(参考: https://github.com/packetlss/android-locdump )見るためにはルート権限が必要です。端末内で一般のアプリからは保護されています。cache.cell と cache.wifi というファイルがあり、それぞれ基地局の位置情報、WiFiの位置情報を格納しています。GPSによる情報はありません。(ファイルの中身は上記参考ページにあるparse.py というスクリプトで見ることができます。)

設定メニューの中の「位置情報とセキュリティ」>「ワイヤレスネットワークを使う」のチェックを外すと、これらのファイルが削除されることを確認しました。ですから、ユーザが設定メニューの中の「位置情報とセキュリティ」>「ワイヤレスネットワークを使う」にチェックを入れない限り、位置情報をGoogleに送信することはないと考えられます。

WiFiのキャッシュファイルには、WiFiのステーションのMACアドレスと位置情報が格納されているのですが、接続している自宅のステーションだけでなく、隣近所のWiFiの情報も入っていました。

検証結果を WSJ に提供した Samy Kamkar という人のサイトに行くと、Googleの収集したDBへアクセスするページがありました。

http://samy.pl/androidmap/

半信半疑で自宅のMACアドレスを入れてみると、ちゃんと自宅が表示されました。ちなみに、隣近所のWiFiのMACアドレスも登録されているようでした。