Windows Hello 認証バイパスの問題:指紋センサー・プロトコルの不適な実装

New Flaws in Fingerprint Sensors Let Attackers Bypass Windows Hello Login

2023/11/22 TheHackerNews — Dell Inspiron 15/Lenovo ThinkPad T14/Microsoft Surface Pro X のノート PC に存在する脆弱性の悪用により、Windows Hello 認証バイパスの可能性が生じることが、新たな調査により発見された。それらの脆弱性は、ハードウェア/ソフトウェア製品のセキュリティ調査会社 Blackwing Intelligence の研究者が発見したものであり、Goodix/Synaptics/ELAN の指紋センサーが埋め込まれるデバイスの欠陥である。

それらの指紋リーダーを悪用する前提条件は、標的となるノート PC のユーザーが、すでに指紋認証を設定していることである。

すべての指紋センサーは、MoC (Match on Chip) と呼ばれるタイプのセンサーであり、マッチングなどのバイオメトリック管理機能を、センサーの集積回路にダイレクトに統合するものだ。

研究者である Jesse D’Aguanno と Timo Teräs は、「MoC は、マッチングのために保存された指紋データの、ホストへ向けた再生を防止する。ただし。それだけでは、悪意のセンサーが正当なセンサーとホストとの通信を詐称し、許可済みのユーザーが認証に成功したと偽ることを防げない」と述べている。

また、MoC は、過去に記録されたホストとセンサー間でのトラフィック再生も防いでいない。

Microsoft により開発された Secure Device Connection Protocol (SDCP) は、End-to-End のセキュアなチャネルを作成することで、これらの問題の一部を軽減することを目的としている。しかし、これらの保護を回避し、AitM (adversary-in-the-middle) 攻撃を仕掛けるために悪用が可能な、新しい方法を研究者たちが発見した。

ELAN センサーについて具体的に言うと、SDCP サポートの欠如に起因するセンサー・スプーフィングと、セキュリティ識別子 (SID) の平文送信の組み合わせに対して、脆弱であることが判明した。

Synaptics の場合は、SDCP がデフォルトで OFF になっていることが判明した、さらに、この実装では、ホスト・ドライバーとセンサーの間での、USB 通信を保護を目的として、欠陥のあるカスタム TLS (Transport Layer Security) スタックが選択されていた。


また、Goodix センサーの場合は、Windows と Linux の双方が搭載されたマシンで実行される、登録操作の基本的な違いが悪用される。Linux が SDCP をサポートしていないという現実が悪用され、以下のアクションが実行されるという。

  • Linux のブート。
  • 有効な ID の列挙。
  • 正規 Windows ユーザーと同じ ID を使用して、攻撃者のフィンガープリントを登録。
  • 平文の USB 通信を利用して、ホストとセンサー間の接続を MitM する。
  • Windows のブート。
  • MitM を用いて設定パケットを傍受し、Linux DB を指すように書き換える。
  • 攻撃者のプリントを使って正規ユーザーとしてログインする。

Goodix センサーに関しては、Windows と非 Windows システム用として、個別の指紋テンプレート・データベースが存在する。しかし、ホスト・ドライバーによるセンサーの初期化中に用いるデータベースの指定において、未認証のコンフィグレーション・パケットがセンサーが送信されることで、攻撃が可能であるという現実を指摘しておくべきだろう。

このような攻撃を軽減するために、OEM メーカーは SDCP の ON を確認し、また、独立した資格のある専門家により、指紋センサーの実装が監査されるべきである。

Windows Hello の生体認証が破られたのは、今回が初めてのことではない。2021年7月に Microsoft は、Medium の脆弱性 CVE-2021-34466 (CVSS:6.1) に対するパッチを発行している。この問題は、敵対者がターゲットになりすまし、ログイン画面を回避することを可能にするというものだった。

研究者たちは、「Microsoft は、ホストとバイオメトリック・デバイスの間に、安全なチャネルを提供するために、適切な SDCP をデザインしたが、残念ながらデバイス・メーカーは、その目的のいくつかを誤解しているようだ。さらに言うなら、SDCP は一般的なデバイスの動作の、非常に狭い範囲しかカバーしていない。したがって、大半のデバイスは、SDCP ではカバーされることのない、かなりの攻撃対象が露出している」と指摘している。