電力管理

GPSオフでもバッテリーの使用状況だけで居場所がバレることが判明、対策方法は…

Androidのような現代のモバイルプラットフォームは、アプリケーションからバッテリー使用状況データを読み取ることを許可しています。

このバッテリー使用状況データは、アドレス帳などのデータと違い、プライバシー性の低いデータとして扱われています。そのため、特にユーザー権限や通知などを必要無くアクセスすることができます。

しかし、このバッテリー使用状況データから位置情報を特定できてしまうという論文が発表されました。

バッテリー使用状況データからどのようにして位置情報を特定するのでしょうか。実際にこの論文を読み解いてみましょう。

論文の内容

スマートフォンの特性

スマートフォンには以下のような特性があります。

  • 携帯基地局から離れれば離れるほど、バッテリーの消費が激しくなる
  • 障害物などによって電波状況が悪くなればなるほど、バッテリーの消費が激しくなる

この特性については皆さんも経験したことがあるのではないでしょうか。
普段はもっと持つはずなのに、建物の地下に居たらすぐにバッテリーが0%になったりなど。実は上記の特性が原因だったのです。

なぜ電波状況が悪くなればなるほどバッテリー消費が激しくなるかというと、スマートフォンでは電波状況が悪くなったことを検知すると、通信断を防ぐために電波をより受信しやすいように受信強度を上げます。その分、より多くの電力を消費するのです。

位置情報を特定する方法

この特性を利用して位置情報を特定するというのが、この論文の要旨です。

実験によると、予めターゲットの行動パターンが事前に分かっていれば90%の確立で、行動パターンが分かっていない場合でも60%と高い確率で居場所を特定できてしまうとのこと。

位置情報特定

上図は別々の日に位置情報を特定した結果とのことですが、ほぼ同じ結果を得られたことが分かります。

外的要因(ノイズ)

もちろんスマートフォンのバッテリー消費は、電波受信のためだけに使われるわけではありません。インターネットブラウジング、ゲーム、音楽再生などにも使われます。

しかし、研究チームではそれらのノイズとなる情報を排除するアルゴリズムも紹介しています。

iOSの場合

iOSアプリのユーザーインターフェイスの設計を手助けしてくれるフレームワークの手引き「UIKit Framework Reference」には以下の記載があります。

Getting the Device Battery State
batteryLevel Property

これは、iOSのバッテリー充電レベルを取得する際に使用するコードで、これを組み込めばアプリケーション上でバッテリー充電レベルを読み取ることができます。論文内ではiOSについての記載はありませんが、恐らくiOSでも同様の方法で位置情報を特定できる可能性があると思われます。

まとめ

まさかバッテリー使用状況データから位置情報を特定できるだなんて思いもしませんでしたよね。
対策として考えられるのは、バッテリー使用状況データもアドレス帳のデータなどと同じようにアクセス制限をかけることですが、各スマートフォンのOSベンダーは対策するのでしょうか。

スマートフォンはとても便利なガジェットで、今やもう現代生活に必要不可欠な物となってきています。しかし、便利になればなるほどこのような危険性もでてくるので、スマートフォンを利用する際にはセキュリティ面にも気を配りたいところですね。

Cornell University LibraryApple UIKit Framework Reference

こちらもおすすめ

あわせて読みたい

いま、注目の記事

Geeklesの最新記事

執筆:sbit
ネットワークインフラエンジニア。気になった事を記事にしています。理論、料金ネタ、セキュリティ関連、root関連、法規、海外端末、海外事情を主にWatchしています。

Geekles(ギークルズ)をフォロー

Geeklesはたくさんのガジェット好き(=ギーク)が集まり、ガジェットやオーディオ、アプリ、カメラに関する情報を発信するメディアです。