IoTのGPS追跡および将来の用途の概要

By and

Category: Unit 42

Tags: , , ,

This post is also available in: English (英語)

概要

総務省『令和元年版 情報通信白書』によれば、Internet of Things (IoT)デバイスとInternet of Medical Things (IoMT)デバイスの数は、2021年にはおよそ448億台と達することが予測されています[1]。これらの接続されたデバイスは、個人医療情報からスマートシティまで、幅広いグローバル ポジショニング システム(GPS)データを生成および収集します。このブログでは、オープン ソース ツールのKeplerを使用して、GPSデータのユースケースとして1つまたは複数のデバイスの位置、移動、速度、および高度を追跡する方法を示します。条件が揃えば、個人の物理的位置を追跡するだけでなく、車または飛行機のどちらにどれだけの時間乗っているのかも判断できます。

GPSは、位置、高度、速度、時間、および方向を示すことができるので、IoT(モノのインターネット、Internet of things)デバイスまたは医療系IoT(Internet of Medical Things, 以下IoMT)デバイスにとって非常に有益です。たとえば、IoMTデバイスを使用して、体温、心拍数、行動、他の医療情報など、ユーザーの健康状態を監視できます。緊急時には、相互接続されたGPSデータを使用して、IoMTデバイスで初期対応者にアラートを送信するだけでなく、重要な位置データを中継することもできます。同様に、法執行機関や捜査当局が相互接続されたデータを使用して、犯罪行為や身体上の安全性に対する懸念を深く掘り下げて調べることもできます。

GPS座標の価値は、攻撃者からも注目されています。セキュリティリサーチャーは、Exodusのようなマルウェアが、感染しているモバイルデバイスからGPSデータを収集しているのを確認しています。GPSデータのデータプライバシーとデータセキュリティの懸念について、見て見ぬふりはできないことは言うまでもありません。現実的には、IoTの採用が加速し続けているので、ますます多くのデバイスからますます多くのデータが生成されています。

IoTの前は携帯電話だった

GPSプロジェクトは1973年に米国で始まりました。その目的は4機以上の衛星を使用し、地球上の対象物の地理位置データと時間情報を追跡することでした。IoTは新しい領域かもしれませんが、携帯電話での経験から、携帯電話やそのアプリが収集するデータ、その落とし穴を避けながらデータを分析する手法など、非常に多くのことを学ぶことができます。

これらは仮説に基づく疑問ではありません。COVID-19への対策として、多くの国が、感染者や新しい潜在感染者などを追跡するために、携帯電話から取得するGPSデータや他の位置データを使用したり、使用することについて議論したりしています。これらのユースケースはすべて、GPSデータから他にどのような結論が得られるのか、さまざまな状況で他にどのような使い方や解釈の仕方があるのか、という疑問を投げ掛けます。

話をかんたんにするために、分析対象をGoogle製のスマートフォンPixelのTakeout機能で得られるデータに限定します。このデバイスで生成され、Googleによって強化されたデータは、基本GPSデータとテレマティックスデータを示し、IoTデバイスをGPSデータに連動させる方法を垣間見ることができるよい例です。

最初に、このデータには何が含まれているのでしょうか。基本GPS情報には、緯度、経度、およびタイムスタンプが含まれています。多くの人が認識していませんが、通常はGPSで、ある程度の海抜高度を提供することと、水平方向と垂直方向の精度を測定することができます。GPSデータは、GPS衛星に対するデバイスのドップラー偏移を測定することによって、単一時点の速度も測定できます。

このユースケースでさらに興味深いのは、Googleが、ユーザーが何をしていたかを予測し、その確率を提供していることです(例: ON_FOOT 85%、STILL 10%など)。これはIoTデータの最先端技術ではないかもしれませんが、他の種類のIoTデータとGPSデータをまとめて提供することがどれほど簡単なことかを理解するための堅実な基盤を提供してくれます。たとえば、これらの予測を心臓モニター、車椅子、除細動器、酸素ポンプといった他のデータソースで置き換えて、人が座っているのか立っているのかを予測するのではなく、バイタルサインがストレスや不整脈の兆候を示しているかどうかを予測したらどうでしょうか。人が高い確率で座っているのか、または歩いているのかを調べる代わりに、同じぐらい簡単に前述のIoTセンサーから得られる予測をGPSデータに関連付けることができます。

データの準備

どんな分析を行うにも、必ずデータを多少準備する必要があります。一般に、アナリストがデータをテーブル形式にすることができれば、そのデータをほとんどのツールにアップロードして使用できるはずです。例として示したテーブルには以下のようなヘッダーがあり、各行は「ping」または1つのGPSレコードです。赤のフィールドは、「コア」GPSフィールドとして、GPSデータを収集するどのデバイスにも存在することが予想されます。accuracy、altitude、velocityなどの黄色のフィールドは、ほとんどの場合に存在しますが、必ずというわけではありません。青のフィールドは、Googleのアクティビティ分類エンジンによって生成され、デバイスの複数のセンサーを使用してユーザーが何をしているかを予測し、その予測に信頼区間[2]を割り当てます。この予測は、IoTデバイスがそのデータをGPSデータに密接に結び付けることができる方法を大まかに表しています。

表1: Google Takeoutから得られるAndroidデータの例
表1: Google Takeoutから得られるAndroidデータの例

