Windows サンドボックスはWindows 10 v1903以降のバージョンに追加された仮想化技術です。
イベントID157、Hyper-V-Hypervisor警告の補足記事です。(関連記事)
イベントログに [ソース:Hyper-V-Hypervisor] を見つけたら、Windows 10機能「バーチャルマシン」が関係しています。
157イベント
私の環境では、Windows サンドボックスを有効化するとイベントID157が記録されます。ここでいくつか疑問が湧きますね?
- ハイパーバイザースケジューラーの動作モードには何があるのか?
- PCはどのモードで動作しているのか?
当方のPCのハイパーバイザースケジューラーは「root(ルートスケジューラ)」モードになっていました。
イベントログ
イベントID157, イベントID2を転載します。イベントID157が記録されている時はイベントID2も記録されますが、管理ビューには表示されないので、[Hyper-V-Hypervisor] をキーワードにセットしたカスタムビューを作成します。
メッセージ | The hypervisor did not enable mitigations for CVE-2018-3646 for virtual machines because HyperThreading is enabled and the hypervisor core scheduler is not enabled. To enable mitigations for CVE-2018-3646 for virtual machines, enable the core scheduler by running "bcdedit /set hypervisorschedulertype core" from an elevated command prompt and reboot. |
ログの名前 | システム |
ソース | Hyper-V-Hypervisor |
イベントID | 157 |
レベル | 警告 |
ユーザー | SYSTEM |
「0x4」がハイパーバイザースケジューラーの動作モードです。
メッセージ | Hypervisor scheduler type is 0x4. |
ログの名前 | システム |
ソース | Hyper-V-Hypervisor |
イベントID | 2 |
レベル | 情報 |
ユーザー | SYSTEM |
緩和策
ログは、緩和策も書かれています。引数 "core" は、ハイパーバイザースケジューラーの動作モードを指定するコマンドです。
c:\_
| 管理者:コマンド プロンプト | ー □ × |
C:\WINDOWS\system32>bcdedit /set hypervisorschedulertype core |
カスタムビュー
Hyper-V-Hypervisorのログを表示するためのカスタムビュー作成手順。- イベントビューアー (eventvwr.msc) を起動する
- [操作 > カスタムビューの作成] を選択する
- イベントログ:Windowsログ
- イベントソース:Hyper-V-Hypervisor
- OKをクリック
eventvwr.msc
イベントビューアーは「ファイル名を指定して実行」の名前の横のボックスに [eventvwr.msc] と入力してOKをクリックする。- Windows+R(キーボードショートカット)
フィルターの絞り込み
- ログごと(ラジオボタン)
- イベントログ(ドロップダウンリストから選択)
- イベントソース(ドロップダウンリストから選択)
分かったこと
CVE-2018-3646は、Intel製CPUの脆弱性のことです。- マイクロソフトはIntel製CPUの脆弱性をOSレベルで緩和するためにセキュリティ更新プログラムをリリースしている。
- 緩和策の恩恵を受けるには、ハイパーバイザースケジューラーの動作モードがコアスケジューラになっている必要がある。
- Intelが問題を完全に解決するまでは脆弱性は残ったままである。
Intelは数年にわたり脆弱性問題を放置してきたので事は簡単ではありません。
この件について分かりやすくまとめられた産経の記事を見つけたので、外部リンクに貼っています。
仮想化オプション
Windowsの機能 (OptionalFeatures.exe) を利用すると、仮想化に関係してそうなオプション機能がみつかります。例えば・・・、
- Hyper-V
- Windows サンドボックス
- Windows ハイパーバイザープラットフォーム
- 仮想マシンプラットフォーム
あとがき
ハイパーバイザースケジューラーについてはMicrosoft Docsをお読みください。(文末リンク)以下はザックリ情報です。
スケジューラーは3つに分類されます。
- クラシックスケジューラ
- コアスケジューラ
- ルートスケジューラ
イベントID2に記録されたコード [0x4] は、Windows 10 v1803から導入された最新のルートスケジューラーが有効であることを通知しています。
しかしながら、
Windows サンドボックスを利用する時は、CVE-2018-3646の緩和策を起動するためにコアスケジューラーが必要なようです。
Hyper-V-Hypervisor | Code | 説明 |
クラシックスケジューラ | 0x1:SMT無効 0x2 | Windows Hyper-v ハイパーバイザーの開始以降のすべてのバージョンに対して既定の設定になっています。 クラシックスケジューラは、ゲスト仮想プロセッサに対してフェアシェアのプリエンプティブなラウンドロビンスケジューリングモデルを提供します。 |
コアスケジューラ | 0x3 | Windows Server 2016 および Windows 10 バージョン1607で導入された。 |
ルートスケジューラ | 0x4 | Windows 10 バージョン1803で導入された。 |
External link
検証:Windows 10 Pro November 2019 Update, v1909.18363.476
:SC2
このサイトを検索 | Search this site