「ホットパッチ」は、Windows Serverの一部のエディションで利用可能な、再起動不要のセキュリティ更新機能です。このホットパッチ、実は、アーキテクチャは異なるものの、10年以上前に導入され、その後使われなくなった機能であることをご存じでしょうか。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
現在の「ホットパッチ(HotPatch)」機能は、「Windows Server 2019 Datacenter:Azure Edition」(Server Coreインストール)で初めてプレビュー提供され(既にプレビュー終了のため利用不可)、いまはMicrosoft Azure(Azure Stack HCIを含む)上の「Windows Server 2022 Datacenter:Azure Edition Core」(Server Coreインストール)でのみ利用可能なパッチ管理機能(パブリックプレビュー)です。
ホットパッチを利用すると、数カ月に一度の再起動が必要な通常の累積更新プログラムのインストールと、再起動が不要なセキュリティ更新のホットパッチを組み合わせて、長期運用に対応することができます(画面1、画面2)。
Windows Server 2022 Datacenter:Azure Edition Coreについては、これまで2021年11月にホットパッチが提供されたものの、以降、12月、1月は通常の累積更新プログラムの提供が続きました。2022年は、2月、3月、5月、6月、8月、9月、11月、12月にホットパッチによる提供が予定されています。
ホットパッチのアーキテクチャについては、以下のMicrosoftの公式ブログで詳しく説明されています。
簡単に説明すると、ホットパッチはパッチ適用済みのイメージ(DLLなど)をローカルにインストール(配置)して、そのイメージに関係するAPI関数の呼び出しをインターセプトし、パッチ適用済みのイメージに転送して、結果を呼び出し元に返すという感じだと思います。アプリケーションやシステム、ドライバはホットパッチが動作していることを意識することはありません。
Windowsの内部アーキテクチャについて詳しく解説している書籍『Windows Internals』(邦題『インサイドWindows』)の過去の版を調べていたところ、「ホットパッチサポート(Hotpatch Support)」という項目が5th Edition(第5版:未翻訳)から紹介されていました。
同様の内容が、次の6th Edition(第6版)のPart 1にもあります(いずれも「Chapter 3 System Mechanisms」)。2021年に出版された最新の7th Edition(第7版)のPart 2では、「Chapter 9 Virtualization Technology」に移動し、現在のホットパッチについて解説されています。
7th Edition Part 2によると、以前のホットパッチは、32bit版のWindowsで「Windows Update」を通じて提供されるセキュリティ更新プログラムに確かに使用されていたことがあるそうです。おそらく、小さな修正パッチとしてのセキュリティ更新プログラムで使用され、再起動なしでセキュリティ問題に対応できたのでしょう。そして、64bitアーキテクチャに移行したとき、さまざまな問題のため、この機能は使用できなくなったそうです。
現在は、サポートされるWindowsの全バージョンに対して、「累積的な更新プログラム(Cumulative Update )」の形式で更新プログラムが配布されるようになり、これはご存じのように再起動が必須です。小さな修正パッチは、Windows Updateを通じて提供されることはなくなりました。
そして、新しいホットパッチは、コア技術として仮想化テクノロジー「Hyper-V」が仮想マシン環境以外に提供する高度セキュリティ機能「仮想化ベースのセキュリティ(Virtualization-based Security、VBS)」を採用し、カーネルバイナリ、HAL(ハードウェア抽象化レイヤー)、カーネルモードドライバ、ハイパーバイザー、ユーザーモードアプリケーションとモジュールに対するホットパッチを可能にしているそうです。
ホットパッチを有効にしたWindows Server 2022 Datacenter:Azure Edition Coreで「タスクマネージャー」を起動すると、「Secure System」(セキュアカーネルのシステムプロセス)や「LsaIso.exe」(セキュアカーネル側にある分離されたローカルセキュリティ機関プロセス)があることから、VBSが有効になっていて、分離されたHyper-Vパーティションでセキュアカーネルが動作していることが分かります(画面3)。
また、ホットパッチを受け取るための設定として、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\HotPatchTableSize」レジストリ値が構成されており、「HotPatch」というプロセスも確認できました。
なお、Windows Server 2022 Datacenter:Azure Edition Core以外のWindows Serverや「Windows 10」でVBSを有効にし、レジストリ値を適切に構成したとしても、ホットパッチを受け取れるようになるわけではありません。
前出の≪画面2>で分かるように、ホットパッチは通常と同じWindows Update経由で配布されます。ホットパッチは、Windows Server 2022 Datacenter:Azure Edition Coreを実行する、ホットパッチ機能が有効化された対象のWindows(つまり、Azure EditionのServer Coreインストール)を対象に配布されています。
ホットパッチの対象外である「Windows Server 2022 Standard Edition」(Server Coreインストール)や「Windows Server 2022 Datacenter:Azure Edition」(Desktop Experienceインストール)をマニュアルで構成して検証してみましたが、ホットパッチの機能は有効化されているようですが、ホットパッチを受信することはありませんでした(画面4)。
なお、ホットパッチの名称に「Azure Stack HCI 21H2」が含まれていますが、これはWindows Server 2022 Azure EditionとAzure Stack HCI 21H2の通常の累積更新プログラムが共通しているからであり、Azure Stack HCI向けにホットパッチが提供されているわけではありません。
岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.