Windows起動前後にデバイスを守る工夫、ルートキットを防ぐWindows 10が備えるセキュリティ機能(1)(1/2 ページ)

Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。

» 2017年07月24日 05時00分 公開

 2015年7月にリリースされたWindows 10は、セキュリティ面の強化を1つの柱とした製品だ。2016年3月のAnniversary Update、2017年4月のCreators Updateと、セキュリティ面のさらなる強化を図っている。

 Windows 10のセキュリティ対策は全体像をつかみにくい。なぜなら対策が多岐に及んでいることに加え、Windows VistaやWindows 7、Windows 8/8.1で導入されたセキュリティ対策を前提としているものが多いからだ。

「デバイスの保護」がセキュリティの大前提

 当連載ではWindows 10のセキュリティを5つのスタックに分けて順に解説する(図1)。(1)デバイスの保護、(2)脅威(攻撃)からの保護、(3)認証情報の保護、(4)情報の保護、(5)侵害の検出と対策、のうち今回は(1)について紹介しよう。

図1 図1 Windows 10で利用可能なセキュリティ対策 左右に並ぶ5つのスタックごとにさまざまな技術を利用している。今回は赤枠で囲った「デバイスの保護」について解説する。当連載ではWindows 10を新規インストールした場合や、Windows 8(64ビット版)をアップグレードした場合に利用可能な対策(青色の長方形)について主に扱う。Windows 7/8(32bit版)からWindows 10にアップグレードした場合に含まれる対策を空色、Windows 7に含まれる対策を黒で示した

 デバイスの保護は、5つのスタックのうち、最も基本的なものであり、全てのセキュリティの基盤と言える。なぜだろうか。もしもデバイスの保護に失敗し、ルートキット(Firmware Rootkit、Bootkit、Kernel rootkit、Driver rootkitなど)が入り込んだとしよう。いわゆるルートキットは、Windowsよりも先に起動する。そのためWindowsシステムからは検知できない。当然ながら通常のアンチマルウェアソフトでも検知できない。

 デバイスを保護するためには、ファームウェアやブートローダ、ドライバなど、OSの起動前に動き始めるシステムが正統なものであることを保証しなければならない。

起動プロセスを保証する4つの機構

 Windowsにおける代表的なデバイス保護機構として、「Windows Trusted Boot」がある。Windows Trusted Bootは、Windowsが正規のモジュールで起動されたことを保証する一連の機構で、以下の4つの機能からなる。(1)UEFI Secure Boot、(2)Trusted Boot、(3)Early Launch Anti-Malware(EALM)、(4)Measured Bootだ。ルートキットを防ぎ、起動プロセスを保障するための機構は、Windows 8から取り入れられた。

 (1)UEFI Secure bootは、BIOSに替わりUEFI(Unified Extensible Firmware Interface)を実装したWindows 8/8.1/10で利用可能な機能だ。「ブートローダと呼ばれるシステムを起動するためのプログラム」が正規のものであることを、UEFIを使って保証する(図2)*1)

*1) 詳細は「BitLocker Countermeasures(英文)」を参照

図2 図2 BIOSとUEFIの比較 BIOSを使うとOSの起動以前にルートキットを読み込んでしまう可能性がある(図上)、UEFIではルートキットの起動を防ぐことができる(図下)

 (2)Trusted bootは、Windowsカーネルのデジタル署名を確認しロードした後に、Windowsのスタートアッププロセス、ブートドライバ、ELAMを検証する。ELAMは、「ブートドライバが信頼されたドライバリストに載っているかどうか」を検証する。いずれかのファイルが変更されていた場合、そのファイルを読み込まず、バックアップから正規のシステムに復旧した上でシステムを起動する。

 (3)UEFI Secure Bootがブートローダを保護し、Trusted BootがWindowsカーネルを保証した状況で先ほど説明したELAMが機能する。「ブートドライバとして読み込まれるマルウェア」を検出することが目的だ。通常のマルウェア対策ソフトは、ブートドライバ動作後に読み込まれるため、ブートドライバの検証を行うことができないが、ELAMならこれが可能というわけだ。このようにしてブートドライバとして稼働を試みるルートキットを阻止する。

 (4)Measured Bootは、PCが適切に起動されたかどうか、検証するために利用する機能だ。企業のネットワークにおいて、ルートキットに感染したPCがあれば、これを検出する必要がある。しかし、先に述べたように、ルートキットに感染したPCは健全なPCに見えるため、識別は困難である。

 Measured Bootは、UEFIを使ってファームウェアやブートローダ、ブートドライバなどのハッシュを記録する。そしてスタートアッププロセスの最後に、アテステーションサーバ(検証サーバ)でブートの正当性の検証を行う。アテステーションサーバは、クライアントがアクセスできる範囲の制御にも使うことができる。アテステーションの「未実装」「成功」「失敗」という3つのステータスに基づいて制御する。

 Windows 10 PCの起動からWindowsへのログインまでの流れを図3に示した*2)

*2) 詳細は「Secured Boot and Measured Boot: Hardening Early Boot Components Against Malware(英文)」を参照

図3 図3 Secured Boot and Measured Boot
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。