レビュー

キーボードの打鍵音からどの文字が入力されたか判定できる「kbd-audio」を試してみた


キーボードで入力したキーを検出されれば、パスワードを解析されるなどの被害に遭いかねません。PCのマイクを使ってキータイピングの音を検出し、リアルタイムで入力キーを予測するソフト「kbd-audio」がGitHubで公開されています。

GitHub - ggerganov/kbd-audio: Tools for capturing and analysing keyboard input paired with microphone capture
https://github.com/ggerganov/kbd-audio

kbd-audioは機械学習によってキー入力の音を学習することで、入力したキーをリアルタイムで推測するソフトです。キーボード入力の音を拾えるマイクが備わったPCであれば、キーを予測できます。kbd-audioではブラウザで利用できる「Live demo」版も公開されているので、さっそく試してみました。


kbd-audioはWebAssemblyのThreadsが有効化されている必要があるので、Live demoのためにブラウザは「Google Chrome Canary」を使いました。

まず、WebAssemblyのThreadsを有効にするために、Chrome Canaryのアドレスバーに「chrome://flags/#enable-webassembly-threads」と入力して、ハイライトのあたった「WebAssembly threads support.」を「Enabled」に変更してブラウザを再起動します。


次に、以下のLive demoページを開きます。

Keytap: acoustic keyboard eavesdropping | C++ and stuff
https://ggerganov.github.io/jekyll/update/2018/11/24/keytap.html

マイクの使用許可を求められるので、「許可」をクリック。


WebAssembly Threadsを有効化するまで表示されていなかった「Demo」のウィンドウが表示されていればOKです。


kbd-audioでキー入力を予測するには、最初にタイプ音を学習させる必要があります。キーは一つずつしっかりと音が出るようにして入力していき、ほとんどのキーを押し終えたら「Predict」をクリック。


なお、キー入力中に、Demoウインドウ下の「Standard output」にログが表示されて入ればキー音を取得できています。反応がない場合はキー音を認識できていないので、マイクの設定などを見直す必要があります。


入力されたデータを使ってトレーニング作業が行われるので、しばらく待ちます。


Demoウインドウに、仮想キーボードが表示されたらテスト可能な状態になります。


試しにキーボードでキー入力すると、仮想キーボード上で候補となるキーが緑色で反応します。いくつかある候補の中で、キーが赤色表示されているものが最も可能性の高い「予想」のようです。


なお、「Main」の下には、検出された音の波形が表示されています。


入力するキーによって波形が微妙に違うため、ここから入力されたキーを予測している模様。


肝心の精度はというと、キー入力を認識できないことも多く、うまく認識した場合でもキーをズバリ正解させる頻度はそれほど高くありませんでした。テストで使ったのがノートPC(レッツノートCF-SZ6) であり、パンタグラフタイプのキーボードなのでそれほどキー入力音が大きくないことや、Live Demo起動時に冷却ファンがうなりをあげてしまい音を拾うことが難しくなること、周囲の騒音もゼロではないことなど、環境による要因もあるかもしれません。

環境次第では以下のようなキー入力推測も可能になるようです。

(@feross) 2018年11月29日


ただし、入力したキーがある付近のキーを予想していることから、音をうまく検出し、もっとトレーニングを繰り返せば、さらに精度は高まっていきそうと予感させます。連続したキー入力に対応していないなどkbd-audioは「実用」レベルには達しているとはいいがたいのですが、「キーボード入力の音から情報を読み取られる」というリスクがあることを確認させてくれるソフトでした。

この記事のタイトルとURLをコピーする

・関連記事
「ワイヤレスキーボードを盗聴することはできるのか?」をハッカーが実践 - GIGAZINE

PCから発生する電磁波を測定して秘密鍵を盗み出すハッキングマシンを市販の安価な部品だけで開発 - GIGAZINE

ワイヤレスマウスやキーボード経由で乗っ取りを受ける脆弱性「MouseJack」が報告される - GIGAZINE

セキュリティ対策ゼロの「FAX」から政府機関や企業がハッキングにあう危険性があると判明 - GIGAZINE

オシロスコープを使ってBitcoinウォレットがハックできてしまうと報告される - GIGAZINE

ネットから隔離されたPCのデータを「電線」から盗み出す方法が登場 - GIGAZINE

ネット時代を生き抜く術「ハッキングされないためにできること」まとめ - GIGAZINE

in ソフトウェア,   セキュリティ, Posted by darkhorse_log

You can read the machine translated English article I tried 'kbd-audio' which can judge whic….