〇 最新CPUとの組み合わせで、Windowsはずっと安全に。
パソコンメーカー各社が独自セキュリティー機能の開発に汗を流す一方、CPUメーカーや米Microsoft(マイクロソフト)もセキュリティー機能の強化を続けている。そのため最新の法人向けCPUとWindowsの組み合わせは、数年前のパソコンに比べてずっと安全になった。
ここでいう法人向けCPUとは、米Intel(インテル)の「Intel vPro」や米Advanced Micro Devices(アドバンスド・マイクロ・デバイセズ、AMD)の「AMD PRO」のことである。これら法人向けCPUはSoC(システム・オン・チップ)やチップセットなどに様々なハードウエアベースのセキュリティー機能を搭載する。
Intel vProはもともと、法人向けに運用管理性やセキュリティーを強化したCPUとの位置付けだった。最近はセキュリティーの強化に特に力が入れられており「最新の第13世代Intel vProでは、セキュリティー性能が最も重要になった」(インテルインダストリー事業本部の坂本尊志ビジネス・クライアントテクノロジー・エバンジェリスト)とする。
マイクロソフトもCPUメーカーと歩調を合わせ、CPUが搭載するセキュリティー機能を活用する仕組みをWindows 10とWindows 11に次々と搭載している。CPUメーカーやマイクロソフトが実装するセキュリティー機能は年々増える一方なので、パソコンのセキュリティーはそれに合わせて改善されているわけだ。
分野 | Windowsの機能名 | CPUの機能名 | 概要 |
---|---|---|---|
RoT(Root of Trust) | System Guard Secure Launch | Intelハードウエアシールド | パソコンの起動時にファームウエアが改ざんされていないかセキュリティーチップが検証し、安全にOSやデバイスドライバーなどを起動する |
仮想化技術を使ったカーネル保護 | Virtualization-based Security(VBS) | Intel VT | ハイパーバイザー上でOSとは別個に稼働する保護された仮想コンテナである「セキュアカーネル」で動作する様々なセキュリティー保護専用プログラムが、カーネルモードで実行されるドライバーの整合性や認証情報などを保護する |
特権保護 | System Guard with Intel TXT | Intel TXT | ファームウエアが使用するSMM(System Management Mode)という特権の悪用を防ぐ |
マルウエアの実行防止 | Hardware-enforced Stack Protection | Intel CET | リターン指向プログラミング(Return-Oriented Programming、ROP)と呼ばれるマルウエアの攻撃手法を検知して実行を防止する |
メインメモリーの暗号化 | (Confidential VM、サーバーの場合) | Intel TME | メインメモリーのデータを常時暗号化する |
ウイルス対策ソフトウエアなどの高速実行 | Microsoft Defender for Endpoint | Intel TDT | ウイルス対策ソフトによるスキャン処理などをプロセッサーの機能によって高速化する |
では最新のWindowsと法人向けCPUの組み合わせで実現できる、代表的なセキュリティー機能を4種類紹介しよう。なお日本の法人向けパソコンではIntel vProの採用が圧倒的に多いため、CPUが搭載するセキュリティー機能についてはIntel vProの名称で説明していく。同様の機能はAMD PROにも存在する。
ファームウエアの改ざんを検知して安全に起動。
第1は、ファームウエアの改ざんなどを検出して、パソコンを確実に安全に起動する仕組みだ。Intel vProには「ハードウエアシールド」というファームウエアの改ざん防止機能が搭載されており、Windows 10/11には同機能を必須の要件とする「Windows Defender System Guard Secure Launch」という機能が実装されている。セキュアローンチは2018年11月にリリースされたWindows 10の「バージョン1809」で初めて搭載された、比較的新しい機能だ。
セキュアローンチはパソコンの起動時にファームウエアやOSなどの正常性を検証する仕組みだ。本特集の第2回でも紹介したように、複数のパソコンメーカーはCPUの起動前にファームウエアを検証する用途で独立したセキュリティーチップを法人向けパソコンに搭載している。そのセキュリティーチップと同じ仕組みが、Intel vProの場合は「Intel TXT」などとしてCPU側にも搭載されていて、CPU本体が起動する前に様々なチェックを実行する。
セキュアカーネルがドライバーを監視。
第2は、仮想化技術を応用したVBS(Virtualization-based Security)というセキュリティー機能だ。ハイパーバイザーの上で、通常のWindowsカーネルとは独立した「セキュアカーネル」を稼働し、Windowsカーネルで稼働するドライバーなどの整合性などを検証するという仕組みだ。セキュアカーネルは専用の特権レベルである「VTL(Virtual Trust Level) 1」で稼働し、通常のカーネルが動作する「VTL 0」からはアクセスできない。
特に念入りに監視するのはドライバーだ。「デバイスのドライバーはカーネルモードで動作させる必要がある一方で、アップデートが頻繁に行われないため脆弱になりやすい。攻撃者はそうした脆弱なドライバーを狙う傾向がある」(マイクロソフトセキュリティレスポンスチームの垣内由梨香セキュリティプログラムマネージャー)ためだ。
OSがドライバーの改ざんを検知する仕組みはWindows Vistaで搭載されたが、従来はチェックするプロセスがマルウエアなどと同じカーネル空間で動作していたため、確認プロセスがすり抜けられてしまう「バイパス」が起こり得た。
そこでWindows 10以降では仮想化技術を使い、通常のカーネル空間とは隔離されたセキュアカーネルで稼働するプロセスに、デバイスの整合性をチェックさせている。このドライバーのチェック機能は「Hypervisor-protected Code Integrity(HVCI)」と呼ぶ。Windowsの設定画面で「メモリ整合性」を有効にすると、HVCIが利用できる。
VBSには他にも、セキュアカーネルで稼働するプロセスである「LSAISO」が認証情報を保護する「クレデンシャルガード」という機能もある。
「リターン指向プログラミング」を阻止。
第3は、CPUに新たに追加されたセキュリティー強化用の命令セットを活用して、マルウエアによるバッファーオーバーフロー攻撃などを防ぐ機能である。インテルが2021年に出荷を開始した第11世代Coreプロセッサー以降のCPUが搭載する「Intel CET(Control-Flow Enforcement Technology)」を使う、Windowsの「Hardware-enforced Stack Protection」という機能である。
Hardware-enforced Stack Protectionは、Intel CETを使うことで、マルウエアがよく使用する「リターン指向プログラミング(Return-Oriented Programming、ROP)」を阻止する仕組みである。
ROPはプログラムの戻りアドレスを書き換えることによって、プログラムが実行できるメモリー領域に存在するコードの断片(ガジェット)を複数組み合わせて不正なプログラムとして動作させるという手法だ。
それに対してIntel CETは、通常のメモリーテーブルとは別に「Shadow Stack」と呼ばれる書き換え不可のテーブルを用意し、スタック領域にプログラムが記録した戻りアドレスのコピーを保存する。もしマルウエアが戻りアドレスを書き換えたとしても、Shadow Stackに記録されている戻りアドレスと食い違うと、CPUはそれを検出してプロセスを強制終了する。
メインメモリーを常時暗号化。
第4はメインメモリーの暗号化だ。第11世代Coreプロセッサー以降のCPUが搭載するIntel TME(Total Memory Encryption)を使用する。
現在多くの企業ユーザーがWindowsのBitLockerなどのストレージ暗号化機能を使用している。しかしストレージ上では暗号化されているデータも、メインメモリー上では平文で保存されている。メインメモリー上のデータを物理的に盗み出す「コールドブート攻撃」などを防ぐ手法が、メモリーの暗号化である。
マイクロソフトが定義する「セキュアコアPC」。
マイクロソフトは現在、パソコンメーカーと連携して「セキュアコアPC」という枠組みを進めている。Intel vProやAMD PROを搭載し、Windowsが備える各種のハードウエアベースのセキュリティー機能を初期設定で有効化したパソコンを、セキュアコアPCと呼ぶ。
本特集でも見てきたように、大手パソコンメーカーは独自のセキュリティー機能の強化を進めている。中でもセキュアコアPCと呼ばれるパソコンは、どのメーカーであっても一定水準以上のセキュリティーレベルを満たしている。パソコン選びの際の1つの指標になるだろう。