WindowsまたはMacのデスクトップまたはラップトップコンピューターでキーストロークを傍受するのは非常に簡単です。適切なプログラムをインストール(またはトロイの木馬が自動的に実行)し、盗まれたキーコードを保存または送信する場所を設定します。 ただし、スマートフォンに関しては、いわゆるサイドチャネルが使用されない限り、洗練されたアクセス制限システムによりこのアプローチはほとんど不可能になります。 厳密に言えば、サイドチャネルは、攻撃者が暗号システムに侵入するのに役立つ情報のオープンソースです。 広い意味では、サイドチャネルはルーターのライトであり、送信されたデータのビートに合わせて点滅するか、物理キーボードのキーを押す音になります。 [注 perev。:仮説的な可能性は言及されていませんが、実際に実現されたさまざまな攻撃。
この場合、2人の研究者がAndroidデバイスの空間方向データ(XYZ空間で携帯電話の方向を設定する3つの角度のセット)を使用して、ユーザーが画面のどこをクリックしたかを判断しました。 原則として、各キーには、識別できる3つの軸に沿った角度変化の一意の画像があります(以下を参照)。 精度は電話モデルによって異なります。HTCEvo 4Gは30ミリ秒ごとに方向データを更新し、Motorola Droidは110ミリ秒ごとに更新します。 一般に、研究者は10ボタンキーボードで71.5%の精度を達成しました。 残りの28.5%は、キーの近接によるエラーです。 プログラム(ちなみにTouchLoggerと呼ばれる)は、一般に、クリックごとに列または行を正しく識別できますが、特定のキーを認識するのに十分なデータがない場合があります。
もちろん、完全なQWERTYキーボードは、10ボタンの数字キーパッドよりもクリックを認識するのが難しいですが、原理のデモンストレーションしかありません。70%の精度は、電話に入力されたデータの機密性を侵害するのに十分すぎるほどです。 さらに、このペーパーでは、タブレットなどの大型デバイスでは、キーボードの制御が簡単になるはずであるとさらに述べています。 ジャイロスコープをカメラと組み合わせて使用して、TouchLoggerの解像度と精度を高めることができます。
最後に、このサイドチャネルはAndroidの単なるセキュリティホールではないことに注意することが重要です:加速度計とジャイロスコープのデータは、Android 3.0、IOS 4.2、およびすべての最新のブラウザーに実装されているDeviceOrientation APIを介して利用できます。 言い換えると、このエクスプロイトではAndroid端末にTouchLoggerをインストールする必要がありますが、理論上は誰かがChenとTsaiの仕事を取り、JavaScriptで実装し、それを使用してインターネットをサーフィンするときにパスワードとクレジットカード情報を盗むことができます。
新しい科学者の記事、TouchLoggerの記事[ PDF ]