スマートフォンやタブレットに数字や文字を入力する際には、画面に表示されるキーボードをタップするのが一般的だ。指で画面をタップするときには、音や振動のフィードバックを無効にしていてもわずかながら音が出る。スマートスピーカーなどの外部マイクでこの音を拾えば、入力された暗証番号(PIN)や文章を推測できるのではないだろうか――。今回は、そんなゾッとする研究を紹介しよう。
スマートスピーカーでタップ音を拾う
今回紹介する研究を実施したのは英ケンブリッジ大学コンピューター研究所のグループ。「HEY ALEXA WHAT DID I JUST TYPE? DECODING SMARTPHONE SOUNDS WITH A VOICE ASSISTANT」という論文に結果をまとめて2020年12月に発表した。
物理的なキーボードのタイプ音から入力キーを推測する研究は以前から行われている。音の強度や周波数のわずかな違いから押されたキーを特定する。2004年には関連する論文が発表され、推測を可能にするソフトウエアなども出回っている。現在では現実的な脅威になっているといえる。
2011年になると、スマホなどのスクリーンキーボード(仮想キーボード)のタップから入力キーを推測する研究も相次いで発表され始めた。最初はスマホのジャイロスコープを使って、タップによる振動からどのキーを入力したのかを推測する研究が発表された。その後2014年にはジャイロスコープとマイクを組み合わせて入力キーを推測する論文、2019年にはスマホのマイクだけで入力キーを推測する論文が発表された。
ただ、これらは対象とするスマホの機能を利用するので、アプリをインストールさせたり、攻撃者との電話中にタップさせたりする必要がある。そこでケンブリッジ大学のグループは、スマホとは無関係の外部マイクでタップ音を拾うことにした。
外部マイクとして論文の著者らが候補として考えたのが、音声アシスタント機能を備えるAmazon EchoやGoogle Homeといったスマートスピーカーである。スマートスピーカーは複数の高性能マイクを備えている。研究では次のような攻撃シナリオを想定した。
- ユーザーがスマホをタップして銀行などの暗証番号を入力する
- ユーザーのそばに置かれたスマートスピーカー(音声アシスタント)がタップ音を拾う
- 入力された音声情報を音声アシスタントがクラウドに送信。そこで処理および保存される
- 攻撃者は何らかの方法で音声情報にアクセスする
- 攻撃者は音声情報からタップ音を抽出する
- タップ音から入力された暗証番号を推測する
だが、一般に販売されているスマートスピーカーが収集した生の音声情報にアクセスするのは容易ではない。そこで何らかの方法でスマートスピーカーを乗っ取れたと仮定し、実験ではReSpeakerをスマートスピーカーの代わりに用いた。ReSpeakerはマイクを備えた装置で音声認識などに利用できる。小型コンピューターのRaspberry Piに接続する。
実験にはReSpeaker 6マイク円形アレイキットを用いた。半径4.63cmの円上にマイクを6個配置した装置だ。これを使って最大50cm離れたスマホおよびタブレットのタップ音を拾う。