全2609文字
PR

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

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

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

カメラの小型化と低価格化で現実的に

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

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

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

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

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

モデルの学習に使用したキーボードの熱画像の例。撮影前にランダムにキーを押している
モデルの学習に使用したキーボードの熱画像の例。撮影前にランダムにキーを押している
(出所:論文「ThermoSecure: Investigating the effectiveness of AI-driven thermal attacks on commonly used computer keyboards」)
[画像のクリックで拡大表示]

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

押されたキーの特定。周囲より温度が高い箇所(左写真の黒い箇所)に位置するキーが押されたとする。この例では「6」「9」「b」「f」「p」「x」が該当する
押されたキーの特定。周囲より温度が高い箇所(左写真の黒い箇所)に位置するキーが押されたとする。この例では「6」「9」「b」「f」「p」「x」が該当する
(出所:論文「ThermoSecure: Investigating the effectiveness of AI-driven thermal attacks on commonly used computer keyboards」)
[画像のクリックで拡大表示]

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

キーが押された順番の特定。キーの位置の温度を基に「他のキーよりも先に押された確率」を算出し、その確率が高いキーから押されていったと判断する
キーが押された順番の特定。キーの位置の温度を基に「他のキーよりも先に押された確率」を算出し、その確率が高いキーから押されていったと判断する
(出所:論文「ThermoSecure: Investigating the effectiveness of AI-driven thermal attacks on commonly used computer keyboards」)
[画像のクリックで拡大表示]