Windows Helloの指紋認証を突破できる方法が発見、SDCPの実装や過信に問題か。

Windows

Windows Helloの指紋認証を突破できる方法が発見、SDCPの実装や過信に問題か。

Windowsが搭載されたPCで主流になりつつある生体認証機能である「Windows Hello」の指紋認証をバイパスできてしまうことが明らかになりました。
指紋認証への攻撃はDELL製のInspiron 15や、Lenovo ThinkPad T14、Microsoft Surface Pro タイプ カバー (指紋認証機能付き)の3機種で成功しており、他のモデルでも応用できることが示唆されています。

これはMicrosoftのBlueHat カンファレンス内でMicrosoft の Offensive Research and Security Engineering (MORSE)の依頼によりBlackwing Intelligenceが調査し、発表したものです。

目次

Windows Helloとは?

Windows HelloはWindows 10以降に搭載された生態認証機能で、顔認証、指紋認証、または虹彩認証を使用してユーザを識別、資格情報を提供し、デバイスやサービスへのアクセスを許可することができます。

Microsoftは生体認証データはデバイスにローカルに保存されるため、外部のサーバーやクラウドに送信されることはないと説明しており生体情報という重要なプライバシーデータを保護しつつ安全に利用できます。

バイパスの原因はメーカのSDCPに対する誤解と対策不足?

指紋認証にはPC内で指紋データを照合する「マッチ オン ホスト(match-on-host)」方式と指紋センサーにマイクロプロセッサとストレージが組み込まれ、チップ内で指紋照合する「マッチ オン チップ(match-on-chip)」(またはMoC 「マッチ イン センサー」)方式があります。

マッチ オン チップ方式は、指紋センサーのチップのデータベースに「指紋テンプレート」(指紋センサーによって取得された生体認証データ)が保存され、登録と照合はチップ内で直接実行されます。指紋テンプレートがチップから別の場所で操作されることがないため、PCが侵害された場合でも、生体認証情報が保存され、PCから流出する可能性があるというプライバシーの懸念が解消されます。

このため、Windows Hello Advanced Sign-in Security (ESS: Windows Hello の強化されたサインイン セキュリティ)ではマッチ オン チップ方式の指紋センサーを使用する必要があり、マッチ オン ホスト方式は利用できません。

ただし、マッチ オン チップは指紋センサーのチップ内に保存された指紋データを照合のためにPCに転送することは防ぎますが、悪意のあるセンサーが正規のセンサーとPC間の通信を偽装 (スプーフィング)し攻撃者からのアクセスを防止することやリプレイ攻撃を防ぐことはできません。

そのため、Microsoft はホストと指紋センサー間の接続を保護するためのプロトコルと一連のセキュリティ標準を作成しました。
これは Secure Device Connection Protocol (SDCP) と呼ばれるプロトコルで指紋センサーによる安全な生体認証を可能にするためにMicrosoftが作成しました。

しかし、Lenovo ThinkPad T14sとMicrosoft Surface Type Coverなど、いくつかのモデルではSDCPが利用されていないことが判明しました。

技術的な攻撃方法とユーザーへの影響

Blackwing Intelligenceはマッチ オン チップ方式やSDCPの有用性を検証すべく機器の情報を取得した上で難易度によってランク付けを行い、指紋センサーのバイパスを行いました。

その結果、それぞれ異なるベンダーの指紋センサーを搭載する3機種で指紋センサーをバイパスするこtが可能でした。

Dell Inspiron 15では、Linuxを通じて指紋を登録することでSDCPを回避することが可能でした。
Lenovo ThinkPad T14sでは、ホストとセンサー間の通信を保護するカスタムTLSスタックのリバースエンジニアリングを行う必要がありましたが、こちらも指紋センサーのバイパスに成功。最も問題が大きかったのはMicrosoft Surface Coverの指紋センサーで、USB経由で平文通信を行い、適切な認証チェックが行われていませんでした。

Blackwing Intelligenceはこの調査には合計約 3 か月掛かったとしながらも、Windows Hello認証の100%確実なバイパスを実現したと発表しました。

さらに「Microsoft は、ホストと生体認証デバイスの間に安全なチャネルを提供する SDCP の設計に優れた仕事をしましたが、残念ながらデバイス メーカーは目的の一部を誤解しているようです。」とベンターの設計について指摘しました。

この攻撃方法はいずれも攻撃者が直接PCにアクセスできる必要があるため、多くの場合、この脆弱性が直ちに問題になることはないかもしれませんが、不特定多数がPCを操作できる環境にある場合や心配な場合にはWindows Helloを無効にするとよいかもしれません。

コラム: Microsoft Offensive Research and Security Engineering (MORSE)とは何者なのか?

Microsoft Offensive Research and Security Engineering (MORSE) は、同社の製品とサービスのセキュリティの強化に重点を置いた Microsoft 内の専門チームです。MORSE は ジャスティン・キャンベル(Justin Campbell)氏 が率いており、60名を超えるメンバーで構成されています。

このMORSE は多面的なアプローチを使用してオペレーティング システム内のコードを保護することを目的としており、今回のようにBlackwing Intelligenceなどの外部の情報セキュリティ専門調査会社を協力したりして潜在的なセキュリティ脆弱性を調査、検証を行いMicrosoftの製品とサービスをより安全に利用できるようにするための重要な役割を果たしています。

まとめ

ここまで「Windows Hello」の指紋認証を突破できてしまうことについて紹介しました。
この脆弱性について、調査を行ったBlackwing Intelligenceは生体認証ソリューションを製造しているベンダーに対し、SDCP が有効になっていることや資格のある専門家の第三者組織にに実装を監査してもらうように呼び掛けていました。

Windows Helloのような生体認証機能は、パスワードを入力することなく便利にPCを利用できる一方で、場合によっては今回のような脆弱性が発生する可能性が示唆されました。セキュリティに関しては100%安全なものや方法はありませんが、ユーザ側も利用するシチュエーションに応じて適切な対策が講じられると良いかもしれません。