スマートフォンのセンサーからPINコードの推測が可能

2018年1月8日 11:07

ユーザーのパーミッションを得る必要がないスマートフォンの各種センサーから取得したデータと機械学習により、高い成功率でPINコードを推測できるという研究結果が発表された(論文: PDF南洋理工大学のニュースリリースHackReadの記事)。 画面に表示されたキーパッドからPINを入力する際には押すキーの位置によって端末の傾きの変化などが異なる。そのため、センサーから取得したデータを処理することでPINを推測する研究は過去にも発表されている。データの取得方法としては、PIN全体の入力パターンを1つのデータとして取得する方法と1桁ごとに取得する方法が考えられる。全体を取得する場合は4桁でも10,000パターンのデータが必要なため、過去の研究では50パターンに限定するという手法がとられていた。今回の研究では1桁ごとに取得する方法を用いており、少ないパターンのデータですべての組み合わせに対応できるほか、桁数の異なるPINにも対応可能となる。 攻撃のシナリオとしては、まずターゲットの端末に送り込んだ攻撃用アプリでプリセットしたPINのパターンを入力させてデータを取得し、アルゴリズムに学習させる。次に実際のPINコード入力時のデータを取得し、学習結果からPINを推測するというものだ。学習データを取得する際には、前後のキー入力の組み合わせによる変化をカバーするため、厳選した70パターンのPINコードを5回ずつ入力させ、検証用に50パターンのランダムなPINコードも入力させている。研究ではボタンをPIN入力用のキーパッドと同じ配置にしたアプリを使用しているが、カジュアルゲームなどを装って学習データを取得する方法が提示されている。 結果としては、加速度センサー+ジャイロセンサーのデータとMLPニューラルネットワークの組み合わせによる成功率が最も高く、良好な測定条件では20回の試行で最高83.7%の成功率だったとのこと。50パターンのPINに限定した過去の研究成果では試行1回で74%の成功率が最高だ。今回の研究で条件をそろえた場合にはMLPニューラルネットワークでは60%の成功率しか得られなかったが、ランダムフォレストでは99.5%の成功率になったとのこと。 このほか、3人の被験者から取得したデータを用いる実験も行われており、本人のデータのみを使用した場合よりも3人のデータを使用する方が成功率が高くなっている。さらに、他の2人のデータのみを使用した場合にも6%前後の成功率が得られ、まったくランダムな推測をする場合の30倍の成功率だという。 論文ではこのような攻撃を避けるため、センサーの最大サンプリングレートを下げる方法やPIN入力時にセンサーを無効化する方法も考えられるが、これらは一時的な対策であり、センサーへのアクセス全体を再考すべきだと述べている。パーミッション不要なセンサーはPINだけでなくユーザーのプライバシーを侵害する可能性もあるとのことだ。

関連記事

最新記事