位置と移動: モバイルデバイスが1台の場合

図1は、人の各位置でのおよその時刻およびそこに着くときの速さと離れるときの速さを示します。赤は低速、緑は高速を意味します(単位はm/s)。時刻はすべてUTCであり、この人はアニメーションの中盤で赤く塗りつぶされた円の位置で約10時間過ごしていたように見えます。これらの円の不透明度は非常に低い値です。これは、1つ1つの円は非常に色が薄く、モバイルデバイスが留まる時間が長い位置の円は色が濃くなることを意味します。この効果は、人が止まっている位置の赤い円が、そこで10時間以上過ごす間にどんどん濃くなっていくことで確認できます。その後、この人はこの位置から、来た道とは別の道に向かって、来たときより速い速度で離れていきます。位置と位置の間のGPSポイントが離れていることに気付いた人がいるかもしれません。これは、デバイス、アプリ、天候、周囲の建築物など、多くの要因によっては、まったく普通のことである可能性があります。

図1: 位置と移動を示すアニメーション

人が立ち止まった位置を拡大すると、詳細を表示できます。このアニメーションでは、新しいデータを表す円がグラフに表示されるタイミングを判別しやすくするために、円の輪郭のみを示しています。円の色は速度に対応しており、赤は低速、緑は高速を示します。当然のことですが、オフィスビルではすべての円が赤です。円の半径は、GPSポイントの水平方向の精度と一致し、地図に合わせて拡大縮小します。これらの円の重複部分が多いことと、精度のレベルから、この人がかなりの時間をこの建物の北端で過ごしたと推測することは合理的です。

 GPS追跡
図2: 位置における移動の調査

位置と移動: モバイルデバイスが複数台の場合

2台のモバイルデバイスが同時刻に同じ位置に存在する場合、区別できるでしょうか。この質問に答えるために、2台の別々のモバイルデバイスのデータを2セット生成しました。それぞれのデバイスに、SallyとBobという名前を付けましょう。これで、モバイルデバイスが1台の場合とほぼ同じ分析を実行します。

GPS追跡
図3: 2台のデバイスに基づく調査

図3では、14時10分(UTC)ごろにSallyを表す円が青で示す位置に表示され始めます。15時06分にBobを表す円(赤)がその位置に表示され、21時00分まで表示され続けます。21時02分から21時06分まで、Bobは建物の外に出て、そこから遠ざかっているように見えます。Sallyは21時12分にまだ同じ位置にいます。ここから、BobとSallyはだいたい15時06分から21時00分までの間、ほぼ同じ位置にいたという結論が得られます。また、Bobの位置の水平方向の精度が最後の円(赤い大きな円)で大幅に低下していることは注目すべきです。これはGPS信号の受信が困難な地域ではまったく普通のことですが、それでもBobが建物から離れて歩いている様子はわかります。

速度と高度

移動する車両の中にあり、おそらく高速で移動しているモバイルデバイスのデータポイントだけを取り出したらどうなるでしょうか。この場合、フィルタとしてGoogleのアクティビティの分類と速度を使用できます。これは、IoTデータをGPSとうまく統合できるケースです。この場合、2つのフィルタを組み合わせて、高速で移動している車内にあると思われるモバイルデバイスを見つけ出します。図4には、高速道路と思われる場所に最大85mph(グラフではm/s単位で表示)の速度で移動する4つの円が表示されています。

GPS追跡
図4: 速度の調査

興味深いのは、このフィルタで捕捉されているもう1つの円です。図5では、この円は約450mphの速さで約3万5千フィートの高度を移動しています。

図5: 高度の調査

フィルタの「IN_VEHICLE」を削除すると、図6に示すように、モバイルデバイスがおそらく飛行中の飛行機の中にあると思われる結果が表示されます。そうです。GPSは、飛行機に対しても有効であり、携帯電話サービスが存在しない場所でも使用できます。必要なのは、頭上に4基の衛星がよく見通せることだけです。

図6: 飛行機の中のGPS信号

結論

GPSデータは緊急対応と犯罪調査に莫大な価値をもたらす可能性がありますが、GPS信号は偽装も容易であることに注意する必要があります。位置偽装ソフトウェアは、偽の座標を伝送することによって携帯電話の内蔵GPSをだますことができるので、携帯電話の所有者は事実上世界中のあらゆる場所に移動できます。この制限があるものの、パロアルトネットワークスは、セキュリティチームと法執行機関が、データの収集と調査の観点から、この新しい側面を調査することを望んでいます。IoTデバイスの数は増え続けていますが、現在のオープン ソース ツールと調査手法が強力な基盤として機能し、今後はGPSデータをかなり簡単に利用できるようになるでしょう。

自分のGPSデータを保護したいと考えている個人ユーザーには、モバイルアプリの位置追跡を制限することを推奨します。これは、プライバシー設定で簡単にカスタマイズできます。また、ユーザーは、App StoreやGoogle Playなど、信頼できるソースからのみアプリをダウンロードすることを推奨します。これにより、秘密裡に位置データを収集するスパイウェアをインストールするのを防ぎます。

    1. 令和元年版 情報通信白書. 総務省. https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r01/pdf/n1200000.pdf(参照 2020-06-30)
    2. Google APIs for Android. Google. https://developers.google.com/android/reference/com/google/android/gms/location/DetectedActivity (参照 2020-06-30)