2025年10月14日をもってWindows 10のサポートが終了します。そしてWindows 11では、セキュリティがこれまで以上に強化されています。前後編の2回にわたって、Windows 11で強化されたセキュリティ機能と、企業がWindows 11搭載のPCを使用するうえで考慮するべき点について解説します。→過去の「デバイスをライフサイクル全体で保護 - デバイスセキュリティという考え方」の回はこちらを参照。
Windows11で強化された3つの主なセキュリティ機能は、以下のとおりです。
1. セキュアブート
セキュアブート機能によって、不正なソフトウェアやOSが起動時に読み込まれるのを防ぎます。
2. ハードウェア要件の強化
Windows 11は、TPM(Trusted Platform Module)を必須とし、セキュリティプロセッサーとして機能します。これにより、データ暗号化や認証情報の保護が強化されています。
3. 仮想化ベースのセキュリティ(VBS)
VBSにより、データやプロセスが隔離された安全な環境で実行されるため、悪意のある攻撃から保護されます。
前編では、1つ目のセキュリティ機能である、不正なソフトウェアやOSが起動時に読み込まれるのを防ぐ、セキュアブートについて詳しく説明します。
セキュアブートの役割と重要性
セキュアブートは、コンピュータのファームウェアに組み込まれているセキュリティ機能であり、オペレーティングシステム(OS)が起動する際にその安全性と信頼性を確保するためのものです。
この機能は、UEFI(Unified Extensible Firmware Interface)の一部として提供されており、コンピュータの電源が入るとすぐに働き始めます。セキュアブートは、起動時にロードされる各コンポーネント(ファームウェア、ブートローダ、OS)の署名を確認し、許可されたデジタル署名のついたソフトウェアのみが実行されることを保証します。
これにより、ブートプロセスでの不正なソフトウェアの介入を防ぎます。セキュアブートの大まかな仕組みは以下の通りです。
1. 起動時の検証
セキュアブートは、コンピュータの電源が入ると、最初にUEFIが起動し、セキュアブートモードが有効であるかを確認します。
2. デジタル署名の確認
UEFIは、最初に実行されるブートローダをメモリにロードする際、そのデジタル署名をチェックします。この署名は、信頼された証明機関によって署名されたものでなければなりません。署名が正しい場合のみ、そのソフトウェアが実行を許可されます。これにより、改ざんされたブートローダやOSカーネルが起動するのを防ぎます。
3. ホワイトリストおよびブラックリスト
UEFIには、許可されたソフトウェアのデジタル署名をリスト化したホワイトリストがあります。また、信頼されていない、もしくは危険と判断されたソフトウェアのブラックリストも存在します。起動しようとするソフトウェアの署名がホワイトリストに含まれていない場合、起動が拒否されます。
4. 鍵の管理
セキュアブートでは、プラットフォームキー(Platform Key:PK)、キーデータベース(Key Exchange Key:KEK)、および署名データベース(db)を用いて、起動時に信頼されたコンポーネントを管理します。プラットフォーム所有者はこれらの鍵を使って、許可するソフトウェアの署名を管理します。
セキュアブートがWindows 11のシステム要件となった背景には、非常に厄介で高度な形態のマルウェア、ルートキットの脅威があります。ルートキットは主に以下の理由で、セキュリティに深刻な影響を及ぼします。
1. 隠蔽性
ルートキットはシステム内で自分自身や他のコンポーネントを隠す能力を持ちます。一度システムに感染すると、通常のファイル検査やプロセス検査では検出しにくくなります。この隠蔽技術により、長期間にわたってマルウェアがシステム内にとどまることができます。
2. 特権レベルへの侵入
ルートキットは、システムの管理者レベルの権限を不正に取得できるため、システムの深いレベルまで影響を及ぼすことが可能です。この結果、OSの心臓部にまで届き、さまざまな深刻な影響を引き起こす恐れがあります。
3. データの盗難や改ざん
ルートキットは、システム内のデータやトラフィックを監視し、秘密裏にデータを盗む、または改ざんすることができます。これにより、機密情報が流出するリスクが高まります。
4. システムの操作
ルートキットはシステムの動作を制御できるため、他のマルウェアのインストールや実行をサポートする役割を果たすことができます。これにより、システムがさらなる攻撃に対して脆弱になります。
5. 検出と除去の困難さ
ルートキットは設計上、検出を回避しやすく、通常のアンチウイルスソフトウェアでは完全に除去することが困難です。このため、特別なツールや手法を用いて対処する必要がある場合が多いです。
これらの理由から、ルートキットは深刻な脅威とみなされています。システムの完全性を守り、ルートキットによる侵入から保護するためには、強化されたセキュリティ対策や、セキュアブートのような各種防御機能が求められます。
セキュアブートとルート・オブ・トラスト
「ルート・オブ・トラスト(Root of Trust、信頼の基点)」とは、コンピュータや電子システムのセキュリティの基盤となる部分を指します。具体的には、システム内で信頼できる操作を保証するための小さなハードウェアまたはソフトウェアの部分です。
この「信頼の基点」から始まって、信頼が次のステージ(ブートローダー、OSカーネルなど)に連鎖的に拡張されます。これを「チェーン・オブ・トラスト(Chain of Trust、信頼の連鎖)」と呼びます。
通常のPCではUEFIの初期コードがルート・オブ・トラストとして利用され、この部分が最も信頼される基盤となります。つまりセキュアブートはUEFIの初期コードが改ざんされておらず信頼できることが前提となっています。
万が一このUEFIが悪意を持って改ざんされていたとしたらどうなるでしょう?セキュアブートは無効化されてルートキットが仕掛けられてしまい、システムに深刻な影響を引き起こしてしまう恐れがあります。
以下は、UEFIファームウェアの改ざんにより、Windowsのセキュリティ機能が無効化され、悪意あるプログラムが起動されてしまうことを示した図です。
UEFIが改ざんされてしまう可能性は低いと考えるかも知れませんが、UEFIにはたびたび脆弱性が発見されており、その脆弱性を利用することで改ざんが可能なこと事が実証されています。
また、ルートキットの中でもUEFIに感染するタイプのブートキット(ルートキットと同様のマルウェア)も発見されており、2018年に発見されたLojax、2021年のFinSpy、2023年のBlackLotusなどが有名です。
セキュアブートの強化方法
前述のような脅威に対応するために大企業向けのPCでは次のような手法がとられています。
Dynamic Root of Trust for Measurement(DRTM)の活用
DRTMは、システムが起動中に信頼できる状態を確立するための技術です。CPUが特定の命令(CPU内のセキュリティ機能(例:Intel TXTやAMD SKINIT)を利用して、信頼できるコードのみが実行されるようにします。このコードは、システムの初期化中にセキュリティ関連の測定を行い、信頼性を検証します)を実行することで、既存のシステム状態をリセットし、新しいルート・オブ・トラストを動的に作成します。
このプロセスにより、改ざんされたUEFIの影響を受けずに、セキュアブートが実行されることを確保します。ただし、この方法ではUEFIの初期コードが破壊されてしまっているとシステムが起動できなくなってしまいます。
独自のハードウェアをルート・オブ・トラストとしてUEFIの完全性(整合性)検証と回復機能を追加する
PCの起動プロセスとは独立して動作する独自のハードウェアがPCの起動前にUEFIコードの完全性(整合性)を暗号化の技術を利用して検証し、UEFIに不正な変更が見られた際には正しいUEFIコードを上書きすることで正しい状態に回復します。
この方法は1つ目の方法と競合しないため、2つの方法を組み合わせて利用することが可能です。階層セキュリティを構築することでより安全になります。
ただし、この独自ハードウェア自体が攻撃を受けて改ざんされることことがないように、独自ハードウェア自体の耐改ざん性能が重要になります。第三者機関によって耐改ざん性能が検証されているものが望ましいと言えます。
次回は、ハードウェア要件の強化のために必須となったTPMの役割と、悪意のある攻撃からデバイスを保護する仮想化ベースのセキュリティについて解説します。