インド工科大学に所属する研究者らが発表した論文「AndroCon: Conning Location Services in Android」は、Androidスマートフォンのユーザーがアプリに位置情報へのアクセスを許可した場合に、GPS信号から位置情報以外の情報を抽出できるかを調査し、新たな脆弱性を示した研究報告である。
「AndroCon」と呼ばれるこの手法は、GPSチップが処理する中間データを利用して、ユーザーの周囲環境や行動を高精度で推測できる。Android 7以降のバージョンで可能だという。これまでGPSデータは主に位置情報の特定に使用されてきたが、AndroConはそれ以上の情報を引き出すことに成功した。
具体的には、GPS信号の強度、ドップラー効果、信号対雑音比(SNR)、搬送波対雑音比(C/N0)などの特性を抽出して分析することで、ユーザーが屋内にいるか屋外にいるか、混雑した場所にいるか開けた場所にいるか、座っているか歩いているかなどの情報を推測できる。さらに驚くべきことに、この手法は建物の間取りまでも推測可能である。エレベーター、階段、廊下、部屋の位置などを特定できるという。
AndroConの有効性を検証するために、複数の実験を行った。実験は主に3つの側面として周囲環境の認識と人間の行動認識、室内の間取り推測に焦点を当てて実施した。
まず、データ収集のために、研究チームは5種類の異なるAndroidスマートフォンを使用。これらの端末は、Android 11~14までの異なるバージョンを搭載し、さまざまなチップセットを持つ機種を選んだ。
データ収集は1年間にわたって行い、異なる時間帯や天候条件下で実施。また、データ収集の場所も多岐にわたり、大学のキャンパス内だけでなく、約1000km離れた場所や、高度3.5kmの地点、さらには飛行機や客船の中でも行った。
周囲環境の認識実験では、5つの異なる環境(飛行機内、室内、地下鉄、オープンスペース、混雑した屋外)を設定。各環境で10万以上のサンプルを収集し、20人の参加者を対象とした。
機械学習アルゴリズムでデータ解析した結果、全ての環境で90%を超える認識精度を達成。特に、飛行機内と屋外のオープンスペースでは99.9%という極めて高い精度を記録した。
人間の行動認識実験では、4つの静的な姿勢(座る、立つ、横たわる、手を振る)が対象となった。機械学習アルゴリズムでデータ解析した結果、「横たわる」姿勢では最大97.2%、「座る」姿勢では最大91.2%の認識精度を達成。「立つ」と「手を振る」姿勢でもそれぞれ最大87.9%と82.4%の精度を記録した。
室内の間取り推測実験では、廊下(32.3m × 25.6m)を対象に実施。10人の参加者がスマートフォンを持って廊下を歩き回り、そのGPSデータを収集した。これらのデータを基に、グラフ最適化技術を用いて間取りを推測した。結果として、エレベーター、階段、部屋、コーナーなどの主要な特徴を90.15%の精度で識別することに成功した。また、推測された間取り図と実際の間取り図との誤差は最大でも4.1mに抑えられた。
これらの実験結果は、GPSの中間処理データが想像以上に多くの情報を含んでおり、適切な解析技術を用いることで、ユーザーの周囲環境や行動、さらには建物の構造までもが高精度で推測可能であることを示している。研究チームは、この脆弱性をAndroidのセキュリティチームに報告している。
Source and Image Credits: Nag, Soham, and Smruti R. Sarangi. “AndroCon: Conning Location Services in Android.” arXiv preprint arXiv:2407.1939(2024).
※Innovative Tech:このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。X: @shiropen2