全2889文字
PR

 キーボードを使ってパスワードを入力する場合、押したキーには指の熱が伝わる。その結果、わずかではあるが温度が上昇する。そこでサーモカメラ(サーモグラフィーカメラ)でそのキーボードを撮影して温度分布を測定すれば、押されたキーすなわち入力されたパスワードが分かるのではないだろうか──。

 スパイ映画さながらのアイデアではあるが、荒唐無稽な話ではなさそうだ。英グラスゴー大学の研究者グループが開発した手法を用いることで、実験条件によっては6文字のパスワードを100%、16文字のパスワードでも67%の確率で読み取れたという。

 一体どのようにして読み取るのか。研究者グループが開発した驚きの手法「ThermoSecure」を見てみよう。

カメラが小型化および低価格化

 「サーモカメラでキーボードを撮影」となると大がかりになり、実験室環境ならともかく実環境では脅威にはならないと思うだろう。だがサーモカメラの小型化および低価格化により、状況が大きく変わったという。

 実際、今回の実験で使われたサーモカメラの寸法は46×56×68mmと小さい。また研究者グループによれば、利用可能なサーモカメラは150ドル未満で購入できるとしている。

 考えられる具体的な脅威の1つが「同僚によるパスワードの盗み見」である。オフィスにおいて、ある人がキーボードでパスワードを入力した後、何らかの理由で離席したとする。すかさず悪意のある同僚が、持ち運び可能なサーモカメラでキーボードを撮影し、ThermoSecureによってパスワードを解析する──といった具合だ。

 ThermoSecureの流れは次の通り(図1)。まず、サーモカメラで撮影した画像(以下、「熱画像」とする)のどこにキーボードがあるのかを特定する。それから温度上昇の有無から押されたキーを特定し、それらのキーの温度差で押された順番を特定する。以下、順に説明しよう。

図1●「熱画像」からキーボードの位置や押されたキーを特定
図1●「熱画像」からキーボードの位置や押されたキーを特定
英グラスゴー大学の研究者グループが開発した「ThermoSecure」の流れ。サーモカメラで撮影した「熱画像」を基に押されたキーを推測する。
[画像のクリックで拡大表示]

 画像内のキーボードの位置の検出には機械学習を用いる。モデルの学習には、様々な角度から撮影したキーボードの熱画像とそれに対応するキーボードの位置情報を1500セット使用した(図2)。

図2●1500枚の画像でキーボードの位置検出を学習
図2●1500枚の画像でキーボードの位置検出を学習
キーボードの位置を検出する機械学習のモデルの学習に使用した熱画像の例。押したキーがモデルの学習に影響しないように、撮影前にランダムにキーを押している。(出所:論文「ThermoSecure: Investigating the effectiveness of AI-driven thermal attacks on commonly used computer keyboards」)
[画像のクリックで拡大表示]

 キーボードの位置を検出したら、キーの位置を近似的に求める。そして画像処理を施すことで周囲より温度が高い箇所を見つけ、そこに位置するキーが押されたとする(図3)。

図3●温度分布から押されたキーを特定
図3●温度分布から押されたキーを特定
左が熱画像を処理した画像。黒い部分が、周りよりも温度が高い箇所。これを右の処理前の熱画像にマッピングして、押されたキーを特定する。この例では「6」「9」「b」「f」「p」「x」が該当する。(出所:論文「ThermoSecure: Investigating the effectiveness of AI-driven thermal attacks on commonly used computer keyboards」)
[画像のクリックで拡大表示]

 そして最後に、押されたと推測したキーの位置の温度を比較して、キーが押された順番を特定する。具体的には、温度が低いキーほど先に押されたと考える